blob: 4d28af6faadb1de15972eddd4c918fab73102513 [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 {
Simon Glassd3a98cb2023-02-13 08:56:33 -070011 bootph-all;
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";
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +030047 pinctrl-0 = <&pinctrl_sdmmc0_default>;
Wenyou Yang86ba2212016-07-25 17:46:17 +080048 status = "okay";
Simon Glassd3a98cb2023-02-13 08:56:33 -070049 bootph-all;
Wenyou Yang86ba2212016-07-25 17:46:17 +080050 };
51
52 sdmmc1: sdio-host@b0000000 {
53 bus-width = <4>;
54 pinctrl-names = "default";
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +030055 pinctrl-0 = <&pinctrl_sdmmc1_default>;
Wenyou Yang86ba2212016-07-25 17:46:17 +080056 status = "okay"; /* conflict with qspi0 */
Simon Glassd3a98cb2023-02-13 08:56:33 -070057 bootph-all;
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";
Simon Glassd3a98cb2023-02-13 08:56:33 -070067 bootph-all;
Wenyou Yang3ec18a62017-09-18 15:25:57 +080068
69 display-timings {
Simon Glassd3a98cb2023-02-13 08:56:33 -070070 bootph-all;
Wenyou Yang3ec18a62017-09-18 15:25:57 +080071 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>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070081 bootph-all;
Wenyou Yang3ec18a62017-09-18 15:25:57 +080082 };
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";
Simon Glassd3a98cb2023-02-13 08:56:33 -070090 bootph-all;
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>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070098 bootph-all;
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";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700107 bootph-all;
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>;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700113 bootph-all;
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";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700132 bootph-all;
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
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300146 pioA: pinctrl@fc038000 {
147 pinctrl_i2c1_default: i2c1_default {
148 pinmux = <PIN_PD4__TWD1>,
149 <PIN_PD5__TWCK1>;
150 bias-disable;
151 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800152
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300153 pinctrl_lcd_base: pinctrl_lcd_base {
154 pinmux = <PIN_PC30__LCDVSYNC>,
155 <PIN_PC31__LCDHSYNC>,
156 <PIN_PD1__LCDDEN>,
157 <PIN_PD0__LCDPCK>;
158 bias-disable;
159 };
Wenyou Yang3ec18a62017-09-18 15:25:57 +0800160
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300161 pinctrl_lcd_pwm: pinctrl_lcd_pwm {
162 pinmux = <PIN_PC28__LCDPWM>;
163 bias-disable;
164 };
Wenyou Yang3ec18a62017-09-18 15:25:57 +0800165
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300166 pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
167 pinmux = <PIN_PC10__LCDDAT2>,
168 <PIN_PC11__LCDDAT3>,
169 <PIN_PC12__LCDDAT4>,
170 <PIN_PC13__LCDDAT5>,
171 <PIN_PC14__LCDDAT6>,
172 <PIN_PC15__LCDDAT7>,
173 <PIN_PC16__LCDDAT10>,
174 <PIN_PC17__LCDDAT11>,
175 <PIN_PC18__LCDDAT12>,
176 <PIN_PC19__LCDDAT13>,
177 <PIN_PC20__LCDDAT14>,
178 <PIN_PC21__LCDDAT15>,
179 <PIN_PC22__LCDDAT18>,
180 <PIN_PC23__LCDDAT19>,
181 <PIN_PC24__LCDDAT20>,
182 <PIN_PC25__LCDDAT21>,
183 <PIN_PC26__LCDDAT22>,
184 <PIN_PC27__LCDDAT23>;
185 bias-disable;
186 };
Wenyou Yang3ec18a62017-09-18 15:25:57 +0800187
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300188 pinctrl_macb0_phy_irq: macb0_phy_irq {
189 pinmux = <PIN_PC9__GPIO>;
190 bias-disable;
191 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800192
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300193 pinctrl_macb0_rmii: macb0_rmii {
194 pinmux = <PIN_PB14__GTXCK>,
195 <PIN_PB15__GTXEN>,
196 <PIN_PB16__GRXDV>,
197 <PIN_PB17__GRXER>,
198 <PIN_PB18__GRX0>,
199 <PIN_PB19__GRX1>,
200 <PIN_PB20__GTX0>,
201 <PIN_PB21__GTX1>,
202 <PIN_PB22__GMDC>,
203 <PIN_PB23__GMDIO>;
204 bias-disable;
205 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800206
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300207 pinctrl_qspi0_sck_cs_default: qspi0_sck_cs_default {
208 pinmux = <PIN_PA22__QSPI0_SCK>,
209 <PIN_PA23__QSPI0_CS>;
210 bias-disable;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700211 bootph-all;
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300212 };
Cyrille Pitchen4122f6b2019-06-18 08:51:58 +0000213
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300214 pinctrl_qspi0_dat_default: qspi0_dat_default {
215 pinmux = <PIN_PA24__QSPI0_IO0>,
216 <PIN_PA25__QSPI0_IO1>,
217 <PIN_PA26__QSPI0_IO2>,
218 <PIN_PA27__QSPI0_IO3>;
219 bias-pull-up;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700220 bootph-all;
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300221 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800222
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300223 pinctrl_sdmmc0_default: sdmmc0_default {
224 cmd_dat {
Wenyou Yang86ba2212016-07-25 17:46:17 +0800225 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;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700235 bootph-all;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800236 };
237
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300238 ck_cd_default {
Wenyou Yang86ba2212016-07-25 17:46:17 +0800239 pinmux = <PIN_PA0__SDMMC0_CK>,
240 <PIN_PA10__SDMMC0_RSTN>,
241 <PIN_PA11__SDMMC0_VDDSEL>,
242 <PIN_PA13__SDMMC0_CD>;
243 bias-disable;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700244 bootph-all;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800245 };
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300246 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800247
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300248 pinctrl_sdmmc1_default: sdmmc1_default {
249 cmd_dat {
Wenyou Yang86ba2212016-07-25 17:46:17 +0800250 pinmux = <PIN_PA28__SDMMC1_CMD>,
251 <PIN_PA18__SDMMC1_DAT0>,
252 <PIN_PA19__SDMMC1_DAT1>,
253 <PIN_PA20__SDMMC1_DAT2>,
254 <PIN_PA21__SDMMC1_DAT3>;
255 bias-pull-up;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700256 bootph-all;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800257 };
258
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300259 ck_cd {
Wenyou Yang86ba2212016-07-25 17:46:17 +0800260 pinmux = <PIN_PA22__SDMMC1_CK>,
261 <PIN_PA30__SDMMC1_CD>;
262 bias-disable;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700263 bootph-all;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800264 };
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300265 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800266
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300267 pinctrl_spi0_default: spi0_default {
268 pinmux = <PIN_PA14__SPI0_SPCK>,
269 <PIN_PA15__SPI0_MOSI>,
270 <PIN_PA16__SPI0_MISO>;
271 bias-disable;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700272 bootph-all;
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300273 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800274
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300275 pinctrl_uart1_default: uart1_default {
276 pinmux = <PIN_PD2__URXD1>,
277 <PIN_PD3__UTXD1>;
278 bias-disable;
Simon Glassd3a98cb2023-02-13 08:56:33 -0700279 bootph-all;
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300280 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800281
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300282 pinctrl_usb_default: usb_default {
283 pinmux = <PIN_PB10__GPIO>;
284 bias-disable;
285 };
Wenyou Yang86ba2212016-07-25 17:46:17 +0800286
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300287 pinctrl_usba_vbus: usba_vbus {
288 pinmux = <PIN_PA31__GPIO>;
289 bias-disable;
290 };
Eugen Hristev8ab0bd72018-09-18 10:35:53 +0300291
Sergiu Moga7c8ad0e2022-09-01 17:22:39 +0300292 pinctrl_onewire_tm_default: onewire_tm_default {
293 pinmux = <PIN_PB0__GPIO>;
294 bias-pull-up;
Wenyou Yang86ba2212016-07-25 17:46:17 +0800295 };
296 };
297 };
298 };
299};