blob: 99867d2bf8e65d73b5ecb1252df6a171e04a9bf6 [file] [log] [blame]
Durai Manickam KRa0509712022-04-04 11:23:19 +05301// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * at91-sam9x60_curiosity.dts - Device Tree file for SAM9X60 CURIOSITY board
4 *
5 * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
8 */
9/dts-v1/;
Alexander Dahlcdb420d2023-08-23 15:58:56 +020010#include <dt-bindings/input/input.h>
Durai Manickam KRa0509712022-04-04 11:23:19 +053011#include <dt-bindings/mfd/atmel-flexcom.h>
12#include "sam9x60.dtsi"
13
14/ {
Alexander Dahl5c3e8672023-07-05 22:17:00 +020015 model = "Microchip SAM9X60 Curiosity";
Durai Manickam KRa0509712022-04-04 11:23:19 +053016 compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
17
Durai Manickam KRa0509712022-04-04 11:23:19 +053018 chosen {
19 stdout-path = &dbgu;
20 i2c0 = &flx0;
21 };
22
Alexander Dahl5c3e8672023-07-05 22:17:00 +020023 memory {
24 reg = <0x20000000 0x8000000>;
25 };
26
Durai Manickam KRa0509712022-04-04 11:23:19 +053027 clocks {
28 slow_xtal: slow_xtal {
29 clock-frequency = <32768>;
30 };
31
32 main_xtal: main_xtal {
33 clock-frequency = <24000000>;
34 };
35 };
36
Alexander Dahlcdb420d2023-08-23 15:58:56 +020037 gpio-keys {
38 compatible = "gpio-keys";
39 pinctrl-names = "default";
40 pinctrl-0 = <&pinctrl_key_gpio_default>;
41
42 button-user {
43 label = "PB_USER";
44 gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
45 linux,code = <KEY_PROG1>;
46 wakeup-source;
47 };
48 };
49
Alexander Dahl17811e22023-08-23 15:58:54 +020050 leds {
51 compatible = "gpio-leds";
52 pinctrl-names = "default";
53 pinctrl-0 = <&pinctrl_gpio_leds>;
54
55 led-red {
56 label = "red";
57 gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
58 };
59
60 led-green {
61 label = "green";
62 gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
63 };
64
65 led-blue {
66 label = "blue";
67 gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
68 linux,default-trigger = "heartbeat";
69 };
70 };
71
Durai Manickam KRed458092022-07-07 16:40:56 +053072 onewire_tm: onewire {
73 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
74 pinctrl-names = "default";
75 pinctrl-0 = <&pinctrl_onewire_tm_default>;
76 status = "okay";
77
78 w1_eeprom: w1_eeprom@0 {
79 compatible = "maxim,ds24b33";
80 status = "okay";
81 };
82 };
Durai Manickam KRa0509712022-04-04 11:23:19 +053083};
84
Alexander Dahl6a1866f2023-07-05 22:17:01 +020085&ebi {
86 pinctrl-names = "default";
87 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
88 status = "okay";
89
90 nand_controller: nand-controller {
91 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
93 status = "okay";
94
95 nand@3 {
96 reg = <0x3 0x0 0x800000>;
97 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
98 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
99 nand-bus-width = <8>;
100 nand-ecc-mode = "hw";
101 nand-ecc-strength = <8>;
102 nand-ecc-step-size = <512>;
103 nand-on-flash-bbt;
104 label = "atmel_nand";
105
106 partitions {
107 compatible = "fixed-partitions";
108 #address-cells = <1>;
109 #size-cells = <1>;
110
111 at91bootstrap@0 {
112 label = "at91bootstrap";
113 reg = <0x0 0x40000>;
114 };
115
116 uboot@40000 {
117 label = "u-boot";
118 reg = <0x40000 0xc0000>;
119 };
120
121 ubootenvred@100000 {
122 label = "U-Boot Env Redundant";
123 reg = <0x100000 0x40000>;
124 };
125
126 ubootenv@140000 {
127 label = "U-Boot Env";
128 reg = <0x140000 0x40000>;
129 };
130
131 dtb@180000 {
132 label = "device tree";
133 reg = <0x180000 0x80000>;
134 };
135
136 kernel@200000 {
137 label = "kernel";
138 reg = <0x200000 0x600000>;
139 };
140
141 rootfs@800000 {
142 label = "rootfs";
143 reg = <0x800000 0x1f800000>;
144 };
145 };
146 };
147 };
148};
149
Alexander Dahl5c3e8672023-07-05 22:17:00 +0200150&flx0 {
151 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
152 status = "okay";
153
154 i2c@600 {
155 compatible = "microchip,sam9x60-i2c";
156 reg = <0x600 0x200>;
157 pinctrl-names = "default";
158 pinctrl-0 = <&pinctrl_flx0>;
159 #address-cells = <1>;
160 #size-cells = <0>;
161 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
162 status = "okay";
163
164 eeprom@53 {
165 compatible = "atmel,24c02";
166 reg = <0x53>;
167 pagesize = <16>;
168 };
169 };
170};
171
Durai Manickam KRa0509712022-04-04 11:23:19 +0530172&macb0 {
173 phy-mode = "rmii";
174 status = "okay";
175};
Sergiu Mogafd41ebf2023-01-04 16:04:11 +0200176
Alexander Dahl5c3e8672023-07-05 22:17:00 +0200177&pinctrl {
Alexander Dahl6a1866f2023-07-05 22:17:01 +0200178 ebi {
179 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
180 atmel,pins =
181 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
182 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
183 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
184 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
185 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
186 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
187 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
188 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
189 };
190
191 pinctrl_ebi_addr_nand: ebi-addr-0 {
192 atmel,pins =
193 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
194 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
195 };
196 };
197
Alexander Dahl5c3e8672023-07-05 22:17:00 +0200198 flexcom {
199 pinctrl_flx0: flx0_default {
200 atmel,pins =
201 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE
202 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>;
203 };
204 };
205
Alexander Dahlcdb420d2023-08-23 15:58:56 +0200206 gpio-keys {
207 pinctrl_key_gpio_default: pinctrl-key-gpio {
208 atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
209 };
210 };
211
Alexander Dahl17811e22023-08-23 15:58:54 +0200212 leds {
213 pinctrl_gpio_leds: gpio-leds {
214 atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
215 AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
216 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
217 };
218 };
219
Alexander Dahl6a1866f2023-07-05 22:17:01 +0200220 nand {
221 pinctrl_nand_oe_we: nand-oe-we-0 {
222 atmel,pins =
223 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
224 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
225 };
226
227 pinctrl_nand_rb: nand-rb-0 {
228 atmel,pins =
229 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
230 };
231
232 pinctrl_nand_cs: nand-cs-0 {
233 atmel,pins =
234 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
235 };
236 };
237
Alexander Dahl5c3e8672023-07-05 22:17:00 +0200238 pinctrl_onewire_tm_default: onewire_tm_default {
239 atmel,pins =
240 <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
241 };
242
243 usb1 {
244 pinctrl_usb_default: usb_default {
245 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
246 AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
247 };
248 };
249};
250
Sergiu Mogafd41ebf2023-01-04 16:04:11 +0200251&usb1 {
252 num-ports = <3>;
253 atmel,vbus-gpio = <0
254 &pioD 15 GPIO_ACTIVE_HIGH
255 &pioD 18 GPIO_ACTIVE_HIGH>;
256 pinctrl-names = "default";
257 pinctrl-0 = <&pinctrl_usb_default>;
258 status = "okay";
259};
260
261&usb2 {
262 status = "okay";
263};