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

Reply via email to