Message ID | 20241024133240.1737647-1-heiko@sntech.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] arm64: dts: rockchip: add HDMI support to rk3588-tiger-haikou | expand |
Hi Heiko, On 10/24/24 3:32 PM, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@cherry.de> > > The Haikou baseboard has an hdmi output port, which is connected > via the Q7 connector to the hdmi0 controller of the rk3588. > > Add the necessary plumbing to enable it using the recently merged > hdmi-qp controller. > > Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> > --- > .../boot/dts/rockchip/rk3588-tiger-haikou.dts | 50 +++++++++++++++++++ > 1 file changed, 50 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts > index e4b7a0a4444b..e3596341b816 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts > @@ -5,6 +5,7 @@ > > /dts-v1/; > #include <dt-bindings/input/input.h> > +#include <dt-bindings/soc/rockchip,vop2.h> > #include "rk3588-tiger.dtsi" > > / { > @@ -61,6 +62,17 @@ switch-lid-btn-n { > }; > }; > > + hdmi-con { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi_con_in: endpoint { > + remote-endpoint = <&hdmi0_out_con>; > + }; > + }; > + }; > + > i2s3-sound { > compatible = "simple-audio-card"; > simple-audio-card,format = "i2s"; > @@ -155,6 +167,29 @@ &gmac0 { > status = "okay"; > }; > > +&hdmi0 { > + /* No CEC on Haikou */ > + pinctrl-names = "default"; > + pinctrl-0 = <&hdmim0_tx0_hpd &hdmim1_tx0_scl &hdmim1_tx0_sda>; The pinctrl for HDMI is fixed on Tiger so we should rather have this in Tiger DTSI. Why we have those defined in Haikou as well downstream is because we do not have CEC routed on Haikou, but it is exposed by Tiger on Q7 connector, so basically, the point is the pinctrl-0 in Haikou is a subset of the one in Tiger. So please have the following in rk3588-tiger.dtsi as well: pinctrl-0 = <&hdmim1_tx0_cec &hdmim0_tx0_hpd &hdmim1_tx0_scl &hdmim1_tx0_sda>; It'd be nice to have HDMI audio as well, but one thing after the other I guess :) > + status = "okay"; > +}; > + > +&hdmi0_in { BTW, I'm not very happy with this naming. There is an HDMI-RX controller on RK3588 as well, which is routed on Tiger, so this will be unnecessarily confusing: "which one REALLY is the HDMI input". Maybe hdmitx0_in would have made more sense. Anyway, I'm too late to the party :) Cheers, Quentin
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts index e4b7a0a4444b..e3596341b816 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts @@ -5,6 +5,7 @@ /dts-v1/; #include <dt-bindings/input/input.h> +#include <dt-bindings/soc/rockchip,vop2.h> #include "rk3588-tiger.dtsi" / { @@ -61,6 +62,17 @@ switch-lid-btn-n { }; }; + hdmi-con { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi0_out_con>; + }; + }; + }; + i2s3-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; @@ -155,6 +167,29 @@ &gmac0 { status = "okay"; }; +&hdmi0 { + /* No CEC on Haikou */ + pinctrl-names = "default"; + pinctrl-0 = <&hdmim0_tx0_hpd &hdmim1_tx0_scl &hdmim1_tx0_sda>; + status = "okay"; +}; + +&hdmi0_in { + hdmi0_in_vp0: endpoint { + remote-endpoint = <&vp0_out_hdmi0>; + }; +}; + +&hdmi0_out { + hdmi0_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&hdptxphy_hdmi0 { + status = "okay"; +}; + &i2c1 { status = "okay"; @@ -321,3 +356,18 @@ &usb_host1_xhci { &usb_host2_xhci { status = "okay"; }; + +&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>; + }; +};