]> git.karo-electronics.de Git - linux-beck.git/commitdiff
arm64: dts: apq8016-sbc: Add HDMI display support
authorArchit Taneja <architt@codeaurora.org>
Thu, 23 Jun 2016 14:13:30 +0000 (19:43 +0530)
committerAndy Gross <andy.gross@linaro.org>
Fri, 26 Aug 2016 20:31:51 +0000 (15:31 -0500)
The APQ8016-sbc provides a HDMI output. The APQ8016 display block only
provides a MIPI DSI output. So, the board has a ADV7533 DSI to HDMI
encoder chip that sits between the DSI PHY output and the HDMI
connector.

Add the ADV7533 DT node under its I2C control bus, and tie the DSI
output port to the ADV7533's input port.

Cc: Andy Gross <andy.gross@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi

index ee828a8a82361b61802dbbd5bc520b0425addb03..e1e6c6b5c489bab5c3d9ff104d9b7b46038023ef 100644 (file)
                        bias-pull-up;
                };
        };
+
+       adv7533_int_active: adv533_int_active {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio31";
+               };
+               pinconf {
+                       pins = "gpio31";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       adv7533_int_suspend: adv7533_int_suspend {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio31";
+               };
+               pinconf {
+                       pins = "gpio31";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       adv7533_switch_active: adv7533_switch_active {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio32";
+               };
+               pinconf {
+                       pins = "gpio32";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       adv7533_switch_suspend: adv7533_switch_suspend {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio32";
+               };
+               pinconf {
+                       pins = "gpio32";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
 };
index 18639bc0a506eb82f3cd677f142790bf7b1ad19f..bb062b5471109035ad0d1516eb5076d6ad8e7a2b 100644 (file)
                /* On High speed expansion */
                        label = "HS-I2C2";
                        status = "okay";
+
+                       adv_bridge: bridge@39 {
+                               status = "okay";
+
+                               compatible = "adi,adv7533";
+                               reg = <0x39>;
+
+                               interrupt-parent = <&msmgpio>;
+                               interrupts = <31 2>;
+
+                               adi,dsi-lanes = <4>;
+
+                               pd-gpios = <&msmgpio 32 0>;
+
+                               avdd-supply = <&pm8916_l6>;
+                               v1p2-supply = <&pm8916_l6>;
+                               v3p3-supply = <&pm8916_l17>;
+
+                               pinctrl-names = "default","sleep";
+                               pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
+                               pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+                                               adv7533_in: endpoint {
+                                                       remote-endpoint = <&dsi0_out>;
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+                                               adv7533_out: endpoint {
+                                                       remote-endpoint = <&hdmi_con>;
+                                               };
+                                       };
+                               };
+                       };
                };
 
                i2c@78ba000 {
                lpass@07708000 {
                        status = "okay";
                };
+
+               mdss@1a00000 {
+                       status = "okay";
+
+                       mdp@1a01000 {
+                               status = "okay";
+                       };
+
+                       dsi@1a98000 {
+                               status = "okay";
+
+                               vdda-supply = <&pm8916_l2>;
+                               vddio-supply = <&pm8916_l6>;
+
+                               ports {
+                                       port@1 {
+                                               endpoint {
+                                                       remote-endpoint = <&adv7533_in>;
+                                                       data-lanes = <0 1 2 3>;
+                                               };
+                                       };
+                               };
+                       };
+
+                       dsi-phy@1a98300 {
+                               status = "okay";
+
+                               vddio-supply = <&pm8916_l6>;
+                       };
+               };
        };
 
        usb2513 {
                pinctrl-names = "default";
                pinctrl-0 = <&usb_id_default>;
        };
+
+       hdmi-out {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con: endpoint {
+                               remote-endpoint = <&adv7533_out>;
+                       };
+               };
+       };
 };
 
 &smd_rpm_regulators {