diff mbox series

[V3,1/3] arm64: dts: imx8mp: Add easrc node

Message ID 20230831044431.250338-1-aford173@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show
Series [V3,1/3] arm64: dts: imx8mp: Add easrc node | expand

Commit Message

Adam Ford Aug. 31, 2023, 4:44 a.m. UTC
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.

Comments

Marek Vasut Aug. 31, 2023, 9:52 p.m. UTC | #1
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.
Adam Ford Sept. 1, 2023, 11:02 a.m. UTC | #2
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.
Marek Vasut Sept. 1, 2023, 3:47 p.m. UTC | #3
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.
Shawn Guo Sept. 25, 2023, 1:07 a.m. UTC | #4
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
>
Shawn Guo Sept. 25, 2023, 1:12 a.m. UTC | #5
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!
Abel Vesa Oct. 4, 2023, 8:39 a.m. UTC | #6
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,
diff mbox series

Patch

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 {