Message ID | 20250215152550.3975614-1-liujianfeng1994@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: rockchip: add hdmi1 support to ROCK 5 ITX | expand |
+cc Piotr Oniszczuk because of [0] [0] https://lore.kernel.org/linux-rockchip/C81810F2-6E9B-4DCC-85D1-CCB63CBFBFEA@gmail.com/ Hi, On Sat, Feb 15, 2025 at 11:25:45PM +0800, Jianfeng Liu wrote: > Enable the HDMI port next to ethernet port. > > Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com> > --- > > [...] > +&hdptxphy_hdmi0 { > + status = "okay"; > +}; > [...] &hdptxphy_hdmi0? That looks like a downstream thing and also for the wrong port? -- Sebastian
Hi, Sat, 15 Feb 2025 23:22:27 +0100, Sebastian Reichel wrote: >&hdptxphy_hdmi0? That looks like a downstream thing and also for the >wrong port? You are right. I was refering to the patch of rock5b from mailing list[1], in which there is "&hdptxphy_hdmi0" so I assumed this port is merged upstream. Although ROCK 5 ITX only uses hdmi1, vop need &hdptxphy0 for pll clk, so this node is necessary if we don't change the vop clocks at board level devicetree. I just notice that there is a new patch series[2] to let phy of hdmi1 provide clk. I have to add both hdptxphy0 and hdptxphy1 based on this series, or I can only add hdptxphy1 and change the vop clk like: &vop { clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>, <&cru DCLK_VOP3>, <&cru PCLK_VOP_ROOT>, <&hdptxphy1>; clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2", "dclk_vp3", "pclk_vop", "pll_hdmiphy1"; }; [1] https://lore.kernel.org/all/20241211-rk3588-hdmi1-v2-4-02cdca22ff68@collabora.com/ [2] https://lore.kernel.org/all/20250215-vop2-hdmi1-disp-modes-v1-0-81962a7151d6@collabora.com/ Best regards, Jianfeng
> Wiadomość napisana przez Jianfeng Liu <liujianfeng1994@gmail.com> w dniu 15 lut 2025, o godz. 16:25: > > Enable the HDMI port next to ethernet port. > > Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com> > --- > > .../boot/dts/rockchip/rk3588-rock-5-itx.dts | 53 +++++++++++++++++++ > 1 file changed, 53 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts > index 6d68f70284e..a4fdced052c 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts > @@ -11,6 +11,7 @@ > #include <dt-bindings/leds/common.h> > #include <dt-bindings/pinctrl/rockchip.h> > #include <dt-bindings/pwm/pwm.h> > +#include <dt-bindings/soc/rockchip,vop2.h> > #include "dt-bindings/usb/pd.h" > #include "rk3588.dtsi" > > @@ -89,6 +90,17 @@ fan0: pwm-fan { > pwms = <&pwm14 0 10000 0>; > }; > > + hdmi1-con { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi1_con_in: endpoint { > + remote-endpoint = <&hdmi1_out_con>; > + }; > + }; > + }; > + > /* M.2 E-KEY */ > sdio_pwrseq: sdio-pwrseq { > compatible = "mmc-pwrseq-simple"; > @@ -261,6 +273,32 @@ &gpu { > status = "okay"; > }; > > +&hdmi1 { > + pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd > + &hdmim1_tx1_scl &hdmim1_tx1_sda>; > + status = "okay"; > +}; > + > +&hdmi1_in { > + hdmi1_in_vp1: endpoint { > + remote-endpoint = <&vp1_out_hdmi1>; > + }; > +}; > + > +&hdmi1_out { > + hdmi1_out_con: endpoint { > + remote-endpoint = <&hdmi1_con_in>; > + }; > +}; > + > +&hdptxphy_hdmi0 { > + status = "okay"; > +}; > + > +&hdptxphy1 { > + status = "okay"; > +}; > + > &i2c0 { > pinctrl-names = "default"; > pinctrl-0 = <&i2c0m2_xfer>; > @@ -1209,3 +1247,18 @@ &usbdp_phy1 { > rockchip,dp-lane-mux = <2 3>; > status = "okay"; > }; > + > +&vop { > + status = "okay"; > +}; > + > +&vop_mmu { > + status = "okay"; > +}; > + > +&vp1 { > + vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 { > + reg = <ROCKCHIP_VOP2_EP_HDMI1>; > + remote-endpoint = <&hdmi1_in_vp1>; > + }; > +}; > -- > 2.43.0 > > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip Jianfeng, Is there anywhere repo with this patch applied to test it on rock5 itx hw? (asking as I can’t get it working; even with hdmi1 only vop clocks like here: https://gist.github.com/warpme/49feadbe1f53ea31fca76f41d5bb3ee4)
Hi Piotr, On Sun, 16 Feb 2025 13:37:05 +0100, Piotr wrote: >Is there anywhere repo with this patch applied to test it on rock5 itx hw? This patch is applied to 6.13 and I was testing with armbian: https://github.com/armbian/build/pull/7829. >(asking as I can’t get it working; even with hdmi1 only vop clocks like here: https://gist.github.com/warpme/49feadbe1f53ea31fca76f41d5bb3ee4) vop has a dependency of hdptxphy0, so only hdptxphy1 won't work. If you are testing with 6.13 or 6.14, you have to add hdptxphy_hdmi0, and if you are testing with linux-next, you should add hdptxphy0. And I recommend testing with this series since it adds more display mode support to hdmi1: https://patchwork.kernel.org/project/linux-rockchip/list/?series=934232 Best regards, Jianfeng
> Wiadomość napisana przez Jianfeng Liu <liujianfeng1994@gmail.com> w dniu 16 lut 2025, o godz. 14:49: > > Hi Piotr, > > On Sun, 16 Feb 2025 13:37:05 +0100, Piotr wrote: >> Is there anywhere repo with this patch applied to test it on rock5 itx hw? > > This patch is applied to 6.13 and I was testing with armbian: > https://github.com/armbian/build/pull/7829. Well - i build 6.12.3 with current armbian patches: https://github.com/armbian/build/tree/main/patch/kernel/archive/rockchip64-6.13 (all rk3588-*.patch) + https://github.com/armbian/build/pull/7829 and i’m still getting: root@myth-frontend-56b0f018b5e0:~ # dmesg | grep drm [ 0.529361] rockchip-drm display-subsystem: bound fdd90000.vop (ops vop2_component_ops) [ 0.531139] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops dw_hdmi_qp_rockchip_ops) [ 0.532197] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 0 [ 0.532846] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes [ 0.533538] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes [ 10.157564] panthor fb000000.gpu: [drm] clock rate = 198000000 [ 10.160033] panthor fb000000.gpu: [drm] mali-g610 id 0xa867 major 0x0 minor 0x0 status 0x5 [ 10.160755] panthor fb000000.gpu: [drm] Features: L2:0x7120306 Tiler:0x809 Mem:0x301 MMU:0x2830 AS:0xff [ 10.161569] panthor fb000000.gpu: [drm] shader_present=0x50005 l2_present=0x1 tiler_present=0x1 [ 10.219825] panthor fb000000.gpu: [drm] Firmware protected mode entry not be supported, ignoring [ 10.221411] panthor fb000000.gpu: [drm] Firmware git sha: 814b47b551159067b67a37c4e9adda458ad9d852 [ 10.222315] panthor fb000000.gpu: [drm] CSF FW using interface v1.1.0, Features 0x0 Instrumentation features 0x71 [ 10.223733] [drm] Initialized panthor 1.2.0 for fb000000.gpu on minor 1 Initially i was thinking my board is defective but…..hdmi1 works nicely with Roobi OS flashed by radxa in eMMC so i’m really puzzled with this… Is it possible to provide me url with kernel package you are using (wich works ok for you)?
Hi, On Sun, 16 Feb 2025 20:53:27 +0100, Piotr Oniszczuk wrote: >[ 0.531139] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops dw_hdmi_qp_rockchip_ops) It seems that hdmi qp driver is built in kernel, while armbian builds it as module. I don't know if this is related. And here is the dmesg output of drm on armbian: jfliu@rock-5-itx:~$ sudo dmesg |grep drm [ 2.190256] panthor fb000000.gpu: [drm] clock rate = 198000000 [ 2.191470] panthor fb000000.gpu: [drm] mali-g610 id 0xa867 major 0x0 minor 0x0 status 0x5 [ 2.191478] panthor fb000000.gpu: [drm] Features: L2:0x7120306 Tiler:0x809 Mem:0x301 MMU:0x2830 AS:0xff [ 2.191482] panthor fb000000.gpu: [drm] shader_present=0x50005 l2_present=0x1 tiler_present=0x1 [ 2.195853] panthor fb000000.gpu: [drm] Firmware protected mode entry not be supported, ignoring [ 2.196019] panthor fb000000.gpu: [drm] Firmware git sha: 814b47b551159067b67a37c4e9adda458ad9d852 [ 2.196407] panthor fb000000.gpu: [drm] CSF FW using interface v1.1.0, Features 0x0 Instrumentation features 0x71 [ 2.221006] [drm] Initialized panthor 1.3.0 for fb000000.gpu on minor 0 [ 2.566800] rockchip-drm display-subsystem: bound fdd90000.vop (ops rockchip_drm_fini [rockchipdrm]) [ 2.567523] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops rockchip_drm_fini [rockchipdrm]) [ 2.567882] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 1 [ 2.740995] rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device >Is it possible to provide me url with kernel package you are using (wich works ok for you)? I'm working on 6.14-rc2 now and this patch is included in this armbian pr: https://github.com/armbian/build/pull/7835 And here is the kernel deb I built, which is confirmed working: https://cdn.haguro.top/share/kernel-rockchip64-edge_6.14-rc2-rock5itx-hdmi1_arm64.tar Best regards, Jianfeng
> Wiadomość napisana przez Jianfeng Liu <liujianfeng1994@gmail.com> w dniu 17 lut 2025, o godz. 03:35: > > Hi, > > On Sun, 16 Feb 2025 20:53:27 +0100, Piotr Oniszczuk wrote: >> [ 0.531139] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops dw_hdmi_qp_rockchip_ops) > > It seems that hdmi qp driver is built in kernel, while armbian builds it > as module. I don't know if this is related. And here is the dmesg output > of drm on armbian: > > jfliu@rock-5-itx:~$ sudo dmesg |grep drm > [ 2.190256] panthor fb000000.gpu: [drm] clock rate = 198000000 > [ 2.191470] panthor fb000000.gpu: [drm] mali-g610 id 0xa867 major 0x0 minor 0x0 status 0x5 > [ 2.191478] panthor fb000000.gpu: [drm] Features: L2:0x7120306 Tiler:0x809 Mem:0x301 MMU:0x2830 AS:0xff > [ 2.191482] panthor fb000000.gpu: [drm] shader_present=0x50005 l2_present=0x1 tiler_present=0x1 > [ 2.195853] panthor fb000000.gpu: [drm] Firmware protected mode entry not be supported, ignoring > [ 2.196019] panthor fb000000.gpu: [drm] Firmware git sha: 814b47b551159067b67a37c4e9adda458ad9d852 > [ 2.196407] panthor fb000000.gpu: [drm] CSF FW using interface v1.1.0, Features 0x0 Instrumentation features 0x71 > [ 2.221006] [drm] Initialized panthor 1.3.0 for fb000000.gpu on minor 0 > [ 2.566800] rockchip-drm display-subsystem: bound fdd90000.vop (ops rockchip_drm_fini [rockchipdrm]) > [ 2.567523] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops rockchip_drm_fini [rockchipdrm]) > [ 2.567882] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 1 > [ 2.740995] rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device > >> Is it possible to provide me url with kernel package you are using (wich works ok for you)? > > I'm working on 6.14-rc2 now and this patch is included in this armbian pr: > https://github.com/armbian/build/pull/7835 > > And here is the kernel deb I built, which is confirmed working: > https://cdn.haguro.top/share/kernel-rockchip64-edge_6.14-rc2-rock5itx-hdmi1_arm64.tar > many thx for providing me .deb this is very helpful! I manually installed it on my sd card and sill getting: root@myth-frontend-56b0f018b5e0:~ # uname -a Linux myth-frontend-56b0f018b5e0 6.14.0-rc2-edge-rockchip64 #4 SMP PREEMPT Mon Feb 10 04:45:03 CST 2025 aarch64 GNU/Linux root@myth-frontend-56b0f018b5e0:~ # dmesg | grep drm [ 6.996022] panthor fb000000.gpu: [drm] clock rate = 198000000 [ 7.002431] panthor fb000000.gpu: [drm] mali-g610 id 0xa867 major 0x0 minor 0x0 status 0x5 [ 7.003155] panthor fb000000.gpu: [drm] Features: L2:0x7120306 Tiler:0x809 Mem:0x301 MMU:0x2830 AS:0xff [ 7.003972] panthor fb000000.gpu: [drm] shader_present=0x50005 l2_present=0x1 tiler_present=0x1 [ 7.185792] panthor fb000000.gpu: [drm] Firmware protected mode entry not be supported, ignoring [ 7.186635] panthor fb000000.gpu: [drm] Firmware git sha: 814b47b551159067b67a37c4e9adda458ad9d852 [ 7.187616] panthor fb000000.gpu: [drm] CSF FW using interface v1.1.0, Features 0x0 Instrumentation features 0x71 [ 7.188861] [drm] Initialized panthor 1.3.0 for fb000000.gpu on minor 0 [ 7.225079] rockchip-drm display-subsystem: bound fdd90000.vop (ops vop2_component_ops [rockchipdrm]) [ 7.227485] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops dw_hdmi_qp_rockchip_ops [rockchipdrm]) [ 7.228666] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 1 [ 7.229327] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes [ 7.230466] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes root@myth-frontend-56b0f018b5e0:~ # but why roobi os works ok on hdmi1 on this board? btw: looking on dri debug i see following: root@myth-frontend-56b0f018b5e0:~ # cat /sys/kernel/debug/dri/1/state plane[32]: Cluster0-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=0 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[38]: Cluster1-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=1 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[44]: Cluster2-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=2 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[50]: Cluster3-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=3 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[56]: Esmart0-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=4 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[62]: Esmart1-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=5 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[68]: Esmart2-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=6 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 plane[74]: Esmart3-win0 crtc=(null) fb=0 crtc-pos=0x0+0+0 src-pos=0.000000x0.000000+0.000000+0.000000 rotation=1 normalized-zpos=7 color-encoding=ITU-R BT.601 YCbCr color-range=YCbCr limited range color_mgmt_changed=0 crtc[80]: video_port1 enable=0 active=0 self_refresh_active=0 planes_changed=0 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=0 connector_mask=0 encoder_mask=0 mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 connector[82]: HDMI-A-1 crtc=(null) self_refresh_aware=0 interlace_allowed=0 ycbcr_420_allowed=0 max_requested_bpc=8 colorspace=Default broadcast_rgb=Automatic is_limited_range=n output_bpc=0 output_format=RGB tmds_char_rate=0 root@myth-frontend-56b0f018b5e0:~ #
Hi,
On Mon, 17 Feb 2025 10:48:00 +0100, Piotr Oniszczuk wrote:
>I manually installed it on my sd card and sill getting:
I have built a armbian bookworm minimal image, you can test it in case
there are hardware related issues:
http://cdn.haguro.top/share/Armbian-unofficial_25.02.0-trunk_Rock-5-itx_bookworm_edge_6.14.0-rc2_minimal.img.xz
Best regards,
Jianfeng
> Wiadomość napisana przez Jianfeng Liu <liujianfeng1994@gmail.com> w dniu 17 lut 2025, o godz. 14:21: > > Hi, > > On Mon, 17 Feb 2025 10:48:00 +0100, Piotr Oniszczuk wrote: >> I manually installed it on my sd card and sill getting: > > I have built a armbian bookworm minimal image, you can test it in case > there are hardware related issues: > http://cdn.haguro.top/share/Armbian-unofficial_25.02.0-trunk_Rock-5-itx_bookworm_edge_6.14.0-rc2_minimal.img.xz > > Best regards, > Jianfeng Many thx! This is very kind! I flashed, booted …. and have exactly the same symptoms & logs like on my previous email :-( Being desperate I reflowed hdmi ports board area and - believe or not - this seems to help (albeit don’t know for how long :-) Now hdmi1 works nicely. Jianfeng, many thx for your persistence with my hw mess….
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts index 6d68f70284e..a4fdced052c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts @@ -11,6 +11,7 @@ #include <dt-bindings/leds/common.h> #include <dt-bindings/pinctrl/rockchip.h> #include <dt-bindings/pwm/pwm.h> +#include <dt-bindings/soc/rockchip,vop2.h> #include "dt-bindings/usb/pd.h" #include "rk3588.dtsi" @@ -89,6 +90,17 @@ fan0: pwm-fan { pwms = <&pwm14 0 10000 0>; }; + hdmi1-con { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi1_con_in: endpoint { + remote-endpoint = <&hdmi1_out_con>; + }; + }; + }; + /* M.2 E-KEY */ sdio_pwrseq: sdio-pwrseq { compatible = "mmc-pwrseq-simple"; @@ -261,6 +273,32 @@ &gpu { status = "okay"; }; +&hdmi1 { + pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd + &hdmim1_tx1_scl &hdmim1_tx1_sda>; + status = "okay"; +}; + +&hdmi1_in { + hdmi1_in_vp1: endpoint { + remote-endpoint = <&vp1_out_hdmi1>; + }; +}; + +&hdmi1_out { + hdmi1_out_con: endpoint { + remote-endpoint = <&hdmi1_con_in>; + }; +}; + +&hdptxphy_hdmi0 { + status = "okay"; +}; + +&hdptxphy1 { + status = "okay"; +}; + &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0m2_xfer>; @@ -1209,3 +1247,18 @@ &usbdp_phy1 { rockchip,dp-lane-mux = <2 3>; status = "okay"; }; + +&vop { + status = "okay"; +}; + +&vop_mmu { + status = "okay"; +}; + +&vp1 { + vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 { + reg = <ROCKCHIP_VOP2_EP_HDMI1>; + remote-endpoint = <&hdmi1_in_vp1>; + }; +};
Enable the HDMI port next to ethernet port. Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com> --- .../boot/dts/rockchip/rk3588-rock-5-itx.dts | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+)