rockpis: enable analog codec

This commit is contained in:
Paolo Sabatino 2024-11-26 12:51:42 +01:00 committed by Paolo
parent 7292fc4efe
commit 48c8fe37e8
3 changed files with 88 additions and 27 deletions

View File

@ -1,25 +1,49 @@
From b159c55f7d9f81f3c7aa5ae041c1d0ec61281af4 Mon Sep 17 00:00:00 2001
From 3bdc6856ef82b6619c527034206b49a69f3d1b91 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Mon, 25 Nov 2024 17:02:05 +0100
Subject: [PATCH] rk3308: various fixes and enhancements for rockpi-s
Date: Tue, 26 Nov 2024 12:13:24 +0100
Subject: [PATCH] rk3308: fixes for rock pi s dts
---
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 75 +++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
index 5ca0cc19f92c..817684e54617 100644
index 62d18ca769a1..8bcc57e9440c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
@@ -48,6 +48,30 @@ blue-led {
@@ -48,6 +48,54 @@ blue-led {
};
};
+ analog_sound: analog-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,name = "analog";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,codec-hp-det;
+ simple-audio-card,widgets =
+ "Headphone", "Headphones";
+
+ simple-audio-card,dai-link@1 {
+ format = "i2s";
+
+ cpu {
+ sound-dai = <&i2s_8ch_2>;
+ };
+
+ codec {
+ sound-dai = <&codec>;
+ };
+
+ };
+
+ };
+
+ pcm5102_sound: pcm5102-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "lineout";
+ simple-audio-card,name = "pcm5102a";
+
+ simple-audio-card,dai-link@1 {
+ format = "i2s";
@ -42,19 +66,19 @@ index 5ca0cc19f92c..817684e54617 100644
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-0 = <&wifi_enable_h>;
@@ -128,6 +152,11 @@ vdd_log: vdd-log {
@@ -128,6 +176,11 @@ vdd_log: vdd-log {
};
};
+&codec {
+ status = "disabled";
+ status = "okay";
+ #sound-dai-cells = <0>;
+};
+
&cpu0 {
cpu-supply = <&vdd_core>;
};
@@ -139,6 +168,7 @@ &emmc {
@@ -139,6 +192,7 @@ &emmc {
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>;
@ -62,7 +86,7 @@ index 5ca0cc19f92c..817684e54617 100644
vmmc-supply = <&vcc_io>;
status = "okay";
};
@@ -170,6 +200,19 @@ &i2c1 {
@@ -242,6 +296,19 @@ &io_domains {
status = "okay";
};
@ -76,13 +100,13 @@ index 5ca0cc19f92c..817684e54617 100644
+
+&i2s_8ch_2 {
+ #sound-dai-cells = <0>;
+ status = "disabled";
+ status = "okay";
+};
+
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&rtc_32k>;
@@ -261,10 +304,18 @@ &sdmmc {
@@ -333,10 +400,18 @@ &sdmmc {
cap-mmc-highspeed;
cap-sd-highspeed;
disable-wp;

View File

@ -0,0 +1,13 @@
diff --git a/sound/soc/codecs/rk3308_codec.c b/sound/soc/codecs/rk3308_codec.c
index 8b51e87a1711..f3c8716215a8 100644
--- a/sound/soc/codecs/rk3308_codec.c
+++ b/sound/soc/codecs/rk3308_codec.c
@@ -854,7 +854,7 @@ static int rk3308_codec_get_version(struct rk3308_codec_priv *rk3308)
break;
case 0x3308:
rk3308->codec_ver = ACODEC_VERSION_B;
- return dev_err_probe(rk3308->dev, -EINVAL, "Chip version B not supported\n");
+ break;
case 0x3308c:
rk3308->codec_ver = ACODEC_VERSION_C;
break;

View File

@ -1,25 +1,49 @@
From b159c55f7d9f81f3c7aa5ae041c1d0ec61281af4 Mon Sep 17 00:00:00 2001
From d78cd859d340cc848e249205b3ced25c756323be Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Mon, 25 Nov 2024 17:02:05 +0100
Subject: [PATCH] rk3308: various fixes and enhancements for rockpi-s
Date: Tue, 26 Nov 2024 12:08:05 +0100
Subject: [PATCH] rk3308: fixes for rock pi s
---
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
.../boot/dts/rockchip/rk3308-rock-pi-s.dts | 75 +++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
index 5ca0cc19f92c..817684e54617 100644
index 5ca0cc19f92c..a94315d270dc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
@@ -48,6 +48,30 @@ blue-led {
@@ -48,6 +48,54 @@ blue-led {
};
};
+ analog_sound: analog-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,name = "analog";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,codec-hp-det;
+ simple-audio-card,widgets =
+ "Headphone", "Headphones";
+
+ simple-audio-card,dai-link@1 {
+ format = "i2s";
+
+ cpu {
+ sound-dai = <&i2s_8ch_2>;
+ };
+
+ codec {
+ sound-dai = <&acodec>;
+ };
+
+ };
+
+ };
+
+ pcm5102_sound: pcm5102-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "lineout";
+ simple-audio-card,name = "pcm5102a";
+
+ simple-audio-card,dai-link@1 {
+ format = "i2s";
@ -42,7 +66,7 @@ index 5ca0cc19f92c..817684e54617 100644
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-0 = <&wifi_enable_h>;
@@ -128,6 +152,11 @@ vdd_log: vdd-log {
@@ -128,6 +176,11 @@ vdd_log: vdd-log {
};
};
@ -54,7 +78,7 @@ index 5ca0cc19f92c..817684e54617 100644
&cpu0 {
cpu-supply = <&vdd_core>;
};
@@ -139,6 +168,7 @@ &emmc {
@@ -139,6 +192,7 @@ &emmc {
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>;
@ -62,7 +86,7 @@ index 5ca0cc19f92c..817684e54617 100644
vmmc-supply = <&vcc_io>;
status = "okay";
};
@@ -170,6 +200,19 @@ &i2c1 {
@@ -170,6 +224,19 @@ &i2c1 {
status = "okay";
};
@ -76,13 +100,13 @@ index 5ca0cc19f92c..817684e54617 100644
+
+&i2s_8ch_2 {
+ #sound-dai-cells = <0>;
+ status = "disabled";
+ status = "okay";
+};
+
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&rtc_32k>;
@@ -261,10 +304,18 @@ &sdmmc {
@@ -261,10 +328,18 @@ &sdmmc {
cap-mmc-highspeed;
cap-sd-highspeed;
disable-wp;