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 271