@@ -202,6 +202,115 @@ &gcc {
<&sleep_clk>;
};
+&i2c2 {
+ clock-frequency = <400000>;
+ pinctrl-0 = <&qup_i2c2_data_clk &ioexp_intr_active &ioexp_reset_active>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ ioexp: gpio@3e {
+ compatible = "semtech,sx1509q";
+ reg = <0x3e>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <58 0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ semtech,probe-reset;
+ pinctrl-names = "default";
+ pinctrl-0 = <&dsi_dp_hpd_cfg_pins &dsi_dp_cdet_cfg_pins>;
+
+ // HPD configuration for DSI to DP port
+ dsi_dp_hpd_cfg_pins: gpio0-cfg {
+ pins = "gpio0";
+ bias-pull-up;
+ };
+
+ // Connection detect configuration for DSI to DP port
+ dsi_dp_cdet_cfg_pins: gpio1-cfg {
+ pins = "gpio1";
+ bias-pull-down;
+ };
+ };
+
+ i2c-mux@77 {
+ compatible = "nxp,pca9542";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ anx7625@58 {
+ compatible = "analogix,anx7625";
+ reg = <0x58>;
+ interrupt-parent = <&ioexp>;
+ interrupts = <0 0>;
+ enable-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
+ wakeup-source;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ anx_7625_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ anx_7625_out: endpoint {
+ };
+ };
+ };
+ };
+ };
+ };
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&anx_7625_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l5a>;
+ status = "okay";
+};
+
+&tlmm {
+ ioexp_intr_active: ioexp_intr_active {
+ pins = "gpio58";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ ioexp_reset_active: ioexp_reset_active {
+ pins = "gpio3";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};