forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/arm/boot/dts/integratorcp.dts
....@@ -192,6 +192,43 @@
192192 interrupts = <27>;
193193 };
194194
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
+
195232 fpga {
196233 /*
197234 * These PrimeCells are at the same location and using
....@@ -254,39 +291,27 @@
254291 interrupts = <22>;
255292 clocks = <&auxosc>, <&pclk>;
256293 clock-names = "clcdclk", "apb_pclk";
294
+ /* 640x480 16bpp @ 25.175MHz is 36827428 bytes/s */
295
+ max-memory-bandwidth = <40000000>;
257296
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>;
290315 };
291316 };
292317 };