Skip to content

Commit ef4c5c2

Browse files
noglitchehristev
authored andcommitted
ARM: dts: at91: sama5d27_wlsom1: add SAMA5D27 wlsom1 and wlsom1-ek
This is the addition of a new Evaluation Kit the SAMA5D27-WLSOM1-EK. It's based on the Microchip WireLess SoM which contains the SAMA5D27 LPDDR2 2Gbits SiP. Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
1 parent 7af253a commit ef4c5c2

3 files changed

Lines changed: 356 additions & 0 deletions

File tree

arch/arm/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
4949
at91-nattis-2-natte-2.dtb \
5050
at91-sama5d27_som1_ek.dtb \
5151
at91-sama5d2_icp.dtb \
52+
at91-sama5d27_wlsom1_ek.dtb \
5253
at91-sama5d2_ptc_ek.dtb \
5354
at91-sama5d2_xplained.dtb \
5455
at91-sama5d3_xplained.dtb \
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
4+
*
5+
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6+
*
7+
* Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
8+
* Author: Eugen Hristev <eugen.hristev@microcihp.com>
9+
*/
10+
#include "sama5d2.dtsi"
11+
#include "sama5d2-pinfunc.h"
12+
#include <dt-bindings/gpio/gpio.h>
13+
#include <dt-bindings/pinctrl/at91.h>
14+
15+
/ {
16+
model = "Microchip SAMA5D27 WLSOM1";
17+
compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
18+
19+
clocks {
20+
slow_xtal {
21+
clock-frequency = <32768>;
22+
};
23+
24+
main_xtal {
25+
clock-frequency = <24000000>;
26+
};
27+
};
28+
29+
wifi_pwrseq: wifi_pwrseq {
30+
compatible = "mmc-pwrseq-wilc";
31+
reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
32+
powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>;
33+
pinctrl-0 = <&pinctrl_wilc_pwrseq>;
34+
pinctrl-names = "default";
35+
status = "disabled";
36+
};
37+
};
38+
39+
&main_osc {
40+
atmel,osc-bypass;
41+
};
42+
43+
&macb0 {
44+
pinctrl-names = "default";
45+
pinctrl-0 = <&pinctrl_macb0_default>;
46+
phy-mode = "rmii";
47+
48+
ethernet-phy@0 {
49+
reg = <0x0>;
50+
interrupt-parent = <&pioA>;
51+
interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
52+
pinctrl-names = "default";
53+
pinctrl-0 = <&pinctrl_macb0_phy_irq>;
54+
};
55+
};
56+
57+
&pioA {
58+
pinctrl_i2c1_default: i2c1_default {
59+
pinmux = <PIN_PD19__TWD1>,
60+
<PIN_PD20__TWCK1>;
61+
bias-disable;
62+
};
63+
64+
pinctrl_macb0_default: macb0_default {
65+
pinmux = <PIN_PB14__GTXCK>,
66+
<PIN_PB15__GTXEN>,
67+
<PIN_PB16__GRXDV>,
68+
<PIN_PB17__GRXER>,
69+
<PIN_PB18__GRX0>,
70+
<PIN_PB19__GRX1>,
71+
<PIN_PB20__GTX0>,
72+
<PIN_PB21__GTX1>,
73+
<PIN_PB22__GMDC>,
74+
<PIN_PB23__GMDIO>;
75+
bias-disable;
76+
};
77+
78+
pinctrl_macb0_phy_irq: macb0_phy_irq {
79+
pinmux = <PIN_PB24__GPIO>;
80+
bias-disable;
81+
};
82+
83+
pinctrl_sdmmc1_default: sdmmc1_default {
84+
cmd-data {
85+
pinmux = <PIN_PA28__SDMMC1_CMD>,
86+
<PIN_PA18__SDMMC1_DAT0>,
87+
<PIN_PA19__SDMMC1_DAT1>,
88+
<PIN_PA20__SDMMC1_DAT2>,
89+
<PIN_PA21__SDMMC1_DAT3>;
90+
bias-disable;
91+
};
92+
93+
conf-ck {
94+
pinmux = <PIN_PA22__SDMMC1_CK>;
95+
bias-disable;
96+
};
97+
};
98+
99+
pinctrl_wilc_default: wilc_default {
100+
conf-irq {
101+
pinmux = <PIN_PB25__GPIO>;
102+
bias-disable;
103+
};
104+
};
105+
106+
pinctrl_wilc_pwrseq: wilc_pwrseq {
107+
conf-ce-nrst {
108+
pinmux = <PIN_PA27__GPIO>,
109+
<PIN_PA29__GPIO>;
110+
bias-disable;
111+
};
112+
conf-rtcclk {
113+
pinmux = <PIN_PB13__PCK1>;
114+
bias-disable;
115+
};
116+
};
117+
};
118+
119+
&sdmmc1 {
120+
#address-cells = <1>;
121+
#size-cells = <0>;
122+
bus-width = <4>;
123+
pinctrl-names = "default";
124+
pinctrl-0 = <&pinctrl_sdmmc1_default>;
125+
mmc-pwrseq = <&wifi_pwrseq>;
126+
no-1-8-v;
127+
non-removable;
128+
129+
wilc: wilc@0 {
130+
reg = <0>;
131+
bus-width = <4>;
132+
compatible = "microchip,wilc3000", "microchip,wilc1000";
133+
pinctrl-names = "default";
134+
pinctrl-0 = <&pinctrl_wilc_default>;
135+
irq-gpios = <&pioA PIN_PB25 GPIO_ACTIVE_LOW>;
136+
clocks = <&pck1>;
137+
clock-names = "rtc_clk";
138+
assigned-clocks = <&pck1>;
139+
assigned-clock-rates = <32768>;
140+
status = "disabled";
141+
};
142+
};
Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
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+
12+
/ {
13+
model = "Microchip SAMA5D27 WLSOM1 EK";
14+
compatible = "microchip,sama5d27-wlsom1-ek", "microchip,sama5d27-wlsom1", "atmel,sama5d2", "atmel,sama5";
15+
16+
aliases {
17+
serial0 = &uart0; /* DBGU */
18+
serial2 = &uart5; /* mikro BUS 2 */
19+
i2c1 = &i2c1;
20+
};
21+
22+
chosen {
23+
stdout-path = "serial0:115200n8";
24+
};
25+
26+
gpio_keys {
27+
compatible = "gpio-keys";
28+
29+
pinctrl-names = "default";
30+
pinctrl-0 = <&pinctrl_key_gpio_default>;
31+
status = "okay";
32+
33+
sw4 {
34+
label = "USER BUTTON";
35+
gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>;
36+
linux,code = <0x104>;
37+
wakeup-source;
38+
};
39+
};
40+
41+
leds {
42+
compatible = "gpio-leds";
43+
pinctrl-names = "default";
44+
pinctrl-0 = <&pinctrl_led_gpio_default>;
45+
status = "okay";
46+
47+
red {
48+
label = "red";
49+
gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>;
50+
};
51+
52+
green {
53+
label = "green";
54+
gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
55+
};
56+
57+
blue {
58+
label = "blue";
59+
gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
60+
linux,default-trigger = "heartbeat";
61+
};
62+
};
63+
};
64+
65+
&flx0 {
66+
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
67+
status = "okay";
68+
69+
uart5: serial@200 {
70+
compatible = "atmel,at91sam9260-usart";
71+
reg = <0x200 0x200>;
72+
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
73+
dmas = <&dma0
74+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
75+
AT91_XDMAC_DT_PERID(11))>,
76+
<&dma0
77+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
78+
AT91_XDMAC_DT_PERID(12))>;
79+
dma-names = "tx", "rx";
80+
clocks = <&flx0_clk>;
81+
clock-names = "usart";
82+
pinctrl-0 = <&pinctrl_flx0_default>;
83+
pinctrl-names = "default";
84+
85+
atmel,use-dma-rx;
86+
atmel,use-dma-tx;
87+
status = "okay";
88+
};
89+
};
90+
91+
&macb0 {
92+
status = "okay";
93+
};
94+
95+
&pioA {
96+
pinctrl_flx0_default: flx0_usart_default {
97+
pinmux = <PIN_PB28__FLEXCOM0_IO0>,
98+
<PIN_PB29__FLEXCOM0_IO1>;
99+
bias-disable;
100+
};
101+
102+
pinctrl_key_gpio_default: key_gpio_default {
103+
pinmux = <PIN_PB2__GPIO>;
104+
bias-pull-up;
105+
};
106+
107+
pinctrl_led_gpio_default: led_gpio_default {
108+
pinmux = <PIN_PA6__GPIO>,
109+
<PIN_PA7__GPIO>,
110+
<PIN_PA8__GPIO>;
111+
bias-pull-down;
112+
};
113+
114+
pinctrl_sdmmc0_default: sdmmc0_default {
115+
cmd_data {
116+
pinmux = <PIN_PA1__SDMMC0_CMD>,
117+
<PIN_PA2__SDMMC0_DAT0>,
118+
<PIN_PA3__SDMMC0_DAT1>,
119+
<PIN_PA4__SDMMC0_DAT2>,
120+
<PIN_PA5__SDMMC0_DAT3>;
121+
bias-disable;
122+
};
123+
124+
ck_cd_vddsel {
125+
pinmux = <PIN_PA0__SDMMC0_CK>,
126+
<PIN_PA11__SDMMC0_VDDSEL>,
127+
<PIN_PA12__SDMMC0_WP>,
128+
<PIN_PA13__SDMMC0_CD>;
129+
bias-disable;
130+
};
131+
};
132+
133+
pinctrl_uart0_default: uart0_default {
134+
pinmux = <PIN_PB26__URXD0>,
135+
<PIN_PB27__UTXD0>;
136+
bias-disable;
137+
};
138+
139+
pinctrl_usb_default: usb_default {
140+
pinmux = <PIN_PA14__GPIO>;
141+
bias-disable;
142+
};
143+
};
144+
145+
&sdmmc0 {
146+
bus-width = <4>;
147+
mmc-ddr-3_3v;
148+
pinctrl-names = "default";
149+
pinctrl-0 = <&pinctrl_sdmmc0_default>;
150+
status = "okay";
151+
};
152+
153+
&sdmmc1 {
154+
status = "okay"; /* conflict with qspi0 */
155+
156+
wilc: wilc@0 {
157+
status = "okay";
158+
};
159+
};
160+
161+
&shutdown_controller {
162+
atmel,shdwc-debouncer = <976>;
163+
atmel,wakeup-rtc-timer;
164+
165+
input@0 {
166+
reg = <0>;
167+
atmel,wakeup-type = "low";
168+
};
169+
};
170+
171+
&tcb0 {
172+
timer0: timer@0 {
173+
compatible = "atmel,tcb-timer";
174+
reg = <0>;
175+
};
176+
177+
timer1: timer@1 {
178+
compatible = "atmel,tcb-timer";
179+
reg = <1>;
180+
};
181+
};
182+
183+
&uart0 {
184+
pinctrl-names = "default";
185+
pinctrl-0 = <&pinctrl_uart0_default>;
186+
atmel,use-dma-rx;
187+
atmel,use-dma-tx;
188+
status = "okay";
189+
};
190+
191+
&usb1 {
192+
num-ports = <3>;
193+
atmel,vbus-gpio = <0
194+
&pioA PIN_PA14 GPIO_ACTIVE_HIGH
195+
0
196+
>;
197+
pinctrl-names = "default";
198+
pinctrl-0 = <&pinctrl_usb_default>;
199+
status = "okay";
200+
};
201+
202+
&usb2 {
203+
phy_type = "hsic";
204+
status = "okay";
205+
};
206+
207+
&watchdog {
208+
status = "okay";
209+
};
210+
211+
&wifi_pwrseq {
212+
status = "okay";
213+
};

0 commit comments

Comments
 (0)