xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/at91sam9261.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * Licensed under GPLv2 only.
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#include "skeleton.dtsi"
10*4882a593Smuzhiyun#include <dt-bindings/pinctrl/at91.h>
11*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
12*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
13*4882a593Smuzhiyun#include <dt-bindings/clock/at91.h>
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	model = "Atmel AT91SAM9261 family SoC";
17*4882a593Smuzhiyun	compatible = "atmel,at91sam9261";
18*4882a593Smuzhiyun	interrupt-parent = <&aic>;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	aliases {
21*4882a593Smuzhiyun		serial0 = &dbgu;
22*4882a593Smuzhiyun		serial1 = &usart0;
23*4882a593Smuzhiyun		serial2 = &usart1;
24*4882a593Smuzhiyun		serial3 = &usart2;
25*4882a593Smuzhiyun		gpio0 = &pioA;
26*4882a593Smuzhiyun		gpio1 = &pioB;
27*4882a593Smuzhiyun		gpio2 = &pioC;
28*4882a593Smuzhiyun		tcb0 = &tcb0;
29*4882a593Smuzhiyun		i2c0 = &i2c0;
30*4882a593Smuzhiyun		ssc0 = &ssc0;
31*4882a593Smuzhiyun		ssc1 = &ssc1;
32*4882a593Smuzhiyun		ssc2 = &ssc2;
33*4882a593Smuzhiyun		spi0 = &spi0;
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	cpus {
37*4882a593Smuzhiyun		#address-cells = <0>;
38*4882a593Smuzhiyun		#size-cells = <0>;
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun		cpu {
41*4882a593Smuzhiyun			compatible = "arm,arm926ej-s";
42*4882a593Smuzhiyun			device_type = "cpu";
43*4882a593Smuzhiyun		};
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	memory {
47*4882a593Smuzhiyun		reg = <0x20000000 0x08000000>;
48*4882a593Smuzhiyun	};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun	clocks {
51*4882a593Smuzhiyun		main_xtal: main_xtal {
52*4882a593Smuzhiyun			compatible = "fixed-clock";
53*4882a593Smuzhiyun			#clock-cells = <0>;
54*4882a593Smuzhiyun			clock-frequency = <0>;
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		slow_xtal: slow_xtal {
58*4882a593Smuzhiyun			compatible = "fixed-clock";
59*4882a593Smuzhiyun			#clock-cells = <0>;
60*4882a593Smuzhiyun			clock-frequency = <0>;
61*4882a593Smuzhiyun		};
62*4882a593Smuzhiyun	};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun	sram: sram@00300000 {
65*4882a593Smuzhiyun		compatible = "mmio-sram";
66*4882a593Smuzhiyun		reg = <0x00300000 0x28000>;
67*4882a593Smuzhiyun	};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	ahb {
70*4882a593Smuzhiyun		compatible = "simple-bus";
71*4882a593Smuzhiyun		#address-cells = <1>;
72*4882a593Smuzhiyun		#size-cells = <1>;
73*4882a593Smuzhiyun		ranges;
74*4882a593Smuzhiyun		u-boot,dm-pre-reloc;
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		usb0: ohci@00500000 {
77*4882a593Smuzhiyun			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
78*4882a593Smuzhiyun			reg = <0x00500000 0x100000>;
79*4882a593Smuzhiyun			interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
80*4882a593Smuzhiyun			clocks = <&ohci_clk>, <&hclk0>, <&uhpck>;
81*4882a593Smuzhiyun			clock-names = "ohci_clk", "hclk", "uhpck";
82*4882a593Smuzhiyun			status = "disabled";
83*4882a593Smuzhiyun		};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun		fb0: fb@0x00600000 {
86*4882a593Smuzhiyun			compatible = "atmel,at91sam9261-lcdc";
87*4882a593Smuzhiyun			reg = <0x00600000 0x1000>;
88*4882a593Smuzhiyun			interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
89*4882a593Smuzhiyun			pinctrl-names = "default";
90*4882a593Smuzhiyun			pinctrl-0 = <&pinctrl_fb>;
91*4882a593Smuzhiyun			clocks = <&lcd_clk>, <&hclk1>;
92*4882a593Smuzhiyun			clock-names = "lcdc_clk", "hclk";
93*4882a593Smuzhiyun			status = "disabled";
94*4882a593Smuzhiyun		};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun		nand0: nand@40000000 {
97*4882a593Smuzhiyun			compatible = "atmel,at91rm9200-nand";
98*4882a593Smuzhiyun			#address-cells = <1>;
99*4882a593Smuzhiyun			#size-cells = <1>;
100*4882a593Smuzhiyun			reg = <0x40000000 0x10000000>;
101*4882a593Smuzhiyun			atmel,nand-addr-offset = <22>;
102*4882a593Smuzhiyun			atmel,nand-cmd-offset = <21>;
103*4882a593Smuzhiyun			pinctrl-names = "default";
104*4882a593Smuzhiyun			pinctrl-0 = <&pinctrl_nand>;
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun			gpios = <&pioC 15 GPIO_ACTIVE_HIGH>,
107*4882a593Smuzhiyun				<&pioC 14 GPIO_ACTIVE_HIGH>,
108*4882a593Smuzhiyun				<0>;
109*4882a593Smuzhiyun			status = "disabled";
110*4882a593Smuzhiyun		};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		apb {
113*4882a593Smuzhiyun			compatible = "simple-bus";
114*4882a593Smuzhiyun			#address-cells = <1>;
115*4882a593Smuzhiyun			#size-cells = <1>;
116*4882a593Smuzhiyun			ranges;
117*4882a593Smuzhiyun			u-boot,dm-pre-reloc;
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun			tcb0: timer@fffa0000 {
120*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-tcb";
121*4882a593Smuzhiyun				reg = <0xfffa0000 0x100>;
122*4882a593Smuzhiyun				interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>,
123*4882a593Smuzhiyun					     <18 IRQ_TYPE_LEVEL_HIGH 0>,
124*4882a593Smuzhiyun					     <19 IRQ_TYPE_LEVEL_HIGH 0>;
125*4882a593Smuzhiyun				clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>, <&slow_xtal>;
126*4882a593Smuzhiyun				clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
127*4882a593Smuzhiyun			};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun			usb1: gadget@fffa4000 {
130*4882a593Smuzhiyun				compatible = "atmel,at91sam9261-udc";
131*4882a593Smuzhiyun				reg = <0xfffa4000 0x4000>;
132*4882a593Smuzhiyun				interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
133*4882a593Smuzhiyun				clocks = <&udc_clk>, <&udpck>;
134*4882a593Smuzhiyun				clock-names = "pclk", "hclk";
135*4882a593Smuzhiyun				atmel,matrix = <&matrix>;
136*4882a593Smuzhiyun				status = "disabled";
137*4882a593Smuzhiyun			};
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun			mmc0: mmc@fffa8000 {
140*4882a593Smuzhiyun				compatible = "atmel,hsmci";
141*4882a593Smuzhiyun				reg = <0xfffa8000 0x600>;
142*4882a593Smuzhiyun				interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
143*4882a593Smuzhiyun				pinctrl-names = "default";
144*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_mmc0_clk>, <&pinctrl_mmc0_slot0_cmd_dat0>, <&pinctrl_mmc0_slot0_dat1_3>;
145*4882a593Smuzhiyun				#address-cells = <1>;
146*4882a593Smuzhiyun				#size-cells = <0>;
147*4882a593Smuzhiyun				clocks = <&mci0_clk>;
148*4882a593Smuzhiyun				clock-names = "mci_clk";
149*4882a593Smuzhiyun				status = "disabled";
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun			i2c0: i2c@fffac000 {
153*4882a593Smuzhiyun				compatible = "atmel,at91sam9261-i2c";
154*4882a593Smuzhiyun				pinctrl-names = "default";
155*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_i2c_twi>;
156*4882a593Smuzhiyun				reg = <0xfffac000 0x100>;
157*4882a593Smuzhiyun				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
158*4882a593Smuzhiyun				#address-cells = <1>;
159*4882a593Smuzhiyun				#size-cells = <0>;
160*4882a593Smuzhiyun				clocks = <&twi0_clk>;
161*4882a593Smuzhiyun				status = "disabled";
162*4882a593Smuzhiyun			};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun			usart0: serial@fffb0000 {
165*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
166*4882a593Smuzhiyun				reg = <0xfffb0000 0x200>;
167*4882a593Smuzhiyun				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
168*4882a593Smuzhiyun				atmel,use-dma-rx;
169*4882a593Smuzhiyun				atmel,use-dma-tx;
170*4882a593Smuzhiyun				pinctrl-names = "default";
171*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart0>;
172*4882a593Smuzhiyun				clocks = <&usart0_clk>;
173*4882a593Smuzhiyun				clock-names = "usart";
174*4882a593Smuzhiyun				status = "disabled";
175*4882a593Smuzhiyun			};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun			usart1: serial@fffb4000 {
178*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
179*4882a593Smuzhiyun				reg = <0xfffb4000 0x200>;
180*4882a593Smuzhiyun				interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
181*4882a593Smuzhiyun				atmel,use-dma-rx;
182*4882a593Smuzhiyun				atmel,use-dma-tx;
183*4882a593Smuzhiyun				pinctrl-names = "default";
184*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart1>;
185*4882a593Smuzhiyun				clocks = <&usart1_clk>;
186*4882a593Smuzhiyun				clock-names = "usart";
187*4882a593Smuzhiyun				status = "disabled";
188*4882a593Smuzhiyun			};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun			usart2: serial@fffb8000{
191*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
192*4882a593Smuzhiyun				reg = <0xfffb8000 0x200>;
193*4882a593Smuzhiyun				interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
194*4882a593Smuzhiyun				atmel,use-dma-rx;
195*4882a593Smuzhiyun				atmel,use-dma-tx;
196*4882a593Smuzhiyun				pinctrl-names = "default";
197*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart2>;
198*4882a593Smuzhiyun				clocks = <&usart2_clk>;
199*4882a593Smuzhiyun				clock-names = "usart";
200*4882a593Smuzhiyun				status = "disabled";
201*4882a593Smuzhiyun			};
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun			ssc0: ssc@fffbc000 {
204*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-ssc";
205*4882a593Smuzhiyun				reg = <0xfffbc000 0x4000>;
206*4882a593Smuzhiyun				interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
207*4882a593Smuzhiyun				pinctrl-names = "default";
208*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
209*4882a593Smuzhiyun				clocks = <&ssc0_clk>;
210*4882a593Smuzhiyun				clock-names = "pclk";
211*4882a593Smuzhiyun				status = "disabled";
212*4882a593Smuzhiyun			};
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun			ssc1: ssc@fffc0000 {
215*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-ssc";
216*4882a593Smuzhiyun				reg = <0xfffc0000 0x4000>;
217*4882a593Smuzhiyun				interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
218*4882a593Smuzhiyun				pinctrl-names = "default";
219*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
220*4882a593Smuzhiyun				clocks = <&ssc1_clk>;
221*4882a593Smuzhiyun				clock-names = "pclk";
222*4882a593Smuzhiyun				status = "disabled";
223*4882a593Smuzhiyun			};
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun			ssc2: ssc@fffc4000 {
226*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-ssc";
227*4882a593Smuzhiyun				reg = <0xfffc4000 0x4000>;
228*4882a593Smuzhiyun				interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
229*4882a593Smuzhiyun				pinctrl-names = "default";
230*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
231*4882a593Smuzhiyun				clocks = <&ssc2_clk>;
232*4882a593Smuzhiyun				clock-names = "pclk";
233*4882a593Smuzhiyun				status = "disabled";
234*4882a593Smuzhiyun			};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun			spi0: spi@fffc8000 {
237*4882a593Smuzhiyun				#address-cells = <1>;
238*4882a593Smuzhiyun				#size-cells = <0>;
239*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-spi";
240*4882a593Smuzhiyun				reg = <0xfffc8000 0x200>;
241*4882a593Smuzhiyun				cs-gpios = <0>, <0>, <0>, <0>;
242*4882a593Smuzhiyun				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
243*4882a593Smuzhiyun				pinctrl-names = "default";
244*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_spi0>;
245*4882a593Smuzhiyun				clocks = <&spi0_clk>;
246*4882a593Smuzhiyun				clock-names = "spi_clk";
247*4882a593Smuzhiyun				status = "disabled";
248*4882a593Smuzhiyun			};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun			spi1: spi@fffcc000 {
251*4882a593Smuzhiyun				#address-cells = <1>;
252*4882a593Smuzhiyun				#size-cells = <0>;
253*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-spi";
254*4882a593Smuzhiyun				reg = <0xfffcc000 0x200>;
255*4882a593Smuzhiyun				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
256*4882a593Smuzhiyun				pinctrl-names = "default";
257*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_spi1>;
258*4882a593Smuzhiyun				clocks = <&spi1_clk>;
259*4882a593Smuzhiyun				clock-names = "spi_clk";
260*4882a593Smuzhiyun				status = "disabled";
261*4882a593Smuzhiyun			};
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun			ramc: ramc@ffffea00 {
264*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-sdramc";
265*4882a593Smuzhiyun				reg = <0xffffea00 0x200>;
266*4882a593Smuzhiyun			};
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun			matrix: matrix@ffffee00 {
269*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-bus-matrix", "syscon";
270*4882a593Smuzhiyun				reg = <0xffffee00 0x200>;
271*4882a593Smuzhiyun			};
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun			aic: interrupt-controller@fffff000 {
274*4882a593Smuzhiyun				#interrupt-cells = <3>;
275*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-aic";
276*4882a593Smuzhiyun				interrupt-controller;
277*4882a593Smuzhiyun				reg = <0xfffff000 0x200>;
278*4882a593Smuzhiyun				atmel,external-irqs = <29 30 31>;
279*4882a593Smuzhiyun			};
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun			dbgu: serial@fffff200 {
282*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
283*4882a593Smuzhiyun				reg = <0xfffff200 0x200>;
284*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
285*4882a593Smuzhiyun				pinctrl-names = "default";
286*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_dbgu>;
287*4882a593Smuzhiyun				clocks = <&mck>;
288*4882a593Smuzhiyun				clock-names = "usart";
289*4882a593Smuzhiyun				status = "disabled";
290*4882a593Smuzhiyun			};
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun			pioA: gpio@fffff400 {
293*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-gpio";
294*4882a593Smuzhiyun				reg = <0xfffff400 0x200>;
295*4882a593Smuzhiyun				interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
296*4882a593Smuzhiyun				#gpio-cells = <2>;
297*4882a593Smuzhiyun				gpio-controller;
298*4882a593Smuzhiyun				interrupt-controller;
299*4882a593Smuzhiyun				#interrupt-cells = <2>;
300*4882a593Smuzhiyun				clocks = <&pioA_clk>;
301*4882a593Smuzhiyun				u-boot,dm-pre-reloc;
302*4882a593Smuzhiyun			};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun			pioB: gpio@fffff600 {
305*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-gpio";
306*4882a593Smuzhiyun				reg = <0xfffff600 0x200>;
307*4882a593Smuzhiyun				interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
308*4882a593Smuzhiyun				#gpio-cells = <2>;
309*4882a593Smuzhiyun				gpio-controller;
310*4882a593Smuzhiyun				interrupt-controller;
311*4882a593Smuzhiyun				#interrupt-cells = <2>;
312*4882a593Smuzhiyun				clocks = <&pioB_clk>;
313*4882a593Smuzhiyun				u-boot,dm-pre-reloc;
314*4882a593Smuzhiyun			};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun			pioC: gpio@fffff800 {
317*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-gpio";
318*4882a593Smuzhiyun				reg = <0xfffff800 0x200>;
319*4882a593Smuzhiyun				interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
320*4882a593Smuzhiyun				#gpio-cells = <2>;
321*4882a593Smuzhiyun				gpio-controller;
322*4882a593Smuzhiyun				interrupt-controller;
323*4882a593Smuzhiyun				#interrupt-cells = <2>;
324*4882a593Smuzhiyun				clocks = <&pioC_clk>;
325*4882a593Smuzhiyun				u-boot,dm-pre-reloc;
326*4882a593Smuzhiyun			};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun			pinctrl@fffff400 {
329*4882a593Smuzhiyun				#address-cells = <1>;
330*4882a593Smuzhiyun				#size-cells = <1>;
331*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
332*4882a593Smuzhiyun				ranges = <0xfffff400 0xfffff400 0x600>;
333*4882a593Smuzhiyun				reg = <0xfffff400 0x200		/* pioA */
334*4882a593Smuzhiyun				       0xfffff600 0x200		/* pioB */
335*4882a593Smuzhiyun				       0xfffff800 0x200		/* pioC */
336*4882a593Smuzhiyun				      >;
337*4882a593Smuzhiyun				atmel,mux-mask =
338*4882a593Smuzhiyun				      /*    A         B     */
339*4882a593Smuzhiyun				      <0xffffffff 0xfffffff7>,  /* pioA */
340*4882a593Smuzhiyun				      <0xffffffff 0xfffffff4>,  /* pioB */
341*4882a593Smuzhiyun				      <0xffffffff 0xffffff07>;  /* pioC */
342*4882a593Smuzhiyun				u-boot,dm-pre-reloc;
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun				/* shared pinctrl settings */
345*4882a593Smuzhiyun				dbgu {
346*4882a593Smuzhiyun					u-boot,dm-pre-reloc;
347*4882a593Smuzhiyun					pinctrl_dbgu: dbgu-0 {
348*4882a593Smuzhiyun						atmel,pins =
349*4882a593Smuzhiyun							<AT91_PIOA 9  AT91_PERIPH_A AT91_PINCTRL_NONE>,
350*4882a593Smuzhiyun							<AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
351*4882a593Smuzhiyun					};
352*4882a593Smuzhiyun				};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun				usart0 {
355*4882a593Smuzhiyun					pinctrl_usart0: usart0-0 {
356*4882a593Smuzhiyun						atmel,pins =
357*4882a593Smuzhiyun							<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
358*4882a593Smuzhiyun							<AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE>;
359*4882a593Smuzhiyun					};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun					pinctrl_usart0_rts: usart0_rts-0 {
362*4882a593Smuzhiyun						atmel,pins =
363*4882a593Smuzhiyun							<AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
364*4882a593Smuzhiyun					};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun					pinctrl_usart0_cts: usart0_cts-0 {
367*4882a593Smuzhiyun						atmel,pins =
368*4882a593Smuzhiyun							<AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE>;
369*4882a593Smuzhiyun					};
370*4882a593Smuzhiyun				};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun				usart1 {
373*4882a593Smuzhiyun					pinctrl_usart1: usart1-0 {
374*4882a593Smuzhiyun						atmel,pins =
375*4882a593Smuzhiyun							<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
376*4882a593Smuzhiyun							<AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE>;
377*4882a593Smuzhiyun					};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun					pinctrl_usart1_rts: usart1_rts-0 {
380*4882a593Smuzhiyun						atmel,pins =
381*4882a593Smuzhiyun							<AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
382*4882a593Smuzhiyun					};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun					pinctrl_usart1_cts: usart1_cts-0 {
385*4882a593Smuzhiyun						atmel,pins =
386*4882a593Smuzhiyun							<AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
387*4882a593Smuzhiyun					};
388*4882a593Smuzhiyun				};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun				usart2 {
391*4882a593Smuzhiyun					pinctrl_usart2: usart2-0 {
392*4882a593Smuzhiyun						atmel,pins =
393*4882a593Smuzhiyun							<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
394*4882a593Smuzhiyun							<AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
395*4882a593Smuzhiyun					};
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun					pinctrl_usart2_rts: usart2_rts-0 {
398*4882a593Smuzhiyun						atmel,pins =
399*4882a593Smuzhiyun							<AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
400*4882a593Smuzhiyun					};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun					pinctrl_usart2_cts: usart2_cts-0 {
403*4882a593Smuzhiyun						atmel,pins =
404*4882a593Smuzhiyun							<AT91_PIOA 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
405*4882a593Smuzhiyun					};
406*4882a593Smuzhiyun				};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun				nand {
409*4882a593Smuzhiyun					pinctrl_nand: nand-0 {
410*4882a593Smuzhiyun						atmel,pins =
411*4882a593Smuzhiyun							<AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>,
412*4882a593Smuzhiyun							<AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
413*4882a593Smuzhiyun					};
414*4882a593Smuzhiyun				};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun				mmc0 {
417*4882a593Smuzhiyun					pinctrl_mmc0_clk: mmc0_clk-0 {
418*4882a593Smuzhiyun						atmel,pins =
419*4882a593Smuzhiyun							<AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
420*4882a593Smuzhiyun					};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun					pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
423*4882a593Smuzhiyun						atmel,pins =
424*4882a593Smuzhiyun							<AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
425*4882a593Smuzhiyun							<AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
426*4882a593Smuzhiyun					};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun					pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
429*4882a593Smuzhiyun						atmel,pins =
430*4882a593Smuzhiyun							<AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
431*4882a593Smuzhiyun							<AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
432*4882a593Smuzhiyun							<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
433*4882a593Smuzhiyun					};
434*4882a593Smuzhiyun					};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyun				ssc0 {
437*4882a593Smuzhiyun					pinctrl_ssc0_tx: ssc0_tx-0 {
438*4882a593Smuzhiyun						atmel,pins =
439*4882a593Smuzhiyun							<AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>,
440*4882a593Smuzhiyun							<AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>,
441*4882a593Smuzhiyun							<AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
442*4882a593Smuzhiyun					};
443*4882a593Smuzhiyun
444*4882a593Smuzhiyun					pinctrl_ssc0_rx: ssc0_rx-0 {
445*4882a593Smuzhiyun						atmel,pins =
446*4882a593Smuzhiyun							<AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>,
447*4882a593Smuzhiyun							<AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>,
448*4882a593Smuzhiyun							<AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
449*4882a593Smuzhiyun					};
450*4882a593Smuzhiyun				};
451*4882a593Smuzhiyun
452*4882a593Smuzhiyun				ssc1 {
453*4882a593Smuzhiyun					pinctrl_ssc1_tx: ssc1_tx-0 {
454*4882a593Smuzhiyun						atmel,pins =
455*4882a593Smuzhiyun							<AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>,
456*4882a593Smuzhiyun							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>,
457*4882a593Smuzhiyun							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
458*4882a593Smuzhiyun					};
459*4882a593Smuzhiyun
460*4882a593Smuzhiyun					pinctrl_ssc1_rx: ssc1_rx-0 {
461*4882a593Smuzhiyun						atmel,pins =
462*4882a593Smuzhiyun							<AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>,
463*4882a593Smuzhiyun							<AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>,
464*4882a593Smuzhiyun							<AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
465*4882a593Smuzhiyun					};
466*4882a593Smuzhiyun				};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun				ssc2 {
469*4882a593Smuzhiyun					pinctrl_ssc2_tx: ssc2_tx-0 {
470*4882a593Smuzhiyun						atmel,pins =
471*4882a593Smuzhiyun							<AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
472*4882a593Smuzhiyun							<AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
473*4882a593Smuzhiyun							<AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;
474*4882a593Smuzhiyun					};
475*4882a593Smuzhiyun
476*4882a593Smuzhiyun					pinctrl_ssc2_rx: ssc2_rx-0 {
477*4882a593Smuzhiyun						atmel,pins =
478*4882a593Smuzhiyun							<AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>,
479*4882a593Smuzhiyun							<AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE>,
480*4882a593Smuzhiyun							<AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
481*4882a593Smuzhiyun					};
482*4882a593Smuzhiyun				};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun				spi0 {
485*4882a593Smuzhiyun					pinctrl_spi0: spi0-0 {
486*4882a593Smuzhiyun						atmel,pins =
487*4882a593Smuzhiyun							<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
488*4882a593Smuzhiyun							<AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
489*4882a593Smuzhiyun							<AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;
490*4882a593Smuzhiyun					};
491*4882a593Smuzhiyun					};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun				spi1 {
494*4882a593Smuzhiyun					pinctrl_spi1: spi1-0 {
495*4882a593Smuzhiyun						atmel,pins =
496*4882a593Smuzhiyun							<AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>,
497*4882a593Smuzhiyun							<AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>,
498*4882a593Smuzhiyun							<AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
499*4882a593Smuzhiyun					};
500*4882a593Smuzhiyun				};
501*4882a593Smuzhiyun
502*4882a593Smuzhiyun				tcb0 {
503*4882a593Smuzhiyun					pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
504*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
505*4882a593Smuzhiyun					};
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun					pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
508*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
509*4882a593Smuzhiyun					};
510*4882a593Smuzhiyun
511*4882a593Smuzhiyun					pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
512*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
513*4882a593Smuzhiyun					};
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun					pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
516*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
517*4882a593Smuzhiyun					};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun					pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
520*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;
521*4882a593Smuzhiyun					};
522*4882a593Smuzhiyun
523*4882a593Smuzhiyun					pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
524*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;
525*4882a593Smuzhiyun					};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun					pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
528*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
529*4882a593Smuzhiyun					};
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun					pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
532*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
533*4882a593Smuzhiyun					};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun					pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
536*4882a593Smuzhiyun						atmel,pins = <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>;
537*4882a593Smuzhiyun					};
538*4882a593Smuzhiyun				};
539*4882a593Smuzhiyun
540*4882a593Smuzhiyun				i2c0 {
541*4882a593Smuzhiyun					pinctrl_i2c_bitbang: i2c-0-bitbang {
542*4882a593Smuzhiyun						atmel,pins =
543*4882a593Smuzhiyun							<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>,
544*4882a593Smuzhiyun							<AT91_PIOA 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
545*4882a593Smuzhiyun					};
546*4882a593Smuzhiyun					pinctrl_i2c_twi: i2c-0-twi {
547*4882a593Smuzhiyun						atmel,pins =
548*4882a593Smuzhiyun							<AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
549*4882a593Smuzhiyun							<AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;
550*4882a593Smuzhiyun					};
551*4882a593Smuzhiyun				};
552*4882a593Smuzhiyun
553*4882a593Smuzhiyun				fb {
554*4882a593Smuzhiyun					pinctrl_fb: fb-0 {
555*4882a593Smuzhiyun						atmel,pins =
556*4882a593Smuzhiyun							<AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
557*4882a593Smuzhiyun							<AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>,
558*4882a593Smuzhiyun							<AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>,
559*4882a593Smuzhiyun							<AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
560*4882a593Smuzhiyun							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
561*4882a593Smuzhiyun							<AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>,
562*4882a593Smuzhiyun							<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>,
563*4882a593Smuzhiyun							<AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
564*4882a593Smuzhiyun							<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
565*4882a593Smuzhiyun							<AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>,
566*4882a593Smuzhiyun							<AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>,
567*4882a593Smuzhiyun							<AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>,
568*4882a593Smuzhiyun							<AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>,
569*4882a593Smuzhiyun							<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE>,
570*4882a593Smuzhiyun							<AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE>,
571*4882a593Smuzhiyun							<AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>,
572*4882a593Smuzhiyun							<AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE>,
573*4882a593Smuzhiyun							<AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
574*4882a593Smuzhiyun							<AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
575*4882a593Smuzhiyun							<AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE>,
576*4882a593Smuzhiyun							<AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
577*4882a593Smuzhiyun					};
578*4882a593Smuzhiyun				};
579*4882a593Smuzhiyun			};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun			pmc: pmc@fffffc00 {
582*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-pmc", "syscon";
583*4882a593Smuzhiyun				reg = <0xfffffc00 0x100>;
584*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
585*4882a593Smuzhiyun				interrupt-controller;
586*4882a593Smuzhiyun				#address-cells = <1>;
587*4882a593Smuzhiyun				#size-cells = <0>;
588*4882a593Smuzhiyun				#interrupt-cells = <1>;
589*4882a593Smuzhiyun				u-boot,dm-pre-reloc;
590*4882a593Smuzhiyun
591*4882a593Smuzhiyun				main_osc: main_osc {
592*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-main-osc";
593*4882a593Smuzhiyun					#clock-cells = <0>;
594*4882a593Smuzhiyun					interrupts-extended = <&pmc AT91_PMC_MOSCS>;
595*4882a593Smuzhiyun					clocks = <&main_xtal>;
596*4882a593Smuzhiyun				};
597*4882a593Smuzhiyun
598*4882a593Smuzhiyun				main: mainck {
599*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-main";
600*4882a593Smuzhiyun					#clock-cells = <0>;
601*4882a593Smuzhiyun					clocks = <&main_osc>;
602*4882a593Smuzhiyun				};
603*4882a593Smuzhiyun
604*4882a593Smuzhiyun				plla: pllack@0 {
605*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-pll";
606*4882a593Smuzhiyun					#clock-cells = <0>;
607*4882a593Smuzhiyun					interrupts-extended = <&pmc AT91_PMC_LOCKA>;
608*4882a593Smuzhiyun					clocks = <&main>;
609*4882a593Smuzhiyun					reg = <0>;
610*4882a593Smuzhiyun					atmel,clk-input-range = <1000000 32000000>;
611*4882a593Smuzhiyun					#atmel,pll-clk-output-range-cells = <4>;
612*4882a593Smuzhiyun					atmel,pll-clk-output-ranges = <80000000 200000000 0 1>,
613*4882a593Smuzhiyun								<190000000 240000000 2 1>;
614*4882a593Smuzhiyun				};
615*4882a593Smuzhiyun
616*4882a593Smuzhiyun				pllb: pllbck@1 {
617*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-pll";
618*4882a593Smuzhiyun					#clock-cells = <0>;
619*4882a593Smuzhiyun					interrupts-extended = <&pmc AT91_PMC_LOCKB>;
620*4882a593Smuzhiyun					clocks = <&main>;
621*4882a593Smuzhiyun					reg = <1>;
622*4882a593Smuzhiyun					atmel,clk-input-range = <1000000 5000000>;
623*4882a593Smuzhiyun					#atmel,pll-clk-output-range-cells = <4>;
624*4882a593Smuzhiyun					atmel,pll-clk-output-ranges = <70000000 130000000 1 1>;
625*4882a593Smuzhiyun				};
626*4882a593Smuzhiyun
627*4882a593Smuzhiyun				mck: masterck {
628*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-master";
629*4882a593Smuzhiyun					#clock-cells = <0>;
630*4882a593Smuzhiyun					interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
631*4882a593Smuzhiyun					clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
632*4882a593Smuzhiyun					atmel,clk-output-range = <0 94000000>;
633*4882a593Smuzhiyun					atmel,clk-divisors = <1 2 4 0>;
634*4882a593Smuzhiyun					u-boot,dm-pre-reloc;
635*4882a593Smuzhiyun				};
636*4882a593Smuzhiyun
637*4882a593Smuzhiyun				usb: usbck {
638*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-usb";
639*4882a593Smuzhiyun					#clock-cells = <0>;
640*4882a593Smuzhiyun					atmel,clk-divisors = <1 2 4 0>;
641*4882a593Smuzhiyun					clocks = <&pllb>;
642*4882a593Smuzhiyun				};
643*4882a593Smuzhiyun
644*4882a593Smuzhiyun				prog: progck {
645*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-programmable";
646*4882a593Smuzhiyun					#address-cells = <1>;
647*4882a593Smuzhiyun					#size-cells = <0>;
648*4882a593Smuzhiyun					interrupt-parent = <&pmc>;
649*4882a593Smuzhiyun					clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
650*4882a593Smuzhiyun
651*4882a593Smuzhiyun					prog0: progi@0 {
652*4882a593Smuzhiyun						#clock-cells = <0>;
653*4882a593Smuzhiyun						reg = <0>;
654*4882a593Smuzhiyun						interrupts = <AT91_PMC_PCKRDY(0)>;
655*4882a593Smuzhiyun					};
656*4882a593Smuzhiyun
657*4882a593Smuzhiyun					prog1: prog@1 {
658*4882a593Smuzhiyun						#clock-cells = <0>;
659*4882a593Smuzhiyun						reg = <1>;
660*4882a593Smuzhiyun						interrupts = <AT91_PMC_PCKRDY(1)>;
661*4882a593Smuzhiyun					};
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun					prog2: prog@2 {
664*4882a593Smuzhiyun						#clock-cells = <0>;
665*4882a593Smuzhiyun						reg = <2>;
666*4882a593Smuzhiyun						interrupts = <AT91_PMC_PCKRDY(2)>;
667*4882a593Smuzhiyun					};
668*4882a593Smuzhiyun
669*4882a593Smuzhiyun					prog3: prog@3 {
670*4882a593Smuzhiyun						#clock-cells = <0>;
671*4882a593Smuzhiyun						reg = <3>;
672*4882a593Smuzhiyun						interrupts = <AT91_PMC_PCKRDY(3)>;
673*4882a593Smuzhiyun					};
674*4882a593Smuzhiyun				};
675*4882a593Smuzhiyun
676*4882a593Smuzhiyun				systemck {
677*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-system";
678*4882a593Smuzhiyun					#address-cells = <1>;
679*4882a593Smuzhiyun					#size-cells = <0>;
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun					uhpck: uhpck@6 {
682*4882a593Smuzhiyun						#clock-cells = <0>;
683*4882a593Smuzhiyun						reg = <6>;
684*4882a593Smuzhiyun						clocks = <&usb>;
685*4882a593Smuzhiyun					};
686*4882a593Smuzhiyun
687*4882a593Smuzhiyun					udpck: udpck@7 {
688*4882a593Smuzhiyun						#clock-cells = <0>;
689*4882a593Smuzhiyun						reg = <7>;
690*4882a593Smuzhiyun						clocks = <&usb>;
691*4882a593Smuzhiyun					};
692*4882a593Smuzhiyun
693*4882a593Smuzhiyun					pck0: pck@8 {
694*4882a593Smuzhiyun						#clock-cells = <0>;
695*4882a593Smuzhiyun						reg = <8>;
696*4882a593Smuzhiyun						clocks = <&prog0>;
697*4882a593Smuzhiyun					};
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun					pck1: pck@9 {
700*4882a593Smuzhiyun						#clock-cells = <0>;
701*4882a593Smuzhiyun						reg = <9>;
702*4882a593Smuzhiyun						clocks = <&prog1>;
703*4882a593Smuzhiyun					};
704*4882a593Smuzhiyun
705*4882a593Smuzhiyun					pck2: pck@10 {
706*4882a593Smuzhiyun						#clock-cells = <0>;
707*4882a593Smuzhiyun						reg = <10>;
708*4882a593Smuzhiyun						clocks = <&prog2>;
709*4882a593Smuzhiyun					};
710*4882a593Smuzhiyun
711*4882a593Smuzhiyun					pck3: pck@11 {
712*4882a593Smuzhiyun						#clock-cells = <0>;
713*4882a593Smuzhiyun						reg = <11>;
714*4882a593Smuzhiyun						clocks = <&prog3>;
715*4882a593Smuzhiyun					};
716*4882a593Smuzhiyun
717*4882a593Smuzhiyun					hclk0: hclk@16 {
718*4882a593Smuzhiyun						#clock-cells = <0>;
719*4882a593Smuzhiyun						reg = <16>;
720*4882a593Smuzhiyun						clocks = <&mck>;
721*4882a593Smuzhiyun					};
722*4882a593Smuzhiyun
723*4882a593Smuzhiyun					hclk1: hclk@17 {
724*4882a593Smuzhiyun						#clock-cells = <0>;
725*4882a593Smuzhiyun						reg = <17>;
726*4882a593Smuzhiyun						clocks = <&mck>;
727*4882a593Smuzhiyun					};
728*4882a593Smuzhiyun				};
729*4882a593Smuzhiyun
730*4882a593Smuzhiyun				periphck {
731*4882a593Smuzhiyun					compatible = "atmel,at91rm9200-clk-peripheral";
732*4882a593Smuzhiyun					#address-cells = <1>;
733*4882a593Smuzhiyun					#size-cells = <0>;
734*4882a593Smuzhiyun					clocks = <&mck>;
735*4882a593Smuzhiyun					u-boot,dm-pre-reloc;
736*4882a593Smuzhiyun
737*4882a593Smuzhiyun					pioA_clk: pioA_clk@2 {
738*4882a593Smuzhiyun						#clock-cells = <0>;
739*4882a593Smuzhiyun						reg = <2>;
740*4882a593Smuzhiyun						u-boot,dm-pre-reloc;
741*4882a593Smuzhiyun					};
742*4882a593Smuzhiyun
743*4882a593Smuzhiyun					pioB_clk: pioB_clk@3 {
744*4882a593Smuzhiyun						#clock-cells = <0>;
745*4882a593Smuzhiyun						reg = <3>;
746*4882a593Smuzhiyun						u-boot,dm-pre-reloc;
747*4882a593Smuzhiyun					};
748*4882a593Smuzhiyun
749*4882a593Smuzhiyun					pioC_clk: pioC_clk@4 {
750*4882a593Smuzhiyun						#clock-cells = <0>;
751*4882a593Smuzhiyun						reg = <4>;
752*4882a593Smuzhiyun						u-boot,dm-pre-reloc;
753*4882a593Smuzhiyun					};
754*4882a593Smuzhiyun
755*4882a593Smuzhiyun					usart0_clk: usart0_clk@6 {
756*4882a593Smuzhiyun						#clock-cells = <0>;
757*4882a593Smuzhiyun						reg = <6>;
758*4882a593Smuzhiyun					};
759*4882a593Smuzhiyun
760*4882a593Smuzhiyun					usart1_clk: usart1_clk@7 {
761*4882a593Smuzhiyun						#clock-cells = <0>;
762*4882a593Smuzhiyun						reg = <7>;
763*4882a593Smuzhiyun					};
764*4882a593Smuzhiyun
765*4882a593Smuzhiyun					usart2_clk: usart2_clk@8 {
766*4882a593Smuzhiyun						#clock-cells = <0>;
767*4882a593Smuzhiyun						reg = <8>;
768*4882a593Smuzhiyun					};
769*4882a593Smuzhiyun
770*4882a593Smuzhiyun					mci0_clk: mci0_clk@9 {
771*4882a593Smuzhiyun						#clock-cells = <0>;
772*4882a593Smuzhiyun						reg = <9>;
773*4882a593Smuzhiyun					};
774*4882a593Smuzhiyun
775*4882a593Smuzhiyun					udc_clk: udc_clk@10 {
776*4882a593Smuzhiyun						#clock-cells = <0>;
777*4882a593Smuzhiyun						reg = <10>;
778*4882a593Smuzhiyun					};
779*4882a593Smuzhiyun
780*4882a593Smuzhiyun					twi0_clk: twi0_clk@11 {
781*4882a593Smuzhiyun						reg = <11>;
782*4882a593Smuzhiyun						#clock-cells = <0>;
783*4882a593Smuzhiyun					};
784*4882a593Smuzhiyun
785*4882a593Smuzhiyun					spi0_clk: spi0_clk@12 {
786*4882a593Smuzhiyun						#clock-cells = <0>;
787*4882a593Smuzhiyun						reg = <12>;
788*4882a593Smuzhiyun					};
789*4882a593Smuzhiyun
790*4882a593Smuzhiyun					spi1_clk: spi1_clk@13 {
791*4882a593Smuzhiyun						#clock-cells = <0>;
792*4882a593Smuzhiyun						reg = <13>;
793*4882a593Smuzhiyun					};
794*4882a593Smuzhiyun
795*4882a593Smuzhiyun					ssc0_clk: ssc0_clk@14 {
796*4882a593Smuzhiyun						#clock-cells = <0>;
797*4882a593Smuzhiyun						reg = <14>;
798*4882a593Smuzhiyun					};
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun					ssc1_clk: ssc1_clk@15 {
801*4882a593Smuzhiyun						#clock-cells = <0>;
802*4882a593Smuzhiyun						reg = <15>;
803*4882a593Smuzhiyun					};
804*4882a593Smuzhiyun
805*4882a593Smuzhiyun					ssc2_clk: ssc2_clk@16 {
806*4882a593Smuzhiyun						#clock-cells = <0>;
807*4882a593Smuzhiyun						reg = <16>;
808*4882a593Smuzhiyun					};
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun					tc0_clk: tc0_clk@17 {
811*4882a593Smuzhiyun						#clock-cells = <0>;
812*4882a593Smuzhiyun						reg = <17>;
813*4882a593Smuzhiyun					};
814*4882a593Smuzhiyun
815*4882a593Smuzhiyun					tc1_clk: tc1_clk@18 {
816*4882a593Smuzhiyun						#clock-cells = <0>;
817*4882a593Smuzhiyun						reg = <18>;
818*4882a593Smuzhiyun					};
819*4882a593Smuzhiyun
820*4882a593Smuzhiyun					tc2_clk: tc2_clk@19 {
821*4882a593Smuzhiyun						#clock-cells = <0>;
822*4882a593Smuzhiyun						reg = <19>;
823*4882a593Smuzhiyun					};
824*4882a593Smuzhiyun
825*4882a593Smuzhiyun					ohci_clk: ohci_clk@20 {
826*4882a593Smuzhiyun						#clock-cells = <0>;
827*4882a593Smuzhiyun						reg = <20>;
828*4882a593Smuzhiyun					};
829*4882a593Smuzhiyun
830*4882a593Smuzhiyun					lcd_clk: lcd_clk@21 {
831*4882a593Smuzhiyun						#clock-cells = <0>;
832*4882a593Smuzhiyun						reg = <21>;
833*4882a593Smuzhiyun					};
834*4882a593Smuzhiyun				};
835*4882a593Smuzhiyun			};
836*4882a593Smuzhiyun
837*4882a593Smuzhiyun			rstc@fffffd00 {
838*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-rstc";
839*4882a593Smuzhiyun				reg = <0xfffffd00 0x10>;
840*4882a593Smuzhiyun				clocks = <&slow_xtal>;
841*4882a593Smuzhiyun			};
842*4882a593Smuzhiyun
843*4882a593Smuzhiyun			shdwc@fffffd10 {
844*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-shdwc";
845*4882a593Smuzhiyun				reg = <0xfffffd10 0x10>;
846*4882a593Smuzhiyun				clocks = <&slow_xtal>;
847*4882a593Smuzhiyun			};
848*4882a593Smuzhiyun
849*4882a593Smuzhiyun			pit: timer@fffffd30 {
850*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-pit";
851*4882a593Smuzhiyun				reg = <0xfffffd30 0xf>;
852*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
853*4882a593Smuzhiyun				clocks = <&mck>;
854*4882a593Smuzhiyun			};
855*4882a593Smuzhiyun
856*4882a593Smuzhiyun			rtc@fffffd20 {
857*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-rtt";
858*4882a593Smuzhiyun				reg = <0xfffffd20 0x10>;
859*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
860*4882a593Smuzhiyun				clocks = <&slow_xtal>;
861*4882a593Smuzhiyun				status = "disabled";
862*4882a593Smuzhiyun			};
863*4882a593Smuzhiyun
864*4882a593Smuzhiyun			watchdog@fffffd40 {
865*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-wdt";
866*4882a593Smuzhiyun				reg = <0xfffffd40 0x10>;
867*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
868*4882a593Smuzhiyun				clocks = <&slow_xtal>;
869*4882a593Smuzhiyun				status = "disabled";
870*4882a593Smuzhiyun			};
871*4882a593Smuzhiyun
872*4882a593Smuzhiyun			gpbr: syscon@fffffd50 {
873*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-gpbr", "syscon";
874*4882a593Smuzhiyun				reg = <0xfffffd50 0x10>;
875*4882a593Smuzhiyun				status = "disabled";
876*4882a593Smuzhiyun			};
877*4882a593Smuzhiyun		};
878*4882a593Smuzhiyun	};
879*4882a593Smuzhiyun
880*4882a593Smuzhiyun	i2c@0 {
881*4882a593Smuzhiyun		compatible = "i2c-gpio";
882*4882a593Smuzhiyun		pinctrl-names = "default";
883*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_i2c_bitbang>;
884*4882a593Smuzhiyun		gpios = <&pioA 7 GPIO_ACTIVE_HIGH>, /* sda */
885*4882a593Smuzhiyun			<&pioA 8 GPIO_ACTIVE_HIGH>; /* scl */
886*4882a593Smuzhiyun		i2c-gpio,sda-open-drain;
887*4882a593Smuzhiyun		i2c-gpio,scl-open-drain;
888*4882a593Smuzhiyun		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
889*4882a593Smuzhiyun		#address-cells = <1>;
890*4882a593Smuzhiyun		#size-cells = <0>;
891*4882a593Smuzhiyun		status = "disabled";
892*4882a593Smuzhiyun	};
893*4882a593Smuzhiyun};
894