On 21/04/2020 18:39, Jerome Brunet wrote: > Add the AIU audio device to the Amlogic GX SoC family DT. > ATM, this device provides the i2s and spdif output stages and also > the hdmi and internal codec glues. > > Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx> > --- > arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 13 ++++++++++++ > arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 23 +++++++++++++++++++++ > arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 23 +++++++++++++++++++++ > 3 files changed, 59 insertions(+) > > diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > index 03f79fe045b7..a8dc8f810253 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > @@ -278,6 +278,17 @@ reset: reset-controller@4404 { > #reset-cells = <1>; > }; > > + aiu: audio-controller@5400 { > + compatible = "amlogic,aiu"; > + #sound-dai-cells = <2>; > + sound-name-prefix = "AIU"; > + reg = <0x0 0x5400 0x0 0x2ac>; > + interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; > + interrupt-names = "i2s", "spdif"; > + status = "disabled"; > + }; > + > uart_A: serial@84c0 { > compatible = "amlogic,meson-gx-uart"; > reg = <0x0 0x84c0 0x0 0x18>; > @@ -626,6 +637,8 @@ hdmi_tx: hdmi-tx@c883a000 { > interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; > #address-cells = <1>; > #size-cells = <0>; > + #sound-dai-cells = <0>; > + sound-name-prefix = "HDMITX"; sound-name-prefix is not a valid property in Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml It should be added. AFAIK sound-name-prefix is not present on g12-common, is it missing ? Neil > status = "disabled"; > > /* VPU VENC Input */ > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi > index 0cb40326b0d3..234490d3ee68 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi > @@ -60,6 +60,29 @@ usb1: usb@c9100000 { > }; > }; > > +&aiu { > + compatible = "amlogic,aiu-gxbb", "amlogic,aiu"; > + clocks = <&clkc CLKID_AIU_GLUE>, > + <&clkc CLKID_I2S_OUT>, > + <&clkc CLKID_AOCLK_GATE>, > + <&clkc CLKID_CTS_AMCLK>, > + <&clkc CLKID_MIXER_IFACE>, > + <&clkc CLKID_IEC958>, > + <&clkc CLKID_IEC958_GATE>, > + <&clkc CLKID_CTS_MCLK_I958>, > + <&clkc CLKID_CTS_I958>; > + clock-names = "pclk", > + "i2s_pclk", > + "i2s_aoclk", > + "i2s_mclk", > + "i2s_mixer", > + "spdif_pclk", > + "spdif_aoclk", > + "spdif_mclk", > + "spdif_mclk_sel"; > + resets = <&reset RESET_AIU>; > +}; > + > &aobus { > pinctrl_aobus: pinctrl@14 { > compatible = "amlogic,meson-gxbb-aobus-pinctrl"; > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi > index 259d86399390..d9f00c5a9a5c 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi > @@ -49,6 +49,29 @@ crypto: crypto@c883e000 { > }; > }; > > +&aiu { > + compatible = "amlogic,aiu-gxl", "amlogic,aiu"; > + clocks = <&clkc CLKID_AIU_GLUE>, > + <&clkc CLKID_I2S_OUT>, > + <&clkc CLKID_AOCLK_GATE>, > + <&clkc CLKID_CTS_AMCLK>, > + <&clkc CLKID_MIXER_IFACE>, > + <&clkc CLKID_IEC958>, > + <&clkc CLKID_IEC958_GATE>, > + <&clkc CLKID_CTS_MCLK_I958>, > + <&clkc CLKID_CTS_I958>; > + clock-names = "pclk", > + "i2s_pclk", > + "i2s_aoclk", > + "i2s_mclk", > + "i2s_mixer", > + "spdif_pclk", > + "spdif_aoclk", > + "spdif_mclk", > + "spdif_mclk_sel"; > + resets = <&reset RESET_AIU>; > +}; > + > &apb { > usb2_phy0: phy@78000 { > compatible = "amlogic,meson-gxl-usb2-phy"; >