2 * ARM Ltd. Versatile Express
4 * Motherboard Express uATX
9 * RS1 memory map ("ARM Cortex-A Series memory map" in the board's
10 * Technical Reference Manual)
12 * WARNING! The hardware described in this file is independent from the
13 * original variant (vexpress-v2m.dtsi), but there is a strong
14 * correspondence between the two configurations.
16 * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT
17 * CHANGES TO vexpress-v2m.dtsi!
25 arm,vexpress,site = <0>;
26 arm,v2m-memory-map = "rs1";
27 compatible = "arm,vexpress,v2m-p1", "simple-bus";
28 #address-cells = <2>; /* SMB chipselect number and offset */
30 #interrupt-cells = <1>;
34 compatible = "arm,vexpress-flash", "cfi-flash";
35 reg = <0 0x00000000 0x04000000>,
36 <4 0x00000000 0x04000000>;
41 compatible = "arm,vexpress-psram", "mtd-ram";
42 reg = <1 0x00000000 0x02000000>;
47 compatible = "smsc,lan9118", "smsc,lan9115";
48 reg = <2 0x02000000 0x10000>;
54 vdd33a-supply = <&v2m_fixed_3v3>;
55 vddvario-supply = <&v2m_fixed_3v3>;
59 compatible = "nxp,usb-isp1761";
60 reg = <2 0x03000000 0x20000>;
66 compatible = "simple-bus";
69 ranges = <0 3 0 0x200000>;
71 v2m_sysreg: sysreg@10000 {
72 compatible = "arm,vexpress-sysreg";
73 reg = <0x010000 0x1000>;
76 ranges = <0 0x10000 0x1000>;
78 v2m_led_gpios: gpio@8 {
79 compatible = "arm,vexpress-sysreg,sys_led";
85 v2m_mmc_gpios: gpio@48 {
86 compatible = "arm,vexpress-sysreg,sys_mci";
92 v2m_flash_gpios: gpio@4c {
93 compatible = "arm,vexpress-sysreg,sys_flash";
100 v2m_sysctl: sysctl@20000 {
101 compatible = "arm,sp810", "arm,primecell";
102 reg = <0x020000 0x1000>;
103 clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>;
104 clock-names = "refclk", "timclk", "apb_pclk";
106 clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3";
107 assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>;
108 assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
112 v2m_i2c_pcie: i2c@30000 {
113 compatible = "arm,versatile-i2c";
114 reg = <0x030000 0x1000>;
116 #address-cells = <1>;
120 compatible = "idt,89hpes32h8";
126 compatible = "arm,pl041", "arm,primecell";
127 reg = <0x040000 0x1000>;
130 clock-names = "apb_pclk";
134 compatible = "arm,pl180", "arm,primecell";
135 reg = <0x050000 0x1000>;
136 interrupts = <9>, <10>;
137 cd-gpios = <&v2m_mmc_gpios 0 0>;
138 wp-gpios = <&v2m_mmc_gpios 1 0>;
139 max-frequency = <12000000>;
140 vmmc-supply = <&v2m_fixed_3v3>;
141 clocks = <&v2m_clk24mhz>, <&smbclk>;
142 clock-names = "mclk", "apb_pclk";
146 compatible = "arm,pl050", "arm,primecell";
147 reg = <0x060000 0x1000>;
149 clocks = <&v2m_clk24mhz>, <&smbclk>;
150 clock-names = "KMIREFCLK", "apb_pclk";
154 compatible = "arm,pl050", "arm,primecell";
155 reg = <0x070000 0x1000>;
157 clocks = <&v2m_clk24mhz>, <&smbclk>;
158 clock-names = "KMIREFCLK", "apb_pclk";
161 v2m_serial0: uart@90000 {
162 compatible = "arm,pl011", "arm,primecell";
163 reg = <0x090000 0x1000>;
165 clocks = <&v2m_oscclk2>, <&smbclk>;
166 clock-names = "uartclk", "apb_pclk";
169 v2m_serial1: uart@a0000 {
170 compatible = "arm,pl011", "arm,primecell";
171 reg = <0x0a0000 0x1000>;
173 clocks = <&v2m_oscclk2>, <&smbclk>;
174 clock-names = "uartclk", "apb_pclk";
177 v2m_serial2: uart@b0000 {
178 compatible = "arm,pl011", "arm,primecell";
179 reg = <0x0b0000 0x1000>;
181 clocks = <&v2m_oscclk2>, <&smbclk>;
182 clock-names = "uartclk", "apb_pclk";
185 v2m_serial3: uart@c0000 {
186 compatible = "arm,pl011", "arm,primecell";
187 reg = <0x0c0000 0x1000>;
189 clocks = <&v2m_oscclk2>, <&smbclk>;
190 clock-names = "uartclk", "apb_pclk";
194 compatible = "arm,sp805", "arm,primecell";
195 reg = <0x0f0000 0x1000>;
197 clocks = <&v2m_refclk32khz>, <&smbclk>;
198 clock-names = "wdogclk", "apb_pclk";
201 v2m_timer01: timer@110000 {
202 compatible = "arm,sp804", "arm,primecell";
203 reg = <0x110000 0x1000>;
205 clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>;
206 clock-names = "timclken1", "timclken2", "apb_pclk";
209 v2m_timer23: timer@120000 {
210 compatible = "arm,sp804", "arm,primecell";
211 reg = <0x120000 0x1000>;
213 clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>;
214 clock-names = "timclken1", "timclken2", "apb_pclk";
218 v2m_i2c_dvi: i2c@160000 {
219 compatible = "arm,versatile-i2c";
220 reg = <0x160000 0x1000>;
221 #address-cells = <1>;
225 compatible = "sil,sii9022-tpi", "sil,sii9022";
229 #address-cells = <1>;
234 dvi_bridge_in: endpoint {
235 remote-endpoint = <&clcd_pads>;
242 compatible = "sil,sii9022-cpi", "sil,sii9022";
248 compatible = "arm,pl031", "arm,primecell";
249 reg = <0x170000 0x1000>;
252 clock-names = "apb_pclk";
255 compact-flash@1a0000 {
256 compatible = "arm,vexpress-cf", "ata-generic";
257 reg = <0x1a0000 0x100
263 compatible = "arm,pl111", "arm,primecell";
264 reg = <0x1f0000 0x1000>;
265 interrupt-names = "combined";
267 clocks = <&v2m_oscclk1>, <&smbclk>;
268 clock-names = "clcdclk", "apb_pclk";
269 /* 800x600 16bpp @36MHz works fine */
270 max-memory-bandwidth = <54000000>;
271 memory-region = <&vram>;
274 clcd_pads: endpoint {
275 remote-endpoint = <&dvi_bridge_in>;
276 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
282 v2m_fixed_3v3: fixed-regulator-0 {
283 compatible = "regulator-fixed";
284 regulator-name = "3V3";
285 regulator-min-microvolt = <3300000>;
286 regulator-max-microvolt = <3300000>;
290 v2m_clk24mhz: clk24mhz {
291 compatible = "fixed-clock";
293 clock-frequency = <24000000>;
294 clock-output-names = "v2m:clk24mhz";
297 v2m_refclk1mhz: refclk1mhz {
298 compatible = "fixed-clock";
300 clock-frequency = <1000000>;
301 clock-output-names = "v2m:refclk1mhz";
304 v2m_refclk32khz: refclk32khz {
305 compatible = "fixed-clock";
307 clock-frequency = <32768>;
308 clock-output-names = "v2m:refclk32khz";
312 compatible = "gpio-leds";
315 label = "v2m:green:user1";
316 gpios = <&v2m_led_gpios 0 0>;
317 linux,default-trigger = "heartbeat";
321 label = "v2m:green:user2";
322 gpios = <&v2m_led_gpios 1 0>;
323 linux,default-trigger = "mmc0";
327 label = "v2m:green:user3";
328 gpios = <&v2m_led_gpios 2 0>;
329 linux,default-trigger = "cpu0";
333 label = "v2m:green:user4";
334 gpios = <&v2m_led_gpios 3 0>;
335 linux,default-trigger = "cpu1";
339 label = "v2m:green:user5";
340 gpios = <&v2m_led_gpios 4 0>;
341 linux,default-trigger = "cpu2";
345 label = "v2m:green:user6";
346 gpios = <&v2m_led_gpios 5 0>;
347 linux,default-trigger = "cpu3";
351 label = "v2m:green:user7";
352 gpios = <&v2m_led_gpios 6 0>;
353 linux,default-trigger = "cpu4";
357 label = "v2m:green:user8";
358 gpios = <&v2m_led_gpios 7 0>;
359 linux,default-trigger = "cpu5";
364 compatible = "arm,vexpress,config-bus";
365 arm,vexpress,config-bridge = <&v2m_sysreg>;
368 /* MCC static memory clock */
369 compatible = "arm,vexpress-osc";
370 arm,vexpress-sysreg,func = <1 0>;
371 freq-range = <25000000 60000000>;
373 clock-output-names = "v2m:oscclk0";
376 v2m_oscclk1: oscclk1 {
378 compatible = "arm,vexpress-osc";
379 arm,vexpress-sysreg,func = <1 1>;
380 freq-range = <23750000 65000000>;
382 clock-output-names = "v2m:oscclk1";
385 v2m_oscclk2: oscclk2 {
386 /* IO FPGA peripheral clock */
387 compatible = "arm,vexpress-osc";
388 arm,vexpress-sysreg,func = <1 2>;
389 freq-range = <24000000 24000000>;
391 clock-output-names = "v2m:oscclk2";
395 /* Logic level voltage */
396 compatible = "arm,vexpress-volt";
397 arm,vexpress-sysreg,func = <2 0>;
398 regulator-name = "VIO";
404 /* MCC internal operating temperature */
405 compatible = "arm,vexpress-temp";
406 arm,vexpress-sysreg,func = <4 0>;
411 compatible = "arm,vexpress-reset";
412 arm,vexpress-sysreg,func = <5 0>;
416 compatible = "arm,vexpress-muxfpga";
417 arm,vexpress-sysreg,func = <7 0>;
421 compatible = "arm,vexpress-shutdown";
422 arm,vexpress-sysreg,func = <8 0>;
426 compatible = "arm,vexpress-reboot";
427 arm,vexpress-sysreg,func = <9 0>;
431 compatible = "arm,vexpress-dvimode";
432 arm,vexpress-sysreg,func = <11 0>;