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