arm64: dts: qcom: qrb5165-rb5: add lt9611 HDMI bridge
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 3 Dec 2020 14:21:04 +0000 (17:21 +0300)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 28 Dec 2020 18:14:22 +0000 (12:14 -0600)
Add device tree node for the lontium lt9611ux DSI-HDMI bridge.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20201203142105.841666-7-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts

index 94d95df..1ade62d 100644 (file)
                regulator-always-on;
        };
 
+       hdmi-out {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con: endpoint {
+                               remote-endpoint = <&lt9611_out>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
 
 
        };
 
+       lt9611_1v2: lt9611-vdd12-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "LT9611_1V2";
+
+               vin-supply = <&vdc_3v3>;
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1200000>;
+       };
+
+       lt9611_3v3: lt9611-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "LT9611_3V3";
+
+               vin-supply = <&vdc_3v3>;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
        vbat: vbat-regulator {
                compatible = "regulator-fixed";
                regulator-name = "VBAT";
        ports {
                port@1 {
                        endpoint {
-                               //remote-endpoint = <&lt9611_a>;
+                               remote-endpoint = <&lt9611_a>;
                                data-lanes = <0 1 2 3>;
                        };
                };
 
 &i2c5 {
        status = "okay";
+       clock-frequency = <400000>;
+
+       lt9611_codec: hdmi-bridge@2b {
+               compatible = "lontium,lt9611uxc";
+               reg = <0x2b>;
+               #sound-dai-cells = <1>;
+
+               interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
+
+               reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
+
+               vdd-supply = <&lt9611_1v2>;
+               vcc-supply = <&lt9611_3v3>;
+
+               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 = <&dsi0_out>;
+                               };
+                       };
+
+#if 0
+                       port@1 {
+                               reg = <1>;
+
+                               lt9611_b: endpoint {
+                                       remote-endpoint = <&dsi1_out>;
+                               };
+                       };
+#endif
+
+                       port@2 {
+                               reg = <2>;
+
+                               lt9611_out: endpoint {
+                                       remote-endpoint = <&hdmi_con>;
+                               };
+                       };
+
+               };
+       };
 };
 
 /* LS-I2C1 */
                "PM_GPIO-B",
                "NC",
                "PM3003A_MODE";
+
+       lt9611_rst_pin: lt9611-rst-pin {
+               pins = "gpio5";
+               function = "normal";
+
+               output-high;
+               input-disable;
+               power-source = <0>;
+       };
 };
 
 &pm8150_rtc {
                "HST_WLAN_UART_TX",
                "HST_WLAN_UART_RX";
 
+       lt9611_irq_pin: lt9611-irq {
+               pins = "gpio63";
+               function = "gpio";
+               bias-disable;
+       };
+
        sdc2_default_state: sdc2-default {
                clk {
                        pins = "sdc2_clk";