Hi, Michael,
In most of our cases, TX and RX are using the same BCLK and SYNC
clocks. So the default synchronous mode (sync Rx with Tx) is used,
which means both transmitter and receiver will send and receive data
by following clocks of transmitter. It is verified on our boards.
Best Regards,
Alison Wang
-----Original Message-----
From: Shawn Guo <shawnguo@xxxxxxxxxx>
Sent: Monday, December 9, 2019 5:09 PM
To: Michael Walle <michael@xxxxxxxx>; Alison Wang <alison.wang@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
linux-kernel@xxxxxxxxxxxxxxx; Leo Li <leoyang.li@xxxxxxx>; Rob Herring
<robh+dt@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>
Subject: [EXT] Re: [PATCH] arm64: dts: ls1028a: put SAIs into async mode
Caution: EXT Email
+ Alison Wang
On Fri, Nov 29, 2019 at 10:09:37PM +0100, Michael Walle wrote:
> The LS1028A SoC has only unidirectional SAIs. Therefore, it doesn't
> make sense to have the RX and TX part synchronous. Even worse, the RX
> part wont work out of the box because by default it is configured as
> synchronous to the TX part. And as said before, the pinmux of the SoC
> can only be configured to route either the RX or the TX signals to the
> SAI but never both at the same time. Thus configure the asynchronous
> mode by default.
>
> Signed-off-by: Michael Walle <michael@xxxxxxxx>
Alison, Leo,
Looks good to you?
Shawn
> ---
> arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> index 379913756e90..9be33426e5ce 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> @@ -637,6 +637,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 4>,
> <&edma0 1 3>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> @@ -651,6 +652,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 6>,
> <&edma0 1 5>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> @@ -665,6 +667,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 8>,
> <&edma0 1 7>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> @@ -679,6 +682,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 10>,
> <&edma0 1 9>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> @@ -693,6 +697,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 12>,
> <&edma0 1 11>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> @@ -707,6 +712,7 @@
> dma-names = "tx", "rx";
> dmas = <&edma0 1 14>,
> <&edma0 1 13>;
> + fsl,sai-asynchronous;
> status = "disabled";
> };
>
> --
> 2.20.1
>