1/* 2 * Copyright (c) 2020 Google LLC. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8#include <atmel/samd21.dtsi> 9#include <atmel/samx2xx18.dtsi> 10#include "arduino_nano_33_iot-pinctrl.dtsi" 11#include "arduino_nano_r3_connector.dtsi" 12 13/ { 14 model = "Arduino Nano 33 IOT"; 15 compatible = "arduino,nano-33-iot"; 16 17 chosen { 18 zephyr,console = &sercom5; 19 zephyr,shell-uart = &sercom5; 20 zephyr,sram = &sram0; 21 zephyr,flash = &flash0; 22 zephyr,code-partition = &code_partition; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 led0: led_0 { 28 gpios = <&porta 17 0>; 29 label = "LED"; 30 }; 31 }; 32 33 pwmleds { 34 compatible = "pwm-leds"; 35 36 pwm_led0: pwm_led_0 { 37 pwms = <&tcc2 1 PWM_MSEC(20)>; 38 }; 39 }; 40 41 aliases { 42 led0 = &led0; 43 pwm-led0 = &pwm_led0; 44 }; 45}; 46 47&cpu0 { 48 clock-frequency = <48000000>; 49}; 50 51&sercom1 { 52 status = "okay"; 53 compatible = "atmel,sam0-spi"; 54 dipo = <0>; 55 dopo = <1>; 56 #address-cells = <1>; 57 #size-cells = <0>; 58 59 pinctrl-0 = <&sercom1_spi_default>; 60 pinctrl-names = "default"; 61}; 62 63&sercom2 { 64 status = "okay"; 65 compatible = "atmel,sam0-spi"; 66 dipo = <1>; 67 dopo = <3>; 68 #address-cells = <1>; 69 #size-cells = <0>; 70 71 pinctrl-0 = <&sercom2_spi_default>; 72 pinctrl-names = "default"; 73 74 cs-gpios = <&porta 14 GPIO_ACTIVE_LOW>; 75 76 nina_w102@0 { 77 compatible = "u-blox,nina"; 78 reg = <0>; 79 spi-max-frequency = <8000000>; 80 ready-gpios = <&porta 28 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; 81 reset-gpios = <&porta 8 GPIO_ACTIVE_LOW>; 82 irq-gpios = <&porta 27 GPIO_PULL_DOWN>; 83 }; 84}; 85 86&sercom3 { 87 status = "okay"; 88 compatible = "atmel,sam0-uart"; 89 current-speed = <115200>; 90 rxpo = <1>; 91 txpo = <0>; 92 93 pinctrl-0 = <&sercom3_uart_default>; 94 pinctrl-names = "default"; 95 96 nina_prog { 97 compatible = "espressif,esp-at"; 98 reset-gpios = <&porta 8 GPIO_ACTIVE_LOW>; 99 }; 100}; 101 102&sercom4 { 103 status = "okay"; 104 compatible = "atmel,sam0-i2c"; 105 clock-frequency = <I2C_BITRATE_FAST>; 106 #address-cells = <1>; 107 #size-cells = <0>; 108 109 pinctrl-0 = <&sercom4_i2c_default>; 110 pinctrl-names = "default"; 111 112 lsm6ds3@6a { 113 compatible = "st,lsm6ds3"; 114 reg = <0x6a>; 115 }; 116 117 atecc608a@6a { 118 compatible = "atmel,atecc608"; 119 reg = <0x6a>; 120 }; 121}; 122 123&sercom5 { 124 status = "okay"; 125 compatible = "atmel,sam0-uart"; 126 current-speed = <115200>; 127 rxpo = <3>; 128 txpo = <1>; 129 130 pinctrl-0 = <&sercom5_uart_default>; 131 pinctrl-names = "default"; 132}; 133 134&tcc2 { 135 status = "okay"; 136 compatible = "atmel,sam0-tcc-pwm"; 137 prescaler = <1024>; 138 #pwm-cells = <2>; 139 140 pinctrl-0 = <&pwm_default>; 141 pinctrl-names = "default"; 142}; 143 144&flash0 { 145 partitions { 146 compatible = "fixed-partitions"; 147 #address-cells = <1>; 148 #size-cells = <1>; 149 150 boot_partition: partition@0 { 151 label = "uf2"; 152 reg = <0x00000000 0x2000>; 153 read-only; 154 }; 155 156 code_partition: partition@2000 { 157 label = "code"; 158 reg = <0x2000 0x3A000>; 159 read-only; 160 }; 161 162 /* 163 * The final 16 KiB is reserved for the application. 164 * Storage partition will be used by FCB/LittleFS/NVS 165 * if enabled. 166 */ 167 storage_partition: partition@3c000 { 168 label = "storage"; 169 reg = <0x0003c000 0x00004000>; 170 }; 171 }; 172}; 173 174zephyr_udc0: &usb0 { 175 status = "okay"; 176 177 pinctrl-0 = <&usb_dc_default>; 178 pinctrl-names = "default"; 179}; 180