Skip to contentSkip to conversation

Indiedroid Nova Audio/HDMI Updates

PATCH Superseded Chris Morgan 3 participants 6 messages Oct 23, 2024 – Oct 29, 2024

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover Indiedroid Nova Audio/HDMI Updates

From: Chris Morgan <[email protected]>

This series is for a handful of fixes and updates for the Indiedroid Nova. This series corrects the device name of the audio card to stop a kernel log error, and adds support for both the HDMI and GPU (now that HDMI support has been queued for linux-next).

Chris Morgan (2):
arm64: dts: rockchip: correct analog audio name on Indiedroid Nova
arm64: dts: rockchip: Enable HDMI0 and GPU on Indiedroid Nova

 .../dts/rockchip/rk3588s-indiedroid-nova.dts  | 58 ++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)
Signature · 1 line
2.43.0
#1 lore raw

PATCH 1/2 arm64: dts: rockchip: correct analog audio name on Indiedroid Nova

From: Chris Morgan <[email protected]>

Correct the audio name for the Indiedroid Nova from rockchip,es8388-codec to rockchip,es8388. This name change corrects a kernel log error of "ASoC: driver name too long 'rockchip,es8388-codec' -> 'rockchip_es8388'".

Fixes 3900160e164b ("arm64: dts: rockchip: Add Indiedroid Nova board")
---
 arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +1 -1
index d8c50fdcca3b..a4b930f6987f 100644
@@ -62,7 +62,7 @@ sdio_pwrseq: sdio-pwrseq {
 
 	sound {
 		compatible = "audio-graph-card";
-		label = "rockchip,es8388-codec";
+		label = "rockchip,es8388";
 		widgets = "Microphone", "Mic Jack",
 			  "Headphone", "Headphones";
 		routing = "LINPUT2", "Mic Jack",
Signature · 1 line
2.43.0
#2 lore raw

PATCH 2/2 arm64: dts: rockchip: Enable HDMI0 and GPU on Indiedroid Nova

In reply to Chris Morgan

From: Chris Morgan <[email protected]>

Enable the HDMI0 and GPU for the Indiedroid Nova.

---
 .../dts/rockchip/rk3588s-indiedroid-nova.dts  | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +56 -0
index a4b930f6987f..547b3ca881e0 100644
@@ -5,6 +5,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
 #include <dt-bindings/usb/pd.h>
 #include "rk3588s.dtsi"
 
@@ -50,6 +51,17 @@ chosen {
 		stdout-path = "serial2:1500000n8";
 	};
 
+	hdmi0-con {
+		compatible = "hdmi-connector";
+		type = "c";
+
+		port {
+			hdmi0_con_in: endpoint {
+				remote-endpoint = <&hdmi0_out_con>;
+			};
+		};
+	};
+
 	sdio_pwrseq: sdio-pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		clock-names = "ext_clock";
@@ -242,6 +254,35 @@ &gpio4 {
 			  "", "", "", "";
 };
 
+&gpu {
+	mali-supply = <&vdd_gpu_s0>;
+	status = "okay";
+};
+
+&hdmi0 {
+	pinctrl-0 = <&hdmim0_rx_hpdin>, <&hdmim0_tx0_scl>,
+		    <&hdmim0_tx0_sda>, <&hdmim0_tx0_hpd>,
+		    <&hdmim0_tx0_cec>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&hdmi0_in {
+	hdmi0_in_vp0: endpoint {
+		remote-endpoint = <&vp0_out_hdmi0>;
+	};
+};
+
+&hdmi0_out {
+	hdmi0_out_con: endpoint {
+		remote-endpoint = <&hdmi0_con_in>;
+	};
+};
+
+&hdptxphy_hdmi0 {
+	status = "okay";
+};
+
 &i2c0 {
 	pinctrl-0 = <&i2c0m2_xfer>;
 	pinctrl-names = "default";
@@ -919,3 +960,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 {
 		};
 	};
 };
+
+&vop {
+	status = "okay";
+};
+
+&vop_mmu {
+	status = "okay";
+};
+
+&vp0 {
+	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
+		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+		remote-endpoint = <&hdmi0_in_vp0>;
+	};
+};
Signature · 1 line
2.43.0
maintainer
#3 lore raw

Re: [PATCH 2/2] arm64: dts: rockchip: Enable HDMI0 and GPU on Indiedroid Nova

Am Mittwoch, 23. Oktober 2024, 18:41:04 CEST schrieb Chris Morgan:

Quoted 3 lines

From: Chris Morgan <[email protected]>

Enable the HDMI0 and GPU for the Indiedroid Nova.

in general please notice the "and" in your commit message. This generally indicates a situation that wants to be more than one patch.

With the gpu + hdmi being close cousins and the gpu actually tiny, there is not a big reason to resend this series though.

So I would've preferred 2 patches, but it'll do this time ;-)

