Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * at91-sam9x75_curiosity.dts - Device Tree file for Microchip SAM9X75 Curiosity board
4 *
5 * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Varshini Rajendran <varshini.rajendran@microchip.com>
8 */
9/dts-v1/;
10#include "sam9x7.dtsi"
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Microchip SAM9X75 Curiosity";
15 compatible = "microchip,sam9x75-curiosity", "microchip,sam9x7", "atmel,at91sam9";
16
17 aliases {
18 i2c0 = &i2c6;
19 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 gpio-keys {
26 compatible = "gpio-keys";
27 pinctrl-names = "default";
28 pinctrl-0 = <&pinctrl_key_gpio_default>;
29
30 button-user {
31 label = "USER";
32 gpios = <&pioC 9 GPIO_ACTIVE_LOW>;
33 linux,code = <KEY_0>;
34 wakeup-source;
35 };
36 };
37
38 led-controller {
39 compatible = "gpio-leds";
40
41 led_red: led-red {
42 label = "red";
43 gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
44 pinctrl-0 = <&pinctrl_red_led_gpio_default>;
45 };
46
47 led_green: led-green {
48 label = "green";
49 gpios = <&pioC 21 GPIO_ACTIVE_HIGH>;
50 pinctrl-0 = <&pinctrl_green_led_gpio_default>;
51 };
52
53 led_blue: led-blue {
54 label = "blue";
55 gpios = <&pioC 20 GPIO_ACTIVE_HIGH>;
56 pinctrl-0 = <&pinctrl_blue_led_gpio_default>;
57 linux,default-trigger = "heartbeat";
58 };
59 };
60
61 memory@20000000 {
62 reg = <0x20000000 0x10000000>;
63 device_type = "memory";
64 };
65};
66
67&classd {
68 pinctrl-names = "default";
69 pinctrl-0 = <&pinctrl_classd_default>;
70 atmel,pwm-type = "diff";
71 atmel,non-overlap-time = <10>;
72 status = "okay";
73};
74
75&dbgu {
76 pinctrl-names = "default";
77 pinctrl-0 = <&pinctrl_dbgu_default>;
78 status = "okay";
79};
80
81&dma0 {
82 status = "okay";
83};
84
85&flx6 {
86 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
87 status = "okay";
88};
89
90&i2c6 {
91 #address-cells = <1>;
92 #size-cells = <0>;
93 pinctrl-names = "default";
94 pinctrl-0 = <&pinctrl_flx6_default>;
95 i2c-analog-filter;
96 i2c-digital-filter;
97 i2c-digital-filter-width-ns = <35>;
98 status = "okay";
99
100 pmic@5b {
101 compatible = "microchip,mcp16502";
102 reg = <0x5b>;
103
104 regulators {
105 vdd_3v3: VDD_IO {
106 regulator-name = "VDD_IO";
107 regulator-min-microvolt = <3300000>;
108 regulator-max-microvolt = <3300000>;
109 regulator-initial-mode = <2>;
110 regulator-allowed-modes = <2>, <4>;
111 regulator-always-on;
112
113 regulator-state-standby {
114 regulator-on-in-suspend;
115 regulator-mode = <4>;
116 };
117
118 regulator-state-mem {
119 regulator-mode = <4>;
120 };
121 };
122
123 vddioddr: VDD_DDR {
124 regulator-name = "VDD_DDR";
125 regulator-min-microvolt = <1350000>;
126 regulator-max-microvolt = <1350000>;
127 regulator-initial-mode = <2>;
128 regulator-allowed-modes = <2>, <4>;
129 regulator-always-on;
130
131 regulator-state-standby {
132 regulator-on-in-suspend;
133 regulator-mode = <4>;
134 };
135
136 regulator-state-mem {
137 regulator-on-in-suspend;
138 regulator-mode = <4>;
139 };
140 };
141
142 vddcore: VDD_CORE {
143 regulator-name = "VDD_CORE";
144 regulator-min-microvolt = <1150000>;
145 regulator-max-microvolt = <1150000>;
146 regulator-initial-mode = <2>;
147 regulator-allowed-modes = <2>, <4>;
148 regulator-always-on;
149
150 regulator-state-standby {
151 regulator-on-in-suspend;
152 regulator-mode = <4>;
153 };
154
155 regulator-state-mem {
156 regulator-mode = <4>;
157 };
158 };
159
160 dcdc4: VDD_OTHER {
161 regulator-name = "VDD_OTHER";
162 regulator-min-microvolt = <1150000>;
163 regulator-max-microvolt = <1150000>;
164 regulator-initial-mode = <2>;
165 regulator-allowed-modes = <2>, <4>;
166 regulator-ramp-delay = <3125>;
167 regulator-always-on;
168
169 regulator-state-standby {
170 regulator-on-in-suspend;
171 regulator-mode = <4>;
172 };
173
174 regulator-state-mem {
175 regulator-mode = <4>;
176 };
177 };
178
179 vldo1: LDO1 {
180 regulator-name = "LDO1";
181 regulator-min-microvolt = <3300000>;
182 regulator-max-microvolt = <3300000>;
183 regulator-always-on;
184
185 regulator-state-standby {
186 regulator-on-in-suspend;
187 };
188 };
189
190 vldo2: LDO2 {
191 regulator-name = "LDO2";
192 regulator-min-microvolt = <1800000>;
193 regulator-max-microvolt = <1800000>;
194
195 regulator-state-standby {
196 regulator-on-in-suspend;
197 };
198 };
199 };
200 };
201};
202
203&i2s {
204 pinctrl-names = "default";
205 pinctrl-0 = <&pinctrl_i2s_default>;
206 #sound-dai-cells = <0>;
207 status = "okay";
208};
209
210&main_xtal {
211 clock-frequency = <24000000>;
212};
213
214&pinctrl {
215 classd {
216 pinctrl_classd_default: classd-default {
217 atmel,pins =
218 <AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>,
219 <AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
220 };
221 };
222
223 dbgu {
224 pinctrl_dbgu_default: dbgu-default {
225 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
226 <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
227 };
228 };
229
230 flexcom {
231 pinctrl_flx6_default: flx6-default {
232 atmel,pins =
233 <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
234 <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
235 };
236 };
237
238 gpio-keys {
239 pinctrl_key_gpio_default: key-gpio-default {
240 atmel,pins = <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
241 };
242 };
243
244 i2s {
245 pinctrl_i2s_default: i2s-default {
246 atmel,pins =
247 <AT91_PIOB 26 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SCK */
248 <AT91_PIOB 15 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SWS */
249 <AT91_PIOB 16 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDIN */
250 <AT91_PIOB 17 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDOUT */
251 <AT91_PIOB 25 AT91_PERIPH_D AT91_PINCTRL_NONE>; /* I2SMCK */
252 };
253 };
254
255 led-controller {
256 pinctrl_red_led_gpio_default: red-led-gpio-default {
257 atmel,pins = <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
258 };
259 pinctrl_green_led_gpio_default: green-led-gpio-default {
260 atmel,pins = <AT91_PIOC 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
261 };
262 pinctrl_blue_led_gpio_default: blue-led-gpio-default {
263 atmel,pins = <AT91_PIOC 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
264 };
265 };
266
267 sdmmc0 {
268 pinctrl_sdmmc0_default: sdmmc0-default {
269 atmel,pins =
270 <AT91_PIOA 2 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA2 CK periph A with pullup */
271 <AT91_PIOA 1 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA1 CMD periph A with pullup */
272 <AT91_PIOA 0 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA0 DAT0 periph A */
273 <AT91_PIOA 3 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA3 DAT1 periph A with pullup */
274 <AT91_PIOA 4 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA4 DAT2 periph A with pullup */
275 <AT91_PIOA 5 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>; /* PA5 DAT3 periph A with pullup */
276 };
277 };
278}; /* pinctrl */
279
280&poweroff {
281 debounce-delay-us = <976>;
282 status = "okay";
283
284 input@0 {
285 reg = <0>;
286 };
287};
288
289&rtt {
290 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
291};
292
293&sdmmc0 {
294 bus-width = <4>;
295 pinctrl-names = "default";
296 pinctrl-0 = <&pinctrl_sdmmc0_default>;
297 cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
298 disable-wp;
299 status = "okay";
300};
301
302&slow_xtal {
303 clock-frequency = <32768>;
304};
305
306&tcb {
307 timer0: timer@0 {
308 compatible = "atmel,tcb-timer";
309 reg = <0>;
310 };
311
312 timer1: timer@1 {
313 compatible = "atmel,tcb-timer";
314 reg = <1>;
315 };
316};
317
318&trng {
319 status = "okay";
320};
321
322&watchdog {
323 status = "okay";
324};