Skip to content

Commit 371a47c

Browse files
varshini-rajendranclaudiubeznea
authored andcommitted
ARM: dts: microchip: sam9x75_curiosity: add sam9x75 curiosity board
Add device tree file for sam9x75 curiosity board. Signed-off-by: Varshini Rajendran <[email protected]> Reviewed-by: Claudiu Beznea <[email protected]> Reviewed-by: Hari Prasath Gujulan Elango <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Claudiu Beznea <[email protected]>
1 parent 4157293 commit 371a47c

File tree

2 files changed

+327
-0
lines changed

2 files changed

+327
-0
lines changed

arch/arm/boot/dts/microchip/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# Enables support for device-tree overlays
33
DTC_FLAGS_at91-sam9x60_curiosity := -@
44
DTC_FLAGS_at91-sam9x60ek := -@
5+
DTC_FLAGS_at91-sam9x75_curiosity := -@
56
DTC_FLAGS_at91-sama5d27_som1_ek := -@
67
DTC_FLAGS_at91-sama5d27_wlsom1_ek := -@
78
DTC_FLAGS_at91-sama5d29_curiosity := -@
@@ -60,6 +61,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
6061
dtb-$(CONFIG_SOC_SAM9X60) += \
6162
at91-sam9x60_curiosity.dtb \
6263
at91-sam9x60ek.dtb
64+
dtb-$(CONFIG_SOC_SAM9X7) += \
65+
at91-sam9x75_curiosity.dtb
6366
dtb-$(CONFIG_SOC_SAM_V7) += \
6467
at91-kizbox2-2.dtb \
6568
at91-kizbox3-hs.dtb \
Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
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 <[email protected]>
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+
};

0 commit comments

Comments
 (0)