blob: 34b64a22af4769e4096e0cbe325b1220def453f3 [file] [log] [blame]
Wenyou Yang86ba2212016-07-25 17:46:17 +08001/dts-v1/;
Eugen Hristev87a31d72021-06-23 16:13:35 +03002#include <dt-bindings/gpio/gpio.h>
Wenyou Yang86ba2212016-07-25 17:46:17 +08003#include "sama5d2.dtsi"
4#include "sama5d2-pinfunc.h"
5
6/ {
7 model = "Atmel SAMA5D2 Xplained";
8 compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
9
10 chosen {
Wenyou Yang035acb22017-03-23 14:26:23 +080011 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +080012 stdout-path = &uart1;
13 };
14
Clément Légerd04da9e2021-08-16 14:25:41 +020015 memory {
16 reg = <0x20000000 0x20000000>;
17 };
18
Eugen Hristev8ab0bd72018-09-18 10:35:53 +030019 onewire_tm: onewire {
Eugen Hristev87a31d72021-06-23 16:13:35 +030020 gpios = <&pioA PIN_PB0 GPIO_ACTIVE_HIGH>;
Eugen Hristev8ab0bd72018-09-18 10:35:53 +030021 pinctrl-names = "default";
22 pinctrl-0 = <&pinctrl_onewire_tm_default>;
23 status = "okay";
24
25 w1_eeprom: w1_eeprom@0 {
26 compatible = "maxim,ds24b33";
27 status = "okay";
28 };
29 };
30
Wenyou Yang86ba2212016-07-25 17:46:17 +080031 ahb {
Eugen Hristev21de2842021-08-17 13:29:24 +030032 usb1: ohci@400000 {
Wenyou Yang86ba2212016-07-25 17:46:17 +080033 num-ports = <3>;
34 atmel,vbus-gpio = <&pioA 42 0>;
35 pinctrl-names = "default";
36 pinctrl-0 = <&pinctrl_usb_default>;
37 status = "okay";
38 };
39
Eugen Hristev21de2842021-08-17 13:29:24 +030040 usb2: ehci@500000 {
Wenyou Yang86ba2212016-07-25 17:46:17 +080041 status = "okay";
42 };
43
44 sdmmc0: sdio-host@a0000000 {
45 bus-width = <8>;
46 pinctrl-names = "default";
47 pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
48 status = "okay";
Wenyou Yang035acb22017-03-23 14:26:23 +080049 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +080050 };
51
52 sdmmc1: sdio-host@b0000000 {
53 bus-width = <4>;
54 pinctrl-names = "default";
55 pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
56 status = "okay"; /* conflict with qspi0 */
Wenyou Yang035acb22017-03-23 14:26:23 +080057 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +080058 };
59
60 apb {
Wenyou Yang3ec18a62017-09-18 15:25:57 +080061 hlcdc: hlcdc@f0000000 {
62 atmel,vl-bpix = <4>;
63 atmel,guard-time = <1>;
64 pinctrl-names = "default";
65 pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
66 status = "okay";
67 u-boot,dm-pre-reloc;
68
69 display-timings {
70 u-boot,dm-pre-reloc;
71 480x272 {
72 clock-frequency = <9000000>;
73 hactive = <480>;
74 vactive = <272>;
75 hsync-len = <41>;
76 hfront-porch = <2>;
77 hback-porch = <2>;
78 vfront-porch = <2>;
79 vback-porch = <2>;
80 vsync-len = <11>;
81 u-boot,dm-pre-reloc;
82 };
83 };
84 };
85
Wenyou Yang86ba2212016-07-25 17:46:17 +080086 qspi0: spi@f0020000 {
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +000087 pinctrl-names = "default";
88 pinctrl-0 = <&pinctrl_qspi0_sck_cs_default &pinctrl_qspi0_dat_default>;
Wenyou Yang86ba2212016-07-25 17:46:17 +080089 status = "okay";
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +000090 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +080091
92 flash@0 {
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +000093 compatible = "jedec,spi-nor";
Wenyou Yang86ba2212016-07-25 17:46:17 +080094 reg = <0>;
Wenyou Yang86ba2212016-07-25 17:46:17 +080095 spi-max-frequency = <83000000>;
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +000096 spi-rx-bus-width = <4>;
97 spi-tx-bus-width = <4>;
98 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +080099 };
100 };
101
102 spi0: spi@f8000000 {
103 cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
104 pinctrl-names = "default";
105 pinctrl-0 = <&pinctrl_spi0_default>;
106 status = "okay";
Wenyou Yang035acb22017-03-23 14:26:23 +0800107 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800108
109 spi_flash@0 {
Neil Armstronga009fa72019-02-10 10:16:20 +0000110 compatible = "jedec,spi-nor";
Wenyou Yang86ba2212016-07-25 17:46:17 +0800111 reg = <0>;
112 spi-max-frequency = <50000000>;
Wenyou Yang035acb22017-03-23 14:26:23 +0800113 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800114 };
115 };
116
117 macb0: ethernet@f8008000 {
118 pinctrl-names = "default";
119 pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
120 phy-mode = "rmii";
121 status = "okay";
122
123 ethernet-phy@1 {
124 reg = <0x1>;
125 };
126 };
127
128 uart1: serial@f8020000 {
129 pinctrl-names = "default";
130 pinctrl-0 = <&pinctrl_uart1_default>;
131 status = "okay";
Wenyou Yang035acb22017-03-23 14:26:23 +0800132 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800133 };
134
135 i2c1: i2c@fc028000 {
136 pinctrl-names = "default";
137 pinctrl-0 = <&pinctrl_i2c1_default>;
138 status = "okay";
Wenyou Yanga1e24ec2017-09-01 16:26:17 +0800139
140 i2c_eeprom: i2c_eeprom@5c {
141 compatible = "atmel,24mac402";
142 reg = <0x5c>;
143 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800144 };
145
146 pioA: gpio@fc038000 {
147 pinctrl {
148 pinctrl_i2c1_default: i2c1_default {
149 pinmux = <PIN_PD4__TWD1>,
150 <PIN_PD5__TWCK1>;
151 bias-disable;
152 };
153
Wenyou Yang3ec18a62017-09-18 15:25:57 +0800154 pinctrl_lcd_base: pinctrl_lcd_base {
155 pinmux = <PIN_PC30__LCDVSYNC>,
156 <PIN_PC31__LCDHSYNC>,
157 <PIN_PD1__LCDDEN>,
158 <PIN_PD0__LCDPCK>;
159 bias-disable;
160 };
161
162 pinctrl_lcd_pwm: pinctrl_lcd_pwm {
163 pinmux = <PIN_PC28__LCDPWM>;
164 bias-disable;
165 };
166
167 pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
168 pinmux = <PIN_PC10__LCDDAT2>,
169 <PIN_PC11__LCDDAT3>,
170 <PIN_PC12__LCDDAT4>,
171 <PIN_PC13__LCDDAT5>,
172 <PIN_PC14__LCDDAT6>,
173 <PIN_PC15__LCDDAT7>,
174 <PIN_PC16__LCDDAT10>,
175 <PIN_PC17__LCDDAT11>,
176 <PIN_PC18__LCDDAT12>,
177 <PIN_PC19__LCDDAT13>,
178 <PIN_PC20__LCDDAT14>,
179 <PIN_PC21__LCDDAT15>,
180 <PIN_PC22__LCDDAT18>,
181 <PIN_PC23__LCDDAT19>,
182 <PIN_PC24__LCDDAT20>,
183 <PIN_PC25__LCDDAT21>,
184 <PIN_PC26__LCDDAT22>,
185 <PIN_PC27__LCDDAT23>;
186 bias-disable;
187 };
188
Wenyou Yang86ba2212016-07-25 17:46:17 +0800189 pinctrl_macb0_phy_irq: macb0_phy_irq {
190 pinmux = <PIN_PC9__GPIO>;
191 bias-disable;
192 };
193
194 pinctrl_macb0_rmii: macb0_rmii {
195 pinmux = <PIN_PB14__GTXCK>,
196 <PIN_PB15__GTXEN>,
197 <PIN_PB16__GRXDV>,
198 <PIN_PB17__GRXER>,
199 <PIN_PB18__GRX0>,
200 <PIN_PB19__GRX1>,
201 <PIN_PB20__GTX0>,
202 <PIN_PB21__GTX1>,
203 <PIN_PB22__GMDC>,
204 <PIN_PB23__GMDIO>;
205 bias-disable;
206 };
207
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +0000208 pinctrl_qspi0_sck_cs_default: qspi0_sck_cs_default {
Wenyou Yang86ba2212016-07-25 17:46:17 +0800209 pinmux = <PIN_PA22__QSPI0_SCK>,
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +0000210 <PIN_PA23__QSPI0_CS>;
211 bias-disable;
212 u-boot,dm-pre-reloc;
213 };
214
215 pinctrl_qspi0_dat_default: qspi0_dat_default {
216 pinmux = <PIN_PA24__QSPI0_IO0>,
Wenyou Yang86ba2212016-07-25 17:46:17 +0800217 <PIN_PA25__QSPI0_IO1>,
218 <PIN_PA26__QSPI0_IO2>,
219 <PIN_PA27__QSPI0_IO3>;
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +0000220 bias-pull-up;
221 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800222 };
223
224 pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
225 pinmux = <PIN_PA1__SDMMC0_CMD>,
226 <PIN_PA2__SDMMC0_DAT0>,
227 <PIN_PA3__SDMMC0_DAT1>,
228 <PIN_PA4__SDMMC0_DAT2>,
229 <PIN_PA5__SDMMC0_DAT3>,
230 <PIN_PA6__SDMMC0_DAT4>,
231 <PIN_PA7__SDMMC0_DAT5>,
232 <PIN_PA8__SDMMC0_DAT6>,
233 <PIN_PA9__SDMMC0_DAT7>;
234 bias-pull-up;
Wenyou Yang035acb22017-03-23 14:26:23 +0800235 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800236 };
237
238 pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
239 pinmux = <PIN_PA0__SDMMC0_CK>,
240 <PIN_PA10__SDMMC0_RSTN>,
241 <PIN_PA11__SDMMC0_VDDSEL>,
242 <PIN_PA13__SDMMC0_CD>;
243 bias-disable;
Wenyou Yang035acb22017-03-23 14:26:23 +0800244 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800245 };
246
247 pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
248 pinmux = <PIN_PA28__SDMMC1_CMD>,
249 <PIN_PA18__SDMMC1_DAT0>,
250 <PIN_PA19__SDMMC1_DAT1>,
251 <PIN_PA20__SDMMC1_DAT2>,
252 <PIN_PA21__SDMMC1_DAT3>;
253 bias-pull-up;
Wenyou Yang035acb22017-03-23 14:26:23 +0800254 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800255 };
256
257 pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
258 pinmux = <PIN_PA22__SDMMC1_CK>,
259 <PIN_PA30__SDMMC1_CD>;
260 bias-disable;
Wenyou Yang035acb22017-03-23 14:26:23 +0800261 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800262 };
263
264 pinctrl_spi0_default: spi0_default {
265 pinmux = <PIN_PA14__SPI0_SPCK>,
266 <PIN_PA15__SPI0_MOSI>,
267 <PIN_PA16__SPI0_MISO>;
268 bias-disable;
Wenyou Yang035acb22017-03-23 14:26:23 +0800269 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800270 };
271
272 pinctrl_uart1_default: uart1_default {
273 pinmux = <PIN_PD2__URXD1>,
274 <PIN_PD3__UTXD1>;
275 bias-disable;
Wenyou Yang035acb22017-03-23 14:26:23 +0800276 u-boot,dm-pre-reloc;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800277 };
278
279 pinctrl_usb_default: usb_default {
280 pinmux = <PIN_PB10__GPIO>;
281 bias-disable;
282 };
283
284 pinctrl_usba_vbus: usba_vbus {
285 pinmux = <PIN_PA31__GPIO>;
286 bias-disable;
287 };
Eugen Hristev8ab0bd72018-09-18 10:35:53 +0300288
289 pinctrl_onewire_tm_default: onewire_tm_default {
290 pinmux = <PIN_PB0__GPIO>;
291 bias-pull-up;
292 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800293 };
294 };
295 };
296 };
297};