arm64: dts: meson-gx: add aiu support
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 21 Apr 2020 16:39:31 +0000 (18:39 +0200)
committerKevin Hilman <khilman@baylibre.com>
Tue, 19 May 2020 23:31:51 +0000 (16:31 -0700)
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@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-3-jbrunet@baylibre.com
arch/arm64/boot/dts/amlogic/meson-gx.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi

index e2bb68e..ba63c36 100644 (file)
                                #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>;
                        interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       #sound-dai-cells = <0>;
+                       sound-name-prefix = "HDMITX";
                        status = "disabled";
 
                        /* VPU VENC Input */
index 0cb4032..234490d 100644 (file)
        };
 };
 
+&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";
index 95b301a..44c0371 100644 (file)
        };
 };
 
+&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";