mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: dts: rockchip: Fix Orange Pi 5 Pro headphone output
@ 2026-10-18  6:35 Kel Modderman
  2026-10-18  6:35 ` [PATCH 1/2] arm64: dts: rockchip: Move SD card regulator to Orange Pi 5/5B Kel Modderman
  2026-10-18  6:35 ` [PATCH 2/2] arm64: dts: rockchip: Add headphone amplifier to Orange Pi 5 Pro Kel Modderman
  0 siblings, 2 replies; 3+ messages in thread
From: Kel Modderman @ 2026-10-18  6:35 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Dennis Gilmore, Alexey Charkov
  Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
	Kel Modderman

The Orange Pi 5 Pro inherits vcc_3v3_sd_s0 from the shared
rk3588s-orangepi-5.dtsi, but on the Pro GPIO4_B5 does not switch SD card
power: it enables the headphone amplifier. With the regulator claiming
the pin, the amplifier stays off and the headphone jack is silent.

Patch 1 moves the regulator and the sdmmc vmmc-supply into
rk3588s-orangepi-5-5b.dtsi, which only the 5 and 5B include. The
compiled 5 and 5B DTBs have the same nodes and properties as before.

Patch 2 describes the amplifier as a simple-audio-amplifier aux device
on the Pro and routes the headphone path through it.

Tested on an Orange Pi 5 Pro (Linux 7.3-rc7): SD card boot and analog
headphone output both work.

Signed-off-by: Kel Modderman <kelvmod@gmail.com>
---
Kel Modderman (2):
      arm64: dts: rockchip: Move SD card regulator to Orange Pi 5/5B
      arm64: dts: rockchip: Add headphone amplifier to Orange Pi 5 Pro

 .../boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi    | 14 ++++++++++++++
 .../boot/dts/rockchip/rk3588s-orangepi-5-pro.dts    | 21 +++++++++++++++++++--
 .../arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 11 -----------
 3 files changed, 33 insertions(+), 13 deletions(-)
---
base-commit: ae965b9856f033145e292b0c29082a26bcc45efd
change-id: 20261018-opi5pro-amp-c46384700041

Best regards,
--  
Kel Modderman <kelvmod@gmail.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] arm64: dts: rockchip: Move SD card regulator to Orange Pi 5/5B
  2026-10-18  6:35 [PATCH 0/2] arm64: dts: rockchip: Fix Orange Pi 5 Pro headphone output Kel Modderman
@ 2026-10-18  6:35 ` Kel Modderman
  2026-10-18  6:35 ` [PATCH 2/2] arm64: dts: rockchip: Add headphone amplifier to Orange Pi 5 Pro Kel Modderman
  1 sibling, 0 replies; 3+ messages in thread
From: Kel Modderman @ 2026-10-18  6:35 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Dennis Gilmore, Alexey Charkov
  Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
	Kel Modderman

vcc_3v3_sd_s0 switches SD card power via GPIO4_B5 on the Orange Pi 5 and
5B, but the shared rk3588s-orangepi-5.dtsi is also included by the
Orange Pi 5 Pro. On the Pro, SD power is not switched and GPIO4_B5
enables the headphone amplifier instead, so the inherited regulator
claims that pin.

Move the regulator and the sdmmc vmmc-supply into
rk3588s-orangepi-5-5b.dtsi, which only the 5 and 5B include.

Fixes: f47af8ebbe53 ("arm64: dts: rockchip: Add Orange Pi 5 Pro board support")
Signed-off-by: Kel Modderman <kelvmod@gmail.com>
---
 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi | 14 ++++++++++++++
 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi    | 11 -----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi
index 6e081bc06c..13351e4130 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-5b.dtsi
@@ -67,6 +67,16 @@ vbus_typec: regulator-vbus-typec {
 		regulator-max-microvolt = <5000000>;
 		vin-supply = <&vcc5v0_sys>;
 	};
