]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge
authorVenkata Prahlad Valluru <quic_vvalluru@quicinc.com>
Tue, 28 May 2024 14:19:54 +0000 (19:49 +0530)
committerBjorn Andersson <andersson@kernel.org>
Thu, 27 Jun 2024 21:17:54 +0000 (16:17 -0500)
Rb3Gen2 has a lt9611uxc DSI-to-HDMI bridge on i2c0, with
reset gpio from pm7250b gpio2 and irq gpio from tlmm gpio24.
Bridge supplies are Vdd connected to input supply directly
and vcc to L11c. Enable HDMI output, bridge and corresponding
DSI output.

Signed-off-by: Venkata Prahlad Valluru <quic_vvalluru@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240528141954.7567-1-quic_vvalluru@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts

index c4cde4328e3dfbe67608ba3f61ed33934c6a13fb..0d45662b8028bff475024cff37c33e01d2ee251b 100644 (file)
                };
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con: endpoint {
+                               remote-endpoint = <&lt9611_out>;
+                       };
+               };
+       };
+
+       lt9611_1v2: lt9611-vdd12-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "LT9611_1V2";
+
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1200000>;
+       };
+
        reserved-memory {
                xbl_mem: xbl@80700000 {
                        reg = <0x0 0x80700000 0x0 0x100000>;
        status = "okay";
 };
 
+&i2c0 {
+       clock-frequency = <400000>;
+       status = "okay";
+
+       lt9611_codec: hdmi-bridge@2b {
+               compatible = "lontium,lt9611uxc";
+               reg = <0x2b>;
+
+               interrupts-extended = <&tlmm 24 IRQ_TYPE_EDGE_FALLING>;
+               reset-gpios = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>;
+
+               vdd-supply = <&lt9611_1v2>;
+               vcc-supply = <&vreg_l11c_2p8>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               lt9611_a: endpoint {
+                                       remote-endpoint = <&mdss_dsi0_out>;
+                               };
+                       };
+
+                       port@2 {
+                               reg = <2>;
+
+                               lt9611_out: endpoint {
+                                       remote-endpoint = <&hdmi_con>;
+                               };
+                       };
+               };
+       };
+};
+
 &i2c1 {
        status = "okay";
 
        remote-endpoint = <&usb_dp_qmpphy_dp_in>;
 };
 
+&mdss_dsi {
+       vdda-supply = <&vreg_l6b_1p2>;
+       status = "okay";
+};
+
+&mdss_dsi0_out {
+       remote-endpoint = <&lt9611_a>;
+       data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi_phy {
+       vdds-supply = <&vreg_l10c_0p88>;
+       status = "okay";
+};
+
 &mdss_edp {
        status = "okay";
 };
        function = "gpio";
        bias-disable;
 };
+
+&pm7250b_gpios {
+       lt9611_rst_pin: lt9611-rst-state {
+               pins = "gpio2";
+               function = "normal";
+
+               output-high;
+               input-disable;
+               power-source = <0>;
+       };
+};
+
+&tlmm {
+       lt9611_irq_pin: lt9611-irq-state {
+               pins = "gpio24";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+};