aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArchit Taneja <architt@codeaurora.org>2016-06-23 10:13:30 -0400
committerAndy Gross <andy.gross@linaro.org>2016-08-26 16:31:51 -0400
commit28546b09551190c727c94d1c5c96ca609065beb2 (patch)
treebeb4b41318eac5ff596c484132480c5c957a5717
parent305410ffd1b2ce2a1910f203649fc5f5872d24ed (diff)
arm64: dts: apq8016-sbc: Add HDMI display support
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>
-rw-r--r--arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi48
-rw-r--r--arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi82
2 files changed, 130 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
index ee828a8a8236..e1e6c6b5c489 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
@@ -24,4 +24,52 @@
24 bias-pull-up; 24 bias-pull-up;
25 }; 25 };
26 }; 26 };
27
28 adv7533_int_active: adv533_int_active {
29 pinmux {
30 function = "gpio";
31 pins = "gpio31";
32 };
33 pinconf {
34 pins = "gpio31";
35 drive-strength = <16>;
36 bias-disable;
37 };
38 };
39
40 adv7533_int_suspend: adv7533_int_suspend {
41 pinmux {
42 function = "gpio";
43 pins = "gpio31";
44 };
45 pinconf {
46 pins = "gpio31";
47 drive-strength = <2>;
48 bias-disable;
49 };
50 };
51
52 adv7533_switch_active: adv7533_switch_active {
53 pinmux {
54 function = "gpio";
55 pins = "gpio32";
56 };
57 pinconf {
58 pins = "gpio32";
59 drive-strength = <16>;
60 bias-disable;
61 };
62 };
63
64 adv7533_switch_suspend: adv7533_switch_suspend {
65 pinmux {
66 function = "gpio";
67 pins = "gpio32";
68 };
69 pinconf {
70 pins = "gpio32";
71 drive-strength = <2>;
72 bias-disable;
73 };
74 };
27}; 75};
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index 18639bc0a506..bb062b547110 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -63,6 +63,47 @@
63 /* On High speed expansion */ 63 /* On High speed expansion */
64 label = "HS-I2C2"; 64 label = "HS-I2C2";
65 status = "okay"; 65 status = "okay";
66
67 adv_bridge: bridge@39 {
68 status = "okay";
69
70 compatible = "adi,adv7533";
71 reg = <0x39>;
72
73 interrupt-parent = <&msmgpio>;
74 interrupts = <31 2>;
75
76 adi,dsi-lanes = <4>;
77
78 pd-gpios = <&msmgpio 32 0>;
79
80 avdd-supply = <&pm8916_l6>;
81 v1p2-supply = <&pm8916_l6>;
82 v3p3-supply = <&pm8916_l17>;
83
84 pinctrl-names = "default","sleep";
85 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
86 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
87
88 ports {
89 #address-cells = <1>;
90 #size-cells = <0>;
91
92 port@0 {
93 reg = <0>;
94 adv7533_in: endpoint {
95 remote-endpoint = <&dsi0_out>;
96 };
97 };
98
99 port@1 {
100 reg = <1>;
101 adv7533_out: endpoint {
102 remote-endpoint = <&hdmi_con>;
103 };
104 };
105 };
106 };
66 }; 107 };
67 108
68 i2c@78ba000 { 109 i2c@78ba000 {
@@ -180,6 +221,36 @@
180 lpass@07708000 { 221 lpass@07708000 {
181 status = "okay"; 222 status = "okay";
182 }; 223 };
224
225 mdss@1a00000 {
226 status = "okay";
227
228 mdp@1a01000 {
229 status = "okay";
230 };
231
232 dsi@1a98000 {
233 status = "okay";
234
235 vdda-supply = <&pm8916_l2>;
236 vddio-supply = <&pm8916_l6>;
237
238 ports {
239 port@1 {
240 endpoint {
241 remote-endpoint = <&adv7533_in>;
242 data-lanes = <0 1 2 3>;
243 };
244 };
245 };
246 };
247
248 dsi-phy@1a98300 {
249 status = "okay";
250
251 vddio-supply = <&pm8916_l6>;
252 };
253 };
183 }; 254 };
184 255
185 usb2513 { 256 usb2513 {
@@ -194,6 +265,17 @@
194 pinctrl-names = "default"; 265 pinctrl-names = "default";
195 pinctrl-0 = <&usb_id_default>; 266 pinctrl-0 = <&usb_id_default>;
196 }; 267 };
268
269 hdmi-out {
270 compatible = "hdmi-connector";
271 type = "a";
272
273 port {
274 hdmi_con: endpoint {
275 remote-endpoint = <&adv7533_out>;
276 };
277 };
278 };
197}; 279};
198 280
199&smd_rpm_regulators { 281&smd_rpm_regulators {