arm64: dts: rockchip: Add rk3588-rock-5b analog audio
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Sun, 2 Apr 2023 09:50:54 +0000 (12:50 +0300)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 5 Apr 2023 17:31:15 +0000 (19:31 +0200)
Add the necessary DT nodes for the Rock 5B board to enable the analog
audio support provided by the Everest Semi ES8316 codec.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Christopher Obbard <chris.obbard@collabora.com>
Link: https://lore.kernel.org/r/20230402095054.384739-6-cristian.ciocaltea@collabora.com
[adapted to the fan addition I applied slightly earlier]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts

index 24fb534..88b9f7d 100644 (file)
@@ -2,6 +2,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/gpio/gpio.h>
 #include "rk3588.dtsi"
 
 / {
                #cooling-cells = <2>;
        };
 
+       sound {
+               compatible = "audio-graph-card";
+               label = "Analog";
+
+               widgets = "Microphone", "Mic Jack",
+                         "Headphone", "Headphones";
+
+               routing = "MIC2", "Mic Jack",
+                         "Headphones", "HPOL",
+                         "Headphones", "HPOR";
+
+               dais = <&i2s0_8ch_p0>;
+               hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&hp_detect>;
+       };
+
        vcc5v0_sys: vcc5v0-sys-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vcc5v0_sys";
        };
 };
 
+&i2c7 {
+       status = "okay";
+
+       es8316: es8316@11 {
+               compatible = "everest,es8316";
+               reg = <0x11>;
+               clocks = <&cru I2S0_8CH_MCLKOUT>;
+               clock-names = "mclk";
+               #sound-dai-cells = <0>;
+
+               port {
+                       es8316_p0_0: endpoint {
+                               remote-endpoint = <&i2s0_8ch_p0_0>;
+                       };
+               };
+       };
+};
+
+&i2s0_8ch {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2s0_lrck
+                    &i2s0_mclk
+                    &i2s0_sclk
+                    &i2s0_sdi0
+                    &i2s0_sdo0>;
+       status = "okay";
+
+       i2s0_8ch_p0: port {
+               i2s0_8ch_p0_0: endpoint {
+                       dai-format = "i2s";
+                       mclk-fs = <256>;
+                       remote-endpoint = <&es8316_p0_0>;
+               };
+       };
+};
+
 &pinctrl {
        hym8563 {
                hym8563_int: hym8563-int {
                        rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       sound {
+               hp_detect: hp-detect {
+                       rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &pwm1 {