arm64: dts: meson: add audio playback to rbox-pro
authorChristian Hewitt <christianshewitt@gmail.com>
Tue, 14 Sep 2021 15:16:31 +0000 (15:16 +0000)
committerNeil Armstrong <narmstrong@baylibre.com>
Fri, 17 Sep 2021 07:31:50 +0000 (09:31 +0200)
Add initial support limited to HDMI i2s and SPDIF (LPCM).

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20210914151631.2841-1-christianshewitt@gmail.com
arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts

index dde7cfe..50137aa 100644 (file)
@@ -14,6 +14,7 @@
 /dts-v1/;
 
 #include "meson-gxm.dtsi"
+#include <dt-bindings/sound/meson-aiu.h>
 
 / {
        compatible = "kingnovel,r-box-pro", "amlogic,s912", "amlogic,meson-gxm";
                reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 3 GiB */
        };
 
+       spdif_dit: audio-codec-0 {
+               #sound-dai-cells = <0>;
+               compatible = "linux,spdif-dit";
+               status = "okay";
+               sound-name-prefix = "DIT";
+       };
+
        leds {
                compatible = "gpio-leds";
 
                clocks = <&wifi32k>;
                clock-names = "ext_clock";
        };
+
+       sound {
+               compatible = "amlogic,gx-sound-card";
+               model = "RBOX-PRO";
+               assigned-clocks = <&clkc CLKID_MPLL0>,
+                                 <&clkc CLKID_MPLL1>,
+                                 <&clkc CLKID_MPLL2>;
+               assigned-clock-parents = <0>, <0>, <0>;
+               assigned-clock-rates = <294912000>,
+                                      <270950400>,
+                                      <393216000>;
+               status = "okay";
+
+               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_h_pins>;
+       pinctrl-names = "default";
 };
 
 &ethmac {