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	onewire_tm: onewire {
15		gpios = <&pioA PIN_PB0 0>;
16		pinctrl-names = "default";
17		pinctrl-0 = <&pinctrl_onewire_tm_default>;
18		status = "okay";
19
20		w1_eeprom: w1_eeprom@0 {
21			compatible = "maxim,ds24b33";
22			status = "okay";
23		};
24	};
25
26	ahb {
27		usb1: ohci@00400000 {
28			num-ports = <3>;
29			atmel,vbus-gpio = <&pioA 42 0>;
30			pinctrl-names = "default";
31			pinctrl-0 = <&pinctrl_usb_default>;
32			status = "okay";
33		};
34
35		usb2: ehci@00500000 {
36			status = "okay";
37		};
38
39		sdmmc0: sdio-host@a0000000 {
40			bus-width = <8>;
41			pinctrl-names = "default";
42			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
43			status = "okay";
44			u-boot,dm-pre-reloc;
45		};
46
47		sdmmc1: sdio-host@b0000000 {
48			bus-width = <4>;
49			pinctrl-names = "default";
50			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
51			status = "okay"; /* conflict with qspi0 */
52			u-boot,dm-pre-reloc;
53		};
54
55		apb {
56			hlcdc: hlcdc@f0000000 {
57				atmel,vl-bpix = <4>;
58				atmel,guard-time = <1>;
59				pinctrl-names = "default";
60				pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
61				status = "okay";
62				u-boot,dm-pre-reloc;
63
64				display-timings {
65					u-boot,dm-pre-reloc;
66					480x272 {
67						clock-frequency = <9000000>;
68						hactive = <480>;
69						vactive = <272>;
70						hsync-len = <41>;
71						hfront-porch = <2>;
72						hback-porch = <2>;
73						vfront-porch = <2>;
74						vback-porch = <2>;
75						vsync-len = <11>;
76						u-boot,dm-pre-reloc;
77					};
78				};
79			};
80
81			qspi0: spi@f0020000 {
82				status = "okay";
83
84				flash@0 {
85					compatible = "atmel,sama5d2-qspi-flash";
86					reg = <0>;
87					#address-cells = <1>;
88					#size-cells = <1>;
89					pinctrl-names = "default";
90					pinctrl-0 = <&pinctrl_qspi0_default>;
91					spi-max-frequency = <83000000>;
92
93					partition@00000000 {
94						label = "boot";
95						reg = <0x00000000 0x00c00000>;
96					};
97
98					partition@00c00000 {
99						label = "rootfs";
100						reg = <0x00c00000 0x00000000>;
101					};
102				};
103			};
104
105			spi0: spi@f8000000 {
106				cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
107				pinctrl-names = "default";
108				pinctrl-0 = <&pinctrl_spi0_default>;
109				status = "okay";
110				u-boot,dm-pre-reloc;
111
112				spi_flash@0 {
113					compatible = "spi-flash";
114					reg = <0>;
115					spi-max-frequency = <50000000>;
116					u-boot,dm-pre-reloc;
117				};
118			};
119
120			macb0: ethernet@f8008000 {
121				pinctrl-names = "default";
122				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
123				phy-mode = "rmii";
124				status = "okay";
125
126				ethernet-phy@1 {
127					reg = <0x1>;
128				};
129			};
130
131			uart1: serial@f8020000 {
132				pinctrl-names = "default";
133				pinctrl-0 = <&pinctrl_uart1_default>;
134				status = "okay";
135				u-boot,dm-pre-reloc;
136			};
137
138			i2c1: i2c@fc028000 {
139				pinctrl-names = "default";
140				pinctrl-0 = <&pinctrl_i2c1_default>;
141				status = "okay";
142
143				i2c_eeprom: i2c_eeprom@5c {
144					compatible = "atmel,24mac402";
145					reg = <0x5c>;
146				};
147			};
148
149			pioA: gpio@fc038000 {
150				pinctrl {
151					pinctrl_i2c1_default: i2c1_default {
152						pinmux = <PIN_PD4__TWD1>,
153							 <PIN_PD5__TWCK1>;
154						bias-disable;
155					};
156
157					pinctrl_lcd_base: pinctrl_lcd_base {
158						pinmux = <PIN_PC30__LCDVSYNC>,
159							<PIN_PC31__LCDHSYNC>,
160							<PIN_PD1__LCDDEN>,
161							<PIN_PD0__LCDPCK>;
162						bias-disable;
163					};
164
165					pinctrl_lcd_pwm: pinctrl_lcd_pwm {
166						pinmux = <PIN_PC28__LCDPWM>;
167						bias-disable;
168					};
169
170					pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
171						pinmux = <PIN_PC10__LCDDAT2>,
172							<PIN_PC11__LCDDAT3>,
173							<PIN_PC12__LCDDAT4>,
174							<PIN_PC13__LCDDAT5>,
175							<PIN_PC14__LCDDAT6>,
176							<PIN_PC15__LCDDAT7>,
177							<PIN_PC16__LCDDAT10>,
178							<PIN_PC17__LCDDAT11>,
179							<PIN_PC18__LCDDAT12>,
180							<PIN_PC19__LCDDAT13>,
181							<PIN_PC20__LCDDAT14>,
182							<PIN_PC21__LCDDAT15>,
183							<PIN_PC22__LCDDAT18>,
184							<PIN_PC23__LCDDAT19>,
185							<PIN_PC24__LCDDAT20>,
186							<PIN_PC25__LCDDAT21>,
187							<PIN_PC26__LCDDAT22>,
188							<PIN_PC27__LCDDAT23>;
189						bias-disable;
190					};
191
192					pinctrl_macb0_phy_irq: macb0_phy_irq {
193						pinmux = <PIN_PC9__GPIO>;
194						bias-disable;
195					};
196
197					pinctrl_macb0_rmii: macb0_rmii {
198						pinmux = <PIN_PB14__GTXCK>,
199							 <PIN_PB15__GTXEN>,
200							 <PIN_PB16__GRXDV>,
201							 <PIN_PB17__GRXER>,
202							 <PIN_PB18__GRX0>,
203							 <PIN_PB19__GRX1>,
204							 <PIN_PB20__GTX0>,
205							 <PIN_PB21__GTX1>,
206							 <PIN_PB22__GMDC>,
207							 <PIN_PB23__GMDIO>;
208						bias-disable;
209					};
210
211					pinctrl_qspi0_default: qspi0_default {
212						pinmux = <PIN_PA22__QSPI0_SCK>,
213							 <PIN_PA23__QSPI0_CS>,
214							 <PIN_PA24__QSPI0_IO0>,
215							 <PIN_PA25__QSPI0_IO1>,
216							 <PIN_PA26__QSPI0_IO2>,
217							 <PIN_PA27__QSPI0_IO3>;
218						bias-disable;
219					};
220
221					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
222						pinmux = <PIN_PA1__SDMMC0_CMD>,
223							 <PIN_PA2__SDMMC0_DAT0>,
224							 <PIN_PA3__SDMMC0_DAT1>,
225							 <PIN_PA4__SDMMC0_DAT2>,
226							 <PIN_PA5__SDMMC0_DAT3>,
227							 <PIN_PA6__SDMMC0_DAT4>,
228							 <PIN_PA7__SDMMC0_DAT5>,
229							 <PIN_PA8__SDMMC0_DAT6>,
230							 <PIN_PA9__SDMMC0_DAT7>;
231						bias-pull-up;
232						u-boot,dm-pre-reloc;
233					};
234
235					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
236						pinmux = <PIN_PA0__SDMMC0_CK>,
237							 <PIN_PA10__SDMMC0_RSTN>,
238							 <PIN_PA11__SDMMC0_VDDSEL>,
239							 <PIN_PA13__SDMMC0_CD>;
240						bias-disable;
241						u-boot,dm-pre-reloc;
242					};
243
244					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
245						pinmux = <PIN_PA28__SDMMC1_CMD>,
246							 <PIN_PA18__SDMMC1_DAT0>,
247							 <PIN_PA19__SDMMC1_DAT1>,
248							 <PIN_PA20__SDMMC1_DAT2>,
249							 <PIN_PA21__SDMMC1_DAT3>;
250						bias-pull-up;
251						u-boot,dm-pre-reloc;
252					};
253
254					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
255						pinmux = <PIN_PA22__SDMMC1_CK>,
256							 <PIN_PA30__SDMMC1_CD>;
257						bias-disable;
258						u-boot,dm-pre-reloc;
259					};
260
261					pinctrl_spi0_default: spi0_default {
262						pinmux = <PIN_PA14__SPI0_SPCK>,
263							 <PIN_PA15__SPI0_MOSI>,
264							 <PIN_PA16__SPI0_MISO>;
265						bias-disable;
266						u-boot,dm-pre-reloc;
267					};
268
269					pinctrl_uart1_default: uart1_default {
270						pinmux = <PIN_PD2__URXD1>,
271							 <PIN_PD3__UTXD1>;
272						bias-disable;
273						u-boot,dm-pre-reloc;
274					};
275
276					pinctrl_usb_default: usb_default {
277						pinmux = <PIN_PB10__GPIO>;
278						bias-disable;
279					};
280
281					pinctrl_usba_vbus: usba_vbus {
282						pinmux = <PIN_PA31__GPIO>;
283						bias-disable;
284					};
285
286					pinctrl_onewire_tm_default: onewire_tm_default {
287						pinmux = <PIN_PB0__GPIO>;
288						bias-pull-up;
289					};
290				};
291			};
292		};
293	};
294};
295