Skip to contentSkip to conversation

ARM: dts: sunxi: h3/h5 :Add DAI nodes

PATCH New codekipper at gmail.com 3 participants 4 messages Sep 3, 2017 – Sep 4, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: sunxi: h3/h5 :Add DAI nodes

From: Marcus Cooper <[email protected]>

Add the new DAI blocks to the device tree. I2S0 and I2S1 are for connecting to an external codec whereas I2S2 is used for HDMI audio.

---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 39 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/sunxi-h3-h5.dtsi +39 -0
index 11240a8313c2..cf6fcc857324 100644
@@ -450,6 +450,45 @@
 			status = "disabled";
 		};
 
+		i2s0: i2s at 01c22000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22000 0x400>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 3>, <&dma 3>;
+			resets = <&ccu RST_BUS_I2S0>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		i2s1: i2s at 01c22400 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22400 0x400>;
+			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 4>, <&dma 4>;
+			resets = <&ccu RST_BUS_I2S1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		i2s2: i2s at 01c22800 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22800 0x400>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 5>, <&dma 5>;
+			resets = <&ccu RST_BUS_I2S2>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		codec: codec at 01c22c00 {
 			#sound-dai-cells = <0>;
 			compatible = "allwinner,sun8i-h3-codec";
Signature · 1 line
2.14.1
#1 lore raw

PATCH 1/1 ARM: dts: sunxi: h3/h5 :Add DAI nodes

Hi Marcus!

Dne nedelja, 03. september 2017 ob 17:08:06 CEST je codekipper at gmail.com napisal(a):

Quoted 49 lines

From: Marcus Cooper <[email protected]>

Add the new DAI blocks to the device tree. I2S0 and I2S1 are for connecting to an external codec whereas I2S2 is used for HDMI audio.

---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 39

++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)

(quoted diff) +0 -0

b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index 11240a8313c2..cf6fcc857324 100644

arch/arm/boot/dts/sunxi-h3-h5.dtsi +29 -0
@@ -450,6 +450,45 @@
 			status = "disabled";
 		};
 
+		i2s0: i2s at 01c22000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22000 0x400>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 3>, <&dma 3>;
+			resets = <&ccu RST_BUS_I2S0>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		i2s1: i2s at 01c22400 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22400 0x400>;
+			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 4>, <&dma 4>;
+			resets = <&ccu RST_BUS_I2S1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		i2s2: i2s at 01c22800 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";

arch/arm/boot/dts/sunxi-h3-h5.dtsi line 491

Quoted 10 lines
arch/arm/boot/dts/sunxi-h3-h5.dtsi +10 -0
+			reg = <0x01c22800 0x400>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 5>, <&dma 5>;
+			resets = <&ccu RST_BUS_I2S2>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+

I don't want to be a pain, but shouldn't we skip this one for now? It is only for HDMI and has different capabilities (8 channels supported and slighlty different formula to calculate oversample rate.

Best regards,
Jernej

#2 lore raw

PATCH 1/1 ARM: dts: sunxi: h3/h5 :Add DAI nodes

Quoted 59 lines · Jernej ?krabec

Hi Marcus!

Dne nedelja, 03. september 2017 ob 17:08:06 CEST je codekipper at gmail.com napisal(a):

Quoted 55 lines

From: Marcus Cooper <[email protected]>

Add the new DAI blocks to the device tree. I2S0 and I2S1 are for connecting to an external codec whereas I2S2 is used for HDMI audio.

---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 39

++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)

(quoted diff) +0 -0

b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index 11240a8313c2..cf6fcc857324 100644

arch/arm/boot/dts/sunxi-h3-h5.dtsi +35 -0
@@ -450,6 +450,45 @@
                      status = "disabled";
              };
 
+             i2s0: i2s at 01c22000 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22000 0x400>;
+                     interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 3>, <&dma 3>;
+                     resets = <&ccu RST_BUS_I2S0>;
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+
+             i2s1: i2s at 01c22400 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22400 0x400>;
+                     interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 4>, <&dma 4>;
+                     resets = <&ccu RST_BUS_I2S1>;
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+
+             i2s2: i2s at 01c22800 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22800 0x400>;
+                     interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 5>, <&dma 5>;
+                     resets = <&ccu RST_BUS_I2S2>;
Quoted 8 lines

arch/arm/boot/dts/sunxi-h3-h5.dtsi line 465

Quoted 4 lines
arch/arm/boot/dts/sunxi-h3-h5.dtsi +4 -0
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+

I don't want to be a pain, but shouldn't we skip this one for now? It is only for HDMI and has different capabilities (8 channels supported and slighlty different formula to calculate oversample rate.

I'll have a look into this..maybe this can be handled by the simple-audio-card binding that we use. The other thing with the padding which you mentioned I can add a field for. Maxime, what's your thoughts on this?..I can re-submit without i2s2.
BR,
CK

Quoted 3 lines

Best regards,
Jernej

#3 lore raw

PATCH 1/1 ARM: dts: sunxi: h3/h5 :Add DAI nodes

Quoted 68 lines · Code Kipper
Quoted 59 lines · Jernej ?krabec

Hi Marcus!

Dne nedelja, 03. september 2017 ob 17:08:06 CEST je codekipper at gmail.com napisal(a):

Quoted 55 lines

From: Marcus Cooper <[email protected]>

Add the new DAI blocks to the device tree. I2S0 and I2S1 are for connecting to an external codec whereas I2S2 is used for HDMI audio.

---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 39

++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)

(quoted diff) +0 -0

b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index 11240a8313c2..cf6fcc857324 100644

arch/arm/boot/dts/sunxi-h3-h5.dtsi +35 -0
@@ -450,6 +450,45 @@
                      status = "disabled";
              };
 
+             i2s0: i2s at 01c22000 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22000 0x400>;
+                     interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 3>, <&dma 3>;
+                     resets = <&ccu RST_BUS_I2S0>;
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+
+             i2s1: i2s at 01c22400 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22400 0x400>;
+                     interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 4>, <&dma 4>;
+                     resets = <&ccu RST_BUS_I2S1>;
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+
+             i2s2: i2s at 01c22800 {
+                     #sound-dai-cells = <0>;
+                     compatible = "allwinner,sun8i-h3-i2s";
+                     reg = <0x01c22800 0x400>;
+                     interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+                     clock-names = "apb", "mod";
+                     dmas = <&dma 5>, <&dma 5>;
+                     resets = <&ccu RST_BUS_I2S2>;
Quoted 8 lines

arch/arm/boot/dts/sunxi-h3-h5.dtsi line 465

Quoted 4 lines
arch/arm/boot/dts/sunxi-h3-h5.dtsi +4 -0
+                     dma-names = "rx", "tx";
+                     status = "disabled";
+             };
+

I don't want to be a pain, but shouldn't we skip this one for now? It is only for HDMI and has different capabilities (8 channels supported and slighlty different formula to calculate oversample rate.

Quoted 4 lines

I'll have a look into this..maybe this can be handled by the simple-audio-card binding that we use. The other thing with the padding which you mentioned I can add a field for. Maxime, what's your thoughts on this?..I can re-submit without i2s2.

Yes, please do so.

Thanks!
Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170904/de4520fc/attachment.sig>