Linux Audio

Check our new training course

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