• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
4 *
5 *  Copyright (C) 2014 Atmel,
6 *		  2014 Nicolas Ferre <nicolas.ferre@atmel.com>
7 */
8/dts-v1/;
9#include "sama5d36.dtsi"
10
11/ {
12	model = "SAMA5D3 Xplained";
13	compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
14
15	chosen {
16		stdout-path = "serial0:115200n8";
17	};
18
19	memory {
20		reg = <0x20000000 0x10000000>;
21	};
22
23	clocks {
24		slow_xtal {
25			clock-frequency = <32768>;
26		};
27
28		main_xtal {
29			clock-frequency = <12000000>;
30		};
31	};
32
33	ahb {
34		apb {
35			mmc0: mmc@f0000000 {
36				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
37				vmmc-supply = <&vcc_mmc0_reg>;
38				vqmmc-supply = <&vcc_3v3_reg>;
39				status = "okay";
40				slot@0 {
41					reg = <0>;
42					bus-width = <8>;
43					cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
44				};
45			};
46
47			mmc1: mmc@f8000000 {
48				vmmc-supply = <&vcc_3v3_reg>;
49				vqmmc-supply = <&vcc_3v3_reg>;
50				status = "disabled";
51				slot@0 {
52					reg = <0>;
53					bus-width = <4>;
54					cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
55				};
56			};
57
58			spi0: spi@f0004000 {
59				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
60				status = "okay";
61			};
62
63			can0: can@f000c000 {
64				status = "okay";
65			};
66
67			tcb0: timer@f0010000 {
68				timer0: timer@0 {
69					compatible = "atmel,tcb-timer";
70					reg = <0>;
71				};
72
73				timer1: timer@1 {
74					compatible = "atmel,tcb-timer";
75					reg = <1>;
76				};
77			};
78
79			i2c0: i2c@f0014000 {
80				pinctrl-0 = <&pinctrl_i2c0_pu>;
81				status = "okay";
82			};
83
84			i2c1: i2c@f0018000 {
85				status = "okay";
86
87				pmic: act8865@5b {
88					compatible = "active-semi,act8865";
89					reg = <0x5b>;
90					status = "disabled";
91
92					regulators {
93						vcc_1v8_reg: DCDC_REG1 {
94							regulator-name = "VCC_1V8";
95							regulator-min-microvolt = <1800000>;
96							regulator-max-microvolt = <1800000>;
97							regulator-always-on;
98						};
99
100						vcc_1v2_reg: DCDC_REG2 {
101							regulator-name = "VCC_1V2";
102							regulator-min-microvolt = <1200000>;
103							regulator-max-microvolt = <1200000>;
104							regulator-always-on;
105						};
106
107						vcc_3v3_reg: DCDC_REG3 {
108							regulator-name = "VCC_3V3";
109							regulator-min-microvolt = <3300000>;
110							regulator-max-microvolt = <3300000>;
111							regulator-always-on;
112						};
113
114						vddfuse_reg: LDO_REG1 {
115							regulator-name = "FUSE_2V5";
116							regulator-min-microvolt = <2500000>;
117							regulator-max-microvolt = <2500000>;
118						};
119
120						vddana_reg: LDO_REG2 {
121							regulator-name = "VDDANA";
122							regulator-min-microvolt = <3300000>;
123							regulator-max-microvolt = <3300000>;
124							regulator-always-on;
125						};
126					};
127				};
128			};
129
130			macb0: ethernet@f0028000 {
131				phy-mode = "rgmii";
132				#address-cells = <1>;
133				#size-cells = <0>;
134				status = "okay";
135
136				ethernet-phy@7 {
137					reg = <0x7>;
138				};
139			};
140
141			pwm0: pwm@f002c000 {
142				pinctrl-names = "default";
143				pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
144				status = "okay";
145			};
146
147			usart0: serial@f001c000 {
148				status = "okay";
149			};
150
151			usart1: serial@f0020000 {
152				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
153				status = "okay";
154			};
155
156			uart0: serial@f0024000 {
157				status = "okay";
158			};
159
160			mmc1: mmc@f8000000 {
161				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
162				status = "okay";
163				slot@0 {
164					reg = <0>;
165					bus-width = <4>;
166					cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
167				};
168			};
169
170			spi1: spi@f8008000 {
171				cs-gpios = <&pioC 25 0>;
172				status = "okay";
173			};
174
175			adc0: adc@f8018000 {
176				atmel,adc-vref = <3300>;
177				atmel,adc-channels-used = <0xfe>;
178				pinctrl-0 = <
179					&pinctrl_adc0_adtrg
180					&pinctrl_adc0_ad1
181					&pinctrl_adc0_ad2
182					&pinctrl_adc0_ad3
183					&pinctrl_adc0_ad4
184					&pinctrl_adc0_ad5
185					&pinctrl_adc0_ad6
186					&pinctrl_adc0_ad7
187					>;
188				status = "okay";
189			};
190
191			i2c2: i2c@f801c000 {
192				dmas = <0>, <0>;	/* Do not use DMA for i2c2 */
193				pinctrl-0 = <&pinctrl_i2c2_pu>;
194				status = "okay";
195			};
196
197			macb1: ethernet@f802c000 {
198				phy-mode = "rmii";
199				#address-cells = <1>;
200				#size-cells = <0>;
201				status = "okay";
202
203				ethernet-phy@1 {
204					reg = <0x1>;
205				};
206			};
207
208			dbgu: serial@ffffee00 {
209				status = "okay";
210			};
211
212			pinctrl@fffff200 {
213				board {
214					pinctrl_i2c0_pu: i2c0_pu {
215						atmel,pins =
216							<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
217							<AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
218					};
219
220					pinctrl_i2c2_pu: i2c2_pu {
221						atmel,pins =
222							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
223							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
224					};
225
226					pinctrl_key_gpio: key_gpio_0 {
227						atmel,pins =
228							<AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
229					};
230
231					pinctrl_mmc0_cd: mmc0_cd {
232						atmel,pins =
233							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
234					};
235
236					pinctrl_mmc1_cd: mmc1_cd {
237						atmel,pins =
238							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
239					};
240
241					pinctrl_usba_vbus: usba_vbus {
242						atmel,pins =
243							<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PE9, conflicts with A9 */
244					};
245					pinctrl_usb_default: usb_default {
246						atmel,pins =
247							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
248							 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
249					};
250				};
251			};
252		};
253
254		usb0: gadget@500000 {
255			atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;	/* PE9, conflicts with A9 */
256			pinctrl-names = "default";
257			pinctrl-0 = <&pinctrl_usba_vbus>;
258			status = "okay";
259		};
260
261		usb1: ohci@600000 {
262			num-ports = <3>;
263			atmel,vbus-gpio = <0
264					   &pioE 3 GPIO_ACTIVE_LOW
265					   &pioE 4 GPIO_ACTIVE_LOW
266					  >;
267			pinctrl-names = "default";
268			pinctrl-0 = <&pinctrl_usb_default>;
269			status = "okay";
270		};
271
272		usb2: ehci@700000 {
273			status = "okay";
274		};
275
276		ebi: ebi@10000000 {
277			pinctrl-0 = <&pinctrl_ebi_nand_addr>;
278			pinctrl-names = "default";
279			status = "okay";
280
281			nand_controller: nand-controller {
282				status = "okay";
283
284				nand@3 {
285					reg = <0x3 0x0 0x2>;
286					atmel,rb = <0>;
287					nand-bus-width = <8>;
288					nand-ecc-mode = "hw";
289					nand-ecc-strength = <4>;
290					nand-ecc-step-size = <512>;
291					nand-on-flash-bbt;
292					label = "atmel_nand";
293
294					partitions {
295						compatible = "fixed-partitions";
296						#address-cells = <1>;
297						#size-cells = <1>;
298
299						at91bootstrap@0 {
300							label = "at91bootstrap";
301							reg = <0x0 0x40000>;
302						};
303
304						bootloader@40000 {
305							label = "bootloader";
306							reg = <0x40000 0xc0000>;
307						};
308
309						bootloaderenvred@100000 {
310							label = "bootloader env redundant";
311							reg = <0x100000 0x40000>;
312						};
313
314						bootloaderenv@140000 {
315							label = "bootloader env";
316							reg = <0x140000 0x40000>;
317						};
318
319						dtb@180000 {
320							label = "device tree";
321							reg = <0x180000 0x80000>;
322						};
323
324						kernel@200000 {
325							label = "kernel";
326							reg = <0x200000 0x600000>;
327						};
328
329						rootfs@800000 {
330							label = "rootfs";
331							reg = <0x800000 0x0f800000>;
332						};
333					};
334				};
335			};
336		};
337	};
338
339	vcc_mmc0_reg: fixedregulator_mmc0 {
340		compatible = "regulator-fixed";
341		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
342		regulator-name = "mmc0-card-supply";
343		regulator-min-microvolt = <3300000>;
344		regulator-max-microvolt = <3300000>;
345		regulator-always-on;
346	};
347
348	gpio_keys {
349		compatible = "gpio-keys";
350
351		pinctrl-names = "default";
352		pinctrl-0 = <&pinctrl_key_gpio>;
353
354		bp3 {
355			label = "PB_USER";
356			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
357			linux,code = <0x104>;
358			wakeup-source;
359		};
360	};
361
362	leds {
363		compatible = "gpio-leds";
364
365		d2 {
366			label = "d2";
367			gpios = <&pioE 23 GPIO_ACTIVE_LOW>;	/* PE23, conflicts with A23, CTS2 */
368			linux,default-trigger = "heartbeat";
369		};
370
371		d3 {
372			label = "d3";
373			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
374		};
375	};
376};
377