diff options
author | Pawel Moll <pawel.moll@arm.com> | 2014-09-18 05:23:06 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-09-25 17:54:33 -0400 |
commit | 478a4f81af4936c683a03488e15b087e28cb4f0d (patch) | |
tree | 7965c38fa9ed4fa927195e8c97f727d4287e6ab4 /arch | |
parent | 667bbd533772e2539cf7d7fed7cd7d284a624e37 (diff) |
ARM: vexpress: Add CLCD Device Tree properties
... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using
dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp).
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/vexpress-v2m.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/vexpress-v2p-ca9.dts | 31 |
3 files changed, 99 insertions, 4 deletions
diff --git a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi index 756c986995a3..2efb2058ba49 100644 --- a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi +++ b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | |||
@@ -41,7 +41,7 @@ | |||
41 | bank-width = <4>; | 41 | bank-width = <4>; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | vram@2,00000000 { | 44 | v2m_video_ram: vram@2,00000000 { |
45 | compatible = "arm,vexpress-vram"; | 45 | compatible = "arm,vexpress-vram"; |
46 | reg = <2 0x00000000 0x00800000>; | 46 | reg = <2 0x00000000 0x00800000>; |
47 | }; | 47 | }; |
@@ -246,9 +246,41 @@ | |||
246 | clcd@1f0000 { | 246 | clcd@1f0000 { |
247 | compatible = "arm,pl111", "arm,primecell"; | 247 | compatible = "arm,pl111", "arm,primecell"; |
248 | reg = <0x1f0000 0x1000>; | 248 | reg = <0x1f0000 0x1000>; |
249 | interrupt-names = "combined"; | ||
249 | interrupts = <14>; | 250 | interrupts = <14>; |
250 | clocks = <&v2m_oscclk1>, <&smbclk>; | 251 | clocks = <&v2m_oscclk1>, <&smbclk>; |
251 | clock-names = "clcdclk", "apb_pclk"; | 252 | clock-names = "clcdclk", "apb_pclk"; |
253 | memory-region = <&v2m_video_ram>; | ||
254 | max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */ | ||
255 | |||
256 | port { | ||
257 | v2m_clcd_pads: endpoint { | ||
258 | remote-endpoint = <&v2m_clcd_panel>; | ||
259 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; | ||
260 | }; | ||
261 | }; | ||
262 | |||
263 | panel { | ||
264 | compatible = "panel-dpi"; | ||
265 | |||
266 | port { | ||
267 | v2m_clcd_panel: endpoint { | ||
268 | remote-endpoint = <&v2m_clcd_pads>; | ||
269 | }; | ||
270 | }; | ||
271 | |||
272 | panel-timing { | ||
273 | clock-frequency = <25175000>; | ||
274 | hactive = <640>; | ||
275 | hback-porch = <40>; | ||
276 | hfront-porch = <24>; | ||
277 | hsync-len = <96>; | ||
278 | vactive = <480>; | ||
279 | vback-porch = <32>; | ||
280 | vfront-porch = <11>; | ||
281 | vsync-len = <2>; | ||
282 | }; | ||
283 | }; | ||
252 | }; | 284 | }; |
253 | }; | 285 | }; |
254 | 286 | ||
@@ -350,7 +382,7 @@ | |||
350 | /* CLCD clock */ | 382 | /* CLCD clock */ |
351 | compatible = "arm,vexpress-osc"; | 383 | compatible = "arm,vexpress-osc"; |
352 | arm,vexpress-sysreg,func = <1 1>; | 384 | arm,vexpress-sysreg,func = <1 1>; |
353 | freq-range = <23750000 63500000>; | 385 | freq-range = <23750000 65000000>; |
354 | #clock-cells = <0>; | 386 | #clock-cells = <0>; |
355 | clock-output-names = "v2m:oscclk1"; | 387 | clock-output-names = "v2m:oscclk1"; |
356 | }; | 388 | }; |
diff --git a/arch/arm/boot/dts/vexpress-v2m.dtsi b/arch/arm/boot/dts/vexpress-v2m.dtsi index ba856d604fb7..cb3090f919a7 100644 --- a/arch/arm/boot/dts/vexpress-v2m.dtsi +++ b/arch/arm/boot/dts/vexpress-v2m.dtsi | |||
@@ -40,7 +40,7 @@ | |||
40 | bank-width = <4>; | 40 | bank-width = <4>; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | vram@3,00000000 { | 43 | v2m_video_ram: vram@3,00000000 { |
44 | compatible = "arm,vexpress-vram"; | 44 | compatible = "arm,vexpress-vram"; |
45 | reg = <3 0x00000000 0x00800000>; | 45 | reg = <3 0x00000000 0x00800000>; |
46 | }; | 46 | }; |
@@ -245,9 +245,41 @@ | |||
245 | clcd@1f000 { | 245 | clcd@1f000 { |
246 | compatible = "arm,pl111", "arm,primecell"; | 246 | compatible = "arm,pl111", "arm,primecell"; |
247 | reg = <0x1f000 0x1000>; | 247 | reg = <0x1f000 0x1000>; |
248 | interrupt-names = "combined"; | ||
248 | interrupts = <14>; | 249 | interrupts = <14>; |
249 | clocks = <&v2m_oscclk1>, <&smbclk>; | 250 | clocks = <&v2m_oscclk1>, <&smbclk>; |
250 | clock-names = "clcdclk", "apb_pclk"; | 251 | clock-names = "clcdclk", "apb_pclk"; |
252 | memory-region = <&v2m_video_ram>; | ||
253 | max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */ | ||
254 | |||
255 | port { | ||
256 | v2m_clcd_pads: endpoint { | ||
257 | remote-endpoint = <&v2m_clcd_panel>; | ||
258 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; | ||
259 | }; | ||
260 | }; | ||
261 | |||
262 | panel { | ||
263 | compatible = "panel-dpi"; | ||
264 | |||
265 | port { | ||
266 | v2m_clcd_panel: endpoint { | ||
267 | remote-endpoint = <&v2m_clcd_pads>; | ||
268 | }; | ||
269 | }; | ||
270 | |||
271 | panel-timing { | ||
272 | clock-frequency = <25175000>; | ||
273 | hactive = <640>; | ||
274 | hback-porch = <40>; | ||
275 | hfront-porch = <24>; | ||
276 | hsync-len = <96>; | ||
277 | vactive = <480>; | ||
278 | vback-porch = <32>; | ||
279 | vfront-porch = <11>; | ||
280 | vsync-len = <2>; | ||
281 | }; | ||
282 | }; | ||
251 | }; | 283 | }; |
252 | }; | 284 | }; |
253 | 285 | ||
@@ -349,7 +381,7 @@ | |||
349 | /* CLCD clock */ | 381 | /* CLCD clock */ |
350 | compatible = "arm,vexpress-osc"; | 382 | compatible = "arm,vexpress-osc"; |
351 | arm,vexpress-sysreg,func = <1 1>; | 383 | arm,vexpress-sysreg,func = <1 1>; |
352 | freq-range = <23750000 63500000>; | 384 | freq-range = <23750000 65000000>; |
353 | #clock-cells = <0>; | 385 | #clock-cells = <0>; |
354 | clock-output-names = "v2m:oscclk1"; | 386 | clock-output-names = "v2m:oscclk1"; |
355 | }; | 387 | }; |
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts index 62d9b225dcce..23662b5a5e9d 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts | |||
@@ -70,9 +70,40 @@ | |||
70 | clcd@10020000 { | 70 | clcd@10020000 { |
71 | compatible = "arm,pl111", "arm,primecell"; | 71 | compatible = "arm,pl111", "arm,primecell"; |
72 | reg = <0x10020000 0x1000>; | 72 | reg = <0x10020000 0x1000>; |
73 | interrupt-names = "combined"; | ||
73 | interrupts = <0 44 4>; | 74 | interrupts = <0 44 4>; |
74 | clocks = <&oscclk1>, <&oscclk2>; | 75 | clocks = <&oscclk1>, <&oscclk2>; |
75 | clock-names = "clcdclk", "apb_pclk"; | 76 | clock-names = "clcdclk", "apb_pclk"; |
77 | max-memory-bandwidth = <130000000>; /* 16bpp @ 63.5MHz */ | ||
78 | |||
79 | port { | ||
80 | clcd_pads: endpoint { | ||
81 | remote-endpoint = <&clcd_panel>; | ||
82 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; | ||
83 | }; | ||
84 | }; | ||
85 | |||
86 | panel { | ||
87 | compatible = "panel-dpi"; | ||
88 | |||
89 | port { | ||
90 | clcd_panel: endpoint { | ||
91 | remote-endpoint = <&clcd_pads>; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | panel-timing { | ||
96 | clock-frequency = <63500127>; | ||
97 | hactive = <1024>; | ||
98 | hback-porch = <152>; | ||
99 | hfront-porch = <48>; | ||
100 | hsync-len = <104>; | ||
101 | vactive = <768>; | ||
102 | vback-porch = <23>; | ||
103 | vfront-porch = <3>; | ||
104 | vsync-len = <4>; | ||
105 | }; | ||
106 | }; | ||
76 | }; | 107 | }; |
77 | 108 | ||
78 | memory-controller@100e0000 { | 109 | memory-controller@100e0000 { |