+
+	vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 {
+		compatible = "regulator-fixed";
+		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>;
+		regulator-name = "vcc_3v3_sd_s0";
+		regulator-boot-on;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc_3v3_s3>;
+	};
 };
 
 &gmac1 {
@@ -218,6 +228,10 @@ regulator-state-mem {
 };
 
 
+&sdmmc {
+	vmmc-supply = <&vcc_3v3_sd_s0>;
+};
+
 &usb_host0_xhci {
 	dr_mode = "otg";
 	usb-role-switch;
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
index fd0efa8d1b..615e914fdc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
@@ -39,16 +39,6 @@ hdmi0_con_in: endpoint {
 		};
 	};
 
-	vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 {
-		compatible = "regulator-fixed";
-		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>;
-		regulator-name = "vcc_3v3_sd_s0";
-		regulator-boot-on;
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		vin-supply = <&vcc_3v3_s3>;
-	};
-
 	vcc5v0_sys: regulator-vcc5v0-sys {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc5v0_sys";
@@ -297,7 +287,6 @@ &sdmmc {
 	no-mmc;
 	no-sdio;
 	sd-uhs-sdr104;
-	vmmc-supply = <&vcc_3v3_sd_s0>;
 	vqmmc-supply = <&vccio_sd_s0>;
 	status = "okay";
 };

-- 
2.55.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] arm64: dts: rockchip: Add headphone amplifier to Orange Pi 5 Pro
  2026-10-18  6:35 [PATCH 0/2] arm64: dts: rockchip: Fix Orange Pi 5 Pro headphone output Kel Modderman
  2026-10-18  6:35 ` [PATCH 1/2] arm64: dts: rockchip: Move SD card regulator to Orange Pi 5/5B Kel Modderman
@ 2026-10-18  6:35 ` Kel Modderman
  1 sibling, 0 replies; 3+ messages in thread
From: Kel Modderman @ 2026-10-18  6:35 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
	Dennis Gilmore, Alexey Charkov
  Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
	Kel Modderman

The Orange Pi 5 Pro routes the ES8388 LOUT1/ROUT1 to the headphone jack
through an amplifier enabled by GPIO4_B5. Without it the jack is silent
apart from faint leakage on signal peaks.

Describe the amplifier as a simple-audio-amplifier aux device and route
the headphone path through it.

Fixes: f47af8ebbe53 ("arm64: dts: rockchip: Add Orange Pi 5 Pro board support")
Signed-off-by: Kel Modderman <kelvmod@gmail.com>
---
 .../boot/dts/rockchip/rk3588s-orangepi-5-pro.dts    | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts
index 783675337a..f5e43dfe1e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts
@@ -18,13 +18,16 @@ analog-sound {
 		compatible = "simple-audio-card";
 		pinctrl-names = "default";
 		pinctrl-0 = <&hp_detect>;
+		simple-audio-card,aux-devs = <&headphone_amp>;
 		simple-audio-card,format = "i2s";
 		simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
 		simple-audio-card,mclk-fs = <256>;
 		simple-audio-card,name = "rockchip,es8388";
 		simple-audio-card,routing =
-			"Headphones", "LOUT1",
-			"Headphones", "ROUT1",
+			"Headphones", "Headphones Amp OUTL",
+			"Headphones", "Headphones Amp OUTR",
+			"Headphones Amp INL", "LOUT1",
+			"Headphones Amp INR", "ROUT1",
 			"LINPUT1", "Microphone Jack",
 			"RINPUT1", "Microphone Jack",
 			"LINPUT2", "Onboard Microphone",
@@ -44,6 +47,14 @@ simple-audio-card,codec {
 		};
 	};
 
+	headphone_amp: headphone-amp {
+		compatible = "simple-audio-amplifier";
+		enable-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&headphone_amp_en>;
+		sound-name-prefix = "Headphones Amp";
+	};
+
 	pwm-leds {
 		compatible = "pwm-leds";
 
@@ -233,6 +244,12 @@ pcie2_2_rst: pcie2-2-rst {
 		};
 	};
 
+	sound {
+		headphone_amp_en: headphone-amp-en {
+			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	usb {
 		vcc5v0_otg_en: vcc5v0-otg-en {
 			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;

-- 
2.55.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-18  6:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-18  6:35 [PATCH 0/2] arm64: dts: rockchip: Fix Orange Pi 5 Pro headphone output Kel Modderman
2026-10-18  6:35 ` [PATCH 1/2] arm64: dts: rockchip: Move SD card regulator to Orange Pi 5/5B Kel Modderman
2026-10-18  6:35 ` [PATCH 2/2] arm64: dts: rockchip: Add headphone amplifier to Orange Pi 5 Pro Kel Modderman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®