2024-05-06 15:51:35

by Alex Bee

[permalink] [raw]
Subject: [PATCH 0/2] Add RK3128's sound nodes

RK3128 has two I2S, and one S/PDIF controller. They are already supported
by the drivers and covered by the bindings. All it needs to make use of
them is exposing them in the SoC device tree.

Alex Bee (2):
ARM: dts: rockchip: Add i2s nodes for RK3128
ARM: dts: rockchip: Add spdif node for RK3128

arch/arm/boot/dts/rockchip/rk3128.dtsi | 41 ++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

--
2.43.2



2024-05-06 15:51:51

by Alex Bee

[permalink] [raw]
Subject: [PATCH 2/2] ARM: dts: rockchip: Add spdif node for RK3128

The SoC has a S/PDIF TX controller which is fully compatible with older
generation Rockchip SoCs.

Signed-off-by: Alex Bee <[email protected]>
---
arch/arm/boot/dts/rockchip/rk3128.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/rockchip/rk3128.dtsi b/arch/arm/boot/dts/rockchip/rk3128.dtsi
index d0d1d7c2ab2f..bf6e05503141 100644
--- a/arch/arm/boot/dts/rockchip/rk3128.dtsi
+++ b/arch/arm/boot/dts/rockchip/rk3128.dtsi
@@ -372,6 +372,20 @@ i2s_8ch: i2s@10200000 {
status = "disabled";
};

+ spdif: spdif@10204000 {
+ compatible = "rockchip,rk3128-spdif", "rockchip,rk3066-spdif";
+ reg = <0x10204000 0x1000>;
+ interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
+ clock-names = "mclk", "hclk";
+ dmas = <&pdma 13>;
+ dma-names = "tx";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spdif_tx>;
+ #sound-dai-cells = <0>;
+ status = "disabled";
+ };
+
sdmmc: mmc@10214000 {
compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
reg = <0x10214000 0x4000>;
--
2.43.2


2024-05-06 15:56:47

by Alex Bee

[permalink] [raw]
Subject: [PATCH 1/2] ARM: dts: rockchip: Add i2s nodes for RK3128

RK3128 SoCs have two i2s controllers. i2s_8ch has 8 tx and 2 rx channels
and is internally hard-wired to the hdmi-controller respectivly the SoC's
analog codec. i2s_2ch has 2 tx and 2 rx channels and can also be used
externally as it's pins are exposed though pinctrl.

Signed-off-by: Alex Bee <[email protected]>
---
arch/arm/boot/dts/rockchip/rk3128.dtsi | 27 ++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

diff --git a/arch/arm/boot/dts/rockchip/rk3128.dtsi b/arch/arm/boot/dts/rockchip/rk3128.dtsi
index fb98873fd94e..d0d1d7c2ab2f 100644
--- a/arch/arm/boot/dts/rockchip/rk3128.dtsi
+++ b/arch/arm/boot/dts/rockchip/rk3128.dtsi
@@ -360,6 +360,18 @@ usb_host_ohci: usb@101e0000 {
status = "disabled";
};

+ i2s_8ch: i2s@10200000 {
+ compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s";
+ reg = <0x10200000 0x1000>;
+ interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S_8CH>;
+ clock-names = "i2s_clk", "i2s_hclk";
+ dmas = <&pdma 14>, <&pdma 15>;
+ dma-names = "tx", "rx";
+ #sound-dai-cells = <0>;
+ status = "disabled";
+ };
+
sdmmc: mmc@10214000 {
compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
reg = <0x10214000 0x4000>;
@@ -408,6 +420,21 @@ emmc: mmc@1021c000 {
status = "disabled";
};

+ i2s_2ch: i2s@10220000 {
+ compatible = "rockchip,rk3128-i2s", "rockchip,rk3066-i2s";
+ reg = <0x10220000 0x1000>;
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S_2CH>;
+ clock-names = "i2s_clk", "i2s_hclk";
+ dmas = <&pdma 0>, <&pdma 1>;
+ dma-names = "tx", "rx";
+ rockchip,playback-channels = <2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_bus>;
+ #sound-dai-cells = <0>;
+ status = "disabled";
+ };
+
nfc: nand-controller@10500000 {
compatible = "rockchip,rk3128-nfc", "rockchip,rk2928-nfc";
reg = <0x10500000 0x4000>;
--
2.43.2


2024-06-08 15:17:37

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add RK3128's sound nodes

On Mon, 6 May 2024 17:51:01 +0200, Alex Bee wrote:
> RK3128 has two I2S, and one S/PDIF controller. They are already supported
> by the drivers and covered by the bindings. All it needs to make use of
> them is exposing them in the SoC device tree.
>
> Alex Bee (2):
> ARM: dts: rockchip: Add i2s nodes for RK3128
> ARM: dts: rockchip: Add spdif node for RK3128
>
> [...]

Applied, thanks!

[1/2] ARM: dts: rockchip: Add i2s nodes for RK3128
commit: 760e49dc6cee85994f7ece74f7145887ea7b64ca
[2/2] ARM: dts: rockchip: Add spdif node for RK3128
commit: a6b661c2a38a92b7de826f74e57596fe33fe17fa

Best regards,
--
Heiko Stuebner <[email protected]>