devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64
@ 2018-01-29  9:18 codekipper-Re5JQEeQqe8AvxtiuMwx3w
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:18 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Hi All,

this patch series adds the digital audio blocks to the A64 SoC. No block
changes are necessary.

BR,
CK

---
v2 changes compared to v1 are:
- Added SoC specific compatiables
- moved spdif default pins to dtsi
- Added i2s2 block for HDMI as it has now been tested.
---
Marcus Cooper (5):
  arm64: allwinner: a64: Add the SPDIF block and pin
  arm64: allwinner: a64: Add SPDIF to the A64
  arm64: allwinner: a64: Add SPDIF to the Pine64
  arm64: allwinner: a64: Add DAI nodes
  arm64: allwinner: a64: Add DAI node for HDMI

 .../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts |  5 ++
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi      | 81 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)

-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [linux-sunxi][PATCH v2 1/5] arm64: allwinner: a64: Add the SPDIF block and pin
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2018-01-29  9:18   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29  9:19   ` [PATCH v2 2/5] arm64: allwinner: a64: Add SPDIF to the A64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:18 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Add the SPDIF transceiver controller block and pin to the A64 dtsi.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index d783d164b9c3..43c54a2133f0 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -336,6 +336,11 @@
 				drive-strength = <40>;
 			};
 
+			spdif_tx_pin: spdif {
+				pins = "PH8";
+				function = "spdif";
+			};
+
 			spi0_pins: spi0 {
 				pins = "PC0", "PC1", "PC2", "PC3";
 				function = "spi0";
@@ -382,6 +387,22 @@
 			};
 		};
 
+		spdif: spdif@1c21000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun50i-a64-spdif",
+				     "allwinner,sun8i-h3-spdif";
+			reg = <0x01c21000 0x400>;
+			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
+			resets = <&ccu RST_BUS_SPDIF>;
+			clock-names = "apb", "spdif";
+			dmas = <&dma 2>;
+			dma-names = "tx";
+			pinctrl-names = "default";
+			pinctrl-0 = <&spdif_tx_pin>;
+			status = "disabled";
+		};
+
 		uart0: serial@1c28000 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0x01c28000 0x400>;
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/5] arm64: allwinner: a64: Add SPDIF to the A64
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2018-01-29  9:18   ` [linux-sunxi][PATCH v2 1/5] arm64: allwinner: a64: Add the SPDIF block and pin codekipper-Re5JQEeQqe8AvxtiuMwx3w
@ 2018-01-29  9:19   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 3/5] arm64: allwinner: a64: Add SPDIF to the Pine64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:19 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Add the device tree sound bindings for the S/PDIF block.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 43c54a2133f0..b9e69657a2e8 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -112,6 +112,24 @@
 		method = "smc";
 	};
 
+	sound_spdif {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "On-board SPDIF";
+
+		simple-audio-card,cpu {
+			sound-dai = <&spdif>;
+		};
+
+		simple-audio-card,codec {
+			sound-dai = <&spdif_out>;
+		};
+	};
+
+	spdif_out: spdif-out {
+		#sound-dai-cells = <0>;
+		compatible = "linux,spdif-dit";
+	};
+
 	timer {
 		compatible = "arm,armv8-timer";
 		interrupts = <GIC_PPI 13
-- 
2.16.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [linux-sunxi][PATCH v2 3/5] arm64: allwinner: a64: Add SPDIF to the Pine64
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2018-01-29  9:18   ` [linux-sunxi][PATCH v2 1/5] arm64: allwinner: a64: Add the SPDIF block and pin codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29  9:19   ` [PATCH v2 2/5] arm64: allwinner: a64: Add SPDIF to the A64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
@ 2018-01-29  9:19   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 4/5] arm64: allwinner: a64: Add DAI nodes codekipper-Re5JQEeQqe8AvxtiuMwx3w
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:19 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

The S/PDIF transmitter can be reached on the Euler connector.
But as this is a GPIO then leave it disabled so that an overlay
can override the status property.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index 604cdaedac38..d1161069af9e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -230,6 +230,11 @@
 	regulator-name = "vcc-rtc";
 };
 
+/* On Euler connector */
+&spdif {
+	status = "disabled";
+};
+
 /* On Exp and Euler connectors */
 &uart0 {
 	pinctrl-names = "default";
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [linux-sunxi][PATCH v2 4/5] arm64: allwinner: a64: Add DAI nodes
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (2 preceding siblings ...)
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 3/5] arm64: allwinner: a64: Add SPDIF to the Pine64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
@ 2018-01-29  9:19   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 5/5] arm64: allwinner: a64: Add DAI node for HDMI codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29 10:09   ` [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64 Maxime Ripard
  5 siblings, 0 replies; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:19 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Add the DAI blocks to the device tree. I2S0 and I2S1 are for
connecting to an external codec.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 28 +++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index b9e69657a2e8..1b6dc31e7d91 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -421,6 +421,34 @@
 			status = "disabled";
 		};
 
+		i2s0: i2s@1c22000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun50i-a64-i2s",
+				     "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";
+			resets = <&ccu RST_BUS_I2S0>;
+			dma-names = "rx", "tx";
+			dmas = <&dma 3>, <&dma 3>;
+			status = "disabled";
+		};
+
+		i2s1: i2s@1c22400 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun50i-a64-i2s",
+				     "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";
+			resets = <&ccu RST_BUS_I2S1>;
+			dma-names = "rx", "tx";
+			dmas = <&dma 4>, <&dma 4>;
+			status = "disabled";
+		};
+
 		uart0: serial@1c28000 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0x01c28000 0x400>;
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [linux-sunxi][PATCH v2 5/5] arm64: allwinner: a64: Add DAI node for HDMI
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (3 preceding siblings ...)
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 4/5] arm64: allwinner: a64: Add DAI nodes codekipper-Re5JQEeQqe8AvxtiuMwx3w
@ 2018-01-29  9:19   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
  2018-01-29 10:09   ` [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64 Maxime Ripard
  5 siblings, 0 replies; 7+ messages in thread
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w @ 2018-01-29  9:19 UTC (permalink / raw)
  To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, Marcus Cooper

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Add the new DAI block for I2S2 which is used for HDMI audio.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 1b6dc31e7d91..c913dada7653 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -449,6 +449,20 @@
 			status = "disabled";
 		};
 
+		i2s2: i2s@1c22800 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun50i-a64-i2s",
+				     "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";
+			resets = <&ccu RST_BUS_I2S2>;
+			dma-names = "tx";
+			dmas = <&dma 27>;
+			status = "disabled";
+		};
+
 		uart0: serial@1c28000 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0x01c28000 0x400>;
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64
       [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (4 preceding siblings ...)
  2018-01-29  9:19   ` [linux-sunxi][PATCH v2 5/5] arm64: allwinner: a64: Add DAI node for HDMI codekipper-Re5JQEeQqe8AvxtiuMwx3w
@ 2018-01-29 10:09   ` Maxime Ripard
  5 siblings, 0 replies; 7+ messages in thread
From: Maxime Ripard @ 2018-01-29 10:09 UTC (permalink / raw)
  To: codekipper-Re5JQEeQqe8AvxtiuMwx3w
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw

[-- Attachment #1: Type: text/plain, Size: 459 bytes --]

On Mon, Jan 29, 2018 at 10:18:58AM +0100, codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:
> From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 
> Hi All,
> 
> this patch series adds the digital audio blocks to the A64 SoC. No block
> changes are necessary.

queued all of these changes for 4.17. Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-01-29 10:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-29  9:18 [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
     [not found] ` <20180129091903.12319-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:18   ` [linux-sunxi][PATCH v2 1/5] arm64: allwinner: a64: Add the SPDIF block and pin codekipper-Re5JQEeQqe8AvxtiuMwx3w
2018-01-29  9:19   ` [PATCH v2 2/5] arm64: allwinner: a64: Add SPDIF to the A64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
2018-01-29  9:19   ` [linux-sunxi][PATCH v2 3/5] arm64: allwinner: a64: Add SPDIF to the Pine64 codekipper-Re5JQEeQqe8AvxtiuMwx3w
2018-01-29  9:19   ` [linux-sunxi][PATCH v2 4/5] arm64: allwinner: a64: Add DAI nodes codekipper-Re5JQEeQqe8AvxtiuMwx3w
2018-01-29  9:19   ` [linux-sunxi][PATCH v2 5/5] arm64: allwinner: a64: Add DAI node for HDMI codekipper-Re5JQEeQqe8AvxtiuMwx3w
2018-01-29 10:09   ` [linux-sunxi][PATCH v2 0/5] Add tested digital audio blocks to A64 Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).