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,sama5d27", "atmel,sama5d2", "atmel,sama5"; 15 16 aliases { 17 serial0 = &uart0; /* DBGU */ 18 serial1 = &uart6; /* BT */ 19 serial2 = &uart5; /* mikro BUS 2 */ 20 serial3 = &uart3; /* mikro BUS 1 */ 21 i2c1 = &i2c1; 22 }; 23 24 chosen { 25 stdout-path = "serial0:115200n8"; 26 }; 27 28 gpio_keys { 29 compatible = "gpio-keys"; 30 31 pinctrl-names = "default"; 32 pinctrl-0 = <&pinctrl_key_gpio_default>; 33 status = "okay"; 34 35 sw4 { 36 label = "USER BUTTON"; 37 gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>; 38 linux,code = <0x104>; 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: spi_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 atmel,shdwc-debouncer = <976>; 208 atmel,wakeup-rtc-timer; 209 210 input@0 { 211 reg = <0>; 212 atmel,wakeup-type = "low"; 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