Commit 97c39c7a authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Heiko Stuebner

arm64: dts: rockchip: add analog audio to RK3588 EVB1

Add support for the EVB1 analog audio to its devicetree. Only
the headphone has been tested, since I don't have matching
peripherals to test headset or speakers.

I also didn't manage to record sound from the onboard microphone,
but that also fails with the vendor kernel. Thus I assume the
microphone on my board is fried.
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20231109184453.108676-2-sebastian.reichel@collabora.comSigned-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent b85ea95d
......@@ -56,6 +56,63 @@ button-escape {
};
};
analog-sound {
compatible = "simple-audio-card";
pinctrl-names = "default";
pinctrl-0 = <&hp_detect>;
simple-audio-card,name = "RK3588 EVB1 Audio";
simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
simple-audio-card,bitclock-master = <&masterdai>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&masterdai>;
simple-audio-card,hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,pin-switches = "Headphones", "Speaker";
simple-audio-card,routing =
"Speaker Amplifier INL", "LOUT2",
"Speaker Amplifier INR", "ROUT2",
"Speaker", "Speaker Amplifier OUTL",
"Speaker", "Speaker Amplifier OUTR",
"Headphones Amplifier INL", "LOUT1",
"Headphones Amplifier INR", "ROUT1",
"Headphones", "Headphones Amplifier OUTL",
"Headphones", "Headphones Amplifier OUTR",
"LINPUT1", "Onboard Microphone",
"RINPUT1", "Onboard Microphone",
"LINPUT2", "Microphone Jack",
"RINPUT2", "Microphone Jack";
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Microphone", "Onboard Microphone",
"Headphone", "Headphones",
"Speaker", "Speaker";
simple-audio-card,cpu {
sound-dai = <&i2s0_8ch>;
};
masterdai: simple-audio-card,codec {
sound-dai = <&es8388>;
system-clock-frequency = <12288000>;
};
};
amp_headphone: headphone-amplifier {
compatible = "simple-audio-amplifier";
enable-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&headphone_amplifier_en>;
sound-name-prefix = "Headphones Amplifier";
};
amp_speaker: speaker-amplifier {
compatible = "simple-audio-amplifier";
enable-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&speaker_amplifier_en>;
sound-name-prefix = "Speaker Amplifier";
};
backlight: backlight {
compatible = "pwm-backlight";
power-supply = <&vcc12v_dcin>;
......@@ -240,6 +297,32 @@ hym8563: rtc@51 {
};
};
&i2c7 {
status = "okay";
es8388: audio-codec@11 {
compatible = "everest,es8388";
reg = <0x11>;
clocks = <&cru I2S0_8CH_MCLKOUT>;
assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
assigned-clock-rates = <12288000>;
AVDD-supply = <&avcc_1v8_codec_s0>;
DVDD-supply = <&avcc_1v8_codec_s0>;
HPVDD-supply = <&vcc_3v3_s0>;
PVDD-supply = <&vcc_3v3_s0>;
#sound-dai-cells = <0>;
};
};
&i2s0_8ch {
pinctrl-0 = <&i2s0_lrck
&i2s0_mclk
&i2s0_sclk
&i2s0_sdi0
&i2s0_sdo0>;
status = "okay";
};
&mdio0 {
rgmii_phy: ethernet-phy@1 {
/* RTL8211F */
......@@ -273,6 +356,20 @@ &pcie3x4 {
};
&pinctrl {
audio {
hp_detect: headphone-detect {
rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
};
headphone_amplifier_en: headphone-amplifier-en {
rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
};
speaker_amplifier_en: speaker-amplifier-en {
rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
rtl8111 {
rtl8111_isolate: rtl8111-isolate {
rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment