365 lines
7.6 KiB
Plaintext
365 lines
7.6 KiB
Plaintext
/*
|
|
* Copyright (c) 2017 Piotr Mienkowski
|
|
* Copyright (c) 2017 Justin Watson
|
|
* Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
|
|
* Copyright (c) 2019-2022 Gerson Fernando Budke <nandojve@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include "sam_v71_xult-pinctrl.dtsi"
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
/ {
|
|
aliases {
|
|
i2c-0 = &twihs0;
|
|
i2c-1 = &twihs2;
|
|
led0 = &yellow_led1;
|
|
pwm-led0 = &pwm_led0;
|
|
pwm-0 = &pwm0;
|
|
sw0 = &sw0_user_button;
|
|
sw1 = &sw1_user_button;
|
|
watchdog0 = &wdt;
|
|
};
|
|
|
|
chosen {
|
|
zephyr,console = &usart1;
|
|
zephyr,shell-uart = &usart1;
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zephyr,code-partition = &slot0_partition;
|
|
zephyr,canbus = &can1;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
yellow_led0: led_0 {
|
|
gpios = <&pioa 23 GPIO_ACTIVE_LOW>;
|
|
label = "User LED 0";
|
|
status = "disabled";
|
|
};
|
|
yellow_led1: led_1 {
|
|
gpios = <&pioc 9 GPIO_ACTIVE_LOW>;
|
|
label = "User LED 1";
|
|
};
|
|
};
|
|
|
|
pwmleds {
|
|
compatible = "pwm-leds";
|
|
pwm_led0: pwm_led_0 {
|
|
pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
|
|
/* The switch is labeled SW300/301 in the schematic, and
|
|
* labeled SW0 on the board, and labeled ERASE User Button
|
|
* on docs
|
|
*/
|
|
sw0_user_button: button_1 {
|
|
label = "User Button 0";
|
|
gpios = <&pioa 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
sw1_user_button: button_2 {
|
|
label = "User Button 1";
|
|
gpios = <&piob 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
|
zephyr,code = <INPUT_KEY_1>;
|
|
};
|
|
};
|
|
|
|
ext1_header: xplained-pro-connector1 {
|
|
compatible = "atmel-xplained-pro-header";
|
|
#gpio-cells = <2>;
|
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
|
gpio-map-pass-thru = <0 0x3f>; /* Shared */
|
|
gpio-map = <0 0 &pioc 31 0>, /* AFE1 AD6 */
|
|
<1 0 &pioa 19 0>, /* AFE0 AD8 */
|
|
<2 0 &piob 3 0>, /* RTS0 */
|
|
<3 0 &piob 2 0>, /* CTS0 */
|
|
<4 0 &pioa 0 0>, /* PWMC0_H0 */
|
|
<5 0 &pioc 30 0>, /* TIOB5 */
|
|
<6 0 &piod 28 0>, /* WKUP5 */
|
|
<7 0 &pioa 5 0>, /* GPIO */
|
|
<8 0 &pioa 3 0>, /* TWD0 EXT2 */
|
|
<9 0 &pioa 4 0>, /* TWCK0 EXT2 */
|
|
<10 0 &piob 0 0>, /* RXD0 */
|
|
<11 0 &piob 1 0>, /* TXD0 */
|
|
<12 0 &piod 25 0>, /* SPI0(NPCS1) */
|
|
<13 0 &piod 21 0>, /* SPI0(MOSI) EXT2 */
|
|
<14 0 &piod 20 0>, /* SPI0(MISO) EXT2 */
|
|
<15 0 &piod 22 0>; /* SPI0(SCK) EXT2 */
|
|
/* GND */
|
|
/* +3.3V */
|
|
};
|
|
|
|
ext2_header: xplained-pro-connector2 {
|
|
compatible = "atmel-xplained-pro-header";
|
|
#gpio-cells = <2>;
|
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
|
gpio-map-pass-thru = <0 0x3f>; /* Shared */
|
|
gpio-map = <0 0 &piod 30 0>, /* AFE0 AD0 */
|
|
<1 0 &pioc 13 0>, /* AFE1 AD1 */
|
|
<2 0 &pioa 6 0>, /* GPIO */
|
|
<3 0 &piod 11 0>, /* GPIO */
|
|
<4 0 &pioc 19 0>, /* PWMC0_H2 */
|
|
<5 0 &piod 26 0>, /* PWMC0_L2 */
|
|
<6 0 &pioa 2 0>, /* WKUP2 */
|
|
<7 0 &pioa 24 0>, /* GPIO */
|
|
<8 0 &pioa 3 0>, /* TWD0 EXT1 */
|
|
<9 0 &pioa 4 0>, /* TWCK0 EXT1 */
|
|
<10 0 &pioa 21 0>, /* RXD1 */
|
|
<11 0 &piob 4 0>, /* TXD1 */
|
|
<12 0 &piod 27 0>, /* SPI0(NPCS3) */
|
|
<13 0 &piod 21 0>, /* SPI0(MOSI) EXT1 */
|
|
<14 0 &piod 20 0>, /* SPI0(MISO) EXT1 */
|
|
<15 0 &piod 22 0>; /* SPI0(SCK) EXT1 */
|
|
/* GND */
|
|
/* +3.3V */
|
|
};
|
|
|
|
arduino_header: connector {
|
|
compatible = "arduino-header-r3";
|
|
#gpio-cells = <2>;
|
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
|
gpio-map-pass-thru = <0 0x3f>; /* Shared */
|
|
gpio-map = <0 0 &piod 26 0>, /* A0-TD */
|
|
<1 0 &pioc 31 0>, /* A1-AFE1 AD6 y */
|
|
<2 0 &pioa 19 0>, /* A2-AFE0 AD8 y */
|
|
<3 0 &piod 30 0>, /* A3-AFE0 AD0 y */
|
|
<4 0 &pioc 13 0>, /* A4-AFE1 AD1 y */
|
|
<5 0 &pioe 0 0>, /* A5-AFE1 AD11 */
|
|
<6 0 &piod 28 0>, /* D0-URXD3 */
|
|
<7 0 &piod 30 0>, /* D1-UTXD3 */
|
|
<8 0 &pioa 0 0>, /* D2-PWMC0_H0 */
|
|
<9 0 &pioa 6 0>, /* D3-GPIO */
|
|
<10 0 &piod 27 0>, /* D4-SPI0_NPCS3 y */
|
|
<11 0 &piod 11 0>, /* D5-PWMC0_H0 */
|
|
<12 0 &pioc 19 0>, /* D6-PWMC0_H2 */
|
|
<13 0 &pioa 2 0>, /* D7-PWMC0_H1 */
|
|
<14 0 &pioa 5 0>, /* D8-PWMC1_PWML3 */
|
|
<15 0 &pioc 9 0>, /* D9-TIOB7 */
|
|
<16 0 &piod 25 0>, /* D10-SPI0_NPCS1 y */
|
|
<17 0 &piod 21 0>, /* D11-SPI0_MOSI y */
|
|
<18 0 &piod 20 0>, /* D12-SPI0_MISO y */
|
|
<19 0 &piod 22 0>, /* D13-SPI0_SPCK y */
|
|
<20 0 &pioa 3 0>, /* D14-TWD0 y */
|
|
<21 0 &pioa 4 0>; /* D15-TWCK0 y */
|
|
};
|
|
};
|
|
|
|
&cpu0 {
|
|
clock-frequency = <300000000>;
|
|
};
|
|
|
|
&afec0 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&afec0_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&afec1 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&afec1_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&dacc {
|
|
status = "okay";
|
|
};
|
|
|
|
&twihs0 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&twihs0_default>;
|
|
pinctrl-names = "default";
|
|
|
|
eeprom: eeprom@5f {
|
|
compatible = "atmel,24mac402";
|
|
reg = <0x5f>;
|
|
};
|
|
};
|
|
|
|
&twihs2 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&twihs2_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&spi0_default>;
|
|
pinctrl-names = "default";
|
|
|
|
cs-gpios = <&piod 25 GPIO_ACTIVE_LOW>,
|
|
<&piod 27 GPIO_ACTIVE_LOW>;
|
|
|
|
dmas = <&xdmac 1 DMA_PERID_SPI0_TX>, <&xdmac 2 DMA_PERID_SPI0_RX>;
|
|
dma-names = "tx", "rx";
|
|
};
|
|
|
|
&usart1 {
|
|
status = "okay";
|
|
current-speed = <115200>;
|
|
|
|
pinctrl-0 = <&usart1_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&uart3 {
|
|
status = "okay";
|
|
current-speed = <115200>;
|
|
|
|
|
|
pinctrl-0 = <&uart3_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&wdt {
|
|
status = "okay";
|
|
};
|
|
|
|
zephyr_udc0: &usbhs {
|
|
status = "okay";
|
|
};
|
|
|
|
&gmac {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&gmac_rmii>;
|
|
pinctrl-names = "default";
|
|
|
|
mac-eeprom = <&eeprom>;
|
|
phy-handle = <&phy>;
|
|
};
|
|
|
|
&mdio {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&mdio_default>;
|
|
pinctrl-names = "default";
|
|
|
|
phy: ethernet-phy@0 {
|
|
compatible = "ethernet-phy";
|
|
status = "okay";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&pwm0 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&pwm_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&pioa {
|
|
status = "okay";
|
|
};
|
|
|
|
&piob {
|
|
status = "okay";
|
|
};
|
|
|
|
&pioc {
|
|
status = "okay";
|
|
};
|
|
|
|
&piod {
|
|
status = "okay";
|
|
};
|
|
|
|
&pioe {
|
|
status = "okay";
|
|
};
|
|
|
|
&flash0 {
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
/*
|
|
* The first half of sector 0 (64 kbytes)
|
|
* is reserved for the bootloader
|
|
*/
|
|
boot_partition: partition@0 {
|
|
label = "mcuboot";
|
|
reg = <0x0 0x00010000>;
|
|
read-only;
|
|
};
|
|
|
|
/* From sector 1 to sector 7 (included): slot0 (896 kbytes) */
|
|
slot0_partition: partition@20000 {
|
|
label = "image-0";
|
|
reg = <0x00020000 0x000e0000>;
|
|
};
|
|
|
|
/* From sector 8 to sector 14 (included): slot1 (896 kbytes) */
|
|
slot1_partition: partition@100000 {
|
|
label = "image-1";
|
|
reg = <0x00100000 0x000e0000>;
|
|
};
|
|
|
|
/* Sector 15: scratch (128 kbytes) */
|
|
scratch_partition: partition@1e0000 {
|
|
label = "image-scratch";
|
|
reg = <0x001e0000 0x00020000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ssc {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&ssc_default>;
|
|
pinctrl-names = "default";
|
|
|
|
dma-names = "rx", "tx";
|
|
dmas = <&xdmac 22 DMA_PERID_SSC_RX>, <&xdmac 23 DMA_PERID_SSC_TX>;
|
|
};
|
|
|
|
&can1 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&can1_default>;
|
|
pinctrl-names = "default";
|
|
|
|
can-transceiver {
|
|
max-bitrate = <5000000>;
|
|
};
|
|
};
|
|
|
|
ext1_spi: &spi0 {
|
|
};
|
|
|
|
ext1_i2c: &twihs0 {
|
|
};
|
|
|
|
ext1_serial: &usart0 {
|
|
};
|
|
|
|
ext2_spi: &spi0 {
|
|
};
|
|
|
|
ext2_i2c: &twihs0 {
|
|
};
|
|
|
|
ext2_serial: &usart1 {
|
|
};
|
|
|
|
arduino_spi: &spi0 {
|
|
};
|
|
|
|
arduino_i2c: &twihs0 {
|
|
};
|
|
|
|
arduino_serial: &uart3 {
|
|
};
|