Am Samstag, 2. Februar 2019, 05:34:44 CET schrieb Katsuhiro Suzuki:
> This patch adds HDMI sound (I2S0) node and remove dma properties
> from UART2 node for rock64.
> 
> The DMAC of rk3328 can use 8 channels at same time. Currently, total
> 7 channels are used as follows:
>   - I2S1  2ch
>   - UART2 2ch
>   - SPDIF 1ch
>   - SPI0  2ch
> 
> HDMI audio using I2S0 that requires 2ch but DMAC has only 1 channel.
> 
> UART2 can work without DMA resources, so this patch removes dma
> allocation for UART2 and reuses it to I2S0.

I don't follow that description. How can i2s0 re-use the uart2 dma channels?
Looking at the dma table in the TRM, uart2 has channels 6+7 while i2s0
uses channels 11+12. They should just run concurrently?

> 
> Signed-off-by: Katsuhiro Suzuki <katsuh...@katsuster.net>
> ---
>  .../arm64/boot/dts/rockchip/rk3328-rock64.dts | 24 ++++++++++++++++++-
>  arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  1 +
>  2 files changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts 
> b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> index 2157a528276b..e21645aa3fa5 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> @@ -68,7 +68,8 @@
>       sound {
>               compatible = "audio-graph-card";
>               label = "rockchip,rk3328";
> -             dais = <&i2s1_p0
> +             dais = <&i2s0_p0
> +                     &i2s1_p0
>                       &spdif_p0>;
>       };
>  
> @@ -141,6 +142,12 @@
>  
>  &hdmi {
>       status = "okay";
> +
> +     port@0 {
> +             hdmi_p0_0: endpoint {
> +                     remote-endpoint = <&i2s0_p0_0>;
> +             };
> +     };
>  };
>  
>  &hdmiphy {
> @@ -256,6 +263,18 @@
>       };
>  };
>  
> +&i2s0 {
> +     status = "okay";
> +
> +     i2s0_p0: port {
> +             i2s0_p0_0: endpoint {
> +                     dai-format = "i2s";
> +                     mclk-fs = <256>;
> +                     remote-endpoint = <&hdmi_p0_0>;
> +             };
> +     };
> +};
> +
>  &i2s1 {
>       status = "okay";
>  
> @@ -343,6 +362,9 @@
>  
>  &uart2 {
>       status = "okay";
> +
> +     /delete-property/ dmas;
> +     /delete-property/ dma-names;
>  };
>  
>  &u2phy {
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi 
> b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 84f14b132e8f..374b5da93a35 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -665,6 +665,7 @@
>               pinctrl-names = "default";
>               pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
>               rockchip,grf = <&grf>;
> +             #sound-dai-cells = <0>;

please make that a separate patch


Heiko


Reply via email to