0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * at91-sama5d27_wlsom1_ek.dts - Device Tree file for SAMA5D27 WLSOM1 EK
0004 *
0005 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
0006 *
0007 * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
0008 */
0009 /dts-v1/;
0010 #include "at91-sama5d27_wlsom1.dtsi"
0011 #include <dt-bindings/input/input.h>
0012
0013 / {
0014 model = "Microchip SAMA5D27 WLSOM1 EK";
0015 compatible = "microchip,sama5d27-wlsom1-ek", "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
0016
0017 aliases {
0018 serial0 = &uart0; /* DBGU */
0019 serial1 = &uart6; /* BT */
0020 serial2 = &uart5; /* mikro BUS 2 */
0021 serial3 = &uart3; /* mikro BUS 1 */
0022 i2c1 = &i2c1;
0023 };
0024
0025 chosen {
0026 stdout-path = "serial0:115200n8";
0027 };
0028
0029 gpio-keys {
0030 compatible = "gpio-keys";
0031
0032 pinctrl-names = "default";
0033 pinctrl-0 = <&pinctrl_key_gpio_default>;
0034
0035 button-1 {
0036 label = "USER BUTTON";
0037 gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>;
0038 linux,code = <KEY_PROG1>;
0039 wakeup-source;
0040 };
0041 };
0042
0043 leds {
0044 compatible = "gpio-leds";
0045 pinctrl-names = "default";
0046 pinctrl-0 = <&pinctrl_led_gpio_default>;
0047 status = "okay";
0048
0049 red {
0050 label = "red";
0051 gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>;
0052 };
0053
0054 green {
0055 label = "green";
0056 gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
0057 };
0058
0059 blue {
0060 label = "blue";
0061 gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
0062 linux,default-trigger = "heartbeat";
0063 };
0064 };
0065 };
0066
0067 &adc {
0068 vddana-supply = <&vdd_3v3>;
0069 vref-supply = <&vdd_3v3>;
0070 pinctrl-names = "default";
0071 pinctrl-0 = <&pinctrl_adc_default>;
0072 status = "okay";
0073 };
0074
0075 &flx0 {
0076 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
0077 status = "okay";
0078
0079 uart5: serial@200 {
0080 pinctrl-0 = <&pinctrl_flx0_default>;
0081 pinctrl-names = "default";
0082 atmel,use-dma-rx;
0083 atmel,use-dma-tx;
0084 status = "okay";
0085 };
0086 };
0087
0088 &flx1 {
0089 status = "okay";
0090
0091 uart6: serial@200 {
0092 atmel,use-dma-rx;
0093 atmel,use-dma-tx;
0094 status = "okay";
0095 };
0096 };
0097
0098 &macb0 {
0099 status = "okay";
0100 };
0101
0102 &pioA {
0103 /*
0104 * There is no real pinmux for ADC, if the pin
0105 * is not requested by another peripheral then
0106 * the muxing is done when channel is enabled.
0107 * Requesting pins for ADC is GPIO is
0108 * encouraged to prevent conflicts and to
0109 * disable bias in order to be in the same
0110 * state when the pin is not muxed to the adc.
0111 */
0112 pinctrl_adc_default: adc_default {
0113 pinmux = <PIN_PD25__GPIO>,
0114 <PIN_PD26__GPIO>;
0115 bias-disable;
0116 };
0117
0118 pinctrl_flx0_default: flx0_usart_default {
0119 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
0120 <PIN_PB29__FLEXCOM0_IO1>;
0121 bias-disable;
0122 };
0123
0124 pinctrl_key_gpio_default: key_gpio_default {
0125 pinmux = <PIN_PB2__GPIO>;
0126 bias-pull-up;
0127 };
0128
0129 pinctrl_led_gpio_default: led_gpio_default {
0130 pinmux = <PIN_PA6__GPIO>,
0131 <PIN_PA7__GPIO>,
0132 <PIN_PA8__GPIO>;
0133 bias-pull-down;
0134 };
0135
0136 pinctrl_sdmmc0_default: sdmmc0_default {
0137 cmd_data {
0138 pinmux = <PIN_PA1__SDMMC0_CMD>,
0139 <PIN_PA2__SDMMC0_DAT0>,
0140 <PIN_PA3__SDMMC0_DAT1>,
0141 <PIN_PA4__SDMMC0_DAT2>,
0142 <PIN_PA5__SDMMC0_DAT3>;
0143 bias-disable;
0144 };
0145
0146 ck_cd_vddsel {
0147 pinmux = <PIN_PA0__SDMMC0_CK>,
0148 <PIN_PA11__SDMMC0_VDDSEL>,
0149 <PIN_PA12__SDMMC0_WP>,
0150 <PIN_PA13__SDMMC0_CD>;
0151 bias-disable;
0152 };
0153 };
0154
0155 pinctrl_uart0_default: uart0_default {
0156 pinmux = <PIN_PB26__URXD0>,
0157 <PIN_PB27__UTXD0>;
0158 bias-disable;
0159 };
0160
0161 pinctrl_uart3_default: uart3_default {
0162 pinmux = <PIN_PB11__URXD3>,
0163 <PIN_PB12__UTXD3>;
0164 bias-disable;
0165 };
0166
0167 pinctrl_pwm0_default: pwm0_default {
0168 pinmux = <PIN_PA31__PWML0>,
0169 <PIN_PA30__PWMH0>;
0170 bias-disable;
0171 };
0172
0173 pinctrl_usb_default: usb_default {
0174 pinmux = <PIN_PA10__GPIO>;
0175 bias-disable;
0176 };
0177
0178 pinctrl_usba_vbus: usba_vbus {
0179 pinmux = <PIN_PA16__GPIO>;
0180 bias-disable;
0181 };
0182 };
0183
0184 &pwm0 {
0185 pinctrl-names = "default";
0186 pinctrl-0 = <&pinctrl_pwm0_default>;
0187 status = "okay";
0188 };
0189
0190 &qspi1 {
0191 status = "okay";
0192
0193 qspi1_flash: flash@0 {
0194 status = "okay";
0195 };
0196 };
0197
0198 &sdmmc0 {
0199 bus-width = <4>;
0200 mmc-ddr-3_3v;
0201 pinctrl-names = "default";
0202 pinctrl-0 = <&pinctrl_sdmmc0_default>;
0203 status = "okay";
0204 };
0205
0206 &shutdown_controller {
0207 debounce-delay-us = <976>;
0208 atmel,wakeup-rtc-timer;
0209
0210 input@0 {
0211 reg = <0>;
0212 };
0213 };
0214
0215 &tcb0 {
0216 timer0: timer@0 {
0217 compatible = "atmel,tcb-timer";
0218 reg = <0>;
0219 };
0220
0221 timer1: timer@1 {
0222 compatible = "atmel,tcb-timer";
0223 reg = <1>;
0224 };
0225 };
0226
0227 &uart0 {
0228 pinctrl-names = "default";
0229 pinctrl-0 = <&pinctrl_uart0_default>;
0230 atmel,use-dma-rx;
0231 atmel,use-dma-tx;
0232 status = "okay";
0233 };
0234
0235 &uart3 {
0236 pinctrl-names = "default";
0237 pinctrl-0 = <&pinctrl_uart3_default>;
0238 atmel,use-dma-rx;
0239 atmel,use-dma-tx;
0240 status = "okay";
0241 };
0242
0243 &usb0 {
0244 atmel,vbus-gpio = <&pioA PIN_PA16 GPIO_ACTIVE_HIGH>;
0245 pinctrl-names = "default";
0246 pinctrl-0 = <&pinctrl_usba_vbus>;
0247 status = "okay";
0248 };
0249
0250 &usb1 {
0251 num-ports = <3>;
0252 atmel,vbus-gpio = <0
0253 &pioA PIN_PA10 GPIO_ACTIVE_HIGH
0254 0
0255 >;
0256 pinctrl-names = "default";
0257 pinctrl-0 = <&pinctrl_usb_default>;
0258 status = "okay";
0259 };
0260
0261 &usb2 {
0262 phy_type = "hsic";
0263 status = "okay";
0264 };
0265
0266 &watchdog {
0267 status = "okay";
0268 };
0269