blob: 6521585ee9cb189fca93622fbb24b45bed73e2ff [file] [log] [blame]
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +00001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * sam9x60ek.dts - Device Tree file for SAM9X60 EK board
4 *
5 * Copyright (C) 2018 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Sandeep Sheriker M <Sandeepsheriker.mallikarjun@microchip.com>
8 */
9/dts-v1/;
Eugen Hristeveecfff02021-08-27 13:44:12 +030010#include <dt-bindings/mfd/atmel-flexcom.h>
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000011#include "sam9x60.dtsi"
12
13/ {
14 model = "Microchip SAM9X60-Ek";
15 compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
16
17 chosen {
18 stdout-path = &dbgu;
Eugen Hristeveeb172b2019-10-09 09:23:41 +000019 i2c0 = &flx0;
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000020 };
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000021
Claudiu Beznea3de09762020-10-07 18:17:09 +030022 clocks {
23 slow_xtal: slow_xtal {
24 clock-frequency = <32768>;
25 };
26
27 main_xtal: main_xtal {
28 clock-frequency = <24000000>;
29 };
30 };
31
Eugen Hristeve3b47be2019-09-30 07:28:59 +000032 onewire_tm: onewire {
Eugen Hristev87a31d72021-06-23 16:13:35 +030033 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
Eugen Hristeve3b47be2019-09-30 07:28:59 +000034 pinctrl-names = "default";
35 pinctrl-0 = <&pinctrl_onewire_tm_default>;
36 status = "okay";
37
38 w1_eeprom: w1_eeprom@0 {
39 compatible = "maxim,ds24b33";
40 status = "okay";
41 };
42 };
43
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000044 ahb {
45 apb {
46 qspi: spi@f0014000 {
47 pinctrl-names = "default";
48 pinctrl-0 = <&pinctrl_qspi>;
49 status = "okay";
50
51 nor_flash: sst26vf064@0 {
Sergiu Moga9e351d72022-05-13 18:13:39 +030052 compatible = "jedec,spi-nor";
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000053 reg = <0>;
54 spi-max-frequency = <80000000>;
55 spi-rx-bus-width = <4>;
56 spi-tx-bus-width = <4>;
57 };
58 };
59
Eugen Hristeveeb172b2019-10-09 09:23:41 +000060 flx0: flexcom@f801c600 {
Eugen Hristeveecfff02021-08-27 13:44:12 +030061 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
Eugen Hristeveeb172b2019-10-09 09:23:41 +000062 status = "okay";
63
64 i2c@600 {
Alexander Dahl4b9e78b2023-07-05 22:16:59 +020065 compatible = "microchip,sam9x60-i2c";
Eugen Hristeveeb172b2019-10-09 09:23:41 +000066 reg = <0x600 0x200>;
67 pinctrl-names = "default";
68 pinctrl-0 = <&pinctrl_flx0>;
69 #address-cells = <1>;
70 #size-cells = <0>;
Claudiu Beznea562a8642020-10-07 18:17:12 +030071 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
Eugen Hristeveeb172b2019-10-09 09:23:41 +000072 status = "okay";
73
74 eeprom@53 {
Eugen Hristev6ff8a642022-05-26 17:04:56 +030075 compatible = "atmel,24c02"; /* EEPROM is 2Kbits microchip 24aa025e48, an at24c02 with page size of 16 */
Eugen Hristeveeb172b2019-10-09 09:23:41 +000076 reg = <0x53>;
77 pagesize = <16>;
78 };
79 };
80 };
Tudor Ambarus6c8b9502019-09-27 13:09:19 +000081 };
82 };
Sandeep Sheriker Mallikarjun976c2dc2019-09-27 13:08:45 +000083};
Nicolas Ferred7d06bf2019-09-27 13:08:48 +000084
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +053085&dbgu {
86 pinctrl-names = "default";
87 pinctrl-0 = <&pinctrl_dbgu>;
88};
89
Balamanikandan Gunasundar557d9172022-10-25 16:21:08 +053090&ebi {
91 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
93 status = "okay";
94
95 nand_controller: nand-controller {
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
98 status = "okay";
99
100 nand@3 {
101 reg = <0x3 0x0 0x800000>;
102 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
103 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
104 nand-bus-width = <8>;
105 nand-ecc-mode = "hw";
106 nand-ecc-strength = <8>;
107 nand-ecc-step-size = <512>;
108 nand-on-flash-bbt;
109 label = "atmel_nand";
110
111 partitions {
112 compatible = "fixed-partitions";
113 #address-cells = <1>;
114 #size-cells = <1>;
115
116 at91bootstrap@0 {
117 label = "at91bootstrap";
118 reg = <0x0 0x40000>;
119 };
120
121 uboot@40000 {
122 label = "u-boot";
123 reg = <0x40000 0xc0000>;
124 };
125
126 ubootenvred@100000 {
127 label = "U-Boot Env Redundant";
128 reg = <0x100000 0x40000>;
129 };
130
131 ubootenv@140000 {
132 label = "U-Boot Env";
133 reg = <0x140000 0x40000>;
134 };
135
136 dtb@180000 {
137 label = "device tree";
138 reg = <0x180000 0x80000>;
139 };
140
141 kernel@200000 {
142 label = "kernel";
143 reg = <0x200000 0x600000>;
144 };
145
146 rootfs@800000 {
147 label = "rootfs";
148 reg = <0x800000 0x1f800000>;
149 };
150 };
151 };
152 };
153};
154
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000155&macb0 {
156 phy-mode = "rmii";
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +0530157 pinctrl-names = "default";
158 pinctrl-0 = <&pinctrl_macb0_rmii>;
Nicolas Ferred7d06bf2019-09-27 13:08:48 +0000159 status = "okay";
160};
Sergiu Moga534b1242023-01-04 16:04:12 +0200161
Balamanikandan Gunasundar5ad42062025-02-10 12:21:38 +0530162&pinctrl {
163 /* shared pinctrl settings */
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +0530164 dbgu {
165 pinctrl_dbgu: dbgu-0 {
166 atmel,pins =
167 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
168 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
169 };
170 };
171
Balamanikandan Gunasundar5ad42062025-02-10 12:21:38 +0530172 qspi {
173 pinctrl_qspi: qspi {
174 atmel,pins =
175 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
176 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE
177 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
178 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
179 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
180 AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
181 };
182 };
183
184 nand {
185 pinctrl_nand_oe_we: nand-oe-we-0 {
186 atmel,pins =
187 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
188 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
189 };
190
191 pinctrl_nand_rb: nand-rb-0 {
192 atmel,pins =
193 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
194 };
195
196 pinctrl_nand_cs: nand-cs-0 {
197 atmel,pins =
198 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
199 };
200 };
201
202 ebi {
203 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
204 atmel,pins =
205 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
206 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
207 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
208 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
209 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
210 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
211 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
212 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
213 };
214
215 pinctrl_ebi_addr_nand: ebi-addr-0 {
216 atmel,pins =
217 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
218 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
219 };
220 };
221
222 flexcom {
223 pinctrl_flx0: flx0_default {
224 atmel,pins =
225 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE
226 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
227 };
228 };
229
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +0530230 macb0 {
231 pinctrl_macb0_rmii: macb0_rmii-0 {
232 atmel,pins =
233 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
234 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
235 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
236 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
237 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
238 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
239 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
240 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
241 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
242 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
243 };
244 };
245
Balamanikandan Gunasundar5ad42062025-02-10 12:21:38 +0530246 pinctrl_onewire_tm_default: onewire_tm_default {
247 atmel,pins =
248 <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
249 };
250
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +0530251 sdhci0 {
252 pinctrl_sdhci0: sdhci0 {
253 atmel,pins =
254 <AT91_PIOA 17 AT91_PERIPH_A
255 (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA17 CK periph A with pullup */
256 AT91_PIOA 16 AT91_PERIPH_A
257 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA16 CMD periph A with pullup */
258 AT91_PIOA 15 AT91_PERIPH_A
259 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA15 DAT0 periph A */
260 AT91_PIOA 18 AT91_PERIPH_A
261 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA18 DAT1 periph A with pullup */
262 AT91_PIOA 19 AT91_PERIPH_A
263 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA) /* PA19 DAT2 periph A with pullup */
264 AT91_PIOA 20 AT91_PERIPH_A
265 (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>; /* PA20 DAT3 periph A with pullup */
266 };
267 };
268
269 sdhci1 {
270 pinctrl_sdhci1: sdhci1 {
271 atmel,pins =
272 <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
273 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
274 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
275 AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
276 AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
277 AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
278 };
279 };
280
Balamanikandan Gunasundar5ad42062025-02-10 12:21:38 +0530281 usb1 {
282 pinctrl_usb_default: usb_default {
283 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
284 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
285 };
286 };
287};
288
Manikandan Muralidharanbcfacd22025-02-10 12:21:39 +0530289&sdhci0 {
290 pinctrl-names = "default";
291 pinctrl-0 = <&pinctrl_sdhci0>;
292};
293
294&sdhci1 {
295 pinctrl-names = "default";
296 pinctrl-0 = <&pinctrl_sdhci1>;
297};
298
Sergiu Moga534b1242023-01-04 16:04:12 +0200299&usb1 {
300 num-ports = <3>;
301 atmel,vbus-gpio = <0
302 &pioD 15 GPIO_ACTIVE_HIGH
303 &pioD 16 GPIO_ACTIVE_HIGH>;
304 pinctrl-names = "default";
305 pinctrl-0 = <&pinctrl_usb_default>;
306 status = "okay";
307};
308
309&usb2 {
310 status = "okay";
311};