]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: Augment VGA connector bridge on PB11MPcore
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 1 Sep 2017 07:39:57 +0000 (09:39 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 20 Mar 2018 01:01:15 +0000 (02:01 +0100)
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>
arch/arm/boot/dts/arm-realview-pb11mp.dts

index 3944765ac4b067b0d12c9edf3e4ff34bcf720d62..36203288de4267d6b41d01375027da7d099b473e 100644 (file)
@@ -242,6 +242,49 @@ flash1@44000000 {
                bank-width = <4>;
        };
 
+       bridge {
+               compatible = "ti,ths8134a", "ti,ths8134";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               vga_bridge_in: endpoint {
+                                       remote-endpoint = <&clcd_pads>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               vga_bridge_out: endpoint {
+                                       remote-endpoint = <&vga_con_in>;
+                               };
+                       };
+               };
+       };
+
+       vga {
+               /*
+                * This DDC I2C is connected directly to the DVI portions
+                * of the connector, so it's not really working when the
+                * monitor is connected to the VGA connector.
+                */
+               compatible = "vga-connector";
+               ddc-i2c-bus = <&i2c1>;
+
+               port {
+                       vga_con_in: endpoint {
+                               remote-endpoint = <&vga_bridge_out>;
+                       };
+               };
+       };
+
        soc {
                #address-cells = <1>;
                #size-cells = <1>;
@@ -575,6 +618,13 @@ gpio2: gpio@10015000 {
                        clock-names = "apb_pclk";
                };
 
+               i2c1: i2c@10016000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "arm,versatile-i2c";
+                       reg = <0x10016000 0x1000>;
+               };
+
                rtc: rtc@10017000 {
                        compatible = "arm,pl031", "arm,primecell";
                        reg = <0x10017000 0x1000>;
@@ -609,37 +659,15 @@ clcd@10020000 {
                        interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&oscclk4>, <&pclk>;
                        clock-names = "clcdclk", "apb_pclk";
-                       max-memory-bandwidth = <130000000>; /* 16bpp @ 63.5MHz */
+                       /* 1024x768 16bpp @65MHz works fine */
+                       max-memory-bandwidth = <95000000>;
 
                        port {
                                clcd_pads: endpoint {
-                                       remote-endpoint = <&clcd_panel>;
+                                       remote-endpoint = <&vga_bridge_in>;
                                        arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
                                };
                        };
-
-                       panel {
-                               compatible = "panel-dpi";
-
-                               port {
-                                       clcd_panel: endpoint {
-                                               remote-endpoint = <&clcd_pads>;
-                                       };
-                               };
-
-                               /* Standard 640x480 VGA timings */
-                               panel-timing {
-                                       clock-frequency = <25175000>;
-                                       hactive = <640>;
-                                       hback-porch = <48>;
-                                       hfront-porch = <16>;
-                                       hsync-len = <96>;
-                                       vactive = <480>;
-                                       vback-porch = <33>;
-                                       vfront-porch = <10>;
-                                       vsync-len = <2>;
-                               };
-                       };
                };
 
                /*