Indiedroid Nova Audio/HDMI Updates
Subsystems (2)
v2 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).
Changes since v1:
- Corrected HDMI port from mini HDMI (c) to micro HDMI (d).
- Explained why I enable hdmim0_rx_hpdin in contrast to the other rk3588 boards.
- Split HDMI0 and GPU patches into different patches.
Chris Morgan (3):
arm64: dts: rockchip: correct analog audio name on Indiedroid Nova
arm64: dts: rockchip: Enable GPU on Indiedroid Nova
arm64: dts: rockchip: Enable HDMI0 on Indiedroid Nova
.../dts/rockchip/rk3588s-indiedroid-nova.dts | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-)
Signature · 1 line
2.43.0
PATCH v2 1/3 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'".
--- 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
@@ -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
PATCH v2 2/3 arm64: dts: rockchip: Enable GPU on Indiedroid Nova
In reply to Chris MorganFrom: Chris Morgan <[email protected]>
Enable the GPU for the Indiedroid Nova.
--- arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts | 5 +++++ 1 file changed, 5 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +5 -0
@@ -242,6 +242,11 @@ &gpio4 { "", "", "", ""; }; +&gpu { + mali-supply = <&vdd_gpu_s0>; + status = "okay"; +}; + &i2c0 { pinctrl-0 = <&i2c0m2_xfer>; pinctrl-names = "default";
Signature · 1 line
2.43.0
PATCH v2 3/3 arm64: dts: rockchip: Enable HDMI0 on Indiedroid Nova
In reply to Chris MorganFrom: Chris Morgan <[email protected]>
Enable the HDMI0 port for the Indiedroid Nova. The schematics available show the hdmim0_rx_hpdin is connected, so this pinctrl is enabled in contrast with the other rk3588 boards.
--- .../dts/rockchip/rk3588s-indiedroid-nova.dts | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +51 -0
@@ -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 = "d"; + + port { + hdmi0_con_in: endpoint { + remote-endpoint = <&hdmi0_out_con>; + }; + }; + }; + sdio_pwrseq: sdio-pwrseq { compatible = "mmc-pwrseq-simple"; clock-names = "ext_clock";
@@ -247,6 +259,30 @@ &gpu { 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";
@@ -924,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
Re: [PATCH V2 3/3] arm64: dts: rockchip: Enable HDMI0 on Indiedroid Nova
Quoted 6 lines · Chris Morgan
From: Chris Morgan <[email protected]>
Enable the HDMI0 port for the Indiedroid Nova. The schematics available show the
hdmim0_rx_hpdinis connected, so this pinctrl is enabled in contrast with the other rk3588 boards.
Which pin in the schematic [1] (page 24) does it refer to? It's not obvious how to match it up.
The schematic looks the same as the Rock 5B schematic [2] (page 31) and the Rock 5B dts uses the default pinctrl [3]
Note: The vendor kernel DTS doesn't modify the pinctrl either. [4]
If you try using the default pinctrl (not overriding), does HDMI not work?
Jimmy
[1] https://wiki.indiedroid.us/Nova/schematics
[2] https://dl.radxa.com/rock5/5b/docs/hw/radxa_rock_5b_v1450_schematic.pdf
[3] https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/tree/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts?h=for-next&id=c8152f79c2dd8039e14073be76fdbce8760175da#n207
[4] https://github.com/stvhay/kernel/blob/batocera-rk3588-4.0/arch/arm64/boot/dts/rockchip/rk3588s-9tripod-x3588s.dtsi#L226
Heiko Stübner
maintainerRe: [PATCH V2 3/3] arm64: dts: rockchip: Enable HDMI0 on Indiedroid Nova
Am Donnerstag, 31. Oktober 2024, 01:49:07 CET schrieb Jimmy Hon:
Quoted 8 lines · Chris Morgan
Quoted 6 lines
From: Chris Morgan <[email protected]>
Enable the HDMI0 port for the Indiedroid Nova. The schematics available show the
hdmim0_rx_hpdinis connected, so this pinctrl is enabled in contrast with the other rk3588 boards.
Quoted 8 lines
Which pin in the schematic [1] (page 24) does it refer to? It's not obvious how to match it up.
The schematic looks the same as the Rock 5B schematic [2] (page 31) and the Rock 5B dts uses the default pinctrl [3]Note: The vendor kernel DTS doesn't modify the pinctrl either. [4]
If you try using the default pinctrl (not overriding), does HDMI not work?
I stumbled over the same issue recently for our Theobroma boards too.
From the Indiedroid schematics, you can see that the hdmim0_rx_hpdin pin is gpio4_b6, which in their board is connected to the hdmi0_tx_on_h functionality, which controls the output functionality between hdmi2.0-tmds and hdmi2.1-frl modes.
The hdmi-driver currently only does hdmi2.0 but normally, on most boards I've seen so far, this pin has a default pull to set hdmi2.0 anyway, so other boards don't need that.
So for one, please check if the nova can run without it, but if a pin setting is needed, please define a new per-board one, labeling it correctly for this hdmi0_tx_on_h functionality and do not re-use the hdmi-rx pin-setting.
Heiko
Re: [PATCH V2 3/3] arm64: dts: rockchip: Enable HDMI0 on Indiedroid Nova
Quoted 25 lines · Heiko Stübner
Am Donnerstag, 31. Oktober 2024, 01:49:07 CET schrieb Jimmy Hon:
Quoted 8 lines · Chris Morgan
Quoted 6 lines
From: Chris Morgan <[email protected]>
Enable the HDMI0 port for the Indiedroid Nova. The schematics available show the
hdmim0_rx_hpdinis connected, so this pinctrl is enabled in contrast with the other rk3588 boards.Quoted 8 lines
Which pin in the schematic [1] (page 24) does it refer to? It's not obvious how to match it up.
The schematic looks the same as the Rock 5B schematic [2] (page 31) and the Rock 5B dts uses the default pinctrl [3]Note: The vendor kernel DTS doesn't modify the pinctrl either. [4]
If you try using the default pinctrl (not overriding), does HDMI not work?
I stumbled over the same issue recently for our Theobroma boards too.
From the Indiedroid schematics, you can see that the
hdmim0_rx_hpdinpin isgpio4_b6, which in their board is connected to thehdmi0_tx_on_hfunctionality, which controls the output functionality between hdmi2.0-tmds and hdmi2.1-frl modes.
Quoted 8 lines
The hdmi-driver currently only does hdmi2.0 but normally, on most boards I've seen so far, this pin has a default pull to set hdmi2.0 anyway, so other boards don't need that.
So for one, please check if the nova can run without it, but if a pin setting is needed, please define a new per-board one, labeling it correctly for this
hdmi0_tx_on_hfunctionality and do not re-use the hdmi-rx pin-setting.
I can confirm it will run without it, so I'll simply set the pinctrl to be the same as the other boards.
Thank you,
Chris
Quoted 6 lines
Heiko