[PATCH] arm64: dts: qcom: qrb2210-arduino-imola: describe DSI / DP bridge
From: Dmitry Baryshkov
Date: Wed Feb 11 2026 - 04:28:29 EST
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@xxxxxxxxxx>
Signed-off-by: Martino Facchin <m.facchin@xxxxxxxxxx>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
Note, to function correctly this patch depends on several patch series,
fixing the ANX7625 driver:
- https://lore.kernel.org/r/20251218151307.95491-1-loic.poulain@xxxxxxxxxxxxxxxx/
(part of 7.0-rc1)
- https://lore.kernel.org/r/20260121-anx7625-typec-v2-0-d14f31256a17@xxxxxxxxxxxxxxxx/
(part of drm-misc-next, to be landed in 7.1)
- https://lore.kernel.org/r/20260211-anx7625-fix-pd-v1-1-1dd31451b06f@xxxxxxxxxxxxxxxx/
(recently submitted, hopefully to land in 7.1)
---
arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts | 112 +++++++++++++++++++++
1 file changed, 112 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
index 197ab6eb1666..ba3f0c74e814 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/usb/pd.h>
#include "agatti.dtsi"
#include "pm4125.dtsi"
@@ -109,6 +110,16 @@ multi-led {
leds = <&ledr>, <&ledg>, <&ledb>;
};
+ vreg_anx_30: regulator-anx-30 {
+ /* ANX7625 VDD3 */
+ 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";
@@ -142,6 +153,83 @@ &i2c1 {
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 {
@@ -361,6 +449,22 @@ key_vold_n: key-vold-n-state {
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";
@@ -428,6 +532,10 @@ &usb {
status = "okay";
};
+&usb_dwc3_hs {
+ remote-endpoint = <&anx_hs_in>;
+};
+
&usb_hsphy {
vdd-supply = <&pm4125_l12>;
vdda-pll-supply = <&pm4125_l13>;
@@ -443,6 +551,10 @@ &usb_qmpphy {
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>;
---
base-commit: 9845cf73f7db6094c0d8419d6adb848028f4a921
change-id: 20260211-uno-q-anx7625-26f8fa8360ca
Best regards,
--
With best wishes
Dmitry