Enable the GPU clock controller (gpucc), GMU, display clock controller (dispcc), and MDSS display subsystem.
Add DisplayPort HPD pinctrl state for GPIO47 and wire up the DP output pipeline through the RA620 DP-to-HDMI bridge. The RA620 is a passive hardware bridge requiring no driver - it converts DP to HDMI autonomously. Add the dp-connector and hdmi-connector nodes to complete the display graph. Disable DSI, DSI PHY, eDP, and eDP PHY as these interfaces are not present on the Radxa Dragon Q6A hardware. Tested on Radxa Dragon Q6A (QCS6490) with RA620 DP-to-HDMI bridge connected to an HDMI monitor. Signed-off-by: Graham O'Connor <[email protected]> --- .../dts/qcom/qcs6490-radxa-dragon-q6a.dts | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts index 4003837ad..e8ad6e666 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -1113,3 +1113,88 @@ &pcie1 { &eud { status = "disabled"; }; + +&gpucc { + status = "okay"; +}; + +&gmu { + status = "okay"; +}; + +&dispcc { + status = "okay"; +}; + +&mdss { + status = "okay"; +}; + +&tlmm { + dp_hot_plug_det: dp-hot-plug-det-state { + pins = "gpio47"; + function = "dp_hot"; + bias-disable; + }; +}; + +/ { + hdmi-bridge { + compatible = "dp-connector"; + label = "hdmi"; + type = "full-size"; + pinctrl-names = "default"; + pinctrl-0 = <&dp_hot_plug_det>; + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + hdmi_bridge_in: endpoint { + remote-endpoint = <&usb_dp_qmpphy_out_dp>; + }; + }; + port@1 { + reg = <1>; + hdmi_bridge_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; + + hdmi-connector { + compatible = "hdmi-connector"; + label = "hdmi"; + type = "a"; + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&hdmi_bridge_out>; + }; + }; + }; +}; + +&mdss_dp { + status = "okay"; +}; + +&mdss_dp_out { + data-lanes = <0 1>; +}; + +&mdss_dsi { + status = "disabled"; +}; + +&mdss_dsi_phy { + status = "disabled"; +}; + +&mdss_edp { + status = "disabled"; +}; + +&mdss_edp_phy { + status = "disabled"; +}; -- 2.53.0
