aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-01-23 08:19:05 -0500
committerLinus Walleij <linus.walleij@linaro.org>2018-03-19 21:03:17 -0400
commit6011a15d2261b3c326172347c74095a48c150b37 (patch)
tree937d01f3d3a16758ce853b566ff1a3c5e77ad020
parentdfdc2488c324af6a794316b4831de6e3f20c65c9 (diff)
ARM: dts: Augment VGA connector bridge on Realview PBX
The PL111 in the ARM reference platforms are connected to "panels" that are actually dumb VGA DAC connector bridges. Now that we can support the proper bridges in the DRM driver, fix this up. Cc: Mali DP Maintainers <malidp@foss.arm.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--arch/arm/boot/dts/arm-realview-pbx.dtsi82
1 files changed, 55 insertions, 27 deletions
diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi
index aeb49c4bd773..10868ba3277f 100644
--- a/arch/arm/boot/dts/arm-realview-pbx.dtsi
+++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi
@@ -34,7 +34,8 @@
34 serial1 = &serial1; 34 serial1 = &serial1;
35 serial2 = &serial2; 35 serial2 = &serial2;
36 serial3 = &serial3; 36 serial3 = &serial3;
37 i2c0 = &i2c; 37 i2c0 = &i2c0;
38 i2c1 = &i2c1;
38 }; 39 };
39 40
40 memory { 41 memory {
@@ -158,6 +159,49 @@
158 port1-otg; 159 port1-otg;
159 }; 160 };
160 161
162 bridge {
163 compatible = "ti,ths8134a", "ti,ths8134";
164 #address-cells = <1>;
165 #size-cells = <0>;
166
167 ports {
168 #address-cells = <1>;
169 #size-cells = <0>;
170
171 port@0 {
172 reg = <0>;
173
174 vga_bridge_in: endpoint {
175 remote-endpoint = <&clcd_pads>;
176 };
177 };
178
179 port@1 {
180 reg = <1>;
181
182 vga_bridge_out: endpoint {
183 remote-endpoint = <&vga_con_in>;
184 };
185 };
186 };
187 };
188
189 vga {
190 /*
191 * This DDC I2C is connected directly to the DVI portions
192 * of the connector, so it's not really working when the
193 * monitor is connected to the VGA connector.
194 */
195 compatible = "vga-connector";
196 ddc-i2c-bus = <&i2c1>;
197
198 port {
199 vga_con_in: endpoint {
200 remote-endpoint = <&vga_bridge_out>;
201 };
202 };
203 };
204
161 soc: soc@0 { 205 soc: soc@0 {
162 compatible = "arm,realview-pbx-soc", "simple-bus"; 206 compatible = "arm,realview-pbx-soc", "simple-bus";
163 #address-cells = <1>; 207 #address-cells = <1>;
@@ -285,7 +329,7 @@
285 <&timclk>; 329 <&timclk>;
286 }; 330 };
287 331
288 i2c: i2c@10002000 { 332 i2c0: i2c@10002000 {
289 #address-cells = <1>; 333 #address-cells = <1>;
290 #size-cells = <0>; 334 #size-cells = <0>;
291 compatible = "arm,versatile-i2c"; 335 compatible = "arm,versatile-i2c";
@@ -396,7 +440,12 @@
396 clock-names = "apb_pclk"; 440 clock-names = "apb_pclk";
397 }; 441 };
398 442
399 /* DVI serial bus control is at 10016000 */ 443 i2c1: i2c@10016000 {
444 #address-cells = <1>;
445 #size-cells = <0>;
446 compatible = "arm,versatile-i2c";
447 reg = <0x10016000 0x1000>;
448 };
400 449
401 rtc: rtc@10017000 { 450 rtc: rtc@10017000 {
402 compatible = "arm,pl031", "arm,primecell"; 451 compatible = "arm,pl031", "arm,primecell";
@@ -506,36 +555,15 @@
506 interrupt-names = "combined"; 555 interrupt-names = "combined";
507 clocks = <&oscclk4>, <&pclk>; 556 clocks = <&oscclk4>, <&pclk>;
508 clock-names = "clcdclk", "apb_pclk"; 557 clock-names = "clcdclk", "apb_pclk";
558 /* 1024x768 16bpp @65MHz works fine */
559 max-memory-bandwidth = <95000000>;
509 560
510 port { 561 port {
511 clcd_pads: endpoint { 562 clcd_pads: endpoint {
512 remote-endpoint = <&clcd_panel>; 563 remote-endpoint = <&vga_bridge_in>;
513 arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 564 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
514 }; 565 };
515 }; 566 };
516
517 panel {
518 compatible = "panel-dpi";
519
520 port {
521 clcd_panel: endpoint {
522 remote-endpoint = <&clcd_pads>;
523 };
524 };
525
526 /* Standard 640x480 VGA timings */
527 panel-timing {
528 clock-frequency = <25175000>;
529 hactive = <640>;
530 hback-porch = <48>;
531 hfront-porch = <16>;
532 hsync-len = <96>;
533 vactive = <480>;
534 vback-porch = <33>;
535 vfront-porch = <10>;
536 vsync-len = <2>;
537 };
538 };
539 }; 567 };
540 }; 568 };
541}; 569};