xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/sama5d3.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * sama5d3.dtsi - Device Tree Include file for SAMA5D3 family SoC
4*4882a593Smuzhiyun *                applies to SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36 SoC
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun *  Copyright (C) 2013 Atmel,
7*4882a593Smuzhiyun *                2013 Ludovic Desroches <ludovic.desroches@atmel.com>
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include <dt-bindings/dma/at91.h>
11*4882a593Smuzhiyun#include <dt-bindings/pinctrl/at91.h>
12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
13*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
14*4882a593Smuzhiyun#include <dt-bindings/clock/at91.h>
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	#address-cells = <1>;
18*4882a593Smuzhiyun	#size-cells = <1>;
19*4882a593Smuzhiyun	model = "Atmel SAMA5D3 family SoC";
20*4882a593Smuzhiyun	compatible = "atmel,sama5d3", "atmel,sama5";
21*4882a593Smuzhiyun	interrupt-parent = <&aic>;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	aliases {
24*4882a593Smuzhiyun		serial0 = &dbgu;
25*4882a593Smuzhiyun		serial1 = &usart0;
26*4882a593Smuzhiyun		serial2 = &usart1;
27*4882a593Smuzhiyun		serial3 = &usart2;
28*4882a593Smuzhiyun		serial4 = &usart3;
29*4882a593Smuzhiyun		serial5 = &uart0;
30*4882a593Smuzhiyun		gpio0 = &pioA;
31*4882a593Smuzhiyun		gpio1 = &pioB;
32*4882a593Smuzhiyun		gpio2 = &pioC;
33*4882a593Smuzhiyun		gpio3 = &pioD;
34*4882a593Smuzhiyun		gpio4 = &pioE;
35*4882a593Smuzhiyun		tcb0 = &tcb0;
36*4882a593Smuzhiyun		i2c0 = &i2c0;
37*4882a593Smuzhiyun		i2c1 = &i2c1;
38*4882a593Smuzhiyun		i2c2 = &i2c2;
39*4882a593Smuzhiyun		ssc0 = &ssc0;
40*4882a593Smuzhiyun		ssc1 = &ssc1;
41*4882a593Smuzhiyun		pwm0 = &pwm0;
42*4882a593Smuzhiyun	};
43*4882a593Smuzhiyun	cpus {
44*4882a593Smuzhiyun		#address-cells = <1>;
45*4882a593Smuzhiyun		#size-cells = <0>;
46*4882a593Smuzhiyun		cpu@0 {
47*4882a593Smuzhiyun			device_type = "cpu";
48*4882a593Smuzhiyun			compatible = "arm,cortex-a5";
49*4882a593Smuzhiyun			reg = <0x0>;
50*4882a593Smuzhiyun		};
51*4882a593Smuzhiyun	};
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	pmu {
54*4882a593Smuzhiyun		compatible = "arm,cortex-a5-pmu";
55*4882a593Smuzhiyun		interrupts = <46 IRQ_TYPE_LEVEL_HIGH 0>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	memory@20000000 {
59*4882a593Smuzhiyun		device_type = "memory";
60*4882a593Smuzhiyun		reg = <0x20000000 0x8000000>;
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	clocks {
64*4882a593Smuzhiyun		slow_xtal: slow_xtal {
65*4882a593Smuzhiyun			compatible = "fixed-clock";
66*4882a593Smuzhiyun			#clock-cells = <0>;
67*4882a593Smuzhiyun			clock-frequency = <0>;
68*4882a593Smuzhiyun		};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		main_xtal: main_xtal {
71*4882a593Smuzhiyun			compatible = "fixed-clock";
72*4882a593Smuzhiyun			#clock-cells = <0>;
73*4882a593Smuzhiyun			clock-frequency = <0>;
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		adc_op_clk: adc_op_clk{
77*4882a593Smuzhiyun			compatible = "fixed-clock";
78*4882a593Smuzhiyun			#clock-cells = <0>;
79*4882a593Smuzhiyun			clock-frequency = <1000000>;
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun	};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun	sram: sram@300000 {
84*4882a593Smuzhiyun		compatible = "mmio-sram";
85*4882a593Smuzhiyun		reg = <0x00300000 0x20000>;
86*4882a593Smuzhiyun		#address-cells = <1>;
87*4882a593Smuzhiyun		#size-cells = <1>;
88*4882a593Smuzhiyun		ranges = <0 0x00300000 0x20000>;
89*4882a593Smuzhiyun	};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	ahb {
92*4882a593Smuzhiyun		compatible = "simple-bus";
93*4882a593Smuzhiyun		#address-cells = <1>;
94*4882a593Smuzhiyun		#size-cells = <1>;
95*4882a593Smuzhiyun		ranges;
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun		apb {
98*4882a593Smuzhiyun			compatible = "simple-bus";
99*4882a593Smuzhiyun			#address-cells = <1>;
100*4882a593Smuzhiyun			#size-cells = <1>;
101*4882a593Smuzhiyun			ranges;
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun			mmc0: mmc@f0000000 {
104*4882a593Smuzhiyun				compatible = "atmel,hsmci";
105*4882a593Smuzhiyun				reg = <0xf0000000 0x600>;
106*4882a593Smuzhiyun				interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
107*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(0)>;
108*4882a593Smuzhiyun				dma-names = "rxtx";
109*4882a593Smuzhiyun				pinctrl-names = "default";
110*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
111*4882a593Smuzhiyun				status = "disabled";
112*4882a593Smuzhiyun				#address-cells = <1>;
113*4882a593Smuzhiyun				#size-cells = <0>;
114*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
115*4882a593Smuzhiyun				clock-names = "mci_clk";
116*4882a593Smuzhiyun			};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun			spi0: spi@f0004000 {
119*4882a593Smuzhiyun				#address-cells = <1>;
120*4882a593Smuzhiyun				#size-cells = <0>;
121*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-spi";
122*4882a593Smuzhiyun				reg = <0xf0004000 0x100>;
123*4882a593Smuzhiyun				interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
124*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(1)>,
125*4882a593Smuzhiyun				       <&dma0 2 AT91_DMA_CFG_PER_ID(2)>;
126*4882a593Smuzhiyun				dma-names = "tx", "rx";
127*4882a593Smuzhiyun				pinctrl-names = "default";
128*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_spi0>;
129*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
130*4882a593Smuzhiyun				clock-names = "spi_clk";
131*4882a593Smuzhiyun				status = "disabled";
132*4882a593Smuzhiyun			};
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun			ssc0: ssc@f0008000 {
135*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-ssc";
136*4882a593Smuzhiyun				reg = <0xf0008000 0x4000>;
137*4882a593Smuzhiyun				interrupts = <38 IRQ_TYPE_LEVEL_HIGH 4>;
138*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(13)>,
139*4882a593Smuzhiyun				       <&dma0 2 AT91_DMA_CFG_PER_ID(14)>;
140*4882a593Smuzhiyun				dma-names = "tx", "rx";
141*4882a593Smuzhiyun				pinctrl-names = "default";
142*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
143*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
144*4882a593Smuzhiyun				clock-names = "pclk";
145*4882a593Smuzhiyun				status = "disabled";
146*4882a593Smuzhiyun			};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun			tcb0: timer@f0010000 {
149*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
150*4882a593Smuzhiyun				#address-cells = <1>;
151*4882a593Smuzhiyun				#size-cells = <0>;
152*4882a593Smuzhiyun				reg = <0xf0010000 0x100>;
153*4882a593Smuzhiyun				interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
154*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&clk32k>;
155*4882a593Smuzhiyun				clock-names = "t0_clk", "slow_clk";
156*4882a593Smuzhiyun			};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun			i2c0: i2c@f0014000 {
159*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-i2c";
160*4882a593Smuzhiyun				reg = <0xf0014000 0x4000>;
161*4882a593Smuzhiyun				interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
162*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
163*4882a593Smuzhiyun				       <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
164*4882a593Smuzhiyun				dma-names = "tx", "rx";
165*4882a593Smuzhiyun				pinctrl-names = "default", "gpio";
166*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_i2c0>;
167*4882a593Smuzhiyun				pinctrl-1 = <&pinctrl_i2c0_gpio>;
168*4882a593Smuzhiyun				sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
169*4882a593Smuzhiyun				scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
170*4882a593Smuzhiyun				#address-cells = <1>;
171*4882a593Smuzhiyun				#size-cells = <0>;
172*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
173*4882a593Smuzhiyun				status = "disabled";
174*4882a593Smuzhiyun			};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun			i2c1: i2c@f0018000 {
177*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-i2c";
178*4882a593Smuzhiyun				reg = <0xf0018000 0x4000>;
179*4882a593Smuzhiyun				interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
180*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
181*4882a593Smuzhiyun				       <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
182*4882a593Smuzhiyun				dma-names = "tx", "rx";
183*4882a593Smuzhiyun				pinctrl-names = "default", "gpio";
184*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_i2c1>;
185*4882a593Smuzhiyun				pinctrl-1 = <&pinctrl_i2c1_gpio>;
186*4882a593Smuzhiyun				sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>;
187*4882a593Smuzhiyun				scl-gpios = <&pioC 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
188*4882a593Smuzhiyun				#address-cells = <1>;
189*4882a593Smuzhiyun				#size-cells = <0>;
190*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
191*4882a593Smuzhiyun				status = "disabled";
192*4882a593Smuzhiyun			};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun			usart0: serial@f001c000 {
195*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
196*4882a593Smuzhiyun				reg = <0xf001c000 0x100>;
197*4882a593Smuzhiyun				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
198*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
199*4882a593Smuzhiyun				       <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
200*4882a593Smuzhiyun				dma-names = "tx", "rx";
201*4882a593Smuzhiyun				pinctrl-names = "default";
202*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart0>;
203*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
204*4882a593Smuzhiyun				clock-names = "usart";
205*4882a593Smuzhiyun				status = "disabled";
206*4882a593Smuzhiyun			};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun			usart1: serial@f0020000 {
209*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
210*4882a593Smuzhiyun				reg = <0xf0020000 0x100>;
211*4882a593Smuzhiyun				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
212*4882a593Smuzhiyun				dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(5)>,
213*4882a593Smuzhiyun				       <&dma0 2 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
214*4882a593Smuzhiyun				dma-names = "tx", "rx";
215*4882a593Smuzhiyun				pinctrl-names = "default";
216*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart1>;
217*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
218*4882a593Smuzhiyun				clock-names = "usart";
219*4882a593Smuzhiyun				status = "disabled";
220*4882a593Smuzhiyun			};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun			uart0: serial@f0024000 {
223*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
224*4882a593Smuzhiyun				reg = <0xf0024000 0x100>;
225*4882a593Smuzhiyun				interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
226*4882a593Smuzhiyun				pinctrl-names = "default";
227*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_uart0>;
228*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
229*4882a593Smuzhiyun				clock-names = "usart";
230*4882a593Smuzhiyun				status = "disabled";
231*4882a593Smuzhiyun			};
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun			pwm0: pwm@f002c000 {
234*4882a593Smuzhiyun				compatible = "atmel,sama5d3-pwm";
235*4882a593Smuzhiyun				reg = <0xf002c000 0x300>;
236*4882a593Smuzhiyun				interrupts = <28 IRQ_TYPE_LEVEL_HIGH 4>;
237*4882a593Smuzhiyun				#pwm-cells = <3>;
238*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
239*4882a593Smuzhiyun				status = "disabled";
240*4882a593Smuzhiyun			};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun			isi: isi@f0034000 {
243*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-isi";
244*4882a593Smuzhiyun				reg = <0xf0034000 0x4000>;
245*4882a593Smuzhiyun				interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
246*4882a593Smuzhiyun				pinctrl-names = "default";
247*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_isi_data_0_7>;
248*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
249*4882a593Smuzhiyun				clock-names = "isi_clk";
250*4882a593Smuzhiyun				status = "disabled";
251*4882a593Smuzhiyun				port {
252*4882a593Smuzhiyun					#address-cells = <1>;
253*4882a593Smuzhiyun					#size-cells = <0>;
254*4882a593Smuzhiyun				};
255*4882a593Smuzhiyun			};
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun			sfr: sfr@f0038000 {
258*4882a593Smuzhiyun				compatible = "atmel,sama5d3-sfr", "syscon";
259*4882a593Smuzhiyun				reg = <0xf0038000 0x60>;
260*4882a593Smuzhiyun			};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun			mmc1: mmc@f8000000 {
263*4882a593Smuzhiyun				compatible = "atmel,hsmci";
264*4882a593Smuzhiyun				reg = <0xf8000000 0x600>;
265*4882a593Smuzhiyun				interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
266*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(0)>;
267*4882a593Smuzhiyun				dma-names = "rxtx";
268*4882a593Smuzhiyun				pinctrl-names = "default";
269*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
270*4882a593Smuzhiyun				status = "disabled";
271*4882a593Smuzhiyun				#address-cells = <1>;
272*4882a593Smuzhiyun				#size-cells = <0>;
273*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
274*4882a593Smuzhiyun				clock-names = "mci_clk";
275*4882a593Smuzhiyun			};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun			spi1: spi@f8008000 {
278*4882a593Smuzhiyun				#address-cells = <1>;
279*4882a593Smuzhiyun				#size-cells = <0>;
280*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-spi";
281*4882a593Smuzhiyun				reg = <0xf8008000 0x100>;
282*4882a593Smuzhiyun				interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
283*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(15)>,
284*4882a593Smuzhiyun				       <&dma1 2 AT91_DMA_CFG_PER_ID(16)>;
285*4882a593Smuzhiyun				dma-names = "tx", "rx";
286*4882a593Smuzhiyun				pinctrl-names = "default";
287*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_spi1>;
288*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
289*4882a593Smuzhiyun				clock-names = "spi_clk";
290*4882a593Smuzhiyun				status = "disabled";
291*4882a593Smuzhiyun			};
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun			ssc1: ssc@f800c000 {
294*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-ssc";
295*4882a593Smuzhiyun				reg = <0xf800c000 0x4000>;
296*4882a593Smuzhiyun				interrupts = <39 IRQ_TYPE_LEVEL_HIGH 4>;
297*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(3)>,
298*4882a593Smuzhiyun				       <&dma1 2 AT91_DMA_CFG_PER_ID(4)>;
299*4882a593Smuzhiyun				dma-names = "tx", "rx";
300*4882a593Smuzhiyun				pinctrl-names = "default";
301*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
302*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
303*4882a593Smuzhiyun				clock-names = "pclk";
304*4882a593Smuzhiyun				status = "disabled";
305*4882a593Smuzhiyun			};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun			adc0: adc@f8018000 {
308*4882a593Smuzhiyun				#address-cells = <1>;
309*4882a593Smuzhiyun				#size-cells = <0>;
310*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-adc";
311*4882a593Smuzhiyun				reg = <0xf8018000 0x100>;
312*4882a593Smuzhiyun				interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
313*4882a593Smuzhiyun				pinctrl-names = "default";
314*4882a593Smuzhiyun				pinctrl-0 = <
315*4882a593Smuzhiyun					&pinctrl_adc0_adtrg
316*4882a593Smuzhiyun					&pinctrl_adc0_ad0
317*4882a593Smuzhiyun					&pinctrl_adc0_ad1
318*4882a593Smuzhiyun					&pinctrl_adc0_ad2
319*4882a593Smuzhiyun					&pinctrl_adc0_ad3
320*4882a593Smuzhiyun					&pinctrl_adc0_ad4
321*4882a593Smuzhiyun					&pinctrl_adc0_ad5
322*4882a593Smuzhiyun					&pinctrl_adc0_ad6
323*4882a593Smuzhiyun					&pinctrl_adc0_ad7
324*4882a593Smuzhiyun					&pinctrl_adc0_ad8
325*4882a593Smuzhiyun					&pinctrl_adc0_ad9
326*4882a593Smuzhiyun					&pinctrl_adc0_ad10
327*4882a593Smuzhiyun					&pinctrl_adc0_ad11
328*4882a593Smuzhiyun					>;
329*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 29>,
330*4882a593Smuzhiyun					 <&adc_op_clk>;
331*4882a593Smuzhiyun				clock-names = "adc_clk", "adc_op_clk";
332*4882a593Smuzhiyun				atmel,adc-channels-used = <0xfff>;
333*4882a593Smuzhiyun				atmel,adc-startup-time = <40>;
334*4882a593Smuzhiyun				atmel,adc-use-external-triggers;
335*4882a593Smuzhiyun				atmel,adc-vref = <3000>;
336*4882a593Smuzhiyun				atmel,adc-res = <10 12>;
337*4882a593Smuzhiyun				atmel,adc-sample-hold-time = <11>;
338*4882a593Smuzhiyun				atmel,adc-res-names = "lowres", "highres";
339*4882a593Smuzhiyun				status = "disabled";
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun				trigger0 {
342*4882a593Smuzhiyun					trigger-name = "external-rising";
343*4882a593Smuzhiyun					trigger-value = <0x1>;
344*4882a593Smuzhiyun					trigger-external;
345*4882a593Smuzhiyun				};
346*4882a593Smuzhiyun				trigger1 {
347*4882a593Smuzhiyun					trigger-name = "external-falling";
348*4882a593Smuzhiyun					trigger-value = <0x2>;
349*4882a593Smuzhiyun					trigger-external;
350*4882a593Smuzhiyun				};
351*4882a593Smuzhiyun				trigger2 {
352*4882a593Smuzhiyun					trigger-name = "external-any";
353*4882a593Smuzhiyun					trigger-value = <0x3>;
354*4882a593Smuzhiyun					trigger-external;
355*4882a593Smuzhiyun				};
356*4882a593Smuzhiyun				trigger3 {
357*4882a593Smuzhiyun					trigger-name = "continuous";
358*4882a593Smuzhiyun					trigger-value = <0x6>;
359*4882a593Smuzhiyun				};
360*4882a593Smuzhiyun			};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun			i2c2: i2c@f801c000 {
363*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-i2c";
364*4882a593Smuzhiyun				reg = <0xf801c000 0x4000>;
365*4882a593Smuzhiyun				interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
366*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
367*4882a593Smuzhiyun				       <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
368*4882a593Smuzhiyun				dma-names = "tx", "rx";
369*4882a593Smuzhiyun				pinctrl-names = "default", "gpio";
370*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_i2c2>;
371*4882a593Smuzhiyun				pinctrl-1 = <&pinctrl_i2c2_gpio>;
372*4882a593Smuzhiyun				sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>;
373*4882a593Smuzhiyun				scl-gpios = <&pioA 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
374*4882a593Smuzhiyun				#address-cells = <1>;
375*4882a593Smuzhiyun				#size-cells = <0>;
376*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
377*4882a593Smuzhiyun				status = "disabled";
378*4882a593Smuzhiyun			};
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun			usart2: serial@f8020000 {
381*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
382*4882a593Smuzhiyun				reg = <0xf8020000 0x100>;
383*4882a593Smuzhiyun				interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
384*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(7)>,
385*4882a593Smuzhiyun				       <&dma1 2 (AT91_DMA_CFG_PER_ID(8) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
386*4882a593Smuzhiyun				dma-names = "tx", "rx";
387*4882a593Smuzhiyun				pinctrl-names = "default";
388*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart2>;
389*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
390*4882a593Smuzhiyun				clock-names = "usart";
391*4882a593Smuzhiyun				status = "disabled";
392*4882a593Smuzhiyun			};
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun			usart3: serial@f8024000 {
395*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-usart";
396*4882a593Smuzhiyun				reg = <0xf8024000 0x100>;
397*4882a593Smuzhiyun				interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
398*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(9)>,
399*4882a593Smuzhiyun				       <&dma1 2 (AT91_DMA_CFG_PER_ID(10) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
400*4882a593Smuzhiyun				dma-names = "tx", "rx";
401*4882a593Smuzhiyun				pinctrl-names = "default";
402*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_usart3>;
403*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
404*4882a593Smuzhiyun				clock-names = "usart";
405*4882a593Smuzhiyun				status = "disabled";
406*4882a593Smuzhiyun			};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun			sha@f8034000 {
409*4882a593Smuzhiyun				compatible = "atmel,at91sam9g46-sha";
410*4882a593Smuzhiyun				reg = <0xf8034000 0x100>;
411*4882a593Smuzhiyun				interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
412*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(17)>;
413*4882a593Smuzhiyun				dma-names = "tx";
414*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
415*4882a593Smuzhiyun				clock-names = "sha_clk";
416*4882a593Smuzhiyun			};
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun			aes@f8038000 {
419*4882a593Smuzhiyun				compatible = "atmel,at91sam9g46-aes";
420*4882a593Smuzhiyun				reg = <0xf8038000 0x100>;
421*4882a593Smuzhiyun				interrupts = <43 IRQ_TYPE_LEVEL_HIGH 0>;
422*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(18)>,
423*4882a593Smuzhiyun				       <&dma1 2 AT91_DMA_CFG_PER_ID(19)>;
424*4882a593Smuzhiyun				dma-names = "tx", "rx";
425*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
426*4882a593Smuzhiyun				clock-names = "aes_clk";
427*4882a593Smuzhiyun			};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun			tdes@f803c000 {
430*4882a593Smuzhiyun				compatible = "atmel,at91sam9g46-tdes";
431*4882a593Smuzhiyun				reg = <0xf803c000 0x100>;
432*4882a593Smuzhiyun				interrupts = <44 IRQ_TYPE_LEVEL_HIGH 0>;
433*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(20)>,
434*4882a593Smuzhiyun				       <&dma1 2 AT91_DMA_CFG_PER_ID(21)>;
435*4882a593Smuzhiyun				dma-names = "tx", "rx";
436*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
437*4882a593Smuzhiyun				clock-names = "tdes_clk";
438*4882a593Smuzhiyun			};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun			trng@f8040000 {
441*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-trng";
442*4882a593Smuzhiyun				reg = <0xf8040000 0x100>;
443*4882a593Smuzhiyun				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
444*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
445*4882a593Smuzhiyun			};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun			hsmc: hsmc@ffffc000 {
448*4882a593Smuzhiyun				compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
449*4882a593Smuzhiyun				reg = <0xffffc000 0x1000>;
450*4882a593Smuzhiyun				interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
451*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
452*4882a593Smuzhiyun				#address-cells = <1>;
453*4882a593Smuzhiyun				#size-cells = <1>;
454*4882a593Smuzhiyun				ranges;
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun				pmecc: ecc-engine@ffffc070 {
457*4882a593Smuzhiyun					compatible = "atmel,at91sam9g45-pmecc";
458*4882a593Smuzhiyun					reg = <0xffffc070 0x490>,
459*4882a593Smuzhiyun					      <0xffffc500 0x100>;
460*4882a593Smuzhiyun				};
461*4882a593Smuzhiyun			};
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun			dma0: dma-controller@ffffe600 {
464*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-dma";
465*4882a593Smuzhiyun				reg = <0xffffe600 0x200>;
466*4882a593Smuzhiyun				interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>;
467*4882a593Smuzhiyun				#dma-cells = <2>;
468*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
469*4882a593Smuzhiyun				clock-names = "dma_clk";
470*4882a593Smuzhiyun			};
471*4882a593Smuzhiyun
472*4882a593Smuzhiyun			dma1: dma-controller@ffffe800 {
473*4882a593Smuzhiyun				compatible = "atmel,at91sam9g45-dma";
474*4882a593Smuzhiyun				reg = <0xffffe800 0x200>;
475*4882a593Smuzhiyun				interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
476*4882a593Smuzhiyun				#dma-cells = <2>;
477*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 31>;
478*4882a593Smuzhiyun				clock-names = "dma_clk";
479*4882a593Smuzhiyun			};
480*4882a593Smuzhiyun
481*4882a593Smuzhiyun			ramc0: ramc@ffffea00 {
482*4882a593Smuzhiyun				compatible = "atmel,sama5d3-ddramc";
483*4882a593Smuzhiyun				reg = <0xffffea00 0x200>;
484*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
485*4882a593Smuzhiyun				clock-names = "ddrck", "mpddr";
486*4882a593Smuzhiyun			};
487*4882a593Smuzhiyun
488*4882a593Smuzhiyun			dbgu: serial@ffffee00 {
489*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
490*4882a593Smuzhiyun				reg = <0xffffee00 0x200>;
491*4882a593Smuzhiyun				interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
492*4882a593Smuzhiyun				dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(13)>,
493*4882a593Smuzhiyun				       <&dma1 2 (AT91_DMA_CFG_PER_ID(14) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
494*4882a593Smuzhiyun				dma-names = "tx", "rx";
495*4882a593Smuzhiyun				pinctrl-names = "default";
496*4882a593Smuzhiyun				pinctrl-0 = <&pinctrl_dbgu>;
497*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
498*4882a593Smuzhiyun				clock-names = "usart";
499*4882a593Smuzhiyun				status = "disabled";
500*4882a593Smuzhiyun			};
501*4882a593Smuzhiyun
502*4882a593Smuzhiyun			aic: interrupt-controller@fffff000 {
503*4882a593Smuzhiyun				#interrupt-cells = <3>;
504*4882a593Smuzhiyun				compatible = "atmel,sama5d3-aic";
505*4882a593Smuzhiyun				interrupt-controller;
506*4882a593Smuzhiyun				reg = <0xfffff000 0x200>;
507*4882a593Smuzhiyun				atmel,external-irqs = <47>;
508*4882a593Smuzhiyun			};
509*4882a593Smuzhiyun
510*4882a593Smuzhiyun			pinctrl: pinctrl@fffff200 {
511*4882a593Smuzhiyun				#address-cells = <1>;
512*4882a593Smuzhiyun				#size-cells = <1>;
513*4882a593Smuzhiyun				compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
514*4882a593Smuzhiyun				ranges = <0xfffff200 0xfffff200 0xa00>;
515*4882a593Smuzhiyun				atmel,mux-mask = <
516*4882a593Smuzhiyun					/*   A          B          C  */
517*4882a593Smuzhiyun					0xffffffff 0xc0fc0000 0xc0ff0000	/* pioA */
518*4882a593Smuzhiyun					0xffffffff 0x0ff8ffff 0x00000000	/* pioB */
519*4882a593Smuzhiyun					0xffffffff 0xbc00f1ff 0x7c00fc00	/* pioC */
520*4882a593Smuzhiyun					0xffffffff 0xc001c0e0 0x0001c1e0	/* pioD */
521*4882a593Smuzhiyun					0xffffffff 0xbf9f8000 0x18000000	/* pioE */
522*4882a593Smuzhiyun					>;
523*4882a593Smuzhiyun
524*4882a593Smuzhiyun				/* shared pinctrl settings */
525*4882a593Smuzhiyun				adc0 {
526*4882a593Smuzhiyun					pinctrl_adc0_adtrg: adc0_adtrg {
527*4882a593Smuzhiyun						atmel,pins =
528*4882a593Smuzhiyun							<AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD19 periph A ADTRG */
529*4882a593Smuzhiyun					};
530*4882a593Smuzhiyun					pinctrl_adc0_ad0: adc0_ad0 {
531*4882a593Smuzhiyun						atmel,pins =
532*4882a593Smuzhiyun							<AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD20 periph A AD0 */
533*4882a593Smuzhiyun					};
534*4882a593Smuzhiyun					pinctrl_adc0_ad1: adc0_ad1 {
535*4882a593Smuzhiyun						atmel,pins =
536*4882a593Smuzhiyun							<AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD21 periph A AD1 */
537*4882a593Smuzhiyun					};
538*4882a593Smuzhiyun					pinctrl_adc0_ad2: adc0_ad2 {
539*4882a593Smuzhiyun						atmel,pins =
540*4882a593Smuzhiyun							<AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD22 periph A AD2 */
541*4882a593Smuzhiyun					};
542*4882a593Smuzhiyun					pinctrl_adc0_ad3: adc0_ad3 {
543*4882a593Smuzhiyun						atmel,pins =
544*4882a593Smuzhiyun							<AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD23 periph A AD3 */
545*4882a593Smuzhiyun					};
546*4882a593Smuzhiyun					pinctrl_adc0_ad4: adc0_ad4 {
547*4882a593Smuzhiyun						atmel,pins =
548*4882a593Smuzhiyun							<AT91_PIOD 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD24 periph A AD4 */
549*4882a593Smuzhiyun					};
550*4882a593Smuzhiyun					pinctrl_adc0_ad5: adc0_ad5 {
551*4882a593Smuzhiyun						atmel,pins =
552*4882a593Smuzhiyun							<AT91_PIOD 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD25 periph A AD5 */
553*4882a593Smuzhiyun					};
554*4882a593Smuzhiyun					pinctrl_adc0_ad6: adc0_ad6 {
555*4882a593Smuzhiyun						atmel,pins =
556*4882a593Smuzhiyun							<AT91_PIOD 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD26 periph A AD6 */
557*4882a593Smuzhiyun					};
558*4882a593Smuzhiyun					pinctrl_adc0_ad7: adc0_ad7 {
559*4882a593Smuzhiyun						atmel,pins =
560*4882a593Smuzhiyun							<AT91_PIOD 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD27 periph A AD7 */
561*4882a593Smuzhiyun					};
562*4882a593Smuzhiyun					pinctrl_adc0_ad8: adc0_ad8 {
563*4882a593Smuzhiyun						atmel,pins =
564*4882a593Smuzhiyun							<AT91_PIOD 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD28 periph A AD8 */
565*4882a593Smuzhiyun					};
566*4882a593Smuzhiyun					pinctrl_adc0_ad9: adc0_ad9 {
567*4882a593Smuzhiyun						atmel,pins =
568*4882a593Smuzhiyun							<AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD29 periph A AD9 */
569*4882a593Smuzhiyun					};
570*4882a593Smuzhiyun					pinctrl_adc0_ad10: adc0_ad10 {
571*4882a593Smuzhiyun						atmel,pins =
572*4882a593Smuzhiyun							<AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD30 periph A AD10, conflicts with PCK0 */
573*4882a593Smuzhiyun					};
574*4882a593Smuzhiyun					pinctrl_adc0_ad11: adc0_ad11 {
575*4882a593Smuzhiyun						atmel,pins =
576*4882a593Smuzhiyun							<AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD31 periph A AD11, conflicts with PCK1 */
577*4882a593Smuzhiyun					};
578*4882a593Smuzhiyun				};
579*4882a593Smuzhiyun
580*4882a593Smuzhiyun				dbgu {
581*4882a593Smuzhiyun					pinctrl_dbgu: dbgu-0 {
582*4882a593Smuzhiyun						atmel,pins =
583*4882a593Smuzhiyun							<AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
584*4882a593Smuzhiyun							 AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
585*4882a593Smuzhiyun					};
586*4882a593Smuzhiyun				};
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun				ebi {
589*4882a593Smuzhiyun					pinctrl_ebi_addr: ebi-addr-0 {
590*4882a593Smuzhiyun						atmel,pins =
591*4882a593Smuzhiyun							<AT91_PIOE 1 AT91_PERIPH_A AT91_PINCTRL_NONE
592*4882a593Smuzhiyun							 AT91_PIOE 2 AT91_PERIPH_A AT91_PINCTRL_NONE
593*4882a593Smuzhiyun							 AT91_PIOE 3 AT91_PERIPH_A AT91_PINCTRL_NONE
594*4882a593Smuzhiyun							 AT91_PIOE 4 AT91_PERIPH_A AT91_PINCTRL_NONE
595*4882a593Smuzhiyun							 AT91_PIOE 5 AT91_PERIPH_A AT91_PINCTRL_NONE
596*4882a593Smuzhiyun							 AT91_PIOE 6 AT91_PERIPH_A AT91_PINCTRL_NONE
597*4882a593Smuzhiyun							 AT91_PIOE 7 AT91_PERIPH_A AT91_PINCTRL_NONE
598*4882a593Smuzhiyun							 AT91_PIOE 8 AT91_PERIPH_A AT91_PINCTRL_NONE
599*4882a593Smuzhiyun							 AT91_PIOE 9 AT91_PERIPH_A AT91_PINCTRL_NONE
600*4882a593Smuzhiyun							 AT91_PIOE 10 AT91_PERIPH_A AT91_PINCTRL_NONE
601*4882a593Smuzhiyun							 AT91_PIOE 11 AT91_PERIPH_A AT91_PINCTRL_NONE
602*4882a593Smuzhiyun							 AT91_PIOE 12 AT91_PERIPH_A AT91_PINCTRL_NONE
603*4882a593Smuzhiyun							 AT91_PIOE 13 AT91_PERIPH_A AT91_PINCTRL_NONE
604*4882a593Smuzhiyun							 AT91_PIOE 14 AT91_PERIPH_A AT91_PINCTRL_NONE
605*4882a593Smuzhiyun							 AT91_PIOE 15 AT91_PERIPH_A AT91_PINCTRL_NONE
606*4882a593Smuzhiyun							 AT91_PIOE 16 AT91_PERIPH_A AT91_PINCTRL_NONE
607*4882a593Smuzhiyun							 AT91_PIOE 17 AT91_PERIPH_A AT91_PINCTRL_NONE
608*4882a593Smuzhiyun							 AT91_PIOE 18 AT91_PERIPH_A AT91_PINCTRL_NONE
609*4882a593Smuzhiyun							 AT91_PIOE 19 AT91_PERIPH_A AT91_PINCTRL_NONE
610*4882a593Smuzhiyun							 AT91_PIOE 20 AT91_PERIPH_A AT91_PINCTRL_NONE
611*4882a593Smuzhiyun							 AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
612*4882a593Smuzhiyun							 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE
613*4882a593Smuzhiyun							 AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
614*4882a593Smuzhiyun					};
615*4882a593Smuzhiyun
616*4882a593Smuzhiyun					pinctrl_ebi_nand_addr: ebi-addr-1 {
617*4882a593Smuzhiyun						atmel,pins =
618*4882a593Smuzhiyun							<AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
619*4882a593Smuzhiyun							 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
620*4882a593Smuzhiyun					};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun					pinctrl_ebi_cs0: ebi-cs0-0 {
623*4882a593Smuzhiyun						atmel,pins =
624*4882a593Smuzhiyun							<AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
625*4882a593Smuzhiyun					};
626*4882a593Smuzhiyun
627*4882a593Smuzhiyun					pinctrl_ebi_cs1: ebi-cs1-0 {
628*4882a593Smuzhiyun						atmel,pins =
629*4882a593Smuzhiyun							<AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
630*4882a593Smuzhiyun					};
631*4882a593Smuzhiyun
632*4882a593Smuzhiyun					pinctrl_ebi_cs2: ebi-cs2-0 {
633*4882a593Smuzhiyun						atmel,pins =
634*4882a593Smuzhiyun							<AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
635*4882a593Smuzhiyun					};
636*4882a593Smuzhiyun
637*4882a593Smuzhiyun					pinctrl_ebi_nwait: ebi-nwait-0 {
638*4882a593Smuzhiyun						atmel,pins =
639*4882a593Smuzhiyun							<AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
640*4882a593Smuzhiyun					};
641*4882a593Smuzhiyun
642*4882a593Smuzhiyun					pinctrl_ebi_nwr1_nbs1: ebi-nwr1-nbs1-0 {
643*4882a593Smuzhiyun						atmel,pins =
644*4882a593Smuzhiyun							<AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
645*4882a593Smuzhiyun					};
646*4882a593Smuzhiyun				};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun				i2c0 {
649*4882a593Smuzhiyun					pinctrl_i2c0: i2c0-0 {
650*4882a593Smuzhiyun						atmel,pins =
651*4882a593Smuzhiyun							<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
652*4882a593Smuzhiyun							 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
653*4882a593Smuzhiyun					};
654*4882a593Smuzhiyun
655*4882a593Smuzhiyun					pinctrl_i2c0_gpio: i2c0-gpio {
656*4882a593Smuzhiyun						atmel,pins =
657*4882a593Smuzhiyun							<AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
658*4882a593Smuzhiyun							 AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
659*4882a593Smuzhiyun					};
660*4882a593Smuzhiyun				};
661*4882a593Smuzhiyun
662*4882a593Smuzhiyun				i2c1 {
663*4882a593Smuzhiyun					pinctrl_i2c1: i2c1-0 {
664*4882a593Smuzhiyun						atmel,pins =
665*4882a593Smuzhiyun							<AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
666*4882a593Smuzhiyun							 AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
667*4882a593Smuzhiyun					};
668*4882a593Smuzhiyun
669*4882a593Smuzhiyun					pinctrl_i2c1_gpio: i2c1-gpio {
670*4882a593Smuzhiyun						atmel,pins =
671*4882a593Smuzhiyun							<AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
672*4882a593Smuzhiyun							 AT91_PIOC 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
673*4882a593Smuzhiyun					};
674*4882a593Smuzhiyun				};
675*4882a593Smuzhiyun
676*4882a593Smuzhiyun				i2c2 {
677*4882a593Smuzhiyun					pinctrl_i2c2: i2c2-0 {
678*4882a593Smuzhiyun						atmel,pins =
679*4882a593Smuzhiyun							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE	/* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */
680*4882a593Smuzhiyun							 AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */
681*4882a593Smuzhiyun					};
682*4882a593Smuzhiyun
683*4882a593Smuzhiyun					pinctrl_i2c2_gpio: i2c2-gpio {
684*4882a593Smuzhiyun						atmel,pins =
685*4882a593Smuzhiyun							<AT91_PIOA 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
686*4882a593Smuzhiyun							 AT91_PIOA 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
687*4882a593Smuzhiyun					};
688*4882a593Smuzhiyun				};
689*4882a593Smuzhiyun
690*4882a593Smuzhiyun				isi {
691*4882a593Smuzhiyun					pinctrl_isi_data_0_7: isi-0-data-0-7 {
692*4882a593Smuzhiyun						atmel,pins =
693*4882a593Smuzhiyun							<AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA16 periph C ISI_D0, conflicts with LCDDAT16 */
694*4882a593Smuzhiyun							 AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA17 periph C ISI_D1, conflicts with LCDDAT17 */
695*4882a593Smuzhiyun							 AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */
696*4882a593Smuzhiyun							 AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */
697*4882a593Smuzhiyun							 AT91_PIOA 20 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */
698*4882a593Smuzhiyun							 AT91_PIOA 21 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */
699*4882a593Smuzhiyun							 AT91_PIOA 22 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */
700*4882a593Smuzhiyun							 AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */
701*4882a593Smuzhiyun							 AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PC30 periph C ISI_PCK, conflicts with UTXD0 */
702*4882a593Smuzhiyun							 AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */
703*4882a593Smuzhiyun							 AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */
704*4882a593Smuzhiyun					};
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun					pinctrl_isi_data_8_9: isi-0-data-8-9 {
707*4882a593Smuzhiyun						atmel,pins =
708*4882a593Smuzhiyun							<AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */
709*4882a593Smuzhiyun							 AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */
710*4882a593Smuzhiyun					};
711*4882a593Smuzhiyun
712*4882a593Smuzhiyun					pinctrl_isi_data_10_11: isi-0-data-10-11 {
713*4882a593Smuzhiyun						atmel,pins =
714*4882a593Smuzhiyun							<AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */
715*4882a593Smuzhiyun							 AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */
716*4882a593Smuzhiyun					};
717*4882a593Smuzhiyun				};
718*4882a593Smuzhiyun
719*4882a593Smuzhiyun				mmc0 {
720*4882a593Smuzhiyun					pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 {
721*4882a593Smuzhiyun						atmel,pins =
722*4882a593Smuzhiyun							<AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PD9 periph A MCI0_CK */
723*4882a593Smuzhiyun							 AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD0 periph A MCI0_CDA with pullup */
724*4882a593Smuzhiyun							 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PD1 periph A MCI0_DA0 with pullup */
725*4882a593Smuzhiyun					};
726*4882a593Smuzhiyun					pinctrl_mmc0_dat1_3: mmc0_dat1_3 {
727*4882a593Smuzhiyun						atmel,pins =
728*4882a593Smuzhiyun							<AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD2 periph A MCI0_DA1 with pullup */
729*4882a593Smuzhiyun							 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD3 periph A MCI0_DA2 with pullup */
730*4882a593Smuzhiyun							 AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PD4 periph A MCI0_DA3 with pullup */
731*4882a593Smuzhiyun					};
732*4882a593Smuzhiyun					pinctrl_mmc0_dat4_7: mmc0_dat4_7 {
733*4882a593Smuzhiyun						atmel,pins =
734*4882a593Smuzhiyun							<AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */
735*4882a593Smuzhiyun							 AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */
736*4882a593Smuzhiyun							 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PD7 periph A MCI0_DA6 with pullup, conlicts with TCLK0, PWMH3 */
737*4882a593Smuzhiyun							 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */
738*4882a593Smuzhiyun					};
739*4882a593Smuzhiyun				};
740*4882a593Smuzhiyun
741*4882a593Smuzhiyun				mmc1 {
742*4882a593Smuzhiyun					pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 {
743*4882a593Smuzhiyun						atmel,pins =
744*4882a593Smuzhiyun							<AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB24 periph A MCI1_CK, conflicts with GRX5 */
745*4882a593Smuzhiyun							 AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */
746*4882a593Smuzhiyun							 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */
747*4882a593Smuzhiyun					};
748*4882a593Smuzhiyun					pinctrl_mmc1_dat1_3: mmc1_dat1_3 {
749*4882a593Smuzhiyun						atmel,pins =
750*4882a593Smuzhiyun							<AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */
751*4882a593Smuzhiyun							 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */
752*4882a593Smuzhiyun							 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */
753*4882a593Smuzhiyun					};
754*4882a593Smuzhiyun				};
755*4882a593Smuzhiyun
756*4882a593Smuzhiyun				nand0 {
757*4882a593Smuzhiyun					pinctrl_nand0_ale_cle: nand0_ale_cle-0 {
758*4882a593Smuzhiyun						atmel,pins =
759*4882a593Smuzhiyun							<AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* PE21 periph A with pullup */
760*4882a593Smuzhiyun							 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;	/* PE22 periph A with pullup */
761*4882a593Smuzhiyun					};
762*4882a593Smuzhiyun				};
763*4882a593Smuzhiyun
764*4882a593Smuzhiyun				pwm0 {
765*4882a593Smuzhiyun					pinctrl_pwm0_pwmh0_0: pwm0_pwmh0-0 {
766*4882a593Smuzhiyun						atmel,pins =
767*4882a593Smuzhiyun							<AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with ISI_D4 and LCDDAT20 */
768*4882a593Smuzhiyun					};
769*4882a593Smuzhiyun					pinctrl_pwm0_pwmh0_1: pwm0_pwmh0-1 {
770*4882a593Smuzhiyun						atmel,pins =
771*4882a593Smuzhiyun							<AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GTX0 */
772*4882a593Smuzhiyun					};
773*4882a593Smuzhiyun					pinctrl_pwm0_pwml0_0: pwm0_pwml0-0 {
774*4882a593Smuzhiyun						atmel,pins =
775*4882a593Smuzhiyun							<AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with ISI_D5 and LCDDAT21 */
776*4882a593Smuzhiyun					};
777*4882a593Smuzhiyun					pinctrl_pwm0_pwml0_1: pwm0_pwml0-1 {
778*4882a593Smuzhiyun						atmel,pins =
779*4882a593Smuzhiyun							<AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GTX1 */
780*4882a593Smuzhiyun					};
781*4882a593Smuzhiyun
782*4882a593Smuzhiyun					pinctrl_pwm0_pwmh1_0: pwm0_pwmh1-0 {
783*4882a593Smuzhiyun						atmel,pins =
784*4882a593Smuzhiyun							<AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with ISI_D6 and LCDDAT22 */
785*4882a593Smuzhiyun					};
786*4882a593Smuzhiyun					pinctrl_pwm0_pwmh1_1: pwm0_pwmh1-1 {
787*4882a593Smuzhiyun						atmel,pins =
788*4882a593Smuzhiyun							<AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GRX0 */
789*4882a593Smuzhiyun					};
790*4882a593Smuzhiyun					pinctrl_pwm0_pwmh1_2: pwm0_pwmh1-2 {
791*4882a593Smuzhiyun						atmel,pins =
792*4882a593Smuzhiyun							<AT91_PIOB 27 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with G125CKO and RTS1 */
793*4882a593Smuzhiyun					};
794*4882a593Smuzhiyun					pinctrl_pwm0_pwml1_0: pwm0_pwml1-0 {
795*4882a593Smuzhiyun						atmel,pins =
796*4882a593Smuzhiyun							<AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with ISI_D7 and LCDDAT23 */
797*4882a593Smuzhiyun					};
798*4882a593Smuzhiyun					pinctrl_pwm0_pwml1_1: pwm0_pwml1-1 {
799*4882a593Smuzhiyun						atmel,pins =
800*4882a593Smuzhiyun							<AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GRX1 */
801*4882a593Smuzhiyun					};
802*4882a593Smuzhiyun					pinctrl_pwm0_pwml1_2: pwm0_pwml1-2 {
803*4882a593Smuzhiyun						atmel,pins =
804*4882a593Smuzhiyun							<AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with IRQ */
805*4882a593Smuzhiyun					};
806*4882a593Smuzhiyun
807*4882a593Smuzhiyun					pinctrl_pwm0_pwmh2_0: pwm0_pwmh2-0 {
808*4882a593Smuzhiyun						atmel,pins =
809*4882a593Smuzhiyun							<AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GTXCK */
810*4882a593Smuzhiyun					};
811*4882a593Smuzhiyun					pinctrl_pwm0_pwmh2_1: pwm0_pwmh2-1 {
812*4882a593Smuzhiyun						atmel,pins =
813*4882a593Smuzhiyun							<AT91_PIOD 5 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with MCI0_DA4 and TIOA0 */
814*4882a593Smuzhiyun					};
815*4882a593Smuzhiyun					pinctrl_pwm0_pwml2_0: pwm0_pwml2-0 {
816*4882a593Smuzhiyun						atmel,pins =
817*4882a593Smuzhiyun							<AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GTXEN */
818*4882a593Smuzhiyun					};
819*4882a593Smuzhiyun					pinctrl_pwm0_pwml2_1: pwm0_pwml2-1 {
820*4882a593Smuzhiyun						atmel,pins =
821*4882a593Smuzhiyun							<AT91_PIOD 6 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with MCI0_DA5 and TIOB0 */
822*4882a593Smuzhiyun					};
823*4882a593Smuzhiyun
824*4882a593Smuzhiyun					pinctrl_pwm0_pwmh3_0: pwm0_pwmh3-0 {
825*4882a593Smuzhiyun						atmel,pins =
826*4882a593Smuzhiyun							<AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GRXDV */
827*4882a593Smuzhiyun					};
828*4882a593Smuzhiyun					pinctrl_pwm0_pwmh3_1: pwm0_pwmh3-1 {
829*4882a593Smuzhiyun						atmel,pins =
830*4882a593Smuzhiyun							<AT91_PIOD 7 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with MCI0_DA6 and TCLK0 */
831*4882a593Smuzhiyun					};
832*4882a593Smuzhiyun					pinctrl_pwm0_pwml3_0: pwm0_pwml3-0 {
833*4882a593Smuzhiyun						atmel,pins =
834*4882a593Smuzhiyun							<AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with GRXER */
835*4882a593Smuzhiyun					};
836*4882a593Smuzhiyun					pinctrl_pwm0_pwml3_1: pwm0_pwml3-1 {
837*4882a593Smuzhiyun						atmel,pins =
838*4882a593Smuzhiyun							<AT91_PIOD 8 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with MCI0_DA7 */
839*4882a593Smuzhiyun					};
840*4882a593Smuzhiyun				};
841*4882a593Smuzhiyun
842*4882a593Smuzhiyun				spi0 {
843*4882a593Smuzhiyun					pinctrl_spi0: spi0-0 {
844*4882a593Smuzhiyun						atmel,pins =
845*4882a593Smuzhiyun							<AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PD10 periph A SPI0_MISO pin */
846*4882a593Smuzhiyun							 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PD11 periph A SPI0_MOSI pin */
847*4882a593Smuzhiyun							 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD12 periph A SPI0_SPCK pin */
848*4882a593Smuzhiyun					};
849*4882a593Smuzhiyun				};
850*4882a593Smuzhiyun
851*4882a593Smuzhiyun				spi1 {
852*4882a593Smuzhiyun					pinctrl_spi1: spi1-0 {
853*4882a593Smuzhiyun						atmel,pins =
854*4882a593Smuzhiyun							<AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC22 periph A SPI1_MISO pin */
855*4882a593Smuzhiyun							 AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC23 periph A SPI1_MOSI pin */
856*4882a593Smuzhiyun							 AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PC24 periph A SPI1_SPCK pin */
857*4882a593Smuzhiyun					};
858*4882a593Smuzhiyun				};
859*4882a593Smuzhiyun
860*4882a593Smuzhiyun				ssc0 {
861*4882a593Smuzhiyun					pinctrl_ssc0_tx: ssc0_tx {
862*4882a593Smuzhiyun						atmel,pins =
863*4882a593Smuzhiyun							<AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC16 periph A TK0 */
864*4882a593Smuzhiyun							 AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC17 periph A TF0 */
865*4882a593Smuzhiyun							 AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PC18 periph A TD0 */
866*4882a593Smuzhiyun					};
867*4882a593Smuzhiyun
868*4882a593Smuzhiyun					pinctrl_ssc0_rx: ssc0_rx {
869*4882a593Smuzhiyun						atmel,pins =
870*4882a593Smuzhiyun							<AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC19 periph A RK0 */
871*4882a593Smuzhiyun							 AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PC20 periph A RF0 */
872*4882a593Smuzhiyun							 AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PC21 periph A RD0 */
873*4882a593Smuzhiyun					};
874*4882a593Smuzhiyun				};
875*4882a593Smuzhiyun
876*4882a593Smuzhiyun				ssc1 {
877*4882a593Smuzhiyun					pinctrl_ssc1_tx: ssc1_tx {
878*4882a593Smuzhiyun						atmel,pins =
879*4882a593Smuzhiyun							<AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB2 periph B TK1, conflicts with GTX2 */
880*4882a593Smuzhiyun							 AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB3 periph B TF1, conflicts with GTX3 */
881*4882a593Smuzhiyun							 AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB6 periph B TD1, conflicts with TD1 */
882*4882a593Smuzhiyun					};
883*4882a593Smuzhiyun
884*4882a593Smuzhiyun					pinctrl_ssc1_rx: ssc1_rx {
885*4882a593Smuzhiyun						atmel,pins =
886*4882a593Smuzhiyun							<AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB7 periph B RK1, conflicts with EREFCK */
887*4882a593Smuzhiyun							 AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB10 periph B RF1, conflicts with GTXER */
888*4882a593Smuzhiyun							 AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB11 periph B RD1, conflicts with GRXCK */
889*4882a593Smuzhiyun					};
890*4882a593Smuzhiyun				};
891*4882a593Smuzhiyun
892*4882a593Smuzhiyun				uart0 {
893*4882a593Smuzhiyun					pinctrl_uart0: uart0-0 {
894*4882a593Smuzhiyun						atmel,pins =
895*4882a593Smuzhiyun							<AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP	/* conflicts with PWMFI2, ISI_D8 */
896*4882a593Smuzhiyun							 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* conflicts with ISI_PCK */
897*4882a593Smuzhiyun					};
898*4882a593Smuzhiyun				};
899*4882a593Smuzhiyun
900*4882a593Smuzhiyun				uart1 {
901*4882a593Smuzhiyun					pinctrl_uart1: uart1-0 {
902*4882a593Smuzhiyun						atmel,pins =
903*4882a593Smuzhiyun							<AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP	/* conflicts with TWD0, ISI_VSYNC */
904*4882a593Smuzhiyun							 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with TWCK0, ISI_HSYNC */
905*4882a593Smuzhiyun					};
906*4882a593Smuzhiyun				};
907*4882a593Smuzhiyun
908*4882a593Smuzhiyun				usart0 {
909*4882a593Smuzhiyun					pinctrl_usart0: usart0-0 {
910*4882a593Smuzhiyun						atmel,pins =
911*4882a593Smuzhiyun							<AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
912*4882a593Smuzhiyun							 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;
913*4882a593Smuzhiyun					};
914*4882a593Smuzhiyun
915*4882a593Smuzhiyun					pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
916*4882a593Smuzhiyun						atmel,pins =
917*4882a593Smuzhiyun							<AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */
918*4882a593Smuzhiyun							 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */
919*4882a593Smuzhiyun					};
920*4882a593Smuzhiyun				};
921*4882a593Smuzhiyun
922*4882a593Smuzhiyun				usart1 {
923*4882a593Smuzhiyun					pinctrl_usart1: usart1-0 {
924*4882a593Smuzhiyun						atmel,pins =
925*4882a593Smuzhiyun							<AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
926*4882a593Smuzhiyun							 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
927*4882a593Smuzhiyun					};
928*4882a593Smuzhiyun
929*4882a593Smuzhiyun					pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
930*4882a593Smuzhiyun						atmel,pins =
931*4882a593Smuzhiyun							<AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB26 periph A, conflicts with GRX7 */
932*4882a593Smuzhiyun							 AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB27 periph A, conflicts with G125CKO */
933*4882a593Smuzhiyun					};
934*4882a593Smuzhiyun				};
935*4882a593Smuzhiyun
936*4882a593Smuzhiyun				usart2 {
937*4882a593Smuzhiyun					pinctrl_usart2: usart2-0 {
938*4882a593Smuzhiyun						atmel,pins =
939*4882a593Smuzhiyun							<AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_PULL_UP	/* conflicts with A25 */
940*4882a593Smuzhiyun							 AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts NCS0 */
941*4882a593Smuzhiyun					};
942*4882a593Smuzhiyun
943*4882a593Smuzhiyun					pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
944*4882a593Smuzhiyun						atmel,pins =
945*4882a593Smuzhiyun							<AT91_PIOE 23 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PE23 periph B, conflicts with A23 */
946*4882a593Smuzhiyun							 AT91_PIOE 24 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PE24 periph B, conflicts with A24 */
947*4882a593Smuzhiyun					};
948*4882a593Smuzhiyun				};
949*4882a593Smuzhiyun
950*4882a593Smuzhiyun				usart3 {
951*4882a593Smuzhiyun					pinctrl_usart3: usart3-0 {
952*4882a593Smuzhiyun						atmel,pins =
953*4882a593Smuzhiyun							<AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP	/* conflicts with A18 */
954*4882a593Smuzhiyun							 AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* conflicts with A19 */
955*4882a593Smuzhiyun					};
956*4882a593Smuzhiyun
957*4882a593Smuzhiyun					pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
958*4882a593Smuzhiyun						atmel,pins =
959*4882a593Smuzhiyun							<AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PE16 periph B, conflicts with A16 */
960*4882a593Smuzhiyun							 AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PE17 periph B, conflicts with A17 */
961*4882a593Smuzhiyun					};
962*4882a593Smuzhiyun				};
963*4882a593Smuzhiyun
964*4882a593Smuzhiyun
965*4882a593Smuzhiyun				pioA: gpio@fffff200 {
966*4882a593Smuzhiyun					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
967*4882a593Smuzhiyun					reg = <0xfffff200 0x100>;
968*4882a593Smuzhiyun					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 1>;
969*4882a593Smuzhiyun					#gpio-cells = <2>;
970*4882a593Smuzhiyun					gpio-controller;
971*4882a593Smuzhiyun					interrupt-controller;
972*4882a593Smuzhiyun					#interrupt-cells = <2>;
973*4882a593Smuzhiyun					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
974*4882a593Smuzhiyun				};
975*4882a593Smuzhiyun
976*4882a593Smuzhiyun				pioB: gpio@fffff400 {
977*4882a593Smuzhiyun					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
978*4882a593Smuzhiyun					reg = <0xfffff400 0x100>;
979*4882a593Smuzhiyun					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 1>;
980*4882a593Smuzhiyun					#gpio-cells = <2>;
981*4882a593Smuzhiyun					gpio-controller;
982*4882a593Smuzhiyun					interrupt-controller;
983*4882a593Smuzhiyun					#interrupt-cells = <2>;
984*4882a593Smuzhiyun					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
985*4882a593Smuzhiyun				};
986*4882a593Smuzhiyun
987*4882a593Smuzhiyun				pioC: gpio@fffff600 {
988*4882a593Smuzhiyun					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
989*4882a593Smuzhiyun					reg = <0xfffff600 0x100>;
990*4882a593Smuzhiyun					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 1>;
991*4882a593Smuzhiyun					#gpio-cells = <2>;
992*4882a593Smuzhiyun					gpio-controller;
993*4882a593Smuzhiyun					interrupt-controller;
994*4882a593Smuzhiyun					#interrupt-cells = <2>;
995*4882a593Smuzhiyun					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
996*4882a593Smuzhiyun				};
997*4882a593Smuzhiyun
998*4882a593Smuzhiyun				pioD: gpio@fffff800 {
999*4882a593Smuzhiyun					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
1000*4882a593Smuzhiyun					reg = <0xfffff800 0x100>;
1001*4882a593Smuzhiyun					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 1>;
1002*4882a593Smuzhiyun					#gpio-cells = <2>;
1003*4882a593Smuzhiyun					gpio-controller;
1004*4882a593Smuzhiyun					interrupt-controller;
1005*4882a593Smuzhiyun					#interrupt-cells = <2>;
1006*4882a593Smuzhiyun					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
1007*4882a593Smuzhiyun				};
1008*4882a593Smuzhiyun
1009*4882a593Smuzhiyun				pioE: gpio@fffffa00 {
1010*4882a593Smuzhiyun					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
1011*4882a593Smuzhiyun					reg = <0xfffffa00 0x100>;
1012*4882a593Smuzhiyun					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 1>;
1013*4882a593Smuzhiyun					#gpio-cells = <2>;
1014*4882a593Smuzhiyun					gpio-controller;
1015*4882a593Smuzhiyun					interrupt-controller;
1016*4882a593Smuzhiyun					#interrupt-cells = <2>;
1017*4882a593Smuzhiyun					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
1018*4882a593Smuzhiyun				};
1019*4882a593Smuzhiyun			};
1020*4882a593Smuzhiyun
1021*4882a593Smuzhiyun			pmc: pmc@fffffc00 {
1022*4882a593Smuzhiyun				compatible = "atmel,sama5d3-pmc", "syscon";
1023*4882a593Smuzhiyun				reg = <0xfffffc00 0x120>;
1024*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1025*4882a593Smuzhiyun				#clock-cells = <2>;
1026*4882a593Smuzhiyun				clocks = <&clk32k>, <&main_xtal>;
1027*4882a593Smuzhiyun				clock-names = "slow_clk", "main_xtal";
1028*4882a593Smuzhiyun			};
1029*4882a593Smuzhiyun
1030*4882a593Smuzhiyun			reset_controller: rstc@fffffe00 {
1031*4882a593Smuzhiyun				compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc";
1032*4882a593Smuzhiyun				reg = <0xfffffe00 0x10>;
1033*4882a593Smuzhiyun				clocks = <&clk32k>;
1034*4882a593Smuzhiyun			};
1035*4882a593Smuzhiyun
1036*4882a593Smuzhiyun			shutdown_controller: shutdown-controller@fffffe10 {
1037*4882a593Smuzhiyun				compatible = "atmel,at91sam9x5-shdwc";
1038*4882a593Smuzhiyun				reg = <0xfffffe10 0x10>;
1039*4882a593Smuzhiyun				clocks = <&clk32k>;
1040*4882a593Smuzhiyun			};
1041*4882a593Smuzhiyun
1042*4882a593Smuzhiyun			pit: timer@fffffe30 {
1043*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-pit";
1044*4882a593Smuzhiyun				reg = <0xfffffe30 0xf>;
1045*4882a593Smuzhiyun				interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
1046*4882a593Smuzhiyun				clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1047*4882a593Smuzhiyun			};
1048*4882a593Smuzhiyun
1049*4882a593Smuzhiyun			watchdog: watchdog@fffffe40 {
1050*4882a593Smuzhiyun				compatible = "atmel,at91sam9260-wdt";
1051*4882a593Smuzhiyun				reg = <0xfffffe40 0x10>;
1052*4882a593Smuzhiyun				interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
1053*4882a593Smuzhiyun				clocks = <&clk32k>;
1054*4882a593Smuzhiyun				atmel,watchdog-type = "hardware";
1055*4882a593Smuzhiyun				atmel,reset-type = "all";
1056*4882a593Smuzhiyun				atmel,dbg-halt;
1057*4882a593Smuzhiyun				status = "disabled";
1058*4882a593Smuzhiyun			};
1059*4882a593Smuzhiyun
1060*4882a593Smuzhiyun			clk32k: sckc@fffffe50 {
1061*4882a593Smuzhiyun				compatible = "atmel,sama5d3-sckc";
1062*4882a593Smuzhiyun				reg = <0xfffffe50 0x4>;
1063*4882a593Smuzhiyun				clocks = <&slow_xtal>;
1064*4882a593Smuzhiyun				#clock-cells = <0>;
1065*4882a593Smuzhiyun			};
1066*4882a593Smuzhiyun
1067*4882a593Smuzhiyun			rtc@fffffeb0 {
1068*4882a593Smuzhiyun				compatible = "atmel,at91rm9200-rtc";
1069*4882a593Smuzhiyun				reg = <0xfffffeb0 0x30>;
1070*4882a593Smuzhiyun				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1071*4882a593Smuzhiyun				clocks = <&clk32k>;
1072*4882a593Smuzhiyun			};
1073*4882a593Smuzhiyun		};
1074*4882a593Smuzhiyun
1075*4882a593Smuzhiyun		nfc_sram: sram@200000 {
1076*4882a593Smuzhiyun			compatible = "mmio-sram";
1077*4882a593Smuzhiyun			no-memory-wc;
1078*4882a593Smuzhiyun			reg = <0x200000 0x2400>;
1079*4882a593Smuzhiyun			#address-cells = <1>;
1080*4882a593Smuzhiyun			#size-cells = <1>;
1081*4882a593Smuzhiyun			ranges = <0 0x200000 0x2400>;
1082*4882a593Smuzhiyun		};
1083*4882a593Smuzhiyun
1084*4882a593Smuzhiyun		usb0: gadget@500000 {
1085*4882a593Smuzhiyun			compatible = "atmel,sama5d3-udc";
1086*4882a593Smuzhiyun			reg = <0x00500000 0x100000
1087*4882a593Smuzhiyun			       0xf8030000 0x4000>;
1088*4882a593Smuzhiyun			interrupts = <33 IRQ_TYPE_LEVEL_HIGH 2>;
1089*4882a593Smuzhiyun			clocks = <&pmc PMC_TYPE_PERIPHERAL 33>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
1090*4882a593Smuzhiyun			clock-names = "pclk", "hclk";
1091*4882a593Smuzhiyun			status = "disabled";
1092*4882a593Smuzhiyun		};
1093*4882a593Smuzhiyun
1094*4882a593Smuzhiyun		usb1: ohci@600000 {
1095*4882a593Smuzhiyun			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1096*4882a593Smuzhiyun			reg = <0x00600000 0x100000>;
1097*4882a593Smuzhiyun			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1098*4882a593Smuzhiyun			clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_SYSTEM 6>;
1099*4882a593Smuzhiyun			clock-names = "ohci_clk", "hclk", "uhpck";
1100*4882a593Smuzhiyun			status = "disabled";
1101*4882a593Smuzhiyun		};
1102*4882a593Smuzhiyun
1103*4882a593Smuzhiyun		usb2: ehci@700000 {
1104*4882a593Smuzhiyun			compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
1105*4882a593Smuzhiyun			reg = <0x00700000 0x100000>;
1106*4882a593Smuzhiyun			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1107*4882a593Smuzhiyun			clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 32>;
1108*4882a593Smuzhiyun			clock-names = "usb_clk", "ehci_clk";
1109*4882a593Smuzhiyun			status = "disabled";
1110*4882a593Smuzhiyun		};
1111*4882a593Smuzhiyun
1112*4882a593Smuzhiyun		ebi: ebi@10000000 {
1113*4882a593Smuzhiyun			compatible = "atmel,sama5d3-ebi";
1114*4882a593Smuzhiyun			#address-cells = <2>;
1115*4882a593Smuzhiyun			#size-cells = <1>;
1116*4882a593Smuzhiyun			atmel,smc = <&hsmc>;
1117*4882a593Smuzhiyun			reg = <0x10000000 0x10000000
1118*4882a593Smuzhiyun			       0x40000000 0x30000000>;
1119*4882a593Smuzhiyun			ranges = <0x0 0x0 0x10000000 0x10000000
1120*4882a593Smuzhiyun				  0x1 0x0 0x40000000 0x10000000
1121*4882a593Smuzhiyun				  0x2 0x0 0x50000000 0x10000000
1122*4882a593Smuzhiyun				  0x3 0x0 0x60000000 0x10000000>;
1123*4882a593Smuzhiyun			clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1124*4882a593Smuzhiyun			status = "disabled";
1125*4882a593Smuzhiyun
1126*4882a593Smuzhiyun			nand_controller: nand-controller {
1127*4882a593Smuzhiyun				compatible = "atmel,sama5d3-nand-controller";
1128*4882a593Smuzhiyun				atmel,nfc-sram = <&nfc_sram>;
1129*4882a593Smuzhiyun				atmel,nfc-io = <&nfc_io>;
1130*4882a593Smuzhiyun				ecc-engine = <&pmecc>;
1131*4882a593Smuzhiyun				#address-cells = <2>;
1132*4882a593Smuzhiyun				#size-cells = <1>;
1133*4882a593Smuzhiyun				ranges;
1134*4882a593Smuzhiyun				status = "disabled";
1135*4882a593Smuzhiyun			};
1136*4882a593Smuzhiyun		};
1137*4882a593Smuzhiyun
1138*4882a593Smuzhiyun		nfc_io: nfc-io@70000000 {
1139*4882a593Smuzhiyun			compatible = "atmel,sama5d3-nfc-io", "syscon";
1140*4882a593Smuzhiyun			reg = <0x70000000 0x8000000>;
1141*4882a593Smuzhiyun		};
1142*4882a593Smuzhiyun	};
1143*4882a593Smuzhiyun};
1144