1/dts-v1/;
2#include "sama5d2.dtsi"
3#include "sama5d2-pinfunc.h"
4
5/ {
6	model = "Atmel SAMA5D2 Xplained";
7	compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
8
9	chosen {
10		u-boot,dm-pre-reloc;
11		stdout-path = &uart1;
12	};
13
14	ahb {
15		usb1: ohci@00400000 {
16			num-ports = <3>;
17			atmel,vbus-gpio = <&pioA 42 0>;
18			pinctrl-names = "default";
19			pinctrl-0 = <&pinctrl_usb_default>;
20			status = "okay";
21		};
22
23		usb2: ehci@00500000 {
24			status = "okay";
25		};
26
27		sdmmc0: sdio-host@a0000000 {
28			bus-width = <8>;
29			pinctrl-names = "default";
30			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
31			status = "okay";
32			u-boot,dm-pre-reloc;
33		};
34
35		sdmmc1: sdio-host@b0000000 {
36			bus-width = <4>;
37			pinctrl-names = "default";
38			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
39			status = "okay"; /* conflict with qspi0 */
40			u-boot,dm-pre-reloc;
41		};
42
43		apb {
44			qspi0: spi@f0020000 {
45				status = "okay";
46
47				flash@0 {
48					compatible = "atmel,sama5d2-qspi-flash";
49					reg = <0>;
50					#address-cells = <1>;
51					#size-cells = <1>;
52					pinctrl-names = "default";
53					pinctrl-0 = <&pinctrl_qspi0_default>;
54					spi-max-frequency = <83000000>;
55
56					partition@00000000 {
57						label = "boot";
58						reg = <0x00000000 0x00c00000>;
59					};
60
61					partition@00c00000 {
62						label = "rootfs";
63						reg = <0x00c00000 0x00000000>;
64					};
65				};
66			};
67
68			spi0: spi@f8000000 {
69				cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
70				pinctrl-names = "default";
71				pinctrl-0 = <&pinctrl_spi0_default>;
72				status = "okay";
73				u-boot,dm-pre-reloc;
74
75				spi_flash@0 {
76					compatible = "spi-flash";
77					reg = <0>;
78					spi-max-frequency = <50000000>;
79					u-boot,dm-pre-reloc;
80				};
81			};
82
83			macb0: ethernet@f8008000 {
84				pinctrl-names = "default";
85				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
86				phy-mode = "rmii";
87				status = "okay";
88
89				ethernet-phy@1 {
90					reg = <0x1>;
91				};
92			};
93
94			uart1: serial@f8020000 {
95				pinctrl-names = "default";
96				pinctrl-0 = <&pinctrl_uart1_default>;
97				status = "okay";
98				u-boot,dm-pre-reloc;
99			};
100
101			i2c1: i2c@fc028000 {
102				pinctrl-names = "default";
103				pinctrl-0 = <&pinctrl_i2c1_default>;
104				status = "okay";
105			};
106
107			pioA: gpio@fc038000 {
108				pinctrl {
109					pinctrl_i2c1_default: i2c1_default {
110						pinmux = <PIN_PD4__TWD1>,
111							 <PIN_PD5__TWCK1>;
112						bias-disable;
113					};
114
115					pinctrl_macb0_phy_irq: macb0_phy_irq {
116						pinmux = <PIN_PC9__GPIO>;
117						bias-disable;
118					};
119
120					pinctrl_macb0_rmii: macb0_rmii {
121						pinmux = <PIN_PB14__GTXCK>,
122							 <PIN_PB15__GTXEN>,
123							 <PIN_PB16__GRXDV>,
124							 <PIN_PB17__GRXER>,
125							 <PIN_PB18__GRX0>,
126							 <PIN_PB19__GRX1>,
127							 <PIN_PB20__GTX0>,
128							 <PIN_PB21__GTX1>,
129							 <PIN_PB22__GMDC>,
130							 <PIN_PB23__GMDIO>;
131						bias-disable;
132					};
133
134					pinctrl_qspi0_default: qspi0_default {
135						pinmux = <PIN_PA22__QSPI0_SCK>,
136							 <PIN_PA23__QSPI0_CS>,
137							 <PIN_PA24__QSPI0_IO0>,
138							 <PIN_PA25__QSPI0_IO1>,
139							 <PIN_PA26__QSPI0_IO2>,
140							 <PIN_PA27__QSPI0_IO3>;
141						bias-disable;
142					};
143
144					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
145						pinmux = <PIN_PA1__SDMMC0_CMD>,
146							 <PIN_PA2__SDMMC0_DAT0>,
147							 <PIN_PA3__SDMMC0_DAT1>,
148							 <PIN_PA4__SDMMC0_DAT2>,
149							 <PIN_PA5__SDMMC0_DAT3>,
150							 <PIN_PA6__SDMMC0_DAT4>,
151							 <PIN_PA7__SDMMC0_DAT5>,
152							 <PIN_PA8__SDMMC0_DAT6>,
153							 <PIN_PA9__SDMMC0_DAT7>;
154						bias-pull-up;
155						u-boot,dm-pre-reloc;
156					};
157
158					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
159						pinmux = <PIN_PA0__SDMMC0_CK>,
160							 <PIN_PA10__SDMMC0_RSTN>,
161							 <PIN_PA11__SDMMC0_VDDSEL>,
162							 <PIN_PA13__SDMMC0_CD>;
163						bias-disable;
164						u-boot,dm-pre-reloc;
165					};
166
167					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
168						pinmux = <PIN_PA28__SDMMC1_CMD>,
169							 <PIN_PA18__SDMMC1_DAT0>,
170							 <PIN_PA19__SDMMC1_DAT1>,
171							 <PIN_PA20__SDMMC1_DAT2>,
172							 <PIN_PA21__SDMMC1_DAT3>;
173						bias-pull-up;
174						u-boot,dm-pre-reloc;
175					};
176
177					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
178						pinmux = <PIN_PA22__SDMMC1_CK>,
179							 <PIN_PA30__SDMMC1_CD>;
180						bias-disable;
181						u-boot,dm-pre-reloc;
182					};
183
184					pinctrl_spi0_default: spi0_default {
185						pinmux = <PIN_PA14__SPI0_SPCK>,
186							 <PIN_PA15__SPI0_MOSI>,
187							 <PIN_PA16__SPI0_MISO>;
188						bias-disable;
189						u-boot,dm-pre-reloc;
190					};
191
192					pinctrl_uart1_default: uart1_default {
193						pinmux = <PIN_PD2__URXD1>,
194							 <PIN_PD3__UTXD1>;
195						bias-disable;
196						u-boot,dm-pre-reloc;
197					};
198
199					pinctrl_usb_default: usb_default {
200						pinmux = <PIN_PB10__GPIO>;
201						bias-disable;
202					};
203
204					pinctrl_usba_vbus: usba_vbus {
205						pinmux = <PIN_PA31__GPIO>;
206						bias-disable;
207					};
208				};
209			};
210		};
211	};
212};
213