* [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
@ 2023-08-31 4:44 Adam Ford
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
` (4 more replies)
0 siblings, 5 replies; 16+ messages in thread
From: Adam Ford @ 2023-08-31 4:44 UTC (permalink / raw)
To: linux-arm-kernel
Cc: marex, aford, Adam Ford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
The i.MX8MP has an asynchronous sample rate converter which seems
to be the same as what is available on the i.MX8M Nano.
Signed-off-by: Adam Ford <aford173@gmail.com>
---
V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
was dropped from the series
V2: No Change.
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 83d907294fbc..3167706d81e1 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
+
+ easrc: easrc@30c90000 {
+ compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
+ reg = <0x30c90000 0x10000>;
+ interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
+ clock-names = "mem";
+ dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
+ <&sdma2 18 23 0> , <&sdma2 19 23 0>,
+ <&sdma2 20 23 0> , <&sdma2 21 23 0>,
+ <&sdma2 22 23 0> , <&sdma2 23 23 0>;
+ dma-names = "ctx0_rx", "ctx0_tx",
+ "ctx1_rx", "ctx1_tx",
+ "ctx2_rx", "ctx2_tx",
+ "ctx3_rx", "ctx3_tx";
+ firmware-name = "imx/easrc/easrc-imx8mn.bin";
+ fsl,asrc-rate = <8000>;
+ fsl,asrc-format = <2>;
+ status = "disabled";
+ };
};
sdma3: dma-controller@30e00000 {
--
2.39.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
@ 2023-08-31 4:44 ` Adam Ford
2023-08-31 21:53 ` Marek Vasut
` (2 more replies)
2023-08-31 4:44 ` [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT Adam Ford
` (3 subsequent siblings)
4 siblings, 3 replies; 16+ messages in thread
From: Adam Ford @ 2023-08-31 4:44 UTC (permalink / raw)
To: linux-arm-kernel
Cc: marex, aford, Adam Ford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
The i.MX8MP has a micfil controller which is used for interfacing
with a pulse density microphone. Add the node and mark it as
disabled by default.
Signed-off-by: Adam Ford <aford173@gmail.com>
---
V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
V2: No change
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 3167706d81e1..341fd0369ce9 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
fsl,asrc-format = <2>;
status = "disabled";
};
+
+ micfil: audio-controller@30ca0000 {
+ compatible = "fsl,imx8mp-micfil";
+ reg = <0x30ca0000 0x10000>;
+ #sound-dai-cells = <0>;
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>,
+ <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_SEL>,
+ <&clk IMX8MP_AUDIO_PLL1_OUT>,
+ <&clk IMX8MP_AUDIO_PLL2_OUT>,
+ <&clk IMX8MP_CLK_EXT3>;
+ clock-names = "ipg_clk", "ipg_clk_app",
+ "pll8k", "pll11k", "clkext3";
+ dmas = <&sdma2 24 25 0x80000000>;
+ dma-names = "rx";
+ status = "disabled";
+ };
+
};
sdma3: dma-controller@30e00000 {
--
2.39.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
@ 2023-08-31 4:44 ` Adam Ford
2023-08-31 18:25 ` Rob Herring
2023-08-31 21:52 ` [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Marek Vasut
` (2 subsequent siblings)
4 siblings, 1 reply; 16+ messages in thread
From: Adam Ford @ 2023-08-31 4:44 UTC (permalink / raw)
To: linux-arm-kernel
Cc: marex, aford, Adam Ford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
The TRM shows there is only one AUDIOMIX PDM Root Clock Select
register, and it's called IMX8MP_CLK_AUDIOMIX_PDM_SEL. That
selector doesn't appear to have any more children and the
MICFIL driver can reference IMX8MP_CLK_AUDIOMIX_PDM_SEL
directly without the need for any other. Remove this
errant clock, since it doesn't really exist.
Signed-off-by: Adam Ford <aford173@gmail.com>
---
V3: New to series
diff --git a/include/dt-bindings/clock/imx8mp-clock.h b/include/dt-bindings/clock/imx8mp-clock.h
index 11cb0a4fe999..7da4243984b2 100644
--- a/include/dt-bindings/clock/imx8mp-clock.h
+++ b/include/dt-bindings/clock/imx8mp-clock.h
@@ -376,7 +376,6 @@
#define IMX8MP_CLK_AUDIOMIX_MU2_ROOT 36
#define IMX8MP_CLK_AUDIOMIX_MU3_ROOT 37
#define IMX8MP_CLK_AUDIOMIX_EARC_PHY 38
-#define IMX8MP_CLK_AUDIOMIX_PDM_ROOT 39
#define IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1_SEL 40
#define IMX8MP_CLK_AUDIOMIX_SAI1_MCLK2_SEL 41
#define IMX8MP_CLK_AUDIOMIX_SAI2_MCLK1_SEL 42
--
2.39.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT
2023-08-31 4:44 ` [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT Adam Ford
@ 2023-08-31 18:25 ` Rob Herring
0 siblings, 0 replies; 16+ messages in thread
From: Rob Herring @ 2023-08-31 18:25 UTC (permalink / raw)
To: Adam Ford
Cc: Stephen Boyd, Peng Fan, devicetree, Conor Dooley, Abel Vesa,
linux-arm-kernel, Krzysztof Kozlowski, NXP Linux Team,
Fabio Estevam, linux-kernel, Pengutronix Kernel Team, linux-clk,
Michael Turquette, aford, marex, Shawn Guo, Rob Herring,
Sascha Hauer
On Wed, 30 Aug 2023 23:44:31 -0500, Adam Ford wrote:
> The TRM shows there is only one AUDIOMIX PDM Root Clock Select
> register, and it's called IMX8MP_CLK_AUDIOMIX_PDM_SEL. That
> selector doesn't appear to have any more children and the
> MICFIL driver can reference IMX8MP_CLK_AUDIOMIX_PDM_SEL
> directly without the need for any other. Remove this
> errant clock, since it doesn't really exist.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> ---
>
> V3: New to series
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
2023-08-31 4:44 ` [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT Adam Ford
@ 2023-08-31 21:52 ` Marek Vasut
2023-09-01 11:02 ` Adam Ford
2023-09-25 1:07 ` Shawn Guo
2023-10-04 8:39 ` (subset) " Abel Vesa
4 siblings, 1 reply; 16+ messages in thread
From: Marek Vasut @ 2023-08-31 21:52 UTC (permalink / raw)
To: Adam Ford, linux-arm-kernel
Cc: aford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
NXP Linux Team, Abel Vesa, Peng Fan, Michael Turquette,
Stephen Boyd, devicetree, linux-kernel, linux-clk
On 8/31/23 06:44, Adam Ford wrote:
> The i.MX8MP has an asynchronous sample rate converter which seems
> to be the same as what is available on the i.MX8M Nano.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> ---
> V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
> was dropped from the series
>
> V2: No Change.
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 83d907294fbc..3167706d81e1 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
> status = "disabled";
> };
> +
> + easrc: easrc@30c90000 {
> + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
> + reg = <0x30c90000 0x10000>;
> + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
> + clock-names = "mem";
> + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
> + <&sdma2 18 23 0> , <&sdma2 19 23 0>,
> + <&sdma2 20 23 0> , <&sdma2 21 23 0>,
> + <&sdma2 22 23 0> , <&sdma2 23 23 0>;
> + dma-names = "ctx0_rx", "ctx0_tx",
> + "ctx1_rx", "ctx1_tx",
> + "ctx2_rx", "ctx2_tx",
> + "ctx3_rx", "ctx3_tx";
> + firmware-name = "imx/easrc/easrc-imx8mn.bin";
Should the firmware name really be imx8mn or should it be imx8mp ?
I think the later is better, you can always add a symlink for the
firmware name, and you can discern mx8mn/mp firmwares on the same rootfs
in case that was ever needed in the future.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
@ 2023-08-31 21:53 ` Marek Vasut
2023-09-01 11:06 ` Adam Ford
2023-09-25 1:12 ` Shawn Guo
2023-10-04 1:12 ` Fabio Estevam
2 siblings, 1 reply; 16+ messages in thread
From: Marek Vasut @ 2023-08-31 21:53 UTC (permalink / raw)
To: Adam Ford, linux-arm-kernel
Cc: aford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
NXP Linux Team, Abel Vesa, Peng Fan, Michael Turquette,
Stephen Boyd, devicetree, linux-kernel, linux-clk
On 8/31/23 06:44, Adam Ford wrote:
> The i.MX8MP has a micfil controller which is used for interfacing
> with a pulse density microphone. Add the node and mark it as
> disabled by default.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> ---
> V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
> called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
>
> V2: No change
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 3167706d81e1..341fd0369ce9 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
> fsl,asrc-format = <2>;
> status = "disabled";
> };
> +
> + micfil: audio-controller@30ca0000 {
> + compatible = "fsl,imx8mp-micfil";
> + reg = <0x30ca0000 0x10000>;
> + #sound-dai-cells = <0>;
> + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>,
> + <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_SEL>,
> + <&clk IMX8MP_AUDIO_PLL1_OUT>,
> + <&clk IMX8MP_AUDIO_PLL2_OUT>,
> + <&clk IMX8MP_CLK_EXT3>;
> + clock-names = "ipg_clk", "ipg_clk_app",
> + "pll8k", "pll11k", "clkext3";
> + dmas = <&sdma2 24 25 0x80000000>;
> + dma-names = "rx";
Is dma-names really required if there is only a single DMA channel in DT ?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-08-31 21:52 ` [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Marek Vasut
@ 2023-09-01 11:02 ` Adam Ford
2023-09-01 15:47 ` Marek Vasut
0 siblings, 1 reply; 16+ messages in thread
From: Adam Ford @ 2023-09-01 11:02 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On Thu, Aug 31, 2023 at 4:52 PM Marek Vasut <marex@denx.de> wrote:
>
> On 8/31/23 06:44, Adam Ford wrote:
> > The i.MX8MP has an asynchronous sample rate converter which seems
> > to be the same as what is available on the i.MX8M Nano.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> > ---
> > V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
> > was dropped from the series
> >
> > V2: No Change.
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > index 83d907294fbc..3167706d81e1 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
> > interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
> > status = "disabled";
> > };
> > +
> > + easrc: easrc@30c90000 {
> > + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
> > + reg = <0x30c90000 0x10000>;
> > + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
> > + clock-names = "mem";
> > + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
> > + <&sdma2 18 23 0> , <&sdma2 19 23 0>,
> > + <&sdma2 20 23 0> , <&sdma2 21 23 0>,
> > + <&sdma2 22 23 0> , <&sdma2 23 23 0>;
> > + dma-names = "ctx0_rx", "ctx0_tx",
> > + "ctx1_rx", "ctx1_tx",
> > + "ctx2_rx", "ctx2_tx",
> > + "ctx3_rx", "ctx3_tx";
> > + firmware-name = "imx/easrc/easrc-imx8mn.bin";
>
> Should the firmware name really be imx8mn or should it be imx8mp ?
The firmware blobs provided by NXP only has easrc-imx8mn.bin and would
be concerned that having a different name might confuse people if they
try to go look for it and they only find easrc-imx8mn.bin. To me,
this is no different than the SDMA driver using firmware called
sdma-imx7d.bin
>
> I think the later is better, you can always add a symlink for the
> firmware name, and you can discern mx8mn/mp firmwares on the same rootfs
> in case that was ever needed in the future.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-08-31 21:53 ` Marek Vasut
@ 2023-09-01 11:06 ` Adam Ford
2023-09-01 15:49 ` Marek Vasut
0 siblings, 1 reply; 16+ messages in thread
From: Adam Ford @ 2023-09-01 11:06 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On Thu, Aug 31, 2023 at 4:53 PM Marek Vasut <marex@denx.de> wrote:
>
> On 8/31/23 06:44, Adam Ford wrote:
> > The i.MX8MP has a micfil controller which is used for interfacing
> > with a pulse density microphone. Add the node and mark it as
> > disabled by default.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> > ---
> > V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
> > called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
> >
> > V2: No change
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > index 3167706d81e1..341fd0369ce9 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
> > fsl,asrc-format = <2>;
> > status = "disabled";
> > };
> > +
> > + micfil: audio-controller@30ca0000 {
> > + compatible = "fsl,imx8mp-micfil";
> > + reg = <0x30ca0000 0x10000>;
> > + #sound-dai-cells = <0>;
> > + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
> > + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
> > + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
> > + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>,
> > + <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_SEL>,
> > + <&clk IMX8MP_AUDIO_PLL1_OUT>,
> > + <&clk IMX8MP_AUDIO_PLL2_OUT>,
> > + <&clk IMX8MP_CLK_EXT3>;
> > + clock-names = "ipg_clk", "ipg_clk_app",
> > + "pll8k", "pll11k", "clkext3";
> > + dmas = <&sdma2 24 25 0x80000000>;
> > + dma-names = "rx";
>
> Is dma-names really required if there is only a single DMA channel in DT ?
I would normally agree with you, the DT binding file shows it's
required, and the driver looks like it's searching for a channel name
called 'rx'
adam
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-09-01 11:02 ` Adam Ford
@ 2023-09-01 15:47 ` Marek Vasut
0 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2023-09-01 15:47 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On 9/1/23 13:02, Adam Ford wrote:
> On Thu, Aug 31, 2023 at 4:52 PM Marek Vasut <marex@denx.de> wrote:
>>
>> On 8/31/23 06:44, Adam Ford wrote:
>>> The i.MX8MP has an asynchronous sample rate converter which seems
>>> to be the same as what is available on the i.MX8M Nano.
>>>
>>> Signed-off-by: Adam Ford <aford173@gmail.com>
>>> ---
>>> V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
>>> was dropped from the series
>>>
>>> V2: No Change.
>>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> index 83d907294fbc..3167706d81e1 100644
>>> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
>>> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
>>> status = "disabled";
>>> };
>>> +
>>> + easrc: easrc@30c90000 {
>>> + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
>>> + reg = <0x30c90000 0x10000>;
>>> + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
>>> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
>>> + clock-names = "mem";
>>> + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
>>> + <&sdma2 18 23 0> , <&sdma2 19 23 0>,
>>> + <&sdma2 20 23 0> , <&sdma2 21 23 0>,
>>> + <&sdma2 22 23 0> , <&sdma2 23 23 0>;
>>> + dma-names = "ctx0_rx", "ctx0_tx",
>>> + "ctx1_rx", "ctx1_tx",
>>> + "ctx2_rx", "ctx2_tx",
>>> + "ctx3_rx", "ctx3_tx";
>>> + firmware-name = "imx/easrc/easrc-imx8mn.bin";
>>
>> Should the firmware name really be imx8mn or should it be imx8mp ?
>
> The firmware blobs provided by NXP only has easrc-imx8mn.bin and would
> be concerned that having a different name might confuse people if they
> try to go look for it and they only find easrc-imx8mn.bin. To me,
> this is no different than the SDMA driver using firmware called
> sdma-imx7d.bin
On the other hand, there is "fsl,imx8mp-easrc" compatible string -- to
differentiate between IPs in case some difference between the IPs that
cannot be predicted so far is found later on.
>> I think the later is better, you can always add a symlink for the
>> firmware name, and you can discern mx8mn/mp firmwares on the same rootfs
>> in case that was ever needed in the future.
Which is what this part of my comment ^ is all about.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-09-01 11:06 ` Adam Ford
@ 2023-09-01 15:49 ` Marek Vasut
0 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2023-09-01 15:49 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On 9/1/23 13:06, Adam Ford wrote:
> On Thu, Aug 31, 2023 at 4:53 PM Marek Vasut <marex@denx.de> wrote:
>>
>> On 8/31/23 06:44, Adam Ford wrote:
>>> The i.MX8MP has a micfil controller which is used for interfacing
>>> with a pulse density microphone. Add the node and mark it as
>>> disabled by default.
>>>
>>> Signed-off-by: Adam Ford <aford173@gmail.com>
>>> ---
>>> V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
>>> called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
>>>
>>> V2: No change
>>>
>>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> index 3167706d81e1..341fd0369ce9 100644
>>> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
>>> @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
>>> fsl,asrc-format = <2>;
>>> status = "disabled";
>>> };
>>> +
>>> + micfil: audio-controller@30ca0000 {
>>> + compatible = "fsl,imx8mp-micfil";
>>> + reg = <0x30ca0000 0x10000>;
>>> + #sound-dai-cells = <0>;
>>> + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
>>> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>,
>>> + <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_SEL>,
>>> + <&clk IMX8MP_AUDIO_PLL1_OUT>,
>>> + <&clk IMX8MP_AUDIO_PLL2_OUT>,
>>> + <&clk IMX8MP_CLK_EXT3>;
>>> + clock-names = "ipg_clk", "ipg_clk_app",
>>> + "pll8k", "pll11k", "clkext3";
>>> + dmas = <&sdma2 24 25 0x80000000>;
>>> + dma-names = "rx";
>>
>> Is dma-names really required if there is only a single DMA channel in DT ?
>
> I would normally agree with you, the DT binding file shows it's
> required, and the driver looks like it's searching for a channel name
> called 'rx'
Maybe something that can be improved both in the driver and bindings ?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
` (2 preceding siblings ...)
2023-08-31 21:52 ` [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Marek Vasut
@ 2023-09-25 1:07 ` Shawn Guo
2023-09-25 1:12 ` Shawn Guo
2023-10-04 8:39 ` (subset) " Abel Vesa
4 siblings, 1 reply; 16+ messages in thread
From: Shawn Guo @ 2023-09-25 1:07 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, marex, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On Wed, Aug 30, 2023 at 11:44:29PM -0500, Adam Ford wrote:
> The i.MX8MP has an asynchronous sample rate converter which seems
> to be the same as what is available on the i.MX8M Nano.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> ---
> V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
> was dropped from the series
>
> V2: No Change.
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 83d907294fbc..3167706d81e1 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
> interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
> status = "disabled";
> };
> +
> + easrc: easrc@30c90000 {
> + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
> + reg = <0x30c90000 0x10000>;
> + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
> + clock-names = "mem";
> + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
> + <&sdma2 18 23 0> , <&sdma2 19 23 0>,
> + <&sdma2 20 23 0> , <&sdma2 21 23 0>,
> + <&sdma2 22 23 0> , <&sdma2 23 23 0>;
> + dma-names = "ctx0_rx", "ctx0_tx",
> + "ctx1_rx", "ctx1_tx",
> + "ctx2_rx", "ctx2_tx",
> + "ctx3_rx", "ctx3_tx";
> + firmware-name = "imx/easrc/easrc-imx8mn.bin";
> + fsl,asrc-rate = <8000>;
One space before =
Shawn
> + fsl,asrc-format = <2>;
> + status = "disabled";
> + };
> };
>
> sdma3: dma-controller@30e00000 {
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-09-25 1:07 ` Shawn Guo
@ 2023-09-25 1:12 ` Shawn Guo
0 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-09-25 1:12 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, marex, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On Mon, Sep 25, 2023 at 9:07 AM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Wed, Aug 30, 2023 at 11:44:29PM -0500, Adam Ford wrote:
> > The i.MX8MP has an asynchronous sample rate converter which seems
> > to be the same as what is available on the i.MX8M Nano.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> > ---
> > V3: No Change. The dt-binding update was already accepted into the sound tree, so that patch
> > was dropped from the series
> >
> > V2: No Change.
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > index 83d907294fbc..3167706d81e1 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 {
> > interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
> > status = "disabled";
> > };
> > +
> > + easrc: easrc@30c90000 {
> > + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
> > + reg = <0x30c90000 0x10000>;
> > + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>;
> > + clock-names = "mem";
> > + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
> > + <&sdma2 18 23 0> , <&sdma2 19 23 0>,
> > + <&sdma2 20 23 0> , <&sdma2 21 23 0>,
> > + <&sdma2 22 23 0> , <&sdma2 23 23 0>;
> > + dma-names = "ctx0_rx", "ctx0_tx",
> > + "ctx1_rx", "ctx1_tx",
> > + "ctx2_rx", "ctx2_tx",
> > + "ctx3_rx", "ctx3_tx";
> > + firmware-name = "imx/easrc/easrc-imx8mn.bin";
> > + fsl,asrc-rate = <8000>;
>
> One space before =
I fixed it up and applied, thanks!
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
2023-08-31 21:53 ` Marek Vasut
@ 2023-09-25 1:12 ` Shawn Guo
2023-10-04 1:12 ` Fabio Estevam
2 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-09-25 1:12 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, marex, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Abel Vesa, Peng Fan,
Michael Turquette, Stephen Boyd, devicetree, linux-kernel,
linux-clk
On Wed, Aug 30, 2023 at 11:44:30PM -0500, Adam Ford wrote:
> The i.MX8MP has a micfil controller which is used for interfacing
> with a pulse density microphone. Add the node and mark it as
> disabled by default.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
Applied, thanks!
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
2023-08-31 21:53 ` Marek Vasut
2023-09-25 1:12 ` Shawn Guo
@ 2023-10-04 1:12 ` Fabio Estevam
2023-10-04 12:15 ` Adam Ford
2 siblings, 1 reply; 16+ messages in thread
From: Fabio Estevam @ 2023-10-04 1:12 UTC (permalink / raw)
To: Adam Ford
Cc: linux-arm-kernel, marex, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
NXP Linux Team, Abel Vesa, Peng Fan, Michael Turquette,
Stephen Boyd, devicetree, linux-kernel, linux-clk
Hi Adam and devicetree folks,
On Thu, Aug 31, 2023 at 1:44 AM Adam Ford <aford173@gmail.com> wrote:
>
> The i.MX8MP has a micfil controller which is used for interfacing
> with a pulse density microphone. Add the node and mark it as
> disabled by default.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> ---
> V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
> called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
>
> V2: No change
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index 3167706d81e1..341fd0369ce9 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
> fsl,asrc-format = <2>;
> status = "disabled";
> };
> +
> + micfil: audio-controller@30ca0000 {
> + compatible = "fsl,imx8mp-micfil";
> + reg = <0x30ca0000 0x10000>;
> + #sound-dai-cells = <0>;
After this patch, the following schema warning is seen:
imx8mp-beacon-kit.dtb: audio-controller@30ca0000: '#sound-dai-cells'
does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/sound/fsl,micfil.yaml#
What is the correct way to solve this?
- Document #sound-dai-cells in fsl,micfil.yaml as an optional property
- Remove #sound-dai-cells from imx8mp.dtsi
- Document #sound-dai-cells in fsl,micfil.yaml as a required property
and pass #sound-dai-cells to imx8mm/imx8mn/imx83.dtsi?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: (subset) [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
` (3 preceding siblings ...)
2023-09-25 1:07 ` Shawn Guo
@ 2023-10-04 8:39 ` Abel Vesa
4 siblings, 0 replies; 16+ messages in thread
From: Abel Vesa @ 2023-10-04 8:39 UTC (permalink / raw)
To: linux-arm-kernel, Adam Ford
Cc: marex, aford, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
NXP Linux Team, Abel Vesa, Peng Fan, Michael Turquette,
Stephen Boyd, devicetree, linux-kernel, linux-clk
On Wed, 30 Aug 2023 23:44:29 -0500, Adam Ford wrote:
> The i.MX8MP has an asynchronous sample rate converter which seems
> to be the same as what is available on the i.MX8M Nano.
>
>
Applied, thanks!
[3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT
commit: 05eeeff22b216e871be76dcf216a2fdda48880e2
Best regards,
--
Abel Vesa <abel.vesa@linaro.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node
2023-10-04 1:12 ` Fabio Estevam
@ 2023-10-04 12:15 ` Adam Ford
0 siblings, 0 replies; 16+ messages in thread
From: Adam Ford @ 2023-10-04 12:15 UTC (permalink / raw)
To: Fabio Estevam
Cc: linux-arm-kernel, marex, aford, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
NXP Linux Team, Abel Vesa, Peng Fan, Michael Turquette,
Stephen Boyd, devicetree, linux-kernel, linux-clk
On Tue, Oct 3, 2023 at 8:12 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Adam and devicetree folks,
>
> On Thu, Aug 31, 2023 at 1:44 AM Adam Ford <aford173@gmail.com> wrote:
> >
> > The i.MX8MP has a micfil controller which is used for interfacing
> > with a pulse density microphone. Add the node and mark it as
> > disabled by default.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> > ---
> > V3: The AUDIOMIX_PDM_ROOT doesn't exist and the real clock is
> > called IMX8MP_CLK_AUDIOMIX_PDM_SEL, so swap it out.
> >
> > V2: No change
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > index 3167706d81e1..341fd0369ce9 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 {
> > fsl,asrc-format = <2>;
> > status = "disabled";
> > };
> > +
> > + micfil: audio-controller@30ca0000 {
> > + compatible = "fsl,imx8mp-micfil";
> > + reg = <0x30ca0000 0x10000>;
> > + #sound-dai-cells = <0>;
>
> After this patch, the following schema warning is seen:
>
> imx8mp-beacon-kit.dtb: audio-controller@30ca0000: '#sound-dai-cells'
> does not match any of the regexes: 'pinctrl-[0-9]+'
> from schema $id: http://devicetree.org/schemas/sound/fsl,micfil.yaml#
>
> What is the correct way to solve this?
>
> - Document #sound-dai-cells in fsl,micfil.yaml as an optional property
> - Remove #sound-dai-cells from imx8mp.dtsi
> - Document #sound-dai-cells in fsl,micfil.yaml as a required property
> and pass #sound-dai-cells to imx8mm/imx8mn/imx83.dtsi?
I am not an expert on yaml, in fact they quite confuse me, but I
believe the proper solution is likely to document them in the yaml.
When I built the device tree without the sound-dai-cells, it threw a
message indicating that it needed to be there when it is configured to
operate. I didn't see the schema warning that you noted, but my
schema could have been out of date. Looking at the sai nodes and the
yaml file, it appears that the sound-dai-cells is listed in the yaml.
adam
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2023-10-04 12:15 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-31 4:44 [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Adam Ford
2023-08-31 4:44 ` [PATCH V3 2/3] arm64: dts: imx8mp: Add micfil node Adam Ford
2023-08-31 21:53 ` Marek Vasut
2023-09-01 11:06 ` Adam Ford
2023-09-01 15:49 ` Marek Vasut
2023-09-25 1:12 ` Shawn Guo
2023-10-04 1:12 ` Fabio Estevam
2023-10-04 12:15 ` Adam Ford
2023-08-31 4:44 ` [PATCH V3 3/3] clk: imx8mp: Remove non-existent IMX8MP_CLK_AUDIOMIX_PDM_ROOT Adam Ford
2023-08-31 18:25 ` Rob Herring
2023-08-31 21:52 ` [PATCH V3 1/3] arm64: dts: imx8mp: Add easrc node Marek Vasut
2023-09-01 11:02 ` Adam Ford
2023-09-01 15:47 ` Marek Vasut
2023-09-25 1:07 ` Shawn Guo
2023-09-25 1:12 ` Shawn Guo
2023-10-04 8:39 ` (subset) " Abel Vesa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).