2019-07-02 13:25:24

by Andra Danciu

[permalink] [raw]
Subject: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

SAI3 and SAI6 nodes are used to connect to an external codec.
They have 1 Tx and 1 Rx dataline.

Cc: Daniel Baluta <[email protected]>
Signed-off-by: Andra Danciu <[email protected]>
---
Changes since v2:
- removed multiple new lines

Changes since v1:
- Added sai3 node because we need it to enable audio on pico-pi-8m
- Added commit description

arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index d09b808eff87..736cf81b695e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -278,6 +278,20 @@
#size-cells = <1>;
ranges = <0x30000000 0x30000000 0x400000>;

+ sai6: sai@30030000 {
+ compatible = "fsl,imx8mq-sai",
+ "fsl,imx6sx-sai";
+ reg = <0x30030000 0x10000>;
+ interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_SAI6_IPG>,
+ <&clk IMX8MQ_CLK_SAI6_ROOT>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+ clock-names = "bus", "mclk1", "mclk2", "mclk3";
+ dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>;
+ dma-names = "rx", "tx";
+ status = "disabled";
+ };
+
gpio1: gpio@30200000 {
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
reg = <0x30200000 0x10000>;
@@ -728,6 +742,21 @@
status = "disabled";
};

+ sai3: sai@308c0000 {
+ compatible = "fsl,imx8mq-sai",
+ "fsl,imx6sx-sai";
+ reg = <0x308c0000 0x10000>;
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_SAI3_IPG>,
+ <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_SAI3_ROOT>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+ clock-names = "bus", "mclk1", "mclk2", "mclk3";
+ dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>;
+ dma-names = "rx", "tx";
+ status = "disabled";
+ };
+
i2c1: i2c@30a20000 {
compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c";
reg = <0x30a20000 0x10000>;
--
2.11.0


2019-07-03 06:28:51

by Daniel Baluta

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

On Tue, Jul 2, 2019 at 4:25 PM Andra Danciu <[email protected]> wrote:
>
> SAI3 and SAI6 nodes are used to connect to an external codec.
> They have 1 Tx and 1 Rx dataline.
>
> Cc: Daniel Baluta <[email protected]>
> Signed-off-by: Andra Danciu <[email protected]>

Reviewed-by: Daniel Baluta <[email protected]>

> ---
> Changes since v2:
> - removed multiple new lines
>
> Changes since v1:
> - Added sai3 node because we need it to enable audio on pico-pi-8m
> - Added commit description
>
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index d09b808eff87..736cf81b695e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -278,6 +278,20 @@
> #size-cells = <1>;
> ranges = <0x30000000 0x30000000 0x400000>;
>
> + sai6: sai@30030000 {
> + compatible = "fsl,imx8mq-sai",
> + "fsl,imx6sx-sai";
> + reg = <0x30030000 0x10000>;
> + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clk IMX8MQ_CLK_SAI6_IPG>,
> + <&clk IMX8MQ_CLK_SAI6_ROOT>,
> + <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
> + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> + dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>;
> + dma-names = "rx", "tx";
> + status = "disabled";
> + };
> +
> gpio1: gpio@30200000 {
> compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
> reg = <0x30200000 0x10000>;
> @@ -728,6 +742,21 @@
> status = "disabled";
> };
>
> + sai3: sai@308c0000 {
> + compatible = "fsl,imx8mq-sai",
> + "fsl,imx6sx-sai";
> + reg = <0x308c0000 0x10000>;
> + interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clk IMX8MQ_CLK_SAI3_IPG>,
> + <&clk IMX8MQ_CLK_DUMMY>,
> + <&clk IMX8MQ_CLK_SAI3_ROOT>,
> + <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
> + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> + dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>;
> + dma-names = "rx", "tx";
> + status = "disabled";
> + };
> +
> i2c1: i2c@30a20000 {
> compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c";
> reg = <0x30a20000 0x10000>;
> --
> 2.11.0
>

2019-07-03 13:01:54

by Angus Ainslie

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

Hi Andra,

I tried this out on linux-next and I'm not able to record or play sound.

I also added the sai2 entry to test out our devkit and get a PCM timeout
with that.

On 2019-07-02 07:23, Andra Danciu wrote:
> SAI3 and SAI6 nodes are used to connect to an external codec.
> They have 1 Tx and 1 Rx dataline.
>
> Cc: Daniel Baluta <[email protected]>
> Signed-off-by: Andra Danciu <[email protected]>
> ---
> Changes since v2:
> - removed multiple new lines
>
> Changes since v1:
> - Added sai3 node because we need it to enable audio on pico-pi-8m
> - Added commit description
>
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
> +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index d09b808eff87..736cf81b695e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -278,6 +278,20 @@
> #size-cells = <1>;
> ranges = <0x30000000 0x30000000 0x400000>;
>
> + sai6: sai@30030000 {
> + compatible = "fsl,imx8mq-sai",

I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
the registers at a different offset from "fsl,imx6sx-sai".

How is this supposed to work ?

Thanks
Angus

> + "fsl,imx6sx-sai";
> + reg = <0x30030000 0x10000>;
> + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clk IMX8MQ_CLK_SAI6_IPG>,
> + <&clk IMX8MQ_CLK_SAI6_ROOT>,
> + <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
> + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> + dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>;
> + dma-names = "rx", "tx";
> + status = "disabled";
> + };
> +
> gpio1: gpio@30200000 {
> compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
> reg = <0x30200000 0x10000>;
> @@ -728,6 +742,21 @@
> status = "disabled";
> };
>
> + sai3: sai@308c0000 {
> + compatible = "fsl,imx8mq-sai",
> + "fsl,imx6sx-sai";
> + reg = <0x308c0000 0x10000>;
> + interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clk IMX8MQ_CLK_SAI3_IPG>,
> + <&clk IMX8MQ_CLK_DUMMY>,
> + <&clk IMX8MQ_CLK_SAI3_ROOT>,
> + <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
> + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> + dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>;
> + dma-names = "rx", "tx";
> + status = "disabled";
> + };
> +
> i2c1: i2c@30a20000 {
> compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c";
> reg = <0x30a20000 0x10000>;

2019-07-03 13:11:46

by Daniel Baluta

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
>
> Hi Andra,
>
> I tried this out on linux-next and I'm not able to record or play sound.
>
> I also added the sai2 entry to test out our devkit and get a PCM timeout
> with that.

Hi Angus,

There are still lots of SAI patches that need to be upstream. Me and Andra
will be working on that over this summer.

>
> On 2019-07-02 07:23, Andra Danciu wrote:
> > SAI3 and SAI6 nodes are used to connect to an external codec.
> > They have 1 Tx and 1 Rx dataline.
> >
> > Cc: Daniel Baluta <[email protected]>
> > Signed-off-by: Andra Danciu <[email protected]>
> > ---
> > Changes since v2:
> > - removed multiple new lines
> >
> > Changes since v1:
> > - Added sai3 node because we need it to enable audio on pico-pi-8m
> > - Added commit description
> >
> > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
> > +++++++++++++++++++++++++++++
> > 1 file changed, 29 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > index d09b808eff87..736cf81b695e 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > @@ -278,6 +278,20 @@
> > #size-cells = <1>;
> > ranges = <0x30000000 0x30000000 0x400000>;
> >
> > + sai6: sai@30030000 {
> > + compatible = "fsl,imx8mq-sai",
>
> I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
> the registers at a different offset from "fsl,imx6sx-sai".

Yes, you are right on this. We are trying to slowly push all our internal-tree
patches to mainline. Obviously, with started with low hanging fruits, DTS
nodes and small SAI fixes.

Soon, we will start to send patches for SAI IP ipgrade for imx8.

>
> How is this supposed to work ?
>

For the moment it won't work unless we will upstream all our SAI
internal patches.
But we will get there hopefully this summer.

Thanks,
Daniel.

2019-07-03 13:14:02

by Angus Ainslie

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

Hi Daniel,

On 2019-07-03 07:10, Daniel Baluta wrote:
> On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
>>
>> Hi Andra,
>>
>> I tried this out on linux-next and I'm not able to record or play
>> sound.
>>
>> I also added the sai2 entry to test out our devkit and get a PCM
>> timeout
>> with that.
>
> Hi Angus,
>
> There are still lots of SAI patches that need to be upstream. Me and
> Andra
> will be working on that over this summer.
>
>>
>> On 2019-07-02 07:23, Andra Danciu wrote:
>> > SAI3 and SAI6 nodes are used to connect to an external codec.
>> > They have 1 Tx and 1 Rx dataline.
>> >
>> > Cc: Daniel Baluta <[email protected]>
>> > Signed-off-by: Andra Danciu <[email protected]>
>> > ---
>> > Changes since v2:
>> > - removed multiple new lines
>> >
>> > Changes since v1:
>> > - Added sai3 node because we need it to enable audio on pico-pi-8m
>> > - Added commit description
>> >
>> > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
>> > +++++++++++++++++++++++++++++
>> > 1 file changed, 29 insertions(+)
>> >
>> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> > index d09b808eff87..736cf81b695e 100644
>> > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> > @@ -278,6 +278,20 @@
>> > #size-cells = <1>;
>> > ranges = <0x30000000 0x30000000 0x400000>;
>> >
>> > + sai6: sai@30030000 {
>> > + compatible = "fsl,imx8mq-sai",
>>
>> I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
>> the registers at a different offset from "fsl,imx6sx-sai".
>
> Yes, you are right on this. We are trying to slowly push all our
> internal-tree
> patches to mainline. Obviously, with started with low hanging fruits,
> DTS
> nodes and small SAI fixes.
>
> Soon, we will start to send patches for SAI IP ipgrade for imx8.
>
>>
>> How is this supposed to work ?
>>
>
> For the moment it won't work unless we will upstream all our SAI
> internal patches.
> But we will get there hopefully this summer.
>

Shouldn't a working driver be upstream before enabling it in the
devicetree ?

Thanks
Angus

> Thanks,
> Daniel.

2019-07-03 13:26:28

by Daniel Baluta

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

On Wed, Jul 3, 2019 at 4:12 PM Angus Ainslie <[email protected]> wrote:
>
> Hi Daniel,
>
> On 2019-07-03 07:10, Daniel Baluta wrote:
> > On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
> >>
> >> Hi Andra,
> >>
> >> I tried this out on linux-next and I'm not able to record or play
> >> sound.
> >>
> >> I also added the sai2 entry to test out our devkit and get a PCM
> >> timeout
> >> with that.
> >
> > Hi Angus,
> >
> > There are still lots of SAI patches that need to be upstream. Me and
> > Andra
> > will be working on that over this summer.
> >
> >>
> >> On 2019-07-02 07:23, Andra Danciu wrote:
> >> > SAI3 and SAI6 nodes are used to connect to an external codec.
> >> > They have 1 Tx and 1 Rx dataline.
> >> >
> >> > Cc: Daniel Baluta <[email protected]>
> >> > Signed-off-by: Andra Danciu <[email protected]>
> >> > ---
> >> > Changes since v2:
> >> > - removed multiple new lines
> >> >
> >> > Changes since v1:
> >> > - Added sai3 node because we need it to enable audio on pico-pi-8m
> >> > - Added commit description
> >> >
> >> > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
> >> > +++++++++++++++++++++++++++++
> >> > 1 file changed, 29 insertions(+)
> >> >
> >> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> >> > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> >> > index d09b808eff87..736cf81b695e 100644
> >> > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> >> > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> >> > @@ -278,6 +278,20 @@
> >> > #size-cells = <1>;
> >> > ranges = <0x30000000 0x30000000 0x400000>;
> >> >
> >> > + sai6: sai@30030000 {
> >> > + compatible = "fsl,imx8mq-sai",
> >>
> >> I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
> >> the registers at a different offset from "fsl,imx6sx-sai".
> >
> > Yes, you are right on this. We are trying to slowly push all our
> > internal-tree
> > patches to mainline. Obviously, with started with low hanging fruits,
> > DTS
> > nodes and small SAI fixes.
> >
> > Soon, we will start to send patches for SAI IP ipgrade for imx8.
> >
> >>
> >> How is this supposed to work ?
> >>
> >
> > For the moment it won't work unless we will upstream all our SAI
> > internal patches.
> > But we will get there hopefully this summer.
> >
>
> Shouldn't a working driver be upstream before enabling it in the
> devicetree ?

I see your point here and maybe your suggestion is the ideal
way to do things.

Anyhow, I don't see a problem with adding the node in dts
because CONFIG_FSL_SAI is not set in the default config.

We try to speedup the upstreaming process giving the fact
that SAI patches will go through audio maintainer's tree and
the DTS patches will most likely go through Shawn's tree.

thanks,
Daniel.

2019-07-03 13:59:27

by Angus Ainslie

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

Hi Daniel,

On 2019-07-03 07:25, Daniel Baluta wrote:
> On Wed, Jul 3, 2019 at 4:12 PM Angus Ainslie <[email protected]> wrote:
>>
>> Hi Daniel,
>>
>> On 2019-07-03 07:10, Daniel Baluta wrote:
>> > On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
>> >>
>> >> Hi Andra,
>> >>
>> >> I tried this out on linux-next and I'm not able to record or play
>> >> sound.
>> >>
>> >> I also added the sai2 entry to test out our devkit and get a PCM
>> >> timeout
>> >> with that.
>> >
>> > Hi Angus,
>> >
>> > There are still lots of SAI patches that need to be upstream. Me and
>> > Andra
>> > will be working on that over this summer.
>> >
>> >>
>> >> On 2019-07-02 07:23, Andra Danciu wrote:
>> >> > SAI3 and SAI6 nodes are used to connect to an external codec.
>> >> > They have 1 Tx and 1 Rx dataline.
>> >> >
>> >> > Cc: Daniel Baluta <[email protected]>
>> >> > Signed-off-by: Andra Danciu <[email protected]>
>> >> > ---
>> >> > Changes since v2:
>> >> > - removed multiple new lines
>> >> >
>> >> > Changes since v1:
>> >> > - Added sai3 node because we need it to enable audio on pico-pi-8m
>> >> > - Added commit description
>> >> >
>> >> > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
>> >> > +++++++++++++++++++++++++++++
>> >> > 1 file changed, 29 insertions(+)
>> >> >
>> >> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> >> > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> >> > index d09b808eff87..736cf81b695e 100644
>> >> > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> >> > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
>> >> > @@ -278,6 +278,20 @@
>> >> > #size-cells = <1>;
>> >> > ranges = <0x30000000 0x30000000 0x400000>;
>> >> >
>> >> > + sai6: sai@30030000 {
>> >> > + compatible = "fsl,imx8mq-sai",
>> >>
>> >> I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
>> >> the registers at a different offset from "fsl,imx6sx-sai".
>> >
>> > Yes, you are right on this. We are trying to slowly push all our
>> > internal-tree
>> > patches to mainline. Obviously, with started with low hanging fruits,
>> > DTS
>> > nodes and small SAI fixes.
>> >
>> > Soon, we will start to send patches for SAI IP ipgrade for imx8.
>> >
>> >>
>> >> How is this supposed to work ?
>> >>
>> >
>> > For the moment it won't work unless we will upstream all our SAI
>> > internal patches.
>> > But we will get there hopefully this summer.
>> >
>>
>> Shouldn't a working driver be upstream before enabling it in the
>> devicetree ?
>
> I see your point here and maybe your suggestion is the ideal
> way to do things.
>
> Anyhow, I don't see a problem with adding the node in dts
> because CONFIG_FSL_SAI is not set in the default config.
>

I think the assumption is that devices in the devicetree are tested and
working. That's not currently the case for sai on imx8mq.

> We try to speedup the upstreaming process giving the fact
> that SAI patches will go through audio maintainer's tree and
> the DTS patches will most likely go through Shawn's tree.
>

Ok I can see them being committed concurrently but I haven't even seen a
v1 of the sai patches.

Thanks
Angus

> thanks,
> Daniel.

2019-07-16 16:00:28

by Lucas Stach

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

Hi Daniel,

Am Mittwoch, den 03.07.2019, 16:25 +0300 schrieb Daniel Baluta:
> > On Wed, Jul 3, 2019 at 4:12 PM Angus Ainslie <[email protected]> wrote:
> >
> > Hi Daniel,
> >
> > On 2019-07-03 07:10, Daniel Baluta wrote:
> > > > > > On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
> > > >
> > > > Hi Andra,
> > > >
> > > > I tried this out on linux-next and I'm not able to record or play
> > > > sound.
> > > >
> > > > I also added the sai2 entry to test out our devkit and get a PCM
> > > > timeout
> > > > with that.
> > >
> > > Hi Angus,
> > >
> > > There are still lots of SAI patches that need to be upstream. Me and
> > > Andra
> > > will be working on that over this summer.
> > >
> > > >
> > > > On 2019-07-02 07:23, Andra Danciu wrote:
> > > > > SAI3 and SAI6 nodes are used to connect to an external codec.
> > > > > They have 1 Tx and 1 Rx dataline.
> > > > >
> > > > > > > > > > Cc: Daniel Baluta <[email protected]>
> > > > > > > > > > Signed-off-by: Andra Danciu <[email protected]>
> > > > > ---
> > > > > Changes since v2:
> > > > >       - removed multiple new lines
> > > > >
> > > > > Changes since v1:
> > > > >       - Added sai3 node because we need it to enable audio on pico-pi-8m
> > > > >       - Added commit description
> > > > >
> > > > >  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
> > > > > +++++++++++++++++++++++++++++
> > > > >  1 file changed, 29 insertions(+)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > index d09b808eff87..736cf81b695e 100644
> > > > > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > @@ -278,6 +278,20 @@
> > > > >                       #size-cells = <1>;
> > > > >                       ranges = <0x30000000 0x30000000 0x400000>;
> > > > >
> > > > > > > > > > +                     sai6: sai@30030000 {
> > > > > +                             compatible = "fsl,imx8mq-sai",
> > > >
> > > > I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
> > > > the registers at a different offset from "fsl,imx6sx-sai".
> > >
> > > Yes, you are right on this. We are trying to slowly push all our
> > > internal-tree
> > > patches to mainline. Obviously, with started with low hanging fruits,
> > > DTS
> > > nodes and small SAI fixes.
> > >
> > > Soon, we will start to send patches for SAI IP ipgrade for imx8.
> > >
> > > >
> > > > How is this supposed to work ?
> > > >
> > >
> > > For the moment it won't work unless we will upstream all our SAI
> > > internal patches.
> > > But we will get there hopefully this summer.
> > >
> >
> > Shouldn't a working driver be upstream before enabling it in the
> > devicetree ?
>
> I see your point here and maybe your suggestion is the ideal
> way to do things.
>
> Anyhow, I don't see a problem with adding the node in dts
> because CONFIG_FSL_SAI is not set in the default config.
>
> We try to speedup the upstreaming process giving the fact
> that SAI patches will go through audio maintainer's tree and
> the DTS patches will most likely go through Shawn's tree.

I've also looked at adding audio support to one of the custom boards I
have here and was caught a bit off guard by the fact that the SAI
driver is totally broken for i.MX8M due to missing patches, as I
assumed the necessary bits are in place before the DT patches are
landed. It's certainly not how things are usually done.

This also means the DT description of the SAI nodes is wrong, as they
are actually not compatible to the "fsl,imx6sx-sai". The register
layout is moved around, so there is no point in claiming any backwards
compat with the old SAI version.

Do you have an ETA when the necessary patches for the i.MX8M SAI will
be available for test and review?

Regards,
Lucas

2019-07-17 14:05:24

by Daniel Baluta

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: imx8mq: Add sai3 and sai6 nodes

On Tue, Jul 16, 2019 at 6:58 PM Lucas Stach <[email protected]> wrote:
>
> Hi Daniel,
>
> Am Mittwoch, den 03.07.2019, 16:25 +0300 schrieb Daniel Baluta:
> > > On Wed, Jul 3, 2019 at 4:12 PM Angus Ainslie <[email protected]> wrote:
> > >
> > > Hi Daniel,
> > >
> > > On 2019-07-03 07:10, Daniel Baluta wrote:
> > > > > > > On Wed, Jul 3, 2019 at 4:01 PM Angus Ainslie <[email protected]> wrote:
> > > > >
> > > > > Hi Andra,
> > > > >
> > > > > I tried this out on linux-next and I'm not able to record or play
> > > > > sound.
> > > > >
> > > > > I also added the sai2 entry to test out our devkit and get a PCM
> > > > > timeout
> > > > > with that.
> > > >
> > > > Hi Angus,
> > > >
> > > > There are still lots of SAI patches that need to be upstream. Me and
> > > > Andra
> > > > will be working on that over this summer.
> > > >
> > > > >
> > > > > On 2019-07-02 07:23, Andra Danciu wrote:
> > > > > > SAI3 and SAI6 nodes are used to connect to an external codec.
> > > > > > They have 1 Tx and 1 Rx dataline.
> > > > > >
> > > > > > > > > > > Cc: Daniel Baluta <[email protected]>
> > > > > > > > > > > Signed-off-by: Andra Danciu <[email protected]>
> > > > > > ---
> > > > > > Changes since v2:
> > > > > > - removed multiple new lines
> > > > > >
> > > > > > Changes since v1:
> > > > > > - Added sai3 node because we need it to enable audio on pico-pi-8m
> > > > > > - Added commit description
> > > > > >
> > > > > > arch/arm64/boot/dts/freescale/imx8mq.dtsi | 29
> > > > > > +++++++++++++++++++++++++++++
> > > > > > 1 file changed, 29 insertions(+)
> > > > > >
> > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > > b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > > index d09b808eff87..736cf81b695e 100644
> > > > > > --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> > > > > > @@ -278,6 +278,20 @@
> > > > > > #size-cells = <1>;
> > > > > > ranges = <0x30000000 0x30000000 0x400000>;
> > > > > >
> > > > > > > > > > > + sai6: sai@30030000 {
> > > > > > + compatible = "fsl,imx8mq-sai",
> > > > >
> > > > > I don't find this compatible string in sound/soc/fsl/fsl_sai.c. Aren't
> > > > > the registers at a different offset from "fsl,imx6sx-sai".
> > > >
> > > > Yes, you are right on this. We are trying to slowly push all our
> > > > internal-tree
> > > > patches to mainline. Obviously, with started with low hanging fruits,
> > > > DTS
> > > > nodes and small SAI fixes.
> > > >
> > > > Soon, we will start to send patches for SAI IP ipgrade for imx8.
> > > >
> > > > >
> > > > > How is this supposed to work ?
> > > > >
> > > >
> > > > For the moment it won't work unless we will upstream all our SAI
> > > > internal patches.
> > > > But we will get there hopefully this summer.
> > > >
> > >
> > > Shouldn't a working driver be upstream before enabling it in the
> > > devicetree ?
> >
> > I see your point here and maybe your suggestion is the ideal
> > way to do things.
> >
> > Anyhow, I don't see a problem with adding the node in dts
> > because CONFIG_FSL_SAI is not set in the default config.
> >
> > We try to speedup the upstreaming process giving the fact
> > that SAI patches will go through audio maintainer's tree and
> > the DTS patches will most likely go through Shawn's tree.
>
> I've also looked at adding audio support to one of the custom boards I
> have here and was caught a bit off guard by the fact that the SAI
> driver is totally broken for i.MX8M due to missing patches, as I
> assumed the necessary bits are in place before the DT patches are
> landed. It's certainly not how things are usually done.
>
> This also means the DT description of the SAI nodes is wrong, as they
> are actually not compatible to the "fsl,imx6sx-sai". The register
> layout is moved around, so there is no point in claiming any backwards
> compat with the old SAI version.
>
> Do you have an ETA when the necessary patches for the i.MX8M SAI will
> be available for test and review?

No ETA for this. Sorry! We try to upstream it as soon as possible