From 76c374731322248f9e48241e0debdfed6d794a44 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 15:19:04 +0200 Subject: [PATCH 37/79] ARM64: dts: meson-gx: add audio controller nodes Add audio controller nodes for Amlogic meson gxbb and gxl. This includes the audio-core node, the i2s and spdif DAIs, i2s and spdif aiu DMAs. Audio on this SoC family is still a work in progress. More nodes are likely to be added later on (pcm DAIs, input DMAs, etc ...) Signed-off-by: Jerome Brunet Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 35 ++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 38 +++++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 37 ++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi index 8901eeb..2251881 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -224,6 +224,41 @@ #reset-cells = <1>; }; + audio: audio@5400 { + compatible = "amlogic,meson-audio-core"; + reg = <0x0 0x5400 0x0 0x2ac>, + <0x0 0xa000 0x0 0x304>; + reg-names = "aiu", "audin"; + status = "disabled"; + + aiu_i2s_dma: aiu_i2s_dma { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-aiu-i2s-dma"; + interrupts = ; + status = "disabled"; + }; + + aiu_spdif_dma: aiu_spdif_dma { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-aiu-spdif-dma"; + interrupts = ; + status = "disabled"; + }; + + i2s_dai: i2s_dai { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-i2s-dai"; + status = "disabled"; + }; + + spdif_dai: spdif_dai { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-spdif-dai"; + status = "disabled"; + }; + + }; + uart_A: serial@84c0 { compatible = "amlogic,meson-uart"; reg = <0x0 0x84c0 0x0 0x14>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi index 1d4c861..92d2b91 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -602,6 +602,27 @@ }; }; +&audio { + clocks = <&clkc CLKID_AIU>, + <&clkc CLKID_AIU_GLUE>, + <&clkc CLKID_I2S_SPDIF>; + clock-names = "aiu_top", "aiu_glue", "audin"; + resets = <&reset RESET_AIU>, + <&reset RESET_AUDIN>; + reset-names = "aiu", "audin"; +}; + +&aiu_i2s_dma { + clocks = <&clkc CLKID_I2S_OUT>; + clock-names = "fast"; +}; + +&aiu_spdif_dma { + clocks = <&clkc CLKID_IEC958>; + clock-names = "fast"; + +}; + &i2c_A { clocks = <&clkc CLKID_I2C>; }; @@ -618,6 +639,14 @@ clocks = <&clkc CLKID_I2C>; }; +&i2s_dai { + clocks = <&clkc CLKID_I2S_OUT>, + <&clkc CLKID_MIXER_IFACE>, + <&clkc CLKID_AOCLK_GATE>, + <&clkc CLKID_CTS_AMCLK>; + clock-names = "fast", "iface", "bclks", "mclk"; +}; + &saradc { compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, @@ -649,6 +678,15 @@ clock-names = "core", "clkin0", "clkin1"; }; +&spdif_dai { + clocks = <&clkc CLKID_IEC958>, + <&clkc CLKID_IEC958_GATE>, + <&clkc CLKID_CTS_MCLK_I958>, + <&clkc CLKID_CTS_AMCLK>, + <&clkc CLKID_CTS_I958>; + clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk"; +}; + &spifc { clocks = <&clkc CLKID_SPI>; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi index 6584e46..de0a26b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -208,6 +208,26 @@ }; }; +&audio { + clocks = <&clkc CLKID_AIU>, + <&clkc CLKID_AIU_GLUE>, + <&clkc CLKID_I2S_SPDIF>; + clock-names = "aiu_top", "aiu_glue", "audin"; + resets = <&reset RESET_AIU>, + <&reset RESET_AUDIN>; + reset-names = "aiu", "audin"; +}; + +&aiu_i2s_dma { + clocks = <&clkc CLKID_I2S_OUT>; + clock-names = "fast"; +}; + +&aiu_spdif_dma { + clocks = <&clkc CLKID_IEC958>; + clock-names = "fast"; +}; + &periphs { pinctrl_periphs: pinctrl@4b0 { compatible = "amlogic,meson-gxl-periphs-pinctrl"; @@ -570,6 +590,14 @@ clocks = <&clkc CLKID_I2C>; }; +&i2s_dai { + clocks = <&clkc CLKID_I2S_OUT>, + <&clkc CLKID_MIXER_IFACE>, + <&clkc CLKID_AOCLK_GATE>, + <&clkc CLKID_CTS_AMCLK>; + clock-names = "fast", "iface", "bclks", "mclk"; +}; + &saradc { compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, @@ -601,6 +629,15 @@ clock-names = "core", "clkin0", "clkin1"; }; +&spdif_dai { + clocks = <&clkc CLKID_IEC958>, + <&clkc CLKID_IEC958_GATE>, + <&clkc CLKID_CTS_MCLK_I958>, + <&clkc CLKID_CTS_AMCLK>, + <&clkc CLKID_CTS_I958>; + clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk"; +}; + &spifc { clocks = <&clkc CLKID_SPI>; }; -- 1.9.1