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				i2c_eeprom: i2c_eeprom@5c {
107					compatible = "atmel,24mac402";
108					reg = <0x5c>;
109				};
110			};
111
112			pioA: gpio@fc038000 {
113				pinctrl {
114					pinctrl_i2c1_default: i2c1_default {
115						pinmux = <PIN_PD4__TWD1>,
116							 <PIN_PD5__TWCK1>;
117						bias-disable;
118					};
119
120					pinctrl_macb0_phy_irq: macb0_phy_irq {
121						pinmux = <PIN_PC9__GPIO>;
122						bias-disable;
123					};
124
125					pinctrl_macb0_rmii: macb0_rmii {
126						pinmux = <PIN_PB14__GTXCK>,
127							 <PIN_PB15__GTXEN>,
128							 <PIN_PB16__GRXDV>,
129							 <PIN_PB17__GRXER>,
130							 <PIN_PB18__GRX0>,
131							 <PIN_PB19__GRX1>,
132							 <PIN_PB20__GTX0>,
133							 <PIN_PB21__GTX1>,
134							 <PIN_PB22__GMDC>,
135							 <PIN_PB23__GMDIO>;
136						bias-disable;
137					};
138
139					pinctrl_qspi0_default: qspi0_default {
140						pinmux = <PIN_PA22__QSPI0_SCK>,
141							 <PIN_PA23__QSPI0_CS>,
142							 <PIN_PA24__QSPI0_IO0>,
143							 <PIN_PA25__QSPI0_IO1>,
144							 <PIN_PA26__QSPI0_IO2>,
145							 <PIN_PA27__QSPI0_IO3>;
146						bias-disable;
147					};
148
149					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
150						pinmux = <PIN_PA1__SDMMC0_CMD>,
151							 <PIN_PA2__SDMMC0_DAT0>,
152							 <PIN_PA3__SDMMC0_DAT1>,
153							 <PIN_PA4__SDMMC0_DAT2>,
154							 <PIN_PA5__SDMMC0_DAT3>,
155							 <PIN_PA6__SDMMC0_DAT4>,
156							 <PIN_PA7__SDMMC0_DAT5>,
157							 <PIN_PA8__SDMMC0_DAT6>,
158							 <PIN_PA9__SDMMC0_DAT7>;
159						bias-pull-up;
160						u-boot,dm-pre-reloc;
161					};
162
163					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
164						pinmux = <PIN_PA0__SDMMC0_CK>,
165							 <PIN_PA10__SDMMC0_RSTN>,
166							 <PIN_PA11__SDMMC0_VDDSEL>,
167							 <PIN_PA13__SDMMC0_CD>;
168						bias-disable;
169						u-boot,dm-pre-reloc;
170					};
171
172					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
173						pinmux = <PIN_PA28__SDMMC1_CMD>,
174							 <PIN_PA18__SDMMC1_DAT0>,
175							 <PIN_PA19__SDMMC1_DAT1>,
176							 <PIN_PA20__SDMMC1_DAT2>,
177							 <PIN_PA21__SDMMC1_DAT3>;
178						bias-pull-up;
179						u-boot,dm-pre-reloc;
180					};
181
182					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
183						pinmux = <PIN_PA22__SDMMC1_CK>,
184							 <PIN_PA30__SDMMC1_CD>;
185						bias-disable;
186						u-boot,dm-pre-reloc;
187					};
188
189					pinctrl_spi0_default: spi0_default {
190						pinmux = <PIN_PA14__SPI0_SPCK>,
191							 <PIN_PA15__SPI0_MOSI>,
192							 <PIN_PA16__SPI0_MISO>;
193						bias-disable;
194						u-boot,dm-pre-reloc;
195					};
196
197					pinctrl_uart1_default: uart1_default {
198						pinmux = <PIN_PD2__URXD1>,
199							 <PIN_PD3__UTXD1>;
200						bias-disable;
201						u-boot,dm-pre-reloc;
202					};
203
204					pinctrl_usb_default: usb_default {
205						pinmux = <PIN_PB10__GPIO>;
206						bias-disable;
207					};
208
209					pinctrl_usba_vbus: usba_vbus {
210						pinmux = <PIN_PA31__GPIO>;
211						bias-disable;
212					};
213				};
214			};
215		};
216	};
217};
218