On Wed 22 Apr 2020 at 15:12, Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote: > 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. Not sure it should be explicitly added. It should be valid for any device providing a sound-dai (sound-dai-cell) > > AFAIK sound-name-prefix is not present on g12-common, is it missing ? It might not be strictly required, as long as there is no name colision in the ASoC widget and Control, it is OK. IMHO, it is a good practice to set one to avoid those colision. > > 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"; >>