Heiko

Quoted 92 lines
---
 .../dts/rockchip/rk3588s-indiedroid-nova.dts  | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +56 -0
index a4b930f6987f..547b3ca881e0 100644
@@ -5,6 +5,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
 #include <dt-bindings/usb/pd.h>
 #include "rk3588s.dtsi"
 
@@ -50,6 +51,17 @@ chosen {
 		stdout-path = "serial2:1500000n8";
 	};
 
+	hdmi0-con {
+		compatible = "hdmi-connector";
+		type = "c";
+
+		port {
+			hdmi0_con_in: endpoint {
+				remote-endpoint = <&hdmi0_out_con>;
+			};
+		};
+	};
+
 	sdio_pwrseq: sdio-pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		clock-names = "ext_clock";
@@ -242,6 +254,35 @@ &gpio4 {
 			  "", "", "", "";
 };
 
+&gpu {
+	mali-supply = <&vdd_gpu_s0>;
+	status = "okay";
+};
+
+&hdmi0 {
+	pinctrl-0 = <&hdmim0_rx_hpdin>, <&hdmim0_tx0_scl>,
+		    <&hdmim0_tx0_sda>, <&hdmim0_tx0_hpd>,
+		    <&hdmim0_tx0_cec>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&hdmi0_in {
+	hdmi0_in_vp0: endpoint {
+		remote-endpoint = <&vp0_out_hdmi0>;
+	};
+};
+
+&hdmi0_out {
+	hdmi0_out_con: endpoint {
+		remote-endpoint = <&hdmi0_con_in>;
+	};
+};
+
+&hdptxphy_hdmi0 {
+	status = "okay";
+};
+
 &i2c0 {
 	pinctrl-0 = <&i2c0m2_xfer>;
 	pinctrl-names = "default";
@@ -919,3 +960,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 {
 		};
 	};
 };
+
+&vop {
+	status = "okay";
+};
+
+&vop_mmu {
+	status = "okay";
+};
+
+&vp0 {
+	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
+		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+		remote-endpoint = <&hdmi0_in_vp0>;
+	};
+};
#4 lore raw

Re: [PATCH 2/2] arm64: dts: rockchip: Enable HDMI0 and GPU on Indiedroid Nova

In reply to Chris Morgan

arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts chosen { · line 56

Quoted 3 lines
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +3 -0
+	hdmi0-con {
+		compatible = "hdmi-connector";
+		type = "c";

This should be type d, the Nova has a micro HDMI port, not a mini HDMI port.

arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts &gpio4 { · line 268

Quoted 8 lines
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +8 -0
+
+&hdmi0 {
+	pinctrl-0 = <&hdmim0_rx_hpdin>, <&hdmim0_tx0_scl>,
+		    <&hdmim0_tx0_sda>, <&hdmim0_tx0_hpd>,
+		    <&hdmim0_tx0_cec>;
+	pinctrl-names = "default";
+	status = "okay";
+};

Why is the additional hdmim0_rx_hpdin needed? Is it supposed to represent HDMI0_TX_ON_H? I'm curious why this board needs it, when the other boards do not.

Jimmy

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

#5 lore raw

Re: [PATCH 2/2] arm64: dts: rockchip: Enable HDMI0 and GPU on Indiedroid Nova

Quoted 18 lines · Jimmy Hon

arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts chosen { · line 56

Quoted 3 lines
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +3 -0
+	hdmi0-con {
+		compatible = "hdmi-connector";
+		type = "c";

This should be type d, the Nova has a micro HDMI port, not a mini HDMI port.

arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts &gpio4 { · line 268

Quoted 8 lines
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +8 -0
+
+&hdmi0 {
+	pinctrl-0 = <&hdmim0_rx_hpdin>, <&hdmim0_tx0_scl>,
+		    <&hdmim0_tx0_sda>, <&hdmim0_tx0_hpd>,
+		    <&hdmim0_tx0_cec>;
+	pinctrl-names = "default";
+	status = "okay";
+};

Why is the additional hdmim0_rx_hpdin needed? Is it supposed to represent HDMI0_TX_ON_H? I'm curious why this board needs it, when the other boards do not.

Quoted 2 lines

Jimmy

You are correct about the port type, it is type d not type c. As for the HDMI0_TX_ON_H, that pin is hooked up per the schematic so I thought it prudent to define it in the device tree as such (this being one of the very few boards I get to work on with actual schematics).

Thank you,
Chris

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip