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 leds { 29 compatible = "gpio-leds"; 30 pinctrl-names = "default"; 31 pinctrl-0 = <&pinctrl_led_gpio_default>; 32 status = "okay"; 33 34 red { 35 label = "red"; 36 gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>; 37 }; 38 39 green { 40 label = "green"; 41 gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>; 42 }; 43 44 blue { 45 label = "blue"; 46 gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>; 47 linux,default-trigger = "heartbeat"; 48 }; 49 }; 50}; 51 52&adc { 53 vddana-supply = <&vdd_3v3>; 54 vref-supply = <&vdd_3v3>; 55 pinctrl-names = "default"; 56 pinctrl-0 = <&pinctrl_adc_default>; 57 status = "okay"; 58}; 59 60&flx0 { 61 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 62 status = "okay"; 63 64 uart5: serial@200 { 65 pinctrl-0 = <&pinctrl_flx0_default>; 66 pinctrl-names = "default"; 67 atmel,use-dma-rx; 68 atmel,use-dma-tx; 69 status = "okay"; 70 }; 71}; 72 73&flx1 { 74 status = "okay"; 75 76 uart6: serial@200 { 77 atmel,use-dma-rx; 78 atmel,use-dma-tx; 79 status = "okay"; 80 }; 81}; 82 83&macb0 { 84 status = "okay"; 85}; 86 87&pioA { 88 /* 89 * There is no real pinmux for ADC, if the pin 90 * is not requested by another peripheral then 91 * the muxing is done when channel is enabled. 92 * Requesting pins for ADC is GPIO is 93 * encouraged to prevent conflicts and to 94 * disable bias in order to be in the same 95 * state when the pin is not muxed to the adc. 96 */ 97 pinctrl_adc_default: adc_default { 98 pinmux = <PIN_PD25__GPIO>, 99 <PIN_PD26__GPIO>; 100 bias-disable; 101 }; 102 103 pinctrl_flx0_default: flx0_usart_default { 104 pinmux = <PIN_PB28__FLEXCOM0_IO0>, 105 <PIN_PB29__FLEXCOM0_IO1>; 106 bias-disable; 107 }; 108 109 pinctrl_key_gpio_default: key_gpio_default { 110 pinmux = <PIN_PB2__GPIO>; 111 bias-pull-up; 112 }; 113 114 pinctrl_led_gpio_default: led_gpio_default { 115 pinmux = <PIN_PA6__GPIO>, 116 <PIN_PA7__GPIO>, 117 <PIN_PA8__GPIO>; 118 bias-pull-down; 119 }; 120 121 pinctrl_sdmmc0_default: sdmmc0_default { 122 cmd_data { 123 pinmux = <PIN_PA1__SDMMC0_CMD>, 124 <PIN_PA2__SDMMC0_DAT0>, 125 <PIN_PA3__SDMMC0_DAT1>, 126 <PIN_PA4__SDMMC0_DAT2>, 127 <PIN_PA5__SDMMC0_DAT3>; 128 bias-disable; 129 }; 130 131 ck_cd_vddsel { 132 pinmux = <PIN_PA0__SDMMC0_CK>, 133 <PIN_PA11__SDMMC0_VDDSEL>, 134 <PIN_PA12__SDMMC0_WP>, 135 <PIN_PA13__SDMMC0_CD>; 136 bias-disable; 137 }; 138 }; 139 140 pinctrl_uart0_default: uart0_default { 141 pinmux = <PIN_PB26__URXD0>, 142 <PIN_PB27__UTXD0>; 143 bias-disable; 144 }; 145 146 pinctrl_uart3_default: uart3_default { 147 pinmux = <PIN_PB11__URXD3>, 148 <PIN_PB12__UTXD3>; 149 bias-disable; 150 }; 151 152 pinctrl_pwm0_default: pwm0_default { 153 pinmux = <PIN_PA31__PWML0>, 154 <PIN_PA30__PWMH0>; 155 bias-disable; 156 }; 157 158 pinctrl_usb_default: usb_default { 159 pinmux = <PIN_PA10__GPIO>; 160 bias-disable; 161 }; 162 163 pinctrl_usba_vbus: usba_vbus { 164 pinmux = <PIN_PA16__GPIO>; 165 bias-disable; 166 }; 167}; 168 169&pwm0 { 170 pinctrl-names = "default"; 171 pinctrl-0 = <&pinctrl_pwm0_default>; 172 status = "okay"; 173}; 174 175&qspi1 { 176 status = "okay"; 177 178 qspi1_flash: spi_flash@0 { 179 status = "okay"; 180 }; 181}; 182 183&sdmmc0 { 184 bus-width = <4>; 185 mmc-ddr-3_3v; 186 pinctrl-names = "default"; 187 pinctrl-0 = <&pinctrl_sdmmc0_default>; 188 status = "okay"; 189}; 190 191&shutdown_controller { 192 atmel,shdwc-debouncer = <976>; 193 atmel,wakeup-rtc-timer; 194 195 input@0 { 196 reg = <0>; 197 }; 198}; 199 200&tcb0 { 201 timer0: timer@0 { 202 compatible = "atmel,tcb-timer"; 203 reg = <0>; 204 }; 205 206 timer1: timer@1 { 207 compatible = "atmel,tcb-timer"; 208 reg = <1>; 209 }; 210}; 211 212&uart0 { 213 pinctrl-names = "default"; 214 pinctrl-0 = <&pinctrl_uart0_default>; 215 atmel,use-dma-rx; 216 atmel,use-dma-tx; 217 status = "okay"; 218}; 219 220&uart3 { 221 pinctrl-names = "default"; 222 pinctrl-0 = <&pinctrl_uart3_default>; 223 atmel,use-dma-rx; 224 atmel,use-dma-tx; 225 status = "okay"; 226}; 227 228&usb0 { 229 atmel,vbus-gpio = <&pioA PIN_PA16 GPIO_ACTIVE_HIGH>; 230 pinctrl-names = "default"; 231 pinctrl-0 = <&pinctrl_usba_vbus>; 232 status = "okay"; 233}; 234 235&usb1 { 236 num-ports = <3>; 237 atmel,vbus-gpio = <0 238 &pioA PIN_PA10 GPIO_ACTIVE_HIGH 239 0 240 >; 241 pinctrl-names = "default"; 242 pinctrl-0 = <&pinctrl_usb_default>; 243 status = "okay"; 244}; 245 246&usb2 { 247 phy_type = "hsic"; 248 status = "okay"; 249}; 250 251