1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC
4*724ba675SRob Herring *
5*724ba675SRob Herring *  Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com>
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include <dt-bindings/pinctrl/at91.h>
9*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
10*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11*724ba675SRob Herring#include <dt-bindings/clock/at91.h>
12*724ba675SRob Herring#include <dt-bindings/mfd/at91-usart.h>
13*724ba675SRob Herring
14*724ba675SRob Herring/ {
15*724ba675SRob Herring	#address-cells = <1>;
16*724ba675SRob Herring	#size-cells = <1>;
17*724ba675SRob Herring	model = "Atmel AT91SAM9261 family SoC";
18*724ba675SRob Herring	compatible = "atmel,at91sam9261";
19*724ba675SRob Herring	interrupt-parent = <&aic>;
20*724ba675SRob Herring
21*724ba675SRob Herring	aliases {
22*724ba675SRob Herring		serial0 = &dbgu;
23*724ba675SRob Herring		serial1 = &usart0;
24*724ba675SRob Herring		serial2 = &usart1;
25*724ba675SRob Herring		serial3 = &usart2;
26*724ba675SRob Herring		gpio0 = &pioA;
27*724ba675SRob Herring		gpio1 = &pioB;
28*724ba675SRob Herring		gpio2 = &pioC;
29*724ba675SRob Herring		tcb0 = &tcb0;
30*724ba675SRob Herring		i2c0 = &i2c0;
31*724ba675SRob Herring		ssc0 = &ssc0;
32*724ba675SRob Herring		ssc1 = &ssc1;
33*724ba675SRob Herring		ssc2 = &ssc2;
34*724ba675SRob Herring	};
35*724ba675SRob Herring
36*724ba675SRob Herring	cpus {
37*724ba675SRob Herring		#address-cells = <1>;
38*724ba675SRob Herring		#size-cells = <0>;
39*724ba675SRob Herring
40*724ba675SRob Herring		cpu@0 {
41*724ba675SRob Herring			compatible = "arm,arm926ej-s";
42*724ba675SRob Herring			device_type = "cpu";
43*724ba675SRob Herring			reg = <0>;
44*724ba675SRob Herring		};
45*724ba675SRob Herring	};
46*724ba675SRob Herring
47*724ba675SRob Herring	memory@20000000 {
48*724ba675SRob Herring		device_type = "memory";
49*724ba675SRob Herring		reg = <0x20000000 0x08000000>;
50*724ba675SRob Herring	};
51*724ba675SRob Herring
52*724ba675SRob Herring	clocks {
53*724ba675SRob Herring		main_xtal: main_xtal {
54*724ba675SRob Herring			compatible = "fixed-clock";
55*724ba675SRob Herring			#clock-cells = <0>;
56*724ba675SRob Herring			clock-frequency = <0>;
57*724ba675SRob Herring		};
58*724ba675SRob Herring
59*724ba675SRob Herring		slow_xtal: slow_xtal {
60*724ba675SRob Herring			compatible = "fixed-clock";
61*724ba675SRob Herring			#clock-cells = <0>;
62*724ba675SRob Herring			clock-frequency = <0>;
63*724ba675SRob Herring		};
64*724ba675SRob Herring	};
65*724ba675SRob Herring
66*724ba675SRob Herring	sram: sram@300000 {
67*724ba675SRob Herring		compatible = "mmio-sram";
68*724ba675SRob Herring		reg = <0x00300000 0x28000>;
69*724ba675SRob Herring		#address-cells = <1>;
70*724ba675SRob Herring		#size-cells = <1>;
71*724ba675SRob Herring		ranges = <0 0x00300000 0x28000>;
72*724ba675SRob Herring	};
73*724ba675SRob Herring
74*724ba675SRob Herring	ahb {
75*724ba675SRob Herring		compatible = "simple-bus";
76*724ba675SRob Herring		#address-cells = <1>;
77*724ba675SRob Herring		#size-cells = <1>;
78*724ba675SRob Herring		ranges;
79*724ba675SRob Herring
80*724ba675SRob Herring		usb0: ohci@500000 {
81*724ba675SRob Herring			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
82*724ba675SRob Herring			reg = <0x00500000 0x100000>;
83*724ba675SRob Herring			interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
84*724ba675SRob Herring			clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_SYSTEM 16>, <&pmc PMC_TYPE_SYSTEM 6>;
85*724ba675SRob Herring			clock-names = "ohci_clk", "hclk", "uhpck";
86*724ba675SRob Herring			status = "disabled";
87*724ba675SRob Herring		};
88*724ba675SRob Herring
89*724ba675SRob Herring		fb0: fb@600000 {
90*724ba675SRob Herring			compatible = "atmel,at91sam9261-lcdc";
91*724ba675SRob Herring			reg = <0x00600000 0x1000>;
92*724ba675SRob Herring			interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
93*724ba675SRob Herring			pinctrl-names = "default";
94*724ba675SRob Herring			pinctrl-0 = <&pinctrl_fb>;
95*724ba675SRob Herring			clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_SYSTEM 17>;
96*724ba675SRob Herring			clock-names = "lcdc_clk", "hclk";
97*724ba675SRob Herring			status = "disabled";
98*724ba675SRob Herring		};
99*724ba675SRob Herring
100*724ba675SRob Herring		ebi: ebi@10000000 {
101*724ba675SRob Herring			compatible = "atmel,at91sam9261-ebi";
102*724ba675SRob Herring			#address-cells = <2>;
103*724ba675SRob Herring			#size-cells = <1>;
104*724ba675SRob Herring			atmel,smc = <&smc>;
105*724ba675SRob Herring			atmel,matrix = <&matrix>;
106*724ba675SRob Herring			reg = <0x10000000 0x80000000>;
107*724ba675SRob Herring			ranges = <0x0 0x0 0x10000000 0x10000000
108*724ba675SRob Herring				  0x1 0x0 0x20000000 0x10000000
109*724ba675SRob Herring				  0x2 0x0 0x30000000 0x10000000
110*724ba675SRob Herring				  0x3 0x0 0x40000000 0x10000000
111*724ba675SRob Herring				  0x4 0x0 0x50000000 0x10000000
112*724ba675SRob Herring				  0x5 0x0 0x60000000 0x10000000
113*724ba675SRob Herring				  0x6 0x0 0x70000000 0x10000000
114*724ba675SRob Herring				  0x7 0x0 0x80000000 0x10000000>;
115*724ba675SRob Herring			clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
116*724ba675SRob Herring			status = "disabled";
117*724ba675SRob Herring
118*724ba675SRob Herring			nand_controller: nand-controller {
119*724ba675SRob Herring				compatible = "atmel,at91sam9261-nand-controller";
120*724ba675SRob Herring				#address-cells = <2>;
121*724ba675SRob Herring				#size-cells = <1>;
122*724ba675SRob Herring				ranges;
123*724ba675SRob Herring				status = "disabled";
124*724ba675SRob Herring			};
125*724ba675SRob Herring		};
126*724ba675SRob Herring
127*724ba675SRob Herring		apb {
128*724ba675SRob Herring			compatible = "simple-bus";
129*724ba675SRob Herring			#address-cells = <1>;
130*724ba675SRob Herring			#size-cells = <1>;
131*724ba675SRob Herring			ranges;
132*724ba675SRob Herring
133*724ba675SRob Herring			tcb0: timer@fffa0000 {
134*724ba675SRob Herring				compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
135*724ba675SRob Herring				#address-cells = <1>;
136*724ba675SRob Herring				#size-cells = <0>;
137*724ba675SRob Herring				reg = <0xfffa0000 0x100>;
138*724ba675SRob Herring				interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>,
139*724ba675SRob Herring					     <18 IRQ_TYPE_LEVEL_HIGH 0>,
140*724ba675SRob Herring					     <19 IRQ_TYPE_LEVEL_HIGH 0>;
141*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&slow_xtal>;
142*724ba675SRob Herring				clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
143*724ba675SRob Herring			};
144*724ba675SRob Herring
145*724ba675SRob Herring			usb1: gadget@fffa4000 {
146*724ba675SRob Herring				compatible = "atmel,at91sam9261-udc";
147*724ba675SRob Herring				reg = <0xfffa4000 0x4000>;
148*724ba675SRob Herring				interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
149*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 10>, <&pmc PMC_TYPE_SYSTEM 7>;
150*724ba675SRob Herring				clock-names = "pclk", "hclk";
151*724ba675SRob Herring				atmel,matrix = <&matrix>;
152*724ba675SRob Herring				status = "disabled";
153*724ba675SRob Herring			};
154*724ba675SRob Herring
155*724ba675SRob Herring			mmc0: mmc@fffa8000 {
156*724ba675SRob Herring				compatible = "atmel,hsmci";
157*724ba675SRob Herring				reg = <0xfffa8000 0x600>;
158*724ba675SRob Herring				interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
159*724ba675SRob Herring				pinctrl-names = "default";
160*724ba675SRob Herring				pinctrl-0 = <&pinctrl_mmc0_clk>, <&pinctrl_mmc0_slot0_cmd_dat0>, <&pinctrl_mmc0_slot0_dat1_3>;
161*724ba675SRob Herring				#address-cells = <1>;
162*724ba675SRob Herring				#size-cells = <0>;
163*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
164*724ba675SRob Herring				clock-names = "mci_clk";
165*724ba675SRob Herring				status = "disabled";
166*724ba675SRob Herring			};
167*724ba675SRob Herring
168*724ba675SRob Herring			i2c0: i2c@fffac000 {
169*724ba675SRob Herring				compatible = "atmel,at91sam9261-i2c";
170*724ba675SRob Herring				pinctrl-names = "default";
171*724ba675SRob Herring				pinctrl-0 = <&pinctrl_i2c_twi>;
172*724ba675SRob Herring				reg = <0xfffac000 0x100>;
173*724ba675SRob Herring				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
174*724ba675SRob Herring				#address-cells = <1>;
175*724ba675SRob Herring				#size-cells = <0>;
176*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
177*724ba675SRob Herring				status = "disabled";
178*724ba675SRob Herring			};
179*724ba675SRob Herring
180*724ba675SRob Herring			usart0: serial@fffb0000 {
181*724ba675SRob Herring				compatible = "atmel,at91sam9260-usart";
182*724ba675SRob Herring				reg = <0xfffb0000 0x200>;
183*724ba675SRob Herring				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
184*724ba675SRob Herring				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
185*724ba675SRob Herring				atmel,use-dma-rx;
186*724ba675SRob Herring				atmel,use-dma-tx;
187*724ba675SRob Herring				pinctrl-names = "default";
188*724ba675SRob Herring				pinctrl-0 = <&pinctrl_usart0>;
189*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
190*724ba675SRob Herring				clock-names = "usart";
191*724ba675SRob Herring				status = "disabled";
192*724ba675SRob Herring			};
193*724ba675SRob Herring
194*724ba675SRob Herring			usart1: serial@fffb4000 {
195*724ba675SRob Herring				compatible = "atmel,at91sam9260-usart";
196*724ba675SRob Herring				reg = <0xfffb4000 0x200>;
197*724ba675SRob Herring				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
198*724ba675SRob Herring				interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
199*724ba675SRob Herring				atmel,use-dma-rx;
200*724ba675SRob Herring				atmel,use-dma-tx;
201*724ba675SRob Herring				pinctrl-names = "default";
202*724ba675SRob Herring				pinctrl-0 = <&pinctrl_usart1>;
203*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
204*724ba675SRob Herring				clock-names = "usart";
205*724ba675SRob Herring				status = "disabled";
206*724ba675SRob Herring			};
207*724ba675SRob Herring
208*724ba675SRob Herring			usart2: serial@fffb8000 {
209*724ba675SRob Herring				compatible = "atmel,at91sam9260-usart";
210*724ba675SRob Herring				reg = <0xfffb8000 0x200>;
211*724ba675SRob Herring				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
212*724ba675SRob Herring				interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
213*724ba675SRob Herring				atmel,use-dma-rx;
214*724ba675SRob Herring				atmel,use-dma-tx;
215*724ba675SRob Herring				pinctrl-names = "default";
216*724ba675SRob Herring				pinctrl-0 = <&pinctrl_usart2>;
217*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
218*724ba675SRob Herring				clock-names = "usart";
219*724ba675SRob Herring				status = "disabled";
220*724ba675SRob Herring			};
221*724ba675SRob Herring
222*724ba675SRob Herring			ssc0: ssc@fffbc000 {
223*724ba675SRob Herring				compatible = "atmel,at91rm9200-ssc";
224*724ba675SRob Herring				reg = <0xfffbc000 0x4000>;
225*724ba675SRob Herring				interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
226*724ba675SRob Herring				pinctrl-names = "default";
227*724ba675SRob Herring				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
228*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
229*724ba675SRob Herring				clock-names = "pclk";
230*724ba675SRob Herring				status = "disabled";
231*724ba675SRob Herring			};
232*724ba675SRob Herring
233*724ba675SRob Herring			ssc1: ssc@fffc0000 {
234*724ba675SRob Herring				compatible = "atmel,at91rm9200-ssc";
235*724ba675SRob Herring				reg = <0xfffc0000 0x4000>;
236*724ba675SRob Herring				interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
237*724ba675SRob Herring				pinctrl-names = "default";
238*724ba675SRob Herring				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
239*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
240*724ba675SRob Herring				clock-names = "pclk";
241*724ba675SRob Herring				status = "disabled";
242*724ba675SRob Herring			};
243*724ba675SRob Herring
244*724ba675SRob Herring			ssc2: ssc@fffc4000 {
245*724ba675SRob Herring				compatible = "atmel,at91rm9200-ssc";
246*724ba675SRob Herring				reg = <0xfffc4000 0x4000>;
247*724ba675SRob Herring				interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
248*724ba675SRob Herring				pinctrl-names = "default";
249*724ba675SRob Herring				pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
250*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
251*724ba675SRob Herring				clock-names = "pclk";
252*724ba675SRob Herring				status = "disabled";
253*724ba675SRob Herring			};
254*724ba675SRob Herring
255*724ba675SRob Herring			spi0: spi@fffc8000 {
256*724ba675SRob Herring				#address-cells = <1>;
257*724ba675SRob Herring				#size-cells = <0>;
258*724ba675SRob Herring				compatible = "atmel,at91rm9200-spi";
259*724ba675SRob Herring				reg = <0xfffc8000 0x200>;
260*724ba675SRob Herring				cs-gpios = <0>, <0>, <0>, <0>;
261*724ba675SRob Herring				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
262*724ba675SRob Herring				pinctrl-names = "default";
263*724ba675SRob Herring				pinctrl-0 = <&pinctrl_spi0>;
264*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
265*724ba675SRob Herring				clock-names = "spi_clk";
266*724ba675SRob Herring				status = "disabled";
267*724ba675SRob Herring			};
268*724ba675SRob Herring
269*724ba675SRob Herring			spi1: spi@fffcc000 {
270*724ba675SRob Herring				#address-cells = <1>;
271*724ba675SRob Herring				#size-cells = <0>;
272*724ba675SRob Herring				compatible = "atmel,at91rm9200-spi";
273*724ba675SRob Herring				reg = <0xfffcc000 0x200>;
274*724ba675SRob Herring				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
275*724ba675SRob Herring				pinctrl-names = "default";
276*724ba675SRob Herring				pinctrl-0 = <&pinctrl_spi1>;
277*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
278*724ba675SRob Herring				clock-names = "spi_clk";
279*724ba675SRob Herring				status = "disabled";
280*724ba675SRob Herring			};
281*724ba675SRob Herring
282*724ba675SRob Herring			ramc: ramc@ffffea00 {
283*724ba675SRob Herring				compatible = "atmel,at91sam9260-sdramc";
284*724ba675SRob Herring				reg = <0xffffea00 0x200>;
285*724ba675SRob Herring			};
286*724ba675SRob Herring
287*724ba675SRob Herring			smc: smc@ffffec00 {
288*724ba675SRob Herring				compatible = "atmel,at91sam9260-smc", "syscon";
289*724ba675SRob Herring				reg = <0xffffec00 0x200>;
290*724ba675SRob Herring			};
291*724ba675SRob Herring
292*724ba675SRob Herring			matrix: matrix@ffffee00 {
293*724ba675SRob Herring				compatible = "atmel,at91sam9261-matrix", "syscon";
294*724ba675SRob Herring				reg = <0xffffee00 0x200>;
295*724ba675SRob Herring			};
296*724ba675SRob Herring
297*724ba675SRob Herring			aic: interrupt-controller@fffff000 {
298*724ba675SRob Herring				#interrupt-cells = <3>;
299*724ba675SRob Herring				compatible = "atmel,at91rm9200-aic";
300*724ba675SRob Herring				interrupt-controller;
301*724ba675SRob Herring				reg = <0xfffff000 0x200>;
302*724ba675SRob Herring				atmel,external-irqs = <29 30 31>;
303*724ba675SRob Herring			};
304*724ba675SRob Herring
305*724ba675SRob Herring			dbgu: serial@fffff200 {
306*724ba675SRob Herring				compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
307*724ba675SRob Herring				reg = <0xfffff200 0x200>;
308*724ba675SRob Herring				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
309*724ba675SRob Herring				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
310*724ba675SRob Herring				pinctrl-names = "default";
311*724ba675SRob Herring				pinctrl-0 = <&pinctrl_dbgu>;
312*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
313*724ba675SRob Herring				clock-names = "usart";
314*724ba675SRob Herring				status = "disabled";
315*724ba675SRob Herring			};
316*724ba675SRob Herring
317*724ba675SRob Herring			pinctrl@fffff400 {
318*724ba675SRob Herring				#address-cells = <1>;
319*724ba675SRob Herring				#size-cells = <1>;
320*724ba675SRob Herring				compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
321*724ba675SRob Herring				ranges = <0xfffff400 0xfffff400 0x600>;
322*724ba675SRob Herring
323*724ba675SRob Herring				atmel,mux-mask =
324*724ba675SRob Herring				      /*    A         B     */
325*724ba675SRob Herring				      <0xffffffff 0xfffffff7>,  /* pioA */
326*724ba675SRob Herring				      <0xffffffff 0xfffffff4>,  /* pioB */
327*724ba675SRob Herring				      <0xffffffff 0xffffff07>;  /* pioC */
328*724ba675SRob Herring
329*724ba675SRob Herring				/* shared pinctrl settings */
330*724ba675SRob Herring				dbgu {
331*724ba675SRob Herring					pinctrl_dbgu: dbgu-0 {
332*724ba675SRob Herring						atmel,pins =
333*724ba675SRob Herring							<AT91_PIOA 9  AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
334*724ba675SRob Herring							<AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
335*724ba675SRob Herring					};
336*724ba675SRob Herring				};
337*724ba675SRob Herring
338*724ba675SRob Herring				usart0 {
339*724ba675SRob Herring					pinctrl_usart0: usart0-0 {
340*724ba675SRob Herring						atmel,pins =
341*724ba675SRob Herring							<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
342*724ba675SRob Herring							<AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
343*724ba675SRob Herring					};
344*724ba675SRob Herring
345*724ba675SRob Herring					pinctrl_usart0_rts: usart0_rts-0 {
346*724ba675SRob Herring						atmel,pins =
347*724ba675SRob Herring							<AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
348*724ba675SRob Herring					};
349*724ba675SRob Herring
350*724ba675SRob Herring					pinctrl_usart0_cts: usart0_cts-0 {
351*724ba675SRob Herring						atmel,pins =
352*724ba675SRob Herring							<AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE>;
353*724ba675SRob Herring					};
354*724ba675SRob Herring				};
355*724ba675SRob Herring
356*724ba675SRob Herring				usart1 {
357*724ba675SRob Herring					pinctrl_usart1: usart1-0 {
358*724ba675SRob Herring						atmel,pins =
359*724ba675SRob Herring							<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
360*724ba675SRob Herring							<AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
361*724ba675SRob Herring					};
362*724ba675SRob Herring
363*724ba675SRob Herring					pinctrl_usart1_rts: usart1_rts-0 {
364*724ba675SRob Herring						atmel,pins =
365*724ba675SRob Herring							<AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
366*724ba675SRob Herring					};
367*724ba675SRob Herring
368*724ba675SRob Herring					pinctrl_usart1_cts: usart1_cts-0 {
369*724ba675SRob Herring						atmel,pins =
370*724ba675SRob Herring							<AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
371*724ba675SRob Herring					};
372*724ba675SRob Herring				};
373*724ba675SRob Herring
374*724ba675SRob Herring				usart2 {
375*724ba675SRob Herring					pinctrl_usart2: usart2-0 {
376*724ba675SRob Herring						atmel,pins =
377*724ba675SRob Herring							<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
378*724ba675SRob Herring							<AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
379*724ba675SRob Herring					};
380*724ba675SRob Herring
381*724ba675SRob Herring					pinctrl_usart2_rts: usart2_rts-0 {
382*724ba675SRob Herring						atmel,pins =
383*724ba675SRob Herring							<AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
384*724ba675SRob Herring					};
385*724ba675SRob Herring
386*724ba675SRob Herring					pinctrl_usart2_cts: usart2_cts-0 {
387*724ba675SRob Herring						atmel,pins =
388*724ba675SRob Herring							<AT91_PIOA 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
389*724ba675SRob Herring					};
390*724ba675SRob Herring				};
391*724ba675SRob Herring
392*724ba675SRob Herring				nand {
393*724ba675SRob Herring					pinctrl_nand_rb: nand-rb-0 {
394*724ba675SRob Herring						atmel,pins =
395*724ba675SRob Herring							<AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
396*724ba675SRob Herring					};
397*724ba675SRob Herring
398*724ba675SRob Herring					pinctrl_nand_cs: nand-cs-0 {
399*724ba675SRob Herring						atmel,pins =
400*724ba675SRob Herring							<AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
401*724ba675SRob Herring					};
402*724ba675SRob Herring				};
403*724ba675SRob Herring
404*724ba675SRob Herring				mmc0 {
405*724ba675SRob Herring					pinctrl_mmc0_clk: mmc0_clk-0 {
406*724ba675SRob Herring						atmel,pins =
407*724ba675SRob Herring							<AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
408*724ba675SRob Herring					};
409*724ba675SRob Herring
410*724ba675SRob Herring					pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
411*724ba675SRob Herring						atmel,pins =
412*724ba675SRob Herring							<AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
413*724ba675SRob Herring							<AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
414*724ba675SRob Herring					};
415*724ba675SRob Herring
416*724ba675SRob Herring					pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
417*724ba675SRob Herring						atmel,pins =
418*724ba675SRob Herring							<AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
419*724ba675SRob Herring							<AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
420*724ba675SRob Herring							<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
421*724ba675SRob Herring					};
422*724ba675SRob Herring					};
423*724ba675SRob Herring
424*724ba675SRob Herring				ssc0 {
425*724ba675SRob Herring					pinctrl_ssc0_tx: ssc0_tx-0 {
426*724ba675SRob Herring						atmel,pins =
427*724ba675SRob Herring							<AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>,
428*724ba675SRob Herring							<AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>,
429*724ba675SRob Herring							<AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
430*724ba675SRob Herring					};
431*724ba675SRob Herring
432*724ba675SRob Herring					pinctrl_ssc0_rx: ssc0_rx-0 {
433*724ba675SRob Herring						atmel,pins =
434*724ba675SRob Herring							<AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>,
435*724ba675SRob Herring							<AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>,
436*724ba675SRob Herring							<AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
437*724ba675SRob Herring					};
438*724ba675SRob Herring				};
439*724ba675SRob Herring
440*724ba675SRob Herring				ssc1 {
441*724ba675SRob Herring					pinctrl_ssc1_tx: ssc1_tx-0 {
442*724ba675SRob Herring						atmel,pins =
443*724ba675SRob Herring							<AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>,
444*724ba675SRob Herring							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>,
445*724ba675SRob Herring							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
446*724ba675SRob Herring					};
447*724ba675SRob Herring
448*724ba675SRob Herring					pinctrl_ssc1_rx: ssc1_rx-0 {
449*724ba675SRob Herring						atmel,pins =
450*724ba675SRob Herring							<AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>,
451*724ba675SRob Herring							<AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>,
452*724ba675SRob Herring							<AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
453*724ba675SRob Herring					};
454*724ba675SRob Herring				};
455*724ba675SRob Herring
456*724ba675SRob Herring				ssc2 {
457*724ba675SRob Herring					pinctrl_ssc2_tx: ssc2_tx-0 {
458*724ba675SRob Herring						atmel,pins =
459*724ba675SRob Herring							<AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
460*724ba675SRob Herring							<AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
461*724ba675SRob Herring							<AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;
462*724ba675SRob Herring					};
463*724ba675SRob Herring
464*724ba675SRob Herring					pinctrl_ssc2_rx: ssc2_rx-0 {
465*724ba675SRob Herring						atmel,pins =
466*724ba675SRob Herring							<AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>,
467*724ba675SRob Herring							<AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE>,
468*724ba675SRob Herring							<AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
469*724ba675SRob Herring					};
470*724ba675SRob Herring				};
471*724ba675SRob Herring
472*724ba675SRob Herring				spi0 {
473*724ba675SRob Herring					pinctrl_spi0: spi0-0 {
474*724ba675SRob Herring						atmel,pins =
475*724ba675SRob Herring							<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
476*724ba675SRob Herring							<AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
477*724ba675SRob Herring							<AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;
478*724ba675SRob Herring					};
479*724ba675SRob Herring					};
480*724ba675SRob Herring
481*724ba675SRob Herring				spi1 {
482*724ba675SRob Herring					pinctrl_spi1: spi1-0 {
483*724ba675SRob Herring						atmel,pins =
484*724ba675SRob Herring							<AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>,
485*724ba675SRob Herring							<AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>,
486*724ba675SRob Herring							<AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
487*724ba675SRob Herring					};
488*724ba675SRob Herring				};
489*724ba675SRob Herring
490*724ba675SRob Herring				tcb0 {
491*724ba675SRob Herring					pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
492*724ba675SRob Herring						atmel,pins = <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
493*724ba675SRob Herring					};
494*724ba675SRob Herring
495*724ba675SRob Herring					pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
496*724ba675SRob Herring						atmel,pins = <AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
497*724ba675SRob Herring					};
498*724ba675SRob Herring
499*724ba675SRob Herring					pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
500*724ba675SRob Herring						atmel,pins = <AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
501*724ba675SRob Herring					};
502*724ba675SRob Herring
503*724ba675SRob Herring					pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
504*724ba675SRob Herring						atmel,pins = <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
505*724ba675SRob Herring					};
506*724ba675SRob Herring
507*724ba675SRob Herring					pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
508*724ba675SRob Herring						atmel,pins = <AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;
509*724ba675SRob Herring					};
510*724ba675SRob Herring
511*724ba675SRob Herring					pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
512*724ba675SRob Herring						atmel,pins = <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;
513*724ba675SRob Herring					};
514*724ba675SRob Herring
515*724ba675SRob Herring					pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
516*724ba675SRob Herring						atmel,pins = <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
517*724ba675SRob Herring					};
518*724ba675SRob Herring
519*724ba675SRob Herring					pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
520*724ba675SRob Herring						atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
521*724ba675SRob Herring					};
522*724ba675SRob Herring
523*724ba675SRob Herring					pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
524*724ba675SRob Herring						atmel,pins = <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>;
525*724ba675SRob Herring					};
526*724ba675SRob Herring				};
527*724ba675SRob Herring
528*724ba675SRob Herring				i2c0 {
529*724ba675SRob Herring					pinctrl_i2c_bitbang: i2c-0-bitbang {
530*724ba675SRob Herring						atmel,pins =
531*724ba675SRob Herring							<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>,
532*724ba675SRob Herring							<AT91_PIOA 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
533*724ba675SRob Herring					};
534*724ba675SRob Herring					pinctrl_i2c_twi: i2c-0-twi {
535*724ba675SRob Herring						atmel,pins =
536*724ba675SRob Herring							<AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
537*724ba675SRob Herring							<AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;
538*724ba675SRob Herring					};
539*724ba675SRob Herring				};
540*724ba675SRob Herring
541*724ba675SRob Herring				fb {
542*724ba675SRob Herring					pinctrl_fb: fb-0 {
543*724ba675SRob Herring						atmel,pins =
544*724ba675SRob Herring							<AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>,
545*724ba675SRob Herring							<AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>,
546*724ba675SRob Herring							<AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>,
547*724ba675SRob Herring							<AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>,
548*724ba675SRob Herring							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
549*724ba675SRob Herring							<AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>,
550*724ba675SRob Herring							<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>,
551*724ba675SRob Herring							<AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
552*724ba675SRob Herring							<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
553*724ba675SRob Herring							<AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>,
554*724ba675SRob Herring							<AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>,
555*724ba675SRob Herring							<AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>,
556*724ba675SRob Herring							<AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>,
557*724ba675SRob Herring							<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE>,
558*724ba675SRob Herring							<AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE>,
559*724ba675SRob Herring							<AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>,
560*724ba675SRob Herring							<AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE>,
561*724ba675SRob Herring							<AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
562*724ba675SRob Herring							<AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
563*724ba675SRob Herring							<AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE>,
564*724ba675SRob Herring							<AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
565*724ba675SRob Herring					};
566*724ba675SRob Herring				};
567*724ba675SRob Herring
568*724ba675SRob Herring				pioA: gpio@fffff400 {
569*724ba675SRob Herring					compatible = "atmel,at91rm9200-gpio";
570*724ba675SRob Herring					reg = <0xfffff400 0x200>;
571*724ba675SRob Herring					interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
572*724ba675SRob Herring					#gpio-cells = <2>;
573*724ba675SRob Herring					gpio-controller;
574*724ba675SRob Herring					interrupt-controller;
575*724ba675SRob Herring					#interrupt-cells = <2>;
576*724ba675SRob Herring					clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
577*724ba675SRob Herring				};
578*724ba675SRob Herring
579*724ba675SRob Herring				pioB: gpio@fffff600 {
580*724ba675SRob Herring					compatible = "atmel,at91rm9200-gpio";
581*724ba675SRob Herring					reg = <0xfffff600 0x200>;
582*724ba675SRob Herring					interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
583*724ba675SRob Herring					#gpio-cells = <2>;
584*724ba675SRob Herring					gpio-controller;
585*724ba675SRob Herring					interrupt-controller;
586*724ba675SRob Herring					#interrupt-cells = <2>;
587*724ba675SRob Herring					clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
588*724ba675SRob Herring				};
589*724ba675SRob Herring
590*724ba675SRob Herring				pioC: gpio@fffff800 {
591*724ba675SRob Herring					compatible = "atmel,at91rm9200-gpio";
592*724ba675SRob Herring					reg = <0xfffff800 0x200>;
593*724ba675SRob Herring					interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
594*724ba675SRob Herring					#gpio-cells = <2>;
595*724ba675SRob Herring					gpio-controller;
596*724ba675SRob Herring					interrupt-controller;
597*724ba675SRob Herring					#interrupt-cells = <2>;
598*724ba675SRob Herring					clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
599*724ba675SRob Herring				};
600*724ba675SRob Herring			};
601*724ba675SRob Herring
602*724ba675SRob Herring			pmc: clock-controller@fffffc00 {
603*724ba675SRob Herring				compatible = "atmel,at91sam9261-pmc", "syscon";
604*724ba675SRob Herring				reg = <0xfffffc00 0x100>;
605*724ba675SRob Herring				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
606*724ba675SRob Herring				#clock-cells = <2>;
607*724ba675SRob Herring				clocks = <&slow_xtal>, <&main_xtal>;
608*724ba675SRob Herring				clock-names = "slow_xtal", "main_xtal";
609*724ba675SRob Herring			};
610*724ba675SRob Herring
611*724ba675SRob Herring			reset-controller@fffffd00 {
612*724ba675SRob Herring				compatible = "atmel,at91sam9260-rstc";
613*724ba675SRob Herring				reg = <0xfffffd00 0x10>;
614*724ba675SRob Herring				clocks = <&slow_xtal>;
615*724ba675SRob Herring			};
616*724ba675SRob Herring
617a4bd03e7SArnd Bergmann			poweroff@fffffd10 {
618*724ba675SRob Herring				compatible = "atmel,at91sam9260-shdwc";
619*724ba675SRob Herring				reg = <0xfffffd10 0x10>;
620*724ba675SRob Herring				clocks = <&slow_xtal>;
621*724ba675SRob Herring			};
622*724ba675SRob Herring
623*724ba675SRob Herring			pit: timer@fffffd30 {
624*724ba675SRob Herring				compatible = "atmel,at91sam9260-pit";
625*724ba675SRob Herring				reg = <0xfffffd30 0xf>;
626*724ba675SRob Herring				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
627*724ba675SRob Herring				clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
628*724ba675SRob Herring			};
629*724ba675SRob Herring
630*724ba675SRob Herring			rtc@fffffd20 {
631*724ba675SRob Herring				compatible = "atmel,at91sam9260-rtt";
632*724ba675SRob Herring				reg = <0xfffffd20 0x10>;
633*724ba675SRob Herring				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
634*724ba675SRob Herring				clocks = <&slow_xtal>;
635*724ba675SRob Herring				status = "disabled";
636*724ba675SRob Herring			};
637*724ba675SRob Herring
638*724ba675SRob Herring			watchdog@fffffd40 {
639*724ba675SRob Herring				compatible = "atmel,at91sam9260-wdt";
640*724ba675SRob Herring				reg = <0xfffffd40 0x10>;
641*724ba675SRob Herring				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
642*724ba675SRob Herring				clocks = <&slow_xtal>;
643*724ba675SRob Herring				status = "disabled";
644*724ba675SRob Herring			};
645*724ba675SRob Herring
646*724ba675SRob Herring			gpbr: syscon@fffffd50 {
647*724ba675SRob Herring				compatible = "atmel,at91sam9260-gpbr", "syscon";
648*724ba675SRob Herring				reg = <0xfffffd50 0x10>;
649*724ba675SRob Herring				status = "disabled";
650*724ba675SRob Herring			};
651*724ba675SRob Herring		};
652*724ba675SRob Herring	};
653*724ba675SRob Herring
654*724ba675SRob Herring	i2c-gpio-0 {
655*724ba675SRob Herring		compatible = "i2c-gpio";
656*724ba675SRob Herring		pinctrl-names = "default";
657*724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c_bitbang>;
658*724ba675SRob Herring		gpios = <&pioA 7 GPIO_ACTIVE_HIGH>, /* sda */
659*724ba675SRob Herring			<&pioA 8 GPIO_ACTIVE_HIGH>; /* scl */
660*724ba675SRob Herring		i2c-gpio,sda-open-drain;
661*724ba675SRob Herring		i2c-gpio,scl-open-drain;
662*724ba675SRob Herring		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
663*724ba675SRob Herring		#address-cells = <1>;
664*724ba675SRob Herring		#size-cells = <0>;
665*724ba675SRob Herring		status = "disabled";
666*724ba675SRob Herring	};
667*724ba675SRob Herring};
668