Message ID | 20241023164104.66282-3-macroalpha82@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Indiedroid Nova Audio/HDMI Updates | expand |
Am Mittwoch, 23. Oktober 2024, 18:41:04 CEST schrieb Chris Morgan: > From: Chris Morgan <macromorgan@hotmail.com> > > 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 > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > .../dts/rockchip/rk3588s-indiedroid-nova.dts | 56 +++++++++++++++++++ > 1 file changed, 56 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts > index a4b930f6987f..547b3ca881e0 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts > @@ -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>; > + }; > +}; >
>+ hdmi0-con { >+ compatible = "hdmi-connector"; >+ type = "c"; This should be type d, the Nova has a micro HDMI port, not a mini HDMI port. >+ >+&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
On Wed, Oct 23, 2024 at 08:14:54PM -0500, Jimmy Hon wrote: > >+ hdmi0-con { > >+ compatible = "hdmi-connector"; > >+ type = "c"; > This should be type d, the Nova has a micro HDMI port, not a mini HDMI port. > > > >+ > >+&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 > 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
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts index a4b930f6987f..547b3ca881e0 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts @@ -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>; + }; +};