86 lines
2.5 KiB
Diff
86 lines
2.5 KiB
Diff
From 4dae14aca9fc26de3e31b22c630f17a999b07edd Mon Sep 17 00:00:00 2001
|
|
From: Marcus Cooper <codekipper@gmail.com>
|
|
Date: Sun, 27 Sep 2020 21:29:04 +0200
|
|
Subject: [PATCH 267/323] arm64: dts: allwinner: a64: Add DAI node and
|
|
soundcard for HDMI
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Add the new DAI block for I2S2 which is used for HDMI audio
|
|
and a simple-soundcard to link audio between HDMI and I2S.
|
|
|
|
Note that the HDMI codec requires an inverted frame clock and
|
|
a fixed I2S width. As there is no such option for I2S we use
|
|
TDM property of the simple-soundcard to do that.
|
|
|
|
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
Signed-off-by: Marcus Cooper <codekipper@gmail.com>
|
|
Signed-off-by: Clément Péron <peron.clem@gmail.com>
|
|
---
|
|
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 34 +++++++++++++++++++
|
|
1 file changed, 34 insertions(+)
|
|
|
|
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
|
index 481cb2747..cabd6510e 100644
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
|
@@ -102,6 +102,25 @@ de: display-engine {
|
|
status = "disabled";
|
|
};
|
|
|
|
+ hdmi_sound: hdmi-sound {
|
|
+ compatible = "simple-audio-card";
|
|
+ simple-audio-card,format = "i2s";
|
|
+ simple-audio-card,name = "sun50i-a64-hdmi";
|
|
+ simple-audio-card,mclk-fs = <128>;
|
|
+ simple-audio-card,frame-inversion;
|
|
+ status = "disabled";
|
|
+
|
|
+ simple-audio-card,codec {
|
|
+ sound-dai = <&hdmi>;
|
|
+ };
|
|
+
|
|
+ simple-audio-card,cpu {
|
|
+ sound-dai = <&i2s2>;
|
|
+ dai-tdm-slot-num = <2>;
|
|
+ dai-tdm-slot-width = <32>;
|
|
+ };
|
|
+ };
|
|
+
|
|
osc24M: osc24M_clk {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
@@ -871,6 +890,20 @@ i2s1: i2s@1c22400 {
|
|
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 = "rx", "tx";
|
|
+ dmas = <&dma 27>, <&dma 27>;
|
|
+ status = "disabled";
|
|
+ };
|
|
+
|
|
dai: dai@1c22c00 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "allwinner,sun50i-a64-codec-i2s";
|
|
@@ -1175,6 +1208,7 @@ deinterlace: deinterlace@1e00000 {
|
|
};
|
|
|
|
hdmi: hdmi@1ee0000 {
|
|
+ #sound-dai-cells = <0>;
|
|
compatible = "allwinner,sun50i-a64-dw-hdmi",
|
|
"allwinner,sun8i-a83t-dw-hdmi";
|
|
reg = <0x01ee0000 0x10000>;
|
|
--
|
|
2.34.0
|
|
|