From b0afd0cd4e272d10974ba819268400fdd53ae988 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 15:19:04 +0200 Subject: [PATCH 06/16] 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 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 --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 23 +++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 28 +++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 28 +++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi index 86e26ed551e0..f2caa324d5aa 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -225,6 +225,29 @@ #reset-cells = <1>; }; + audio: audio@5400 { + compatible = "amlogic,meson-gx-audio-core"; + reg = <0x0 0x5400 0x0 0x2ac>, + <0x0 0xa000 0x0 0x304>; + reg-names = "aiu", "audin"; + status = "disabled"; + + aiu_i2s: audio-controller-0 { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-aiu-i2s"; + interrupts = ; + status = "disabled"; + }; + + aiu_spdif: audio-controller-1 { + #sound-dai-cells = <0>; + compatible = "amlogic,meson-aiu-spdif"; + interrupts = ; + status = "disabled"; + }; + + }; + uart_A: serial@84c0 { compatible = "amlogic,meson-gx-uart"; reg = <0x0 0x84c0 0x0 0x18>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi index 0cb40326b0d3..89391f26e2ca 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -724,6 +724,24 @@ }; }; +&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 { + clocks = <&clkc CLKID_I2S_OUT>, + <&clkc CLKID_MIXER_IFACE>, + <&clkc CLKID_AOCLK_GATE>, + <&clkc CLKID_CTS_AMCLK>; + clock-names = "fast", "iface", "bclks", "mclk"; +}; + &pwrc_vpu { resets = <&reset RESET_VIU>, <&reset RESET_VENC>, @@ -812,6 +830,15 @@ num-cs = <1>; }; +&aiu_spdif { + 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>; }; @@ -856,3 +883,4 @@ resets = <&reset RESET_PARSER>; reset-names = "esparser"; }; + diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi index a09c53aaa0e8..28b1afc24514 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -727,6 +727,24 @@ }; }; +&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 { + clocks = <&clkc CLKID_I2S_OUT>, + <&clkc CLKID_MIXER_IFACE>, + <&clkc CLKID_AOCLK_GATE>, + <&clkc CLKID_CTS_AMCLK>; + clock-names = "fast", "iface", "bclks", "mclk"; +}; + &pwrc_vpu { resets = <&reset RESET_VIU>, <&reset RESET_VENC>, @@ -815,6 +833,15 @@ num-cs = <1>; }; +&aiu_spdif { + 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>; }; @@ -859,3 +886,4 @@ resets = <&reset RESET_PARSER>; reset-names = "esparser"; }; + -- 2.20.1