OSDN Git Service

arm64: dts: rockchip: enable rk809 audio codec on the rk3568 evb1-v10
authorMichael Riesch <michael.riesch@wolfvision.net>
Tue, 22 Feb 2022 17:50:04 +0000 (18:50 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 23 Feb 2022 23:07:55 +0000 (00:07 +0100)
Enable the Rockchip RK809 audio codec on the Rockchip RK3568
EVB1-V10. This requires the VCCIO_ACODEC voltage regulator to be set
to always on.

Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
Link: https://lore.kernel.org/r/20220222175004.1308990-2-michael.riesch@wolfvision.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts

index 66866f9..a794a0e 100644 (file)
                };
        };
 
+       rk809-sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,name = "Analog RK809";
+               simple-audio-card,mclk-fs = <256>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s1_8ch>;
+               };
+               simple-audio-card,codec {
+                       sound-dai = <&rk809>;
+               };
+       };
+
        vcc3v3_sys: vcc3v3-sys {
                compatible = "regulator-fixed";
                regulator-name = "vcc3v3_sys";
                reg = <0x20>;
                interrupt-parent = <&gpio0>;
                interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
+               assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
+               assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
                #clock-cells = <1>;
+               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;
+               #sound-dai-cells = <0>;
                vcc1-supply = <&vcc3v3_sys>;
                vcc2-supply = <&vcc3v3_sys>;
                vcc3-supply = <&vcc3v3_sys>;
 
                        vccio_acodec: LDO_REG4 {
                                regulator-name = "vccio_acodec";
+                               regulator-always-on;
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
 
                                };
                        };
                };
+
+               codec {
+                       mic-in-differential;
+               };
        };
 };
 
        };
 };
 
+&i2s1_8ch {
+       rockchip,trcm-sync-tx-only;
+       status = "okay";
+};
+
 &mdio0 {
        rgmii_phy0: ethernet-phy@0 {
                compatible = "ethernet-phy-ieee802.3-c22";