Loading...
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * at91-sama5d27_wlsom1_ek.dts - Device Tree file for SAMA5D27 WLSOM1 EK
4 *
5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
8 */
9/dts-v1/;
10#include "at91-sama5d27_wlsom1.dtsi"
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Microchip SAMA5D27 WLSOM1 EK";
15 compatible = "microchip,sama5d27-wlsom1-ek", "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
16
17 aliases {
18 serial0 = &uart0; /* DBGU */
19 serial1 = &uart6; /* BT */
20 serial2 = &uart5; /* mikro BUS 2 */
21 serial3 = &uart3; /* mikro BUS 1 */
22 i2c1 = &i2c1;
23 };
24
25 chosen {
26 stdout-path = "serial0:115200n8";
27 };
28
29 gpio-keys {
30 compatible = "gpio-keys";
31
32 pinctrl-names = "default";
33 pinctrl-0 = <&pinctrl_key_gpio_default>;
34
35 button-1 {
36 label = "USER BUTTON";
37 gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>;
38 linux,code = <KEY_PROG1>;
39 wakeup-source;
40 };
41 };
42
43 leds {
44 compatible = "gpio-leds";
45 pinctrl-names = "default";
46 pinctrl-0 = <&pinctrl_led_gpio_default>;
47 status = "okay";
48
49 red {
50 label = "red";
51 gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>;
52 };
53
54 green {
55 label = "green";
56 gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
57 };
58
59 blue {
60 label = "blue";
61 gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
62 linux,default-trigger = "heartbeat";
63 };
64 };
65};
66
67&adc {
68 vddana-supply = <&vdd_3v3>;
69 vref-supply = <&vdd_3v3>;
70 pinctrl-names = "default";
71 pinctrl-0 = <&pinctrl_adc_default>;
72 status = "okay";
73};
74
75&flx0 {
76 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
77 status = "okay";
78
79 uart5: serial@200 {
80 pinctrl-0 = <&pinctrl_flx0_default>;
81 pinctrl-names = "default";
82 atmel,use-dma-rx;
83 atmel,use-dma-tx;
84 status = "okay";
85 };
86};
87
88&flx1 {
89 status = "okay";
90
91 uart6: serial@200 {
92 atmel,use-dma-rx;
93 atmel,use-dma-tx;
94 status = "okay";
95 };
96};
97
98&macb0 {
99 status = "okay";
100};
101
102&pioA {
103 /*
104 * There is no real pinmux for ADC, if the pin
105 * is not requested by another peripheral then
106 * the muxing is done when channel is enabled.
107 * Requesting pins for ADC is GPIO is
108 * encouraged to prevent conflicts and to
109 * disable bias in order to be in the same
110 * state when the pin is not muxed to the adc.
111 */
112 pinctrl_adc_default: adc_default {
113 pinmux = <PIN_PD25__GPIO>,
114 <PIN_PD26__GPIO>;
115 bias-disable;
116 };
117
118 pinctrl_flx0_default: flx0_usart_default {
119 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
120 <PIN_PB29__FLEXCOM0_IO1>;
121 bias-disable;
122 };
123
124 pinctrl_key_gpio_default: key_gpio_default {
125 pinmux = <PIN_PB2__GPIO>;
126 bias-pull-up;
127 };
128
129 pinctrl_led_gpio_default: led_gpio_default {
130 pinmux = <PIN_PA6__GPIO>,
131 <PIN_PA7__GPIO>,
132 <PIN_PA8__GPIO>;
133 bias-pull-down;
134 };
135
136 pinctrl_sdmmc0_default: sdmmc0_default {
137 cmd_data {
138 pinmux = <PIN_PA1__SDMMC0_CMD>,
139 <PIN_PA2__SDMMC0_DAT0>,
140 <PIN_PA3__SDMMC0_DAT1>,
141 <PIN_PA4__SDMMC0_DAT2>,
142 <PIN_PA5__SDMMC0_DAT3>;
143 bias-disable;
144 };
145
146 ck_cd_vddsel {
147 pinmux = <PIN_PA0__SDMMC0_CK>,
148 <PIN_PA11__SDMMC0_VDDSEL>,
149 <PIN_PA12__SDMMC0_WP>,
150 <PIN_PA13__SDMMC0_CD>;
151 bias-disable;
152 };
153 };
154
155 pinctrl_uart0_default: uart0_default {
156 pinmux = <PIN_PB26__URXD0>,
157 <PIN_PB27__UTXD0>;
158 bias-disable;
159 };
160
161 pinctrl_uart3_default: uart3_default {
162 pinmux = <PIN_PB11__URXD3>,
163 <PIN_PB12__UTXD3>;
164 bias-disable;
165 };
166
167 pinctrl_pwm0_default: pwm0_default {
168 pinmux = <PIN_PA31__PWML0>,
169 <PIN_PA30__PWMH0>;
170 bias-disable;
171 };
172
173 pinctrl_usb_default: usb_default {
174 pinmux = <PIN_PA10__GPIO>;
175 bias-disable;
176 };
177
178 pinctrl_usba_vbus: usba_vbus {
179 pinmux = <PIN_PA16__GPIO>;
180 bias-disable;
181 };
182};
183
184&pwm0 {
185 pinctrl-names = "default";
186 pinctrl-0 = <&pinctrl_pwm0_default>;
187 status = "okay";
188};
189
190&qspi1 {
191 status = "okay";
192
193 qspi1_flash: flash@0 {
194 status = "okay";
195 };
196};
197
198&sdmmc0 {
199 bus-width = <4>;
200 mmc-ddr-3_3v;
201 pinctrl-names = "default";
202 pinctrl-0 = <&pinctrl_sdmmc0_default>;
203 status = "okay";
204};
205
206&shutdown_controller {
207 debounce-delay-us = <976>;
208 atmel,wakeup-rtc-timer;
209
210 input@0 {
211 reg = <0>;
212 };
213};
214
215&tcb0 {
216 timer0: timer@0 {
217 compatible = "atmel,tcb-timer";
218 reg = <0>;
219 };
220
221 timer1: timer@1 {
222 compatible = "atmel,tcb-timer";
223 reg = <1>;
224 };
225};
226
227&uart0 {
228 pinctrl-names = "default";
229 pinctrl-0 = <&pinctrl_uart0_default>;
230 atmel,use-dma-rx;
231 atmel,use-dma-tx;
232 status = "okay";
233};
234
235&uart3 {
236 pinctrl-names = "default";
237 pinctrl-0 = <&pinctrl_uart3_default>;
238 atmel,use-dma-rx;
239 atmel,use-dma-tx;
240 status = "okay";
241};
242
243&usb0 {
244 atmel,vbus-gpio = <&pioA PIN_PA16 GPIO_ACTIVE_HIGH>;
245 pinctrl-names = "default";
246 pinctrl-0 = <&pinctrl_usba_vbus>;
247 status = "okay";
248};
249
250&usb1 {
251 num-ports = <3>;
252 atmel,vbus-gpio = <0
253 &pioA PIN_PA10 GPIO_ACTIVE_HIGH
254 0
255 >;
256 pinctrl-names = "default";
257 pinctrl-0 = <&pinctrl_usb_default>;
258 status = "okay";
259};
260
261&usb2 {
262 phy_type = "hsic";
263 status = "okay";
264};
265
266&watchdog {
267 status = "okay";
268};
269
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * at91-sama5d27_wlsom1_ek.dts - Device Tree file for SAMA5D27 WLSOM1 EK
4 *
5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
8 */
9/dts-v1/;
10#include "at91-sama5d27_wlsom1.dtsi"
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Microchip SAMA5D27 WLSOM1 EK";
15 compatible = "microchip,sama5d27-wlsom1-ek", "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
16
17 aliases {
18 serial0 = &uart0; /* DBGU */
19 serial1 = &uart6; /* BT */
20 serial2 = &uart5; /* mikro BUS 2 */
21 serial3 = &uart3; /* mikro BUS 1 */
22 i2c1 = &i2c1;
23 };
24
25 chosen {
26 stdout-path = "serial0:115200n8";
27 };
28
29 gpio_keys {
30 compatible = "gpio-keys";
31
32 pinctrl-names = "default";
33 pinctrl-0 = <&pinctrl_key_gpio_default>;
34 status = "okay";
35
36 sw4 {
37 label = "USER BUTTON";
38 gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>;
39 linux,code = <KEY_PROG1>;
40 wakeup-source;
41 };
42 };
43
44 leds {
45 compatible = "gpio-leds";
46 pinctrl-names = "default";
47 pinctrl-0 = <&pinctrl_led_gpio_default>;
48 status = "okay";
49
50 red {
51 label = "red";
52 gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>;
53 };
54
55 green {
56 label = "green";
57 gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
58 };
59
60 blue {
61 label = "blue";
62 gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
63 linux,default-trigger = "heartbeat";
64 };
65 };
66};
67
68&adc {
69 vddana-supply = <&vdd_3v3>;
70 vref-supply = <&vdd_3v3>;
71 pinctrl-names = "default";
72 pinctrl-0 = <&pinctrl_adc_default>;
73 status = "okay";
74};
75
76&flx0 {
77 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
78 status = "okay";
79
80 uart5: serial@200 {
81 pinctrl-0 = <&pinctrl_flx0_default>;
82 pinctrl-names = "default";
83 atmel,use-dma-rx;
84 atmel,use-dma-tx;
85 status = "okay";
86 };
87};
88
89&flx1 {
90 status = "okay";
91
92 uart6: serial@200 {
93 atmel,use-dma-rx;
94 atmel,use-dma-tx;
95 status = "okay";
96 };
97};
98
99&macb0 {
100 status = "okay";
101};
102
103&pioA {
104 /*
105 * There is no real pinmux for ADC, if the pin
106 * is not requested by another peripheral then
107 * the muxing is done when channel is enabled.
108 * Requesting pins for ADC is GPIO is
109 * encouraged to prevent conflicts and to
110 * disable bias in order to be in the same
111 * state when the pin is not muxed to the adc.
112 */
113 pinctrl_adc_default: adc_default {
114 pinmux = <PIN_PD25__GPIO>,
115 <PIN_PD26__GPIO>;
116 bias-disable;
117 };
118
119 pinctrl_flx0_default: flx0_usart_default {
120 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
121 <PIN_PB29__FLEXCOM0_IO1>;
122 bias-disable;
123 };
124
125 pinctrl_key_gpio_default: key_gpio_default {
126 pinmux = <PIN_PB2__GPIO>;
127 bias-pull-up;
128 };
129
130 pinctrl_led_gpio_default: led_gpio_default {
131 pinmux = <PIN_PA6__GPIO>,
132 <PIN_PA7__GPIO>,
133 <PIN_PA8__GPIO>;
134 bias-pull-down;
135 };
136
137 pinctrl_sdmmc0_default: sdmmc0_default {
138 cmd_data {
139 pinmux = <PIN_PA1__SDMMC0_CMD>,
140 <PIN_PA2__SDMMC0_DAT0>,
141 <PIN_PA3__SDMMC0_DAT1>,
142 <PIN_PA4__SDMMC0_DAT2>,
143 <PIN_PA5__SDMMC0_DAT3>;
144 bias-disable;
145 };
146
147 ck_cd_vddsel {
148 pinmux = <PIN_PA0__SDMMC0_CK>,
149 <PIN_PA11__SDMMC0_VDDSEL>,
150 <PIN_PA12__SDMMC0_WP>,
151 <PIN_PA13__SDMMC0_CD>;
152 bias-disable;
153 };
154 };
155
156 pinctrl_uart0_default: uart0_default {
157 pinmux = <PIN_PB26__URXD0>,
158 <PIN_PB27__UTXD0>;
159 bias-disable;
160 };
161
162 pinctrl_uart3_default: uart3_default {
163 pinmux = <PIN_PB11__URXD3>,
164 <PIN_PB12__UTXD3>;
165 bias-disable;
166 };
167
168 pinctrl_pwm0_default: pwm0_default {
169 pinmux = <PIN_PA31__PWML0>,
170 <PIN_PA30__PWMH0>;
171 bias-disable;
172 };
173
174 pinctrl_usb_default: usb_default {
175 pinmux = <PIN_PA10__GPIO>;
176 bias-disable;
177 };
178
179 pinctrl_usba_vbus: usba_vbus {
180 pinmux = <PIN_PA16__GPIO>;
181 bias-disable;
182 };
183};
184
185&pwm0 {
186 pinctrl-names = "default";
187 pinctrl-0 = <&pinctrl_pwm0_default>;
188 status = "okay";
189};
190
191&qspi1 {
192 status = "okay";
193
194 qspi1_flash: spi_flash@0 {
195 status = "okay";
196 };
197};
198
199&sdmmc0 {
200 bus-width = <4>;
201 mmc-ddr-3_3v;
202 pinctrl-names = "default";
203 pinctrl-0 = <&pinctrl_sdmmc0_default>;
204 status = "okay";
205};
206
207&shutdown_controller {
208 debounce-delay-us = <976>;
209 atmel,wakeup-rtc-timer;
210
211 input@0 {
212 reg = <0>;
213 };
214};
215
216&tcb0 {
217 timer0: timer@0 {
218 compatible = "atmel,tcb-timer";
219 reg = <0>;
220 };
221
222 timer1: timer@1 {
223 compatible = "atmel,tcb-timer";
224 reg = <1>;
225 };
226};
227
228&uart0 {
229 pinctrl-names = "default";
230 pinctrl-0 = <&pinctrl_uart0_default>;
231 atmel,use-dma-rx;
232 atmel,use-dma-tx;
233 status = "okay";
234};
235
236&uart3 {
237 pinctrl-names = "default";
238 pinctrl-0 = <&pinctrl_uart3_default>;
239 atmel,use-dma-rx;
240 atmel,use-dma-tx;
241 status = "okay";
242};
243
244&usb0 {
245 atmel,vbus-gpio = <&pioA PIN_PA16 GPIO_ACTIVE_HIGH>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&pinctrl_usba_vbus>;
248 status = "okay";
249};
250
251&usb1 {
252 num-ports = <3>;
253 atmel,vbus-gpio = <0
254 &pioA PIN_PA10 GPIO_ACTIVE_HIGH
255 0
256 >;
257 pinctrl-names = "default";
258 pinctrl-0 = <&pinctrl_usb_default>;
259 status = "okay";
260};
261
262&usb2 {
263 phy_type = "hsic";
264 status = "okay";
265};
266
267&watchdog {
268 status = "okay";
269};
270