arm64: dts: meson: add audio playback to p200
authorChristian Hewitt <christianshewitt@gmail.com>
Tue, 15 Aug 2023 09:27:49 +0000 (09:27 +0000)
committerNeil Armstrong <neil.armstrong@linaro.org>
Mon, 11 Sep 2023 09:42:52 +0000 (11:42 +0200)
Add initial support limited to HDMI i2s and SPDIF (LPCM).

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20230815092751.1791195-2-christianshewitt@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts

index 3c93d1898b4099bad289fa94bb8adb5284101e4a..292c718ee19c5803b01f940db6b5b951362a516a 100644 (file)
@@ -9,11 +9,19 @@
 
 #include "meson-gxbb-p20x.dtsi"
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/sound/meson-aiu.h>
 
 / {
        compatible = "amlogic,p200", "amlogic,meson-gxbb";
        model = "Amlogic Meson GXBB P200 Development Board";
 
+       spdif_dit: audio-codec-0 {
+               #sound-dai-cells = <0>;
+               compatible = "linux,spdif-dit";
+               status = "okay";
+               sound-name-prefix = "DIT";
+       };
+
        avdd18_usb_adc: regulator-avdd18_usb_adc {
                compatible = "regulator-fixed";
                regulator-name = "AVDD18_USB_ADC";
                        press-threshold-microvolt = <0>; /* 0% */
                };
        };
+
+       sound {
+               compatible = "amlogic,gx-sound-card";
+               model = "P200";
+               assigned-clocks = <&clkc CLKID_MPLL0>,
+                                 <&clkc CLKID_MPLL1>,
+                                 <&clkc CLKID_MPLL2>;
+               assigned-clock-parents = <0>, <0>, <0>;
+               assigned-clock-rates = <294912000>,
+                                      <270950400>,
+                                      <393216000>;
+
+               dai-link-0 {
+                       sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
+               };
+
+               dai-link-1 {
+                       sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
+               };
+
+               dai-link-2 {
+                       sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
+                       dai-format = "i2s";
+                       mclk-fs = <256>;
+
+                       codec-0 {
+                               sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
+                       };
+               };
+
+               dai-link-3 {
+                       sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
+
+                       codec-0 {
+                               sound-dai = <&spdif_dit>;
+                       };
+               };
+
+               dai-link-4 {
+                       sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
+
+                       codec-0 {
+                               sound-dai = <&hdmi_tx>;
+                       };
+               };
+       };
+};
+
+&aiu {
+       status = "okay";
+       pinctrl-0 = <&spdif_out_y_pins>;
+       pinctrl-names = "default";
 };
 
 &ethmac {