xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/versatile-ab.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/dts-v1/;
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun/ {
5*4882a593Smuzhiyun	model = "ARM Versatile AB";
6*4882a593Smuzhiyun	compatible = "arm,versatile-ab";
7*4882a593Smuzhiyun	#address-cells = <1>;
8*4882a593Smuzhiyun	#size-cells = <1>;
9*4882a593Smuzhiyun	interrupt-parent = <&vic>;
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	aliases {
12*4882a593Smuzhiyun		serial0 = &uart0;
13*4882a593Smuzhiyun		serial1 = &uart1;
14*4882a593Smuzhiyun		serial2 = &uart2;
15*4882a593Smuzhiyun		i2c0 = &i2c0;
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	chosen {
19*4882a593Smuzhiyun		stdout-path = &uart0;
20*4882a593Smuzhiyun	};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	memory {
23*4882a593Smuzhiyun		device_type = "memory";
24*4882a593Smuzhiyun		reg = <0x0 0x08000000>;
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	xtal24mhz: xtal24mhz@24M {
28*4882a593Smuzhiyun		#clock-cells = <0>;
29*4882a593Smuzhiyun		compatible = "fixed-clock";
30*4882a593Smuzhiyun		clock-frequency = <24000000>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	bridge {
34*4882a593Smuzhiyun		compatible = "ti,ths8134b", "ti,ths8134";
35*4882a593Smuzhiyun		#address-cells = <1>;
36*4882a593Smuzhiyun		#size-cells = <0>;
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun		ports {
39*4882a593Smuzhiyun			#address-cells = <1>;
40*4882a593Smuzhiyun			#size-cells = <0>;
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun			port@0 {
43*4882a593Smuzhiyun				reg = <0>;
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun				vga_bridge_in: endpoint {
46*4882a593Smuzhiyun					remote-endpoint = <&clcd_pads_vga_dac>;
47*4882a593Smuzhiyun				};
48*4882a593Smuzhiyun			};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun			port@1 {
51*4882a593Smuzhiyun				reg = <1>;
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun				vga_bridge_out: endpoint {
54*4882a593Smuzhiyun					remote-endpoint = <&vga_con_in>;
55*4882a593Smuzhiyun				};
56*4882a593Smuzhiyun			};
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	vga {
61*4882a593Smuzhiyun		compatible = "vga-connector";
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		port {
64*4882a593Smuzhiyun			vga_con_in: endpoint {
65*4882a593Smuzhiyun				remote-endpoint = <&vga_bridge_out>;
66*4882a593Smuzhiyun			};
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun	};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	core-module@10000000 {
71*4882a593Smuzhiyun		compatible = "arm,core-module-versatile", "syscon", "simple-mfd";
72*4882a593Smuzhiyun		reg = <0x10000000 0x200>;
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		led@08.0 {
75*4882a593Smuzhiyun			compatible = "register-bit-led";
76*4882a593Smuzhiyun			offset = <0x08>;
77*4882a593Smuzhiyun			mask = <0x01>;
78*4882a593Smuzhiyun			label = "versatile:0";
79*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
80*4882a593Smuzhiyun			default-state = "on";
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun		led@08.1 {
83*4882a593Smuzhiyun			compatible = "register-bit-led";
84*4882a593Smuzhiyun			offset = <0x08>;
85*4882a593Smuzhiyun			mask = <0x02>;
86*4882a593Smuzhiyun			label = "versatile:1";
87*4882a593Smuzhiyun			linux,default-trigger = "mmc0";
88*4882a593Smuzhiyun			default-state = "off";
89*4882a593Smuzhiyun		};
90*4882a593Smuzhiyun		led@08.2 {
91*4882a593Smuzhiyun			compatible = "register-bit-led";
92*4882a593Smuzhiyun			offset = <0x08>;
93*4882a593Smuzhiyun			mask = <0x04>;
94*4882a593Smuzhiyun			label = "versatile:2";
95*4882a593Smuzhiyun			linux,default-trigger = "cpu0";
96*4882a593Smuzhiyun			default-state = "off";
97*4882a593Smuzhiyun		};
98*4882a593Smuzhiyun		led@08.3 {
99*4882a593Smuzhiyun			compatible = "register-bit-led";
100*4882a593Smuzhiyun			offset = <0x08>;
101*4882a593Smuzhiyun			mask = <0x08>;
102*4882a593Smuzhiyun			label = "versatile:3";
103*4882a593Smuzhiyun			default-state = "off";
104*4882a593Smuzhiyun		};
105*4882a593Smuzhiyun		led@08.4 {
106*4882a593Smuzhiyun			compatible = "register-bit-led";
107*4882a593Smuzhiyun			offset = <0x08>;
108*4882a593Smuzhiyun			mask = <0x10>;
109*4882a593Smuzhiyun			label = "versatile:4";
110*4882a593Smuzhiyun			default-state = "off";
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun		led@08.5 {
113*4882a593Smuzhiyun			compatible = "register-bit-led";
114*4882a593Smuzhiyun			offset = <0x08>;
115*4882a593Smuzhiyun			mask = <0x20>;
116*4882a593Smuzhiyun			label = "versatile:5";
117*4882a593Smuzhiyun			default-state = "off";
118*4882a593Smuzhiyun		};
119*4882a593Smuzhiyun		led@08.6 {
120*4882a593Smuzhiyun			compatible = "register-bit-led";
121*4882a593Smuzhiyun			offset = <0x08>;
122*4882a593Smuzhiyun			mask = <0x40>;
123*4882a593Smuzhiyun			label = "versatile:6";
124*4882a593Smuzhiyun			default-state = "off";
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun		led@08.7 {
127*4882a593Smuzhiyun			compatible = "register-bit-led";
128*4882a593Smuzhiyun			offset = <0x08>;
129*4882a593Smuzhiyun			mask = <0x80>;
130*4882a593Smuzhiyun			label = "versatile:7";
131*4882a593Smuzhiyun			default-state = "off";
132*4882a593Smuzhiyun		};
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun		/* OSC1 on AB, OSC4 on PB */
135*4882a593Smuzhiyun		osc1: cm_aux_osc@24M {
136*4882a593Smuzhiyun			#clock-cells = <0>;
137*4882a593Smuzhiyun			compatible = "arm,versatile-cm-auxosc";
138*4882a593Smuzhiyun			clocks = <&xtal24mhz>;
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		/* The timer clock is the 24 MHz oscillator divided to 1MHz */
142*4882a593Smuzhiyun		timclk: timclk@1M {
143*4882a593Smuzhiyun			#clock-cells = <0>;
144*4882a593Smuzhiyun			compatible = "fixed-factor-clock";
145*4882a593Smuzhiyun			clock-div = <24>;
146*4882a593Smuzhiyun			clock-mult = <1>;
147*4882a593Smuzhiyun			clocks = <&xtal24mhz>;
148*4882a593Smuzhiyun		};
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun		pclk: pclk@24M {
151*4882a593Smuzhiyun			#clock-cells = <0>;
152*4882a593Smuzhiyun			compatible = "fixed-factor-clock";
153*4882a593Smuzhiyun			clock-div = <1>;
154*4882a593Smuzhiyun			clock-mult = <1>;
155*4882a593Smuzhiyun			clocks = <&xtal24mhz>;
156*4882a593Smuzhiyun		};
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	flash@34000000 {
160*4882a593Smuzhiyun		/* 64 MiB NOR flash in non-interleaved chips */
161*4882a593Smuzhiyun		compatible = "arm,versatile-flash", "cfi-flash";
162*4882a593Smuzhiyun		reg = <0x34000000 0x04000000>;
163*4882a593Smuzhiyun		bank-width = <4>;
164*4882a593Smuzhiyun		partitions {
165*4882a593Smuzhiyun			compatible = "arm,arm-firmware-suite";
166*4882a593Smuzhiyun		};
167*4882a593Smuzhiyun	};
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun	i2c0: i2c@10002000 {
170*4882a593Smuzhiyun		#address-cells = <1>;
171*4882a593Smuzhiyun		#size-cells = <0>;
172*4882a593Smuzhiyun		compatible = "arm,versatile-i2c";
173*4882a593Smuzhiyun		reg = <0x10002000 0x1000>;
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun		rtc@68 {
176*4882a593Smuzhiyun			compatible = "dallas,ds1338";
177*4882a593Smuzhiyun			reg = <0x68>;
178*4882a593Smuzhiyun		};
179*4882a593Smuzhiyun	};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	net@10010000 {
182*4882a593Smuzhiyun		compatible = "smsc,lan91c111";
183*4882a593Smuzhiyun		reg = <0x10010000 0x10000>;
184*4882a593Smuzhiyun		interrupts = <25>;
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun	lcd@10008000 {
188*4882a593Smuzhiyun		compatible = "arm,versatile-lcd";
189*4882a593Smuzhiyun		reg = <0x10008000 0x1000>;
190*4882a593Smuzhiyun	};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun	amba {
193*4882a593Smuzhiyun		compatible = "simple-bus";
194*4882a593Smuzhiyun		#address-cells = <1>;
195*4882a593Smuzhiyun		#size-cells = <1>;
196*4882a593Smuzhiyun		ranges;
197*4882a593Smuzhiyun
198*4882a593Smuzhiyun		vic: interrupt-controller@10140000 {
199*4882a593Smuzhiyun			compatible = "arm,versatile-vic";
200*4882a593Smuzhiyun			interrupt-controller;
201*4882a593Smuzhiyun			#interrupt-cells = <1>;
202*4882a593Smuzhiyun			reg = <0x10140000 0x1000>;
203*4882a593Smuzhiyun			valid-mask = <0xffffffff>;
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun		sic: interrupt-controller@10003000 {
207*4882a593Smuzhiyun			compatible = "arm,versatile-sic";
208*4882a593Smuzhiyun			interrupt-controller;
209*4882a593Smuzhiyun			#interrupt-cells = <1>;
210*4882a593Smuzhiyun			reg = <0x10003000 0x1000>;
211*4882a593Smuzhiyun			interrupt-parent = <&vic>;
212*4882a593Smuzhiyun			interrupts = <31>; /* Cascaded to vic */
213*4882a593Smuzhiyun			clear-mask = <0xffffffff>;
214*4882a593Smuzhiyun			/*
215*4882a593Smuzhiyun			 * Valid interrupt lines mask according to
216*4882a593Smuzhiyun			 * table 4-36 page 4-50 of ARM DUI 0225D
217*4882a593Smuzhiyun			 */
218*4882a593Smuzhiyun			valid-mask = <0x0760031b>;
219*4882a593Smuzhiyun		};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun		dma@10130000 {
222*4882a593Smuzhiyun			compatible = "arm,pl081", "arm,primecell";
223*4882a593Smuzhiyun			reg = <0x10130000 0x1000>;
224*4882a593Smuzhiyun			interrupts = <17>;
225*4882a593Smuzhiyun			clocks = <&pclk>;
226*4882a593Smuzhiyun			clock-names = "apb_pclk";
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		uart0: uart@101f1000 {
230*4882a593Smuzhiyun			compatible = "arm,pl011", "arm,primecell";
231*4882a593Smuzhiyun			reg = <0x101f1000 0x1000>;
232*4882a593Smuzhiyun			interrupts = <12>;
233*4882a593Smuzhiyun			clocks = <&xtal24mhz>, <&pclk>;
234*4882a593Smuzhiyun			clock-names = "uartclk", "apb_pclk";
235*4882a593Smuzhiyun		};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun		uart1: uart@101f2000 {
238*4882a593Smuzhiyun			compatible = "arm,pl011", "arm,primecell";
239*4882a593Smuzhiyun			reg = <0x101f2000 0x1000>;
240*4882a593Smuzhiyun			interrupts = <13>;
241*4882a593Smuzhiyun			clocks = <&xtal24mhz>, <&pclk>;
242*4882a593Smuzhiyun			clock-names = "uartclk", "apb_pclk";
243*4882a593Smuzhiyun		};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		uart2: uart@101f3000 {
246*4882a593Smuzhiyun			compatible = "arm,pl011", "arm,primecell";
247*4882a593Smuzhiyun			reg = <0x101f3000 0x1000>;
248*4882a593Smuzhiyun			interrupts = <14>;
249*4882a593Smuzhiyun			clocks = <&xtal24mhz>, <&pclk>;
250*4882a593Smuzhiyun			clock-names = "uartclk", "apb_pclk";
251*4882a593Smuzhiyun		};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun		smc@10100000 {
254*4882a593Smuzhiyun			compatible = "arm,primecell";
255*4882a593Smuzhiyun			reg = <0x10100000 0x1000>;
256*4882a593Smuzhiyun			clocks = <&pclk>;
257*4882a593Smuzhiyun			clock-names = "apb_pclk";
258*4882a593Smuzhiyun		};
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun		mpmc@10110000 {
261*4882a593Smuzhiyun			compatible = "arm,primecell";
262*4882a593Smuzhiyun			reg = <0x10110000 0x1000>;
263*4882a593Smuzhiyun			clocks = <&pclk>;
264*4882a593Smuzhiyun			clock-names = "apb_pclk";
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		display@10120000 {
268*4882a593Smuzhiyun			compatible = "arm,pl110", "arm,primecell";
269*4882a593Smuzhiyun			reg = <0x10120000 0x1000>;
270*4882a593Smuzhiyun			interrupts = <16>;
271*4882a593Smuzhiyun			clocks = <&osc1>, <&pclk>;
272*4882a593Smuzhiyun			clock-names = "clcdclk", "apb_pclk";
273*4882a593Smuzhiyun			/* 800x600 16bpp @ 36MHz works fine */
274*4882a593Smuzhiyun			max-memory-bandwidth = <54000000>;
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun			/*
277*4882a593Smuzhiyun			 * This port is routed through a PLD (Programmable
278*4882a593Smuzhiyun			 * Logic Device) that routes the output from the CLCD
279*4882a593Smuzhiyun			 * (after transformations) to the VGA DAC and also an
280*4882a593Smuzhiyun			 * external panel connector. The PLD is essential for
281*4882a593Smuzhiyun			 * supporting RGB565/BGR565.
282*4882a593Smuzhiyun			 *
283*4882a593Smuzhiyun			 * The signals from the port thus reaches two endpoints.
284*4882a593Smuzhiyun			 * The PLD is managed through a few special bits in the
285*4882a593Smuzhiyun			 * FPGA "sysreg".
286*4882a593Smuzhiyun			 *
287*4882a593Smuzhiyun			 * This arrangement can be clearly seen in
288*4882a593Smuzhiyun			 * ARM DUI 0225D, page 3-41, figure 3-19.
289*4882a593Smuzhiyun			 */
290*4882a593Smuzhiyun			port@0 {
291*4882a593Smuzhiyun				#address-cells = <1>;
292*4882a593Smuzhiyun				#size-cells = <0>;
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun				clcd_pads_panel: endpoint@0 {
295*4882a593Smuzhiyun					reg = <0>;
296*4882a593Smuzhiyun					remote-endpoint = <&panel_in>;
297*4882a593Smuzhiyun					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
298*4882a593Smuzhiyun				};
299*4882a593Smuzhiyun				clcd_pads_vga_dac: endpoint@1 {
300*4882a593Smuzhiyun					reg = <1>;
301*4882a593Smuzhiyun					remote-endpoint = <&vga_bridge_in>;
302*4882a593Smuzhiyun					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
303*4882a593Smuzhiyun				};
304*4882a593Smuzhiyun			};
305*4882a593Smuzhiyun		};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun		sctl@101e0000 {
308*4882a593Smuzhiyun			compatible = "arm,primecell";
309*4882a593Smuzhiyun			reg = <0x101e0000 0x1000>;
310*4882a593Smuzhiyun			clocks = <&pclk>;
311*4882a593Smuzhiyun			clock-names = "apb_pclk";
312*4882a593Smuzhiyun		};
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun		watchdog@101e1000 {
315*4882a593Smuzhiyun			compatible = "arm,primecell";
316*4882a593Smuzhiyun			reg = <0x101e1000 0x1000>;
317*4882a593Smuzhiyun			interrupts = <0>;
318*4882a593Smuzhiyun			clocks = <&pclk>;
319*4882a593Smuzhiyun			clock-names = "apb_pclk";
320*4882a593Smuzhiyun		};
321*4882a593Smuzhiyun
322*4882a593Smuzhiyun		timer@101e2000 {
323*4882a593Smuzhiyun			compatible = "arm,sp804", "arm,primecell";
324*4882a593Smuzhiyun			reg = <0x101e2000 0x1000>;
325*4882a593Smuzhiyun			interrupts = <4>;
326*4882a593Smuzhiyun			clocks = <&timclk>, <&timclk>, <&pclk>;
327*4882a593Smuzhiyun			clock-names = "timer0", "timer1", "apb_pclk";
328*4882a593Smuzhiyun		};
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun		timer@101e3000 {
331*4882a593Smuzhiyun			compatible = "arm,sp804", "arm,primecell";
332*4882a593Smuzhiyun			reg = <0x101e3000 0x1000>;
333*4882a593Smuzhiyun			interrupts = <5>;
334*4882a593Smuzhiyun			clocks = <&timclk>, <&timclk>, <&pclk>;
335*4882a593Smuzhiyun			clock-names = "timer0", "timer1", "apb_pclk";
336*4882a593Smuzhiyun		};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun		gpio0: gpio@101e4000 {
339*4882a593Smuzhiyun			compatible = "arm,pl061", "arm,primecell";
340*4882a593Smuzhiyun			reg = <0x101e4000 0x1000>;
341*4882a593Smuzhiyun			gpio-controller;
342*4882a593Smuzhiyun			interrupts = <6>;
343*4882a593Smuzhiyun			#gpio-cells = <2>;
344*4882a593Smuzhiyun			interrupt-controller;
345*4882a593Smuzhiyun			#interrupt-cells = <2>;
346*4882a593Smuzhiyun			clocks = <&pclk>;
347*4882a593Smuzhiyun			clock-names = "apb_pclk";
348*4882a593Smuzhiyun		};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun		gpio1: gpio@101e5000 {
351*4882a593Smuzhiyun			compatible = "arm,pl061", "arm,primecell";
352*4882a593Smuzhiyun			reg = <0x101e5000 0x1000>;
353*4882a593Smuzhiyun			interrupts = <7>;
354*4882a593Smuzhiyun			gpio-controller;
355*4882a593Smuzhiyun			#gpio-cells = <2>;
356*4882a593Smuzhiyun			interrupt-controller;
357*4882a593Smuzhiyun			#interrupt-cells = <2>;
358*4882a593Smuzhiyun			clocks = <&pclk>;
359*4882a593Smuzhiyun			clock-names = "apb_pclk";
360*4882a593Smuzhiyun		};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun		rtc@101e8000 {
363*4882a593Smuzhiyun			compatible = "arm,pl030", "arm,primecell";
364*4882a593Smuzhiyun			reg = <0x101e8000 0x1000>;
365*4882a593Smuzhiyun			interrupts = <10>;
366*4882a593Smuzhiyun			clocks = <&pclk>;
367*4882a593Smuzhiyun			clock-names = "apb_pclk";
368*4882a593Smuzhiyun		};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun		sci@101f0000 {
371*4882a593Smuzhiyun			compatible = "arm,primecell";
372*4882a593Smuzhiyun			reg = <0x101f0000 0x1000>;
373*4882a593Smuzhiyun			interrupts = <15>;
374*4882a593Smuzhiyun			clocks = <&pclk>;
375*4882a593Smuzhiyun			clock-names = "apb_pclk";
376*4882a593Smuzhiyun		};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun		spi@101f4000 {
379*4882a593Smuzhiyun			compatible = "arm,pl022", "arm,primecell";
380*4882a593Smuzhiyun			reg = <0x101f4000 0x1000>;
381*4882a593Smuzhiyun			interrupts = <11>;
382*4882a593Smuzhiyun			clocks = <&xtal24mhz>, <&pclk>;
383*4882a593Smuzhiyun			clock-names = "SSPCLK", "apb_pclk";
384*4882a593Smuzhiyun		};
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun		fpga {
387*4882a593Smuzhiyun			compatible = "arm,versatile-fpga", "simple-bus";
388*4882a593Smuzhiyun			#address-cells = <1>;
389*4882a593Smuzhiyun			#size-cells = <1>;
390*4882a593Smuzhiyun			ranges = <0 0x10000000 0x10000>;
391*4882a593Smuzhiyun
392*4882a593Smuzhiyun			sysreg@0 {
393*4882a593Smuzhiyun				compatible = "arm,versatile-sysreg", "syscon", "simple-mfd";
394*4882a593Smuzhiyun				reg = <0x00000 0x1000>;
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun				panel: display@0 {
397*4882a593Smuzhiyun					compatible = "arm,versatile-tft-panel";
398*4882a593Smuzhiyun
399*4882a593Smuzhiyun					port {
400*4882a593Smuzhiyun						panel_in: endpoint {
401*4882a593Smuzhiyun							remote-endpoint = <&clcd_pads_panel>;
402*4882a593Smuzhiyun						};
403*4882a593Smuzhiyun					};
404*4882a593Smuzhiyun				};
405*4882a593Smuzhiyun			};
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun			aaci@4000 {
408*4882a593Smuzhiyun				compatible = "arm,primecell";
409*4882a593Smuzhiyun				reg = <0x4000 0x1000>;
410*4882a593Smuzhiyun				interrupts = <24>;
411*4882a593Smuzhiyun				clocks = <&pclk>;
412*4882a593Smuzhiyun				clock-names = "apb_pclk";
413*4882a593Smuzhiyun			};
414*4882a593Smuzhiyun			mmc@5000 {
415*4882a593Smuzhiyun				compatible = "arm,pl180", "arm,primecell";
416*4882a593Smuzhiyun				reg = <0x5000 0x1000>;
417*4882a593Smuzhiyun				interrupts-extended = <&vic 22 &sic 1>;
418*4882a593Smuzhiyun				clocks = <&xtal24mhz>, <&pclk>;
419*4882a593Smuzhiyun				clock-names = "mclk", "apb_pclk";
420*4882a593Smuzhiyun			};
421*4882a593Smuzhiyun			kmi@6000 {
422*4882a593Smuzhiyun				compatible = "arm,pl050", "arm,primecell";
423*4882a593Smuzhiyun				reg = <0x6000 0x1000>;
424*4882a593Smuzhiyun				interrupt-parent = <&sic>;
425*4882a593Smuzhiyun				interrupts = <3>;
426*4882a593Smuzhiyun				clocks = <&xtal24mhz>, <&pclk>;
427*4882a593Smuzhiyun				clock-names = "KMIREFCLK", "apb_pclk";
428*4882a593Smuzhiyun			};
429*4882a593Smuzhiyun			kmi@7000 {
430*4882a593Smuzhiyun				compatible = "arm,pl050", "arm,primecell";
431*4882a593Smuzhiyun				reg = <0x7000 0x1000>;
432*4882a593Smuzhiyun				interrupt-parent = <&sic>;
433*4882a593Smuzhiyun				interrupts = <4>;
434*4882a593Smuzhiyun				clocks = <&xtal24mhz>, <&pclk>;
435*4882a593Smuzhiyun				clock-names = "KMIREFCLK", "apb_pclk";
436*4882a593Smuzhiyun			};
437*4882a593Smuzhiyun		};
438*4882a593Smuzhiyun	};
439*4882a593Smuzhiyun};
440