diff --git a/patch/kernel/sunxi-dev/0120-arm64-dts-allwinner-a64-add-nodes-necessary-for-anal.patch-DISABLED b/patch/kernel/sunxi-dev/0120-arm64-dts-allwinner-a64-add-nodes-necessary-for-anal.patch-DISABLED new file mode 100644 index 000000000..f782a073c --- /dev/null +++ b/patch/kernel/sunxi-dev/0120-arm64-dts-allwinner-a64-add-nodes-necessary-for-anal.patch-DISABLED @@ -0,0 +1,99 @@ +From 8cbc3090d64e850f1dc5a93e929deaed10d841f8 Mon Sep 17 00:00:00 2001 +From: Vasily Khoruzhick +Date: Sun, 3 Dec 2017 11:35:48 -0800 +Subject: [PATCH 120/146] arm64: dts: allwinner: a64: add nodes necessary for + analog sound support + +Add nodes for i2s, digital and analog parts of audiocodec on A64 + +Signed-off-by: Vasily Khoruzhick +--- + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 58 +++++++++++++++++++ + 1 file changed, 58 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +index 132da408aa52..cb7d4a96e789 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +@@ -200,6 +200,34 @@ + method = "smc"; + }; + ++ sound: sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "sun50i-a64-audio"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,frame-master = <&cpudai>; ++ simple-audio-card,bitclock-master = <&cpudai>; ++ simple-audio-card,mclk-fs = <512>; ++ simple-audio-card,aux-devs = <&codec_analog>; ++ simple-audio-card,routing = ++ "Left DAC", "AIF1 Slot 0 Left", ++ "Right DAC", "AIF1 Slot 0 Right", ++ "AIF1 Slot 0 Left ADC", "Left ADC", ++ "AIF1 Slot 0 Right ADC", "Right ADC", ++ "Left ADC", "ADC", ++ "Right ADC", "ADC", ++ "MIC1", "Mic", ++ "MIC2", "Headset Mic"; ++ status = "disabled"; ++ ++ cpudai: simple-audio-card,cpu { ++ sound-dai = <&dai>; ++ }; ++ ++ link_codec: simple-audio-card,codec { ++ sound-dai = <&codec>; ++ }; ++ }; ++ + sound_spdif { + compatible = "simple-audio-card"; + simple-audio-card,name = "On-board SPDIF"; +@@ -767,6 +795,30 @@ + status = "disabled"; + }; + ++ dai: dai@1c22c00 { ++ #sound-dai-cells = <0>; ++ compatible = "allwinner,sun50i-a64-codec-i2s"; ++ reg = <0x01c22c00 0x200>; ++ interrupts = ; ++ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; ++ clock-names = "apb", "mod"; ++ resets = <&ccu RST_BUS_CODEC>; ++ reset-names = "rst"; ++ dmas = <&dma 15>, <&dma 15>; ++ dma-names = "rx", "tx"; ++ status = "disabled"; ++ }; ++ ++ codec: codec@1c22e00 { ++ #sound-dai-cells = <0>; ++ compatible = "allwinner,sun8i-a33-codec"; ++ reg = <0x01c22e00 0x600>; ++ interrupts = ; ++ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; ++ clock-names = "bus", "mod"; ++ status = "disabled"; ++ }; ++ + ths: thermal-sensor@1c25000 { + compatible = "allwinner,sun50i-a64-ths"; + reg = <0x01c25000 0x100>; +@@ -1071,6 +1123,12 @@ + #reset-cells = <1>; + }; + ++ codec_analog: codec-analog@1f015c0 { ++ compatible = "allwinner,sun50i-a64-codec-analog"; ++ reg = <0x01f015c0 0x4>; ++ status = "disabled"; ++ }; ++ + r_i2c: i2c@1f02400 { + compatible = "allwinner,sun50i-a64-i2c", + "allwinner,sun6i-a31-i2c"; +-- +2.17.1 +