.. | .. |
---|
192 | 192 | interrupts = <27>; |
---|
193 | 193 | }; |
---|
194 | 194 | |
---|
| 195 | + bridge { |
---|
| 196 | + compatible = "ti,ths8134a", "ti,ths8134"; |
---|
| 197 | + #address-cells = <1>; |
---|
| 198 | + #size-cells = <0>; |
---|
| 199 | + |
---|
| 200 | + ports { |
---|
| 201 | + #address-cells = <1>; |
---|
| 202 | + #size-cells = <0>; |
---|
| 203 | + |
---|
| 204 | + port@0 { |
---|
| 205 | + reg = <0>; |
---|
| 206 | + |
---|
| 207 | + vga_bridge_in: endpoint { |
---|
| 208 | + remote-endpoint = <&clcd_pads_vga_dac>; |
---|
| 209 | + }; |
---|
| 210 | + }; |
---|
| 211 | + |
---|
| 212 | + port@1 { |
---|
| 213 | + reg = <1>; |
---|
| 214 | + |
---|
| 215 | + vga_bridge_out: endpoint { |
---|
| 216 | + remote-endpoint = <&vga_con_in>; |
---|
| 217 | + }; |
---|
| 218 | + }; |
---|
| 219 | + }; |
---|
| 220 | + }; |
---|
| 221 | + |
---|
| 222 | + vga { |
---|
| 223 | + compatible = "vga-connector"; |
---|
| 224 | + |
---|
| 225 | + port { |
---|
| 226 | + vga_con_in: endpoint { |
---|
| 227 | + remote-endpoint = <&vga_bridge_out>; |
---|
| 228 | + }; |
---|
| 229 | + }; |
---|
| 230 | + }; |
---|
| 231 | + |
---|
195 | 232 | fpga { |
---|
196 | 233 | /* |
---|
197 | 234 | * These PrimeCells are at the same location and using |
---|
.. | .. |
---|
254 | 291 | interrupts = <22>; |
---|
255 | 292 | clocks = <&auxosc>, <&pclk>; |
---|
256 | 293 | clock-names = "clcdclk", "apb_pclk"; |
---|
| 294 | + /* 640x480 16bpp @ 25.175MHz is 36827428 bytes/s */ |
---|
| 295 | + max-memory-bandwidth = <40000000>; |
---|
257 | 296 | |
---|
258 | | - port { |
---|
259 | | - /* |
---|
260 | | - * The VGA connected is implemented with a |
---|
261 | | - * THS8134A triple DAC that can be run in 24bit |
---|
262 | | - * or 16bit RGB mode. |
---|
263 | | - */ |
---|
264 | | - clcd_pads: endpoint { |
---|
265 | | - remote-endpoint = <&clcd_panel>; |
---|
266 | | - arm,pl11x,tft-r0g0b0-pads = <1 7 13>; |
---|
267 | | - }; |
---|
268 | | - }; |
---|
269 | | - |
---|
270 | | - panel { |
---|
271 | | - compatible = "panel-dpi"; |
---|
272 | | - |
---|
273 | | - port { |
---|
274 | | - clcd_panel: endpoint { |
---|
275 | | - remote-endpoint = <&clcd_pads>; |
---|
276 | | - }; |
---|
277 | | - }; |
---|
278 | | - |
---|
279 | | - /* Standard 640x480 VGA timings */ |
---|
280 | | - panel-timing { |
---|
281 | | - clock-frequency = <25175000>; |
---|
282 | | - hactive = <640>; |
---|
283 | | - hback-porch = <48>; |
---|
284 | | - hfront-porch = <16>; |
---|
285 | | - hsync-len = <96>; |
---|
286 | | - vactive = <480>; |
---|
287 | | - vback-porch = <33>; |
---|
288 | | - vfront-porch = <10>; |
---|
289 | | - vsync-len = <2>; |
---|
| 297 | + /* |
---|
| 298 | + * This port is routed through a PLD (Programmable |
---|
| 299 | + * Logic Device) that routes the output from the CLCD |
---|
| 300 | + * (after transformations) to the VGA DAC and also an |
---|
| 301 | + * external panel connector. The PLD is essential for |
---|
| 302 | + * supporting RGB565/BGR565. |
---|
| 303 | + * |
---|
| 304 | + * The signals from the port thus reaches two endpoints. |
---|
| 305 | + * The PLD is managed through a few special bits in the |
---|
| 306 | + * FPGA "sysreg". |
---|
| 307 | + * |
---|
| 308 | + * This arrangement can be clearly seen in |
---|
| 309 | + * ARM DUI 0225D, page 3-41, figure 3-19. |
---|
| 310 | + */ |
---|
| 311 | + port@0 { |
---|
| 312 | + clcd_pads_vga_dac: endpoint { |
---|
| 313 | + remote-endpoint = <&vga_bridge_in>; |
---|
| 314 | + arm,pl11x,tft-r0g0b0-pads = <0 8 16>; |
---|
290 | 315 | }; |
---|
291 | 316 | }; |
---|
292 | 317 | }; |
---|