From ea6ea2ba875d65d7e23f6394ec218dcdcd1fa071 Mon Sep 17 00:00:00 2001 From: Shunhua Lan Date: Tue, 2 Nov 2021 17:07:16 +0800 Subject: [PATCH] arm64: dts: rockchip: adjust sound cards for rk3588-evbx and rk3588s-evbx Signed-off-by: Shunhua Lan Change-Id: Ibd874890ae7124b3337ce9817710c657bd1bc6ed --- arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi | 25 +------- .../boot/dts/rockchip/rk3588-evb1-lp4.dtsi | 30 ++++++++- .../boot/dts/rockchip/rk3588-evb2-lp4.dtsi | 59 ++++++++++++++++- .../boot/dts/rockchip/rk3588-evb3-lp5.dtsi | 59 ++++++++++++++++- .../boot/dts/rockchip/rk3588-evb4-lp4.dtsi | 15 ----- .../boot/dts/rockchip/rk3588-evb5-lp4.dtsi | 15 ----- .../boot/dts/rockchip/rk3588-evb6-lp4.dtsi | 32 +++++++++- arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi | 25 +------- .../boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi | 61 ++++++++++++++++-- .../boot/dts/rockchip/rk3588s-evb2-lp5.dtsi | 63 +++++++++++++++++-- .../boot/dts/rockchip/rk3588s-evb3-lp4x.dtsi | 15 ----- .../boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi | 63 +++++++++++++++++-- 12 files changed, 343 insertions(+), 119 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi index 4041908282ec..032873d36670 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi @@ -56,30 +56,6 @@ status = "okay"; }; - rk_headset { - status = "disabled"; - compatible = "rockchip_headset"; - headset_gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&hp_det>; - io-channels = <&saradc 3>; - }; - - es8388_sound: es8388-sound { - status = "okay"; - simple-audio-card,format = "i2s"; - simple-audio-card,name = "rockchip,es8388-codec"; - simple-audio-card,dai-link@0 { - format = "i2s"; - cpu { - sound-dai = <&i2s0_8ch>; - }; - codec { - sound-dai = <&es8388>; - }; - }; - }; - vcc12v_dcin: vcc12v-dcin { compatible = "regulator-fixed"; regulator-name = "vcc12v_dcin"; @@ -122,6 +98,7 @@ &i2s0_8ch { status = "okay"; + rockchip,clk-trcm = <1>; pinctrl-0 = <&i2s0_lrck_tx &i2s0_sclk_tx &i2s0_sdi0 diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi index 80f54c2a4139..4c54851d75f9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi @@ -10,6 +10,30 @@ #include "rk806-double.dtsi" / { + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "disabled"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vbus5v0_typec: vbus-typec-regulator { compatible = "regulator-fixed"; regulator-name = "vbus5v0_typec"; @@ -103,11 +127,11 @@ &i2c7 { status = "okay"; - es8388: es8388@10 { + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi index 68cf14c5e66a..ca9f7f265065 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb2-lp4.dtsi @@ -9,6 +9,47 @@ #include "rk806-double.dtsi" / { + es7202_sound_micarray: es7202-sound-micarray { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,sound-micarray"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,dai-link@0 { + format = "pdm"; + cpu { + sound-dai = <&pdm0>; + }; + codec { + sound-dai = <&es7202>; + }; + }; + }; + + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "disabled"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vcc5v0_host: vcc5v0-host-regulator { compatible = "regulator-fixed"; regulator-name = "vcc5v0_host"; @@ -38,17 +79,29 @@ &i2c7 { status = "okay"; - es8388: es8388@10 { + + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; }; + + es7202: es7202@32 { + status = "okay"; + #sound-dai-cells = <0>; + compatible = "ES7202_PDM_ADC_1"; + reg = <0x32>; + }; +}; + +&pdm0 { + status = "okay"; }; &pinctrl { diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5.dtsi index 922e72dc2b1c..ba37e313f7df 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5.dtsi @@ -10,6 +10,47 @@ #include "rk806-double.dtsi" / { + es7202_sound_micarray: es7202-sound-micarray { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,sound-micarray"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,dai-link@0 { + format = "pdm"; + cpu { + sound-dai = <&pdm0>; + }; + codec { + sound-dai = <&es7202>; + }; + }; + }; + + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "disabled"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vbus5v0_typec: vbus-typec-regulator { compatible = "regulator-fixed"; regulator-name = "vbus5v0_typec"; @@ -106,17 +147,29 @@ &i2c7 { status = "okay"; - es8388: es8388@10 { + + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; }; + + es7202: es7202@32 { + status = "okay"; + #sound-dai-cells = <0>; + compatible = "ES7202_PDM_ADC_1"; + reg = <0x32>; + }; +}; + +&pdm0 { + status = "okay"; }; &pinctrl { diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb4-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb4-lp4.dtsi index 604a943e7f07..58c9dbe23715 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb4-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb4-lp4.dtsi @@ -49,21 +49,6 @@ }; }; -&i2c7 { - status = "okay"; - es8388: es8388@10 { - status = "okay"; - #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; - clocks = <&cru I2S0_8CH_MCLKOUT>; - clock-names = "mclk"; - pinctrl-names = "default"; - pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; - }; -}; - &i2c8 { status = "okay"; pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb5-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb5-lp4.dtsi index c16bb89982b0..cd7d99d04400 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb5-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb5-lp4.dtsi @@ -20,21 +20,6 @@ }; }; -&i2c7 { - status = "okay"; - es8388: es8388@10 { - status = "okay"; - #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; - clocks = <&cru I2S0_8CH_MCLKOUT>; - clock-names = "mclk"; - pinctrl-names = "default"; - pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; - }; -}; - &pinctrl { touch { touch_gpio: touch-gpio { diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb6-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb6-lp4.dtsi index 27aa5a0597c8..95f3bb0892f6 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb6-lp4.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb6-lp4.dtsi @@ -8,6 +8,32 @@ #include "rk3588-evb.dtsi" #include "rk806-double.dtsi" +/ { + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "disabled"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; +}; + &i2c6 { status = "okay"; gt1x: gt1x@14 { @@ -22,11 +48,11 @@ &i2c7 { status = "okay"; - es8388: es8388@10 { + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi index a4ab3e2b5071..35be195b858d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb.dtsi @@ -56,30 +56,6 @@ status = "okay"; }; - rk_headset { - status = "disabled"; - compatible = "rockchip_headset"; - headset_gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&hp_det>; - io-channels = <&saradc 3>; - }; - - es8388_sound: es8388-sound { - status = "okay"; - simple-audio-card,format = "i2s"; - simple-audio-card,name = "rockchip,es8388-codec"; - simple-audio-card,dai-link@0 { - format = "i2s"; - cpu { - sound-dai = <&i2s0_8ch>; - }; - codec { - sound-dai = <&es8388>; - }; - }; - }; - vcc12v_dcin: vcc12v-dcin { compatible = "regulator-fixed"; regulator-name = "vcc12v_dcin"; @@ -122,6 +98,7 @@ &i2s0_8ch { status = "okay"; + rockchip,clk-trcm = <1>; pinctrl-0 = <&i2s0_lrck_tx &i2s0_sclk_tx &i2s0_sdi0 diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi index bbe5c6d34b81..1acba2e9f543 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi @@ -10,6 +10,47 @@ #include "rk806-double.dtsi" / { + es7202_sound_micarray: es7202-sound-micarray { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,sound-micarray"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,dai-link@0 { + format = "pdm"; + cpu { + sound-dai = <&pdm0>; + }; + codec { + sound-dai = <&es7202>; + }; + }; + }; + + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "okay"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vbus5v0_typec: vbus-typec-regulator { compatible = "regulator-fixed"; regulator-name = "vbus5v0_typec"; @@ -39,16 +80,24 @@ &i2c3 { status = "okay"; - es8388: es8388@10 { + + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; + spk-con-gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + }; + + es7202: es7202@32 { + status = "okay"; + #sound-dai-cells = <0>; + compatible = "ES7202_PDM_ADC_1"; + reg = <0x32>; }; }; @@ -159,6 +208,10 @@ }; }; +&pdm0 { + status = "okay"; +}; + &pinctrl { mpu6500 { mpu6500_irq_gpio: mpu6500-irq-gpio { diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi index 5c392fa561e3..f5f51e8f3497 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb2-lp5.dtsi @@ -9,6 +9,47 @@ #include "rk806-double.dtsi" / { + es7202_sound_micarray: es7202-sound-micarray { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,sound-micarray"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,dai-link@0 { + format = "pdm"; + cpu { + sound-dai = <&pdm0>; + }; + codec { + sound-dai = <&es7202>; + }; + }; + }; + + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "okay"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vbus5v0_typec: vbus-typec-regulator { compatible = "regulator-fixed"; regulator-name = "vbus5v0_typec"; @@ -65,18 +106,26 @@ }; }; -&i2c7 { +&i2c3 { status = "okay"; - es8388: es8388@10 { + + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; + spk-con-gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + }; + + es7202: es7202@32 { + status = "okay"; + #sound-dai-cells = <0>; + compatible = "ES7202_PDM_ADC_1"; + reg = <0x32>; }; }; @@ -84,6 +133,10 @@ status = "okay"; }; +&pdm0 { + status = "okay"; +}; + &pinctrl { touch { touch_gpio: touch-gpio { diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb3-lp4x.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb3-lp4x.dtsi index bc5e7b98f4b1..1b343e4fa1d8 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb3-lp4x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb3-lp4x.dtsi @@ -38,21 +38,6 @@ }; }; -&i2c7 { - status = "okay"; - es8388: es8388@10 { - status = "okay"; - #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; - clocks = <&cru I2S0_8CH_MCLKOUT>; - clock-names = "mclk"; - pinctrl-names = "default"; - pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; - }; -}; - &i2c8 { status = "okay"; pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi index 18cafdbe31a9..67f54c10bf3d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb4-lp4x.dtsi @@ -10,6 +10,47 @@ #include "rk806-single.dtsi" / { + es7202_sound_micarray: es7202-sound-micarray { + status = "okay"; + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,sound-micarray"; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,dai-link@0 { + format = "pdm"; + cpu { + sound-dai = <&pdm0>; + }; + codec { + sound-dai = <&es7202>; + }; + }; + }; + + es8388_sound: es8388-sound { + status = "okay"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "rockchip,es8388-codec"; + simple-audio-card,dai-link@0 { + format = "i2s"; + cpu { + sound-dai = <&i2s0_8ch>; + }; + codec { + sound-dai = <&es8388>; + }; + }; + }; + + rk_headset { + status = "okay"; + compatible = "rockchip_headset"; + headset_gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 3>; + }; + vbus5v0_typec: vbus-typec-regulator { compatible = "regulator-fixed"; regulator-name = "vbus5v0_typec"; @@ -52,18 +93,26 @@ }; }; -&i2c7 { +&i2c3 { status = "okay"; - es8388: es8388@10 { + + es8388: es8388@11 { status = "okay"; #sound-dai-cells = <0>; - compatible = "everest,es8388"; - reg = <0x10>; + compatible = "everest,es8388", "everest,es8323"; + reg = <0x11>; clocks = <&cru I2S0_8CH_MCLKOUT>; clock-names = "mclk"; pinctrl-names = "default"; pinctrl-0 = <&i2s0_mclk>; - spk-con-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; + spk-con-gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + }; + + es7202: es7202@32 { + status = "okay"; + #sound-dai-cells = <0>; + compatible = "ES7202_PDM_ADC_1"; + reg = <0x32>; }; }; @@ -125,6 +174,10 @@ status = "okay"; }; +&pdm0 { + status = "okay"; +}; + &pinctrl { touch { touch_gpio: touch-gpio {