arm64: dts: rockchip: add audio nodes to rk3566-roc-pc
authorFurkan Kardame <f.kardame@manjaro.org>
Mon, 9 Jan 2023 20:32:33 +0000 (23:32 +0300)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 10 Jan 2023 22:13:58 +0000 (23:13 +0100)
This patch adds simple audio card nodes
Enabled i2s0_8ch as it is needed for hdmi audio

Added i2s1_8ch as it is needed for 3.5mm audio jack and limit it to a
single-channel, as i2s1m0_sdo{1,2,3} and i2s1m0_sdi{1,2,3} are used
by pcie.

Signed-off-by: Furkan Kardame <f.kardame@manjaro.org>
Link: https://lore.kernel.org/r/20230109203232.45192-1-f.kardame@manjaro.org
[dropped the duplicate i2s@fe410000 node]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts

index 61c7a3ad73870712bf0224fa524a1a96d2fdac19..42889c5900bd5b740937a151e7d0772632de96f9 100644 (file)
                };
        };
 
+       rk809-sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,name = "STATION-M2-FRONT";
+               simple-audio-card,mclk-fs = <256>;
+               status = "okay";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s1_8ch>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&rk809>;
+               };
+       };
+
        sdio_pwrseq: sdio-pwrseq {
                status = "okay";
                compatible = "mmc-pwrseq-simple";
        };
 };
 
+&hdmi_sound {
+       status = "okay";
+};
+
 &i2c0 {
        status = "okay";
 
                interrupt-parent = <&gpio0>;
                interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
                clock-output-names = "rk808-clkout1", "rk808-clkout2";
-
+               assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
+               assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
+               clock-names = "mclk";
+               clocks = <&cru I2S1_MCLKOUT_TX>;
                pinctrl-names = "default";
-               pinctrl-0 = <&pmic_int>;
+               pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
                rockchip,system-power-controller;
                wakeup-source;
                #clock-cells = <1>;
+               #sound-dai-cells = <0>;
 
                vcc1-supply = <&vcc3v3_sys>;
                vcc2-supply = <&vcc3v3_sys>;
                vcc8-supply = <&vcc3v3_sys>;
                vcc9-supply = <&vcc3v3_sys>;
 
+               codec {
+                       mic-in-differential;
+               };
+
                regulators {
                        vdd_log: DCDC_REG1 {
                                regulator-name = "vdd_log";
        status = "okay";
 };
 
+&i2s0_8ch {
+       status = "okay";
+};
+
+&i2s1_8ch {
+       pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
+                       &i2s1m0_lrcktx &i2s1m0_lrckrx
+                       &i2s1m0_sdi0   &i2s1m0_sdo0>;
+       rockchip,trcm-sync-tx-only;
+       status = "okay";
+};
+
 &mdio1 {
        rgmii_phy1: ethernet-phy@0 {
                compatible = "ethernet-phy-ieee802.3-c22";