]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: qrb2210-arduino-imola: describe DSI / DP bridge
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Fri, 13 Feb 2026 17:25:25 +0000 (19:25 +0200)
committerBjorn Andersson <andersson@kernel.org>
Thu, 26 Mar 2026 14:40:32 +0000 (09:40 -0500)
Aruino Uno-Q uses Analogix ANX7625 DSI-to-DP bridge to convert DSI
signals to the connected USB-C DisplayPort dongles. Decribe the chip,
USB-C connector and routing of USB and display signals.

Co-developed-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260213-uno-q-anx7625-v2-1-c23359616528@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts

index 5ab605cc56c8010acf49a1defb82045f98e0dc2d..bf088fa9807f040f0c8f405f9111b01790b09377 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/usb/pd.h>
 #include "agatti.dtsi"
 #include "pm4125.dtsi"
 
                leds = <&ledr>, <&ledg>, <&ledb>;
        };
 
+       vreg_anx_30: regulator-anx-30 {
+               compatible = "regulator-fixed";
+               regulator-name = "anx30";
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
        /* PM4125 charger out, supplied by VBAT */
        vph_pwr: regulator-vph-pwr {
                compatible = "regulator-fixed";
        clock-frequency = <100000>;
 
        status = "okay";
+
+       anx7625: encoder@58 {
+               compatible = "analogix,anx7625";
+               reg = <0x58>;
+               interrupts-extended = <&tlmm 81 IRQ_TYPE_EDGE_FALLING>;
+               vdd10-supply = <&pm4125_l11>;
+               vdd18-supply = <&pm4125_l15>;
+               vdd33-supply = <&vreg_anx_30>;
+               analogix,audio-enable;
+               analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
+               analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>;
+
+               pinctrl-0 = <&anx7625_int_pin>, <&anx7625_cable_det_pin>;
+
+               connector {
+                       compatible = "usb-c-connector";
+                       power-role = "sink";
+                       data-role = "dual";
+                       try-power-role = "sink";
+
+                       pd-revision = /bits/ 8 <0x03 0x00 0x00 0x00>;
+                       op-sink-microwatt = <15000000>;
+                       sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
+                                    PDO_VAR(5000, 20000, 3000)>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       anx_hs_in: endpoint {
+                                               remote-endpoint = <&usb_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       anx_ss_in: endpoint {
+                                               remote-endpoint = <&usb_qmpphy_out>;
+                                       };
+                               };
+                       };
+               };
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               anx_dsi0_in: endpoint {
+                                       remote-endpoint = <&mdss_dsi0_out>;
+                                       data-lanes = <0 1 2 3>;
+                               };
+                       };
+               };
+       };
+};
+
+&mdss {
+       status = "okay";
+};
+
+&mdss_dsi0 {
+       vdda-supply = <&pm4125_l5>;
+
+       status = "okay";
+};
+
+&mdss_dsi0_out {
+       remote-endpoint = <&anx_dsi0_in>;
+       data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi0_phy {
+       status = "okay";
 };
 
 &pm4125_vbus {
                output-disable;
        };
 
+       anx7625_cable_det_pin: anx7625-cable-det-pins-state {
+               pins = "gpio46";
+               function = "gpio";
+               drive-strength = <16>;
+               output-disable;
+               bias-pull-up;
+       };
+
+       anx7625_int_pin: anx7625-int-pins-state {
+               pins = "gpio81";
+               function = "gpio";
+               drive-strength = <16>;
+               output-disable;
+               bias-pull-up;
+       };
+
        key_volp_n: key-volp-n-state {
                pins = "gpio96";
                function = "gpio";
        status = "okay";
 };
 
+&usb_dwc3_hs {
+       remote-endpoint = <&anx_hs_in>;
+};
+
 &usb_hsphy {
        vdd-supply = <&pm4125_l12>;
        vdda-pll-supply = <&pm4125_l13>;
        status = "okay";
 };
 
+&usb_qmpphy_out {
+       remote-endpoint = <&anx_ss_in>;
+};
+
 &wifi {
        vdd-0.8-cx-mx-supply = <&pm4125_l7>;
        vdd-1.8-xo-supply = <&pm4125_l13>;