xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/vexpress-v2m.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * ARM Ltd. Versatile Express
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Motherboard Express uATX
6*4882a593Smuzhiyun * V2M-P1
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun * HBI-0190D
9*4882a593Smuzhiyun *
10*4882a593Smuzhiyun * Original memory map ("Legacy memory map" in the board's
11*4882a593Smuzhiyun * Technical Reference Manual)
12*4882a593Smuzhiyun *
13*4882a593Smuzhiyun * WARNING! The hardware described in this file is independent from the
14*4882a593Smuzhiyun * RS1 variant (vexpress-v2m-rs1.dtsi), but there is a strong
15*4882a593Smuzhiyun * correspondence between the two configurations.
16*4882a593Smuzhiyun *
17*4882a593Smuzhiyun * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT
18*4882a593Smuzhiyun * CHANGES TO vexpress-v2m-rs1.dtsi!
19*4882a593Smuzhiyun */
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun/ {
22*4882a593Smuzhiyun	bus@40000000 {
23*4882a593Smuzhiyun		motherboard {
24*4882a593Smuzhiyun			model = "V2M-P1";
25*4882a593Smuzhiyun			arm,hbi = <0x190>;
26*4882a593Smuzhiyun			arm,vexpress,site = <0>;
27*4882a593Smuzhiyun			compatible = "arm,vexpress,v2m-p1", "simple-bus";
28*4882a593Smuzhiyun			#address-cells = <2>; /* SMB chipselect number and offset */
29*4882a593Smuzhiyun			#size-cells = <1>;
30*4882a593Smuzhiyun			#interrupt-cells = <1>;
31*4882a593Smuzhiyun			ranges;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun			flash@0,00000000 {
34*4882a593Smuzhiyun				compatible = "arm,vexpress-flash", "cfi-flash";
35*4882a593Smuzhiyun				reg = <0 0x00000000 0x04000000>,
36*4882a593Smuzhiyun				      <1 0x00000000 0x04000000>;
37*4882a593Smuzhiyun				bank-width = <4>;
38*4882a593Smuzhiyun				partitions {
39*4882a593Smuzhiyun					compatible = "arm,arm-firmware-suite";
40*4882a593Smuzhiyun				};
41*4882a593Smuzhiyun			};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun			psram@2,00000000 {
44*4882a593Smuzhiyun				compatible = "arm,vexpress-psram", "mtd-ram";
45*4882a593Smuzhiyun				reg = <2 0x00000000 0x02000000>;
46*4882a593Smuzhiyun				bank-width = <4>;
47*4882a593Smuzhiyun			};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun			ethernet@3,02000000 {
50*4882a593Smuzhiyun				compatible = "smsc,lan9118", "smsc,lan9115";
51*4882a593Smuzhiyun				reg = <3 0x02000000 0x10000>;
52*4882a593Smuzhiyun				interrupts = <15>;
53*4882a593Smuzhiyun				phy-mode = "mii";
54*4882a593Smuzhiyun				reg-io-width = <4>;
55*4882a593Smuzhiyun				smsc,irq-active-high;
56*4882a593Smuzhiyun				smsc,irq-push-pull;
57*4882a593Smuzhiyun				vdd33a-supply = <&v2m_fixed_3v3>;
58*4882a593Smuzhiyun				vddvario-supply = <&v2m_fixed_3v3>;
59*4882a593Smuzhiyun			};
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun			usb@3,03000000 {
62*4882a593Smuzhiyun				compatible = "nxp,usb-isp1761";
63*4882a593Smuzhiyun				reg = <3 0x03000000 0x20000>;
64*4882a593Smuzhiyun				interrupts = <16>;
65*4882a593Smuzhiyun				port1-otg;
66*4882a593Smuzhiyun			};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun			iofpga@7,00000000 {
69*4882a593Smuzhiyun				compatible = "simple-bus";
70*4882a593Smuzhiyun				#address-cells = <1>;
71*4882a593Smuzhiyun				#size-cells = <1>;
72*4882a593Smuzhiyun				ranges = <0 7 0 0x20000>;
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun				v2m_sysreg: sysreg@0 {
75*4882a593Smuzhiyun					compatible = "arm,vexpress-sysreg";
76*4882a593Smuzhiyun					reg = <0x00000 0x1000>;
77*4882a593Smuzhiyun					#address-cells = <1>;
78*4882a593Smuzhiyun					#size-cells = <1>;
79*4882a593Smuzhiyun					ranges = <0 0 0x1000>;
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun					v2m_led_gpios: gpio@8 {
82*4882a593Smuzhiyun						compatible = "arm,vexpress-sysreg,sys_led";
83*4882a593Smuzhiyun						reg = <0x008 4>;
84*4882a593Smuzhiyun						gpio-controller;
85*4882a593Smuzhiyun						#gpio-cells = <2>;
86*4882a593Smuzhiyun					};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun					v2m_mmc_gpios: gpio@48 {
89*4882a593Smuzhiyun						compatible = "arm,vexpress-sysreg,sys_mci";
90*4882a593Smuzhiyun						reg = <0x048 4>;
91*4882a593Smuzhiyun						gpio-controller;
92*4882a593Smuzhiyun						#gpio-cells = <2>;
93*4882a593Smuzhiyun					};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun					v2m_flash_gpios: gpio@4c {
96*4882a593Smuzhiyun						compatible = "arm,vexpress-sysreg,sys_flash";
97*4882a593Smuzhiyun						reg = <0x04c 4>;
98*4882a593Smuzhiyun						gpio-controller;
99*4882a593Smuzhiyun						#gpio-cells = <2>;
100*4882a593Smuzhiyun					};
101*4882a593Smuzhiyun				};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun				v2m_sysctl: sysctl@1000 {
104*4882a593Smuzhiyun					compatible = "arm,sp810", "arm,primecell";
105*4882a593Smuzhiyun					reg = <0x01000 0x1000>;
106*4882a593Smuzhiyun					clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>;
107*4882a593Smuzhiyun					clock-names = "refclk", "timclk", "apb_pclk";
108*4882a593Smuzhiyun					#clock-cells = <1>;
109*4882a593Smuzhiyun					clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3";
110*4882a593Smuzhiyun					assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>;
111*4882a593Smuzhiyun					assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
112*4882a593Smuzhiyun				};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun				/* PCI-E I2C bus */
115*4882a593Smuzhiyun				v2m_i2c_pcie: i2c@2000 {
116*4882a593Smuzhiyun					compatible = "arm,versatile-i2c";
117*4882a593Smuzhiyun					reg = <0x02000 0x1000>;
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun					#address-cells = <1>;
120*4882a593Smuzhiyun					#size-cells = <0>;
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun					pcie-switch@60 {
123*4882a593Smuzhiyun						compatible = "idt,89hpes32h8";
124*4882a593Smuzhiyun						reg = <0x60>;
125*4882a593Smuzhiyun					};
126*4882a593Smuzhiyun				};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun				aaci@4000 {
129*4882a593Smuzhiyun					compatible = "arm,pl041", "arm,primecell";
130*4882a593Smuzhiyun					reg = <0x04000 0x1000>;
131*4882a593Smuzhiyun					interrupts = <11>;
132*4882a593Smuzhiyun					clocks = <&smbclk>;
133*4882a593Smuzhiyun					clock-names = "apb_pclk";
134*4882a593Smuzhiyun				};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun				mmci@5000 {
137*4882a593Smuzhiyun					compatible = "arm,pl180", "arm,primecell";
138*4882a593Smuzhiyun					reg = <0x05000 0x1000>;
139*4882a593Smuzhiyun					interrupts = <9>, <10>;
140*4882a593Smuzhiyun					cd-gpios = <&v2m_mmc_gpios 0 0>;
141*4882a593Smuzhiyun					wp-gpios = <&v2m_mmc_gpios 1 0>;
142*4882a593Smuzhiyun					max-frequency = <12000000>;
143*4882a593Smuzhiyun					vmmc-supply = <&v2m_fixed_3v3>;
144*4882a593Smuzhiyun					clocks = <&v2m_clk24mhz>, <&smbclk>;
145*4882a593Smuzhiyun					clock-names = "mclk", "apb_pclk";
146*4882a593Smuzhiyun				};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun				kmi@6000 {
149*4882a593Smuzhiyun					compatible = "arm,pl050", "arm,primecell";
150*4882a593Smuzhiyun					reg = <0x06000 0x1000>;
151*4882a593Smuzhiyun					interrupts = <12>;
152*4882a593Smuzhiyun					clocks = <&v2m_clk24mhz>, <&smbclk>;
153*4882a593Smuzhiyun					clock-names = "KMIREFCLK", "apb_pclk";
154*4882a593Smuzhiyun				};
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun				kmi@7000 {
157*4882a593Smuzhiyun					compatible = "arm,pl050", "arm,primecell";
158*4882a593Smuzhiyun					reg = <0x07000 0x1000>;
159*4882a593Smuzhiyun					interrupts = <13>;
160*4882a593Smuzhiyun					clocks = <&v2m_clk24mhz>, <&smbclk>;
161*4882a593Smuzhiyun					clock-names = "KMIREFCLK", "apb_pclk";
162*4882a593Smuzhiyun				};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun				v2m_serial0: uart@9000 {
165*4882a593Smuzhiyun					compatible = "arm,pl011", "arm,primecell";
166*4882a593Smuzhiyun					reg = <0x09000 0x1000>;
167*4882a593Smuzhiyun					interrupts = <5>;
168*4882a593Smuzhiyun					clocks = <&v2m_oscclk2>, <&smbclk>;
169*4882a593Smuzhiyun					clock-names = "uartclk", "apb_pclk";
170*4882a593Smuzhiyun				};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun				v2m_serial1: uart@a000 {
173*4882a593Smuzhiyun					compatible = "arm,pl011", "arm,primecell";
174*4882a593Smuzhiyun					reg = <0x0a000 0x1000>;
175*4882a593Smuzhiyun					interrupts = <6>;
176*4882a593Smuzhiyun					clocks = <&v2m_oscclk2>, <&smbclk>;
177*4882a593Smuzhiyun					clock-names = "uartclk", "apb_pclk";
178*4882a593Smuzhiyun				};
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun				v2m_serial2: uart@b000 {
181*4882a593Smuzhiyun					compatible = "arm,pl011", "arm,primecell";
182*4882a593Smuzhiyun					reg = <0x0b000 0x1000>;
183*4882a593Smuzhiyun					interrupts = <7>;
184*4882a593Smuzhiyun					clocks = <&v2m_oscclk2>, <&smbclk>;
185*4882a593Smuzhiyun					clock-names = "uartclk", "apb_pclk";
186*4882a593Smuzhiyun				};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun				v2m_serial3: uart@c000 {
189*4882a593Smuzhiyun					compatible = "arm,pl011", "arm,primecell";
190*4882a593Smuzhiyun					reg = <0x0c000 0x1000>;
191*4882a593Smuzhiyun					interrupts = <8>;
192*4882a593Smuzhiyun					clocks = <&v2m_oscclk2>, <&smbclk>;
193*4882a593Smuzhiyun					clock-names = "uartclk", "apb_pclk";
194*4882a593Smuzhiyun				};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun				wdt@f000 {
197*4882a593Smuzhiyun					compatible = "arm,sp805", "arm,primecell";
198*4882a593Smuzhiyun					reg = <0x0f000 0x1000>;
199*4882a593Smuzhiyun					interrupts = <0>;
200*4882a593Smuzhiyun					clocks = <&v2m_refclk32khz>, <&smbclk>;
201*4882a593Smuzhiyun					clock-names = "wdog_clk", "apb_pclk";
202*4882a593Smuzhiyun				};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun				v2m_timer01: timer@11000 {
205*4882a593Smuzhiyun					compatible = "arm,sp804", "arm,primecell";
206*4882a593Smuzhiyun					reg = <0x11000 0x1000>;
207*4882a593Smuzhiyun					interrupts = <2>;
208*4882a593Smuzhiyun					clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>;
209*4882a593Smuzhiyun					clock-names = "timclken1", "timclken2", "apb_pclk";
210*4882a593Smuzhiyun				};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun				v2m_timer23: timer@12000 {
213*4882a593Smuzhiyun					compatible = "arm,sp804", "arm,primecell";
214*4882a593Smuzhiyun					reg = <0x12000 0x1000>;
215*4882a593Smuzhiyun					interrupts = <3>;
216*4882a593Smuzhiyun					clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>;
217*4882a593Smuzhiyun					clock-names = "timclken1", "timclken2", "apb_pclk";
218*4882a593Smuzhiyun				};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun				/* DVI I2C bus */
221*4882a593Smuzhiyun				v2m_i2c_dvi: i2c@16000 {
222*4882a593Smuzhiyun					compatible = "arm,versatile-i2c";
223*4882a593Smuzhiyun					reg = <0x16000 0x1000>;
224*4882a593Smuzhiyun					#address-cells = <1>;
225*4882a593Smuzhiyun					#size-cells = <0>;
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun					dvi-transmitter@39 {
228*4882a593Smuzhiyun						compatible = "sil,sii9022-tpi", "sil,sii9022";
229*4882a593Smuzhiyun						reg = <0x39>;
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun						ports {
232*4882a593Smuzhiyun							#address-cells = <1>;
233*4882a593Smuzhiyun							#size-cells = <0>;
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun							/*
236*4882a593Smuzhiyun							 * Both the core tile and the motherboard routes their output
237*4882a593Smuzhiyun							 * pads to this transmitter. The motherboard system controller
238*4882a593Smuzhiyun							 * can select one of them as input using a mux register in
239*4882a593Smuzhiyun							 * "arm,vexpress-muxfpga". The Vexpress with the CA9 core tile is
240*4882a593Smuzhiyun							 * the only platform with this specific set-up.
241*4882a593Smuzhiyun							 */
242*4882a593Smuzhiyun							port@0 {
243*4882a593Smuzhiyun								reg = <0>;
244*4882a593Smuzhiyun								dvi_bridge_in_ct: endpoint {
245*4882a593Smuzhiyun									remote-endpoint = <&clcd_pads_ct>;
246*4882a593Smuzhiyun								};
247*4882a593Smuzhiyun							};
248*4882a593Smuzhiyun							port@1 {
249*4882a593Smuzhiyun								reg = <1>;
250*4882a593Smuzhiyun								dvi_bridge_in_mb: endpoint {
251*4882a593Smuzhiyun									remote-endpoint = <&clcd_pads_mb>;
252*4882a593Smuzhiyun								};
253*4882a593Smuzhiyun							};
254*4882a593Smuzhiyun						};
255*4882a593Smuzhiyun					};
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun					dvi-transmitter@60 {
258*4882a593Smuzhiyun						compatible = "sil,sii9022-cpi", "sil,sii9022";
259*4882a593Smuzhiyun						reg = <0x60>;
260*4882a593Smuzhiyun					};
261*4882a593Smuzhiyun				};
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun				rtc@17000 {
264*4882a593Smuzhiyun					compatible = "arm,pl031", "arm,primecell";
265*4882a593Smuzhiyun					reg = <0x17000 0x1000>;
266*4882a593Smuzhiyun					interrupts = <4>;
267*4882a593Smuzhiyun					clocks = <&smbclk>;
268*4882a593Smuzhiyun					clock-names = "apb_pclk";
269*4882a593Smuzhiyun				};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun				compact-flash@1a000 {
272*4882a593Smuzhiyun					compatible = "arm,vexpress-cf", "ata-generic";
273*4882a593Smuzhiyun					reg = <0x1a000 0x100
274*4882a593Smuzhiyun					       0x1a100 0xf00>;
275*4882a593Smuzhiyun					reg-shift = <2>;
276*4882a593Smuzhiyun				};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun				clcd@1f000 {
280*4882a593Smuzhiyun					compatible = "arm,pl111", "arm,primecell";
281*4882a593Smuzhiyun					reg = <0x1f000 0x1000>;
282*4882a593Smuzhiyun					interrupt-names = "combined";
283*4882a593Smuzhiyun					interrupts = <14>;
284*4882a593Smuzhiyun					clocks = <&v2m_oscclk1>, <&smbclk>;
285*4882a593Smuzhiyun					clock-names = "clcdclk", "apb_pclk";
286*4882a593Smuzhiyun					/* 800x600 16bpp @36MHz works fine */
287*4882a593Smuzhiyun					max-memory-bandwidth = <54000000>;
288*4882a593Smuzhiyun					memory-region = <&vram>;
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun					port {
291*4882a593Smuzhiyun						clcd_pads_mb: endpoint {
292*4882a593Smuzhiyun							remote-endpoint = <&dvi_bridge_in_mb>;
293*4882a593Smuzhiyun							arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
294*4882a593Smuzhiyun						};
295*4882a593Smuzhiyun					};
296*4882a593Smuzhiyun				};
297*4882a593Smuzhiyun			};
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun			v2m_fixed_3v3: fixed-regulator-0 {
300*4882a593Smuzhiyun				compatible = "regulator-fixed";
301*4882a593Smuzhiyun				regulator-name = "3V3";
302*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
303*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
304*4882a593Smuzhiyun				regulator-always-on;
305*4882a593Smuzhiyun			};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun			v2m_clk24mhz: clk24mhz {
308*4882a593Smuzhiyun				compatible = "fixed-clock";
309*4882a593Smuzhiyun				#clock-cells = <0>;
310*4882a593Smuzhiyun				clock-frequency = <24000000>;
311*4882a593Smuzhiyun				clock-output-names = "v2m:clk24mhz";
312*4882a593Smuzhiyun			};
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun			v2m_refclk1mhz: refclk1mhz {
315*4882a593Smuzhiyun				compatible = "fixed-clock";
316*4882a593Smuzhiyun				#clock-cells = <0>;
317*4882a593Smuzhiyun				clock-frequency = <1000000>;
318*4882a593Smuzhiyun				clock-output-names = "v2m:refclk1mhz";
319*4882a593Smuzhiyun			};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun			v2m_refclk32khz: refclk32khz {
322*4882a593Smuzhiyun				compatible = "fixed-clock";
323*4882a593Smuzhiyun				#clock-cells = <0>;
324*4882a593Smuzhiyun				clock-frequency = <32768>;
325*4882a593Smuzhiyun				clock-output-names = "v2m:refclk32khz";
326*4882a593Smuzhiyun			};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun			leds {
329*4882a593Smuzhiyun				compatible = "gpio-leds";
330*4882a593Smuzhiyun
331*4882a593Smuzhiyun				user1 {
332*4882a593Smuzhiyun					label = "v2m:green:user1";
333*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 0 0>;
334*4882a593Smuzhiyun					linux,default-trigger = "heartbeat";
335*4882a593Smuzhiyun				};
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun				user2 {
338*4882a593Smuzhiyun					label = "v2m:green:user2";
339*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 1 0>;
340*4882a593Smuzhiyun					linux,default-trigger = "mmc0";
341*4882a593Smuzhiyun				};
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun				user3 {
344*4882a593Smuzhiyun					label = "v2m:green:user3";
345*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 2 0>;
346*4882a593Smuzhiyun					linux,default-trigger = "cpu0";
347*4882a593Smuzhiyun				};
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun				user4 {
350*4882a593Smuzhiyun					label = "v2m:green:user4";
351*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 3 0>;
352*4882a593Smuzhiyun					linux,default-trigger = "cpu1";
353*4882a593Smuzhiyun				};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun				user5 {
356*4882a593Smuzhiyun					label = "v2m:green:user5";
357*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 4 0>;
358*4882a593Smuzhiyun					linux,default-trigger = "cpu2";
359*4882a593Smuzhiyun				};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun				user6 {
362*4882a593Smuzhiyun					label = "v2m:green:user6";
363*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 5 0>;
364*4882a593Smuzhiyun					linux,default-trigger = "cpu3";
365*4882a593Smuzhiyun				};
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun				user7 {
368*4882a593Smuzhiyun					label = "v2m:green:user7";
369*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 6 0>;
370*4882a593Smuzhiyun					linux,default-trigger = "cpu4";
371*4882a593Smuzhiyun				};
372*4882a593Smuzhiyun
373*4882a593Smuzhiyun				user8 {
374*4882a593Smuzhiyun					label = "v2m:green:user8";
375*4882a593Smuzhiyun					gpios = <&v2m_led_gpios 7 0>;
376*4882a593Smuzhiyun					linux,default-trigger = "cpu5";
377*4882a593Smuzhiyun				};
378*4882a593Smuzhiyun			};
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun			mcc {
381*4882a593Smuzhiyun				compatible = "arm,vexpress,config-bus";
382*4882a593Smuzhiyun				arm,vexpress,config-bridge = <&v2m_sysreg>;
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun				oscclk0 {
385*4882a593Smuzhiyun					/* MCC static memory clock */
386*4882a593Smuzhiyun					compatible = "arm,vexpress-osc";
387*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <1 0>;
388*4882a593Smuzhiyun					freq-range = <25000000 60000000>;
389*4882a593Smuzhiyun					#clock-cells = <0>;
390*4882a593Smuzhiyun					clock-output-names = "v2m:oscclk0";
391*4882a593Smuzhiyun				};
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun				v2m_oscclk1: oscclk1 {
394*4882a593Smuzhiyun					/* CLCD clock */
395*4882a593Smuzhiyun					compatible = "arm,vexpress-osc";
396*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <1 1>;
397*4882a593Smuzhiyun					freq-range = <23750000 65000000>;
398*4882a593Smuzhiyun					#clock-cells = <0>;
399*4882a593Smuzhiyun					clock-output-names = "v2m:oscclk1";
400*4882a593Smuzhiyun				};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun				v2m_oscclk2: oscclk2 {
403*4882a593Smuzhiyun					/* IO FPGA peripheral clock */
404*4882a593Smuzhiyun					compatible = "arm,vexpress-osc";
405*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <1 2>;
406*4882a593Smuzhiyun					freq-range = <24000000 24000000>;
407*4882a593Smuzhiyun					#clock-cells = <0>;
408*4882a593Smuzhiyun					clock-output-names = "v2m:oscclk2";
409*4882a593Smuzhiyun				};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun				volt-vio {
412*4882a593Smuzhiyun					/* Logic level voltage */
413*4882a593Smuzhiyun					compatible = "arm,vexpress-volt";
414*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <2 0>;
415*4882a593Smuzhiyun					regulator-name = "VIO";
416*4882a593Smuzhiyun					regulator-always-on;
417*4882a593Smuzhiyun					label = "VIO";
418*4882a593Smuzhiyun				};
419*4882a593Smuzhiyun
420*4882a593Smuzhiyun				temp-mcc {
421*4882a593Smuzhiyun					/* MCC internal operating temperature */
422*4882a593Smuzhiyun					compatible = "arm,vexpress-temp";
423*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <4 0>;
424*4882a593Smuzhiyun					label = "MCC";
425*4882a593Smuzhiyun				};
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun				reset {
428*4882a593Smuzhiyun					compatible = "arm,vexpress-reset";
429*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <5 0>;
430*4882a593Smuzhiyun				};
431*4882a593Smuzhiyun
432*4882a593Smuzhiyun				muxfpga {
433*4882a593Smuzhiyun					compatible = "arm,vexpress-muxfpga";
434*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <7 0>;
435*4882a593Smuzhiyun				};
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun				shutdown {
438*4882a593Smuzhiyun					compatible = "arm,vexpress-shutdown";
439*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <8 0>;
440*4882a593Smuzhiyun				};
441*4882a593Smuzhiyun
442*4882a593Smuzhiyun				reboot {
443*4882a593Smuzhiyun					compatible = "arm,vexpress-reboot";
444*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <9 0>;
445*4882a593Smuzhiyun				};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun				dvimode {
448*4882a593Smuzhiyun					compatible = "arm,vexpress-dvimode";
449*4882a593Smuzhiyun					arm,vexpress-sysreg,func = <11 0>;
450*4882a593Smuzhiyun				};
451*4882a593Smuzhiyun			};
452*4882a593Smuzhiyun		};
453*4882a593Smuzhiyun	};
454*4882a593Smuzhiyun};
455