1/* 2 * Copyright (c) 2021 Laird Connectivity 3 * Copyright (c) 2024 Ezurio 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8/dts-v1/; 9#include <nordic/nrf52840_qiaa.dtsi> 10#include "bt610-pinctrl.dtsi" 11#include <zephyr/dt-bindings/input/input-event-codes.h> 12 13/ { 14 model = "Ezurio BT610 Sensor"; 15 compatible = "ezurio,bt610"; 16 17 chosen { 18 zephyr,console = &uart0; 19 zephyr,shell-uart = &uart0; 20 zephyr,uart-mcumgr = &uart0; 21 zephyr,bt-mon-uart = &uart0; 22 zephyr,bt-c2h-uart = &uart0; 23 zephyr,sram = &sram0; 24 zephyr,flash = &flash0; 25 zephyr,code-partition = &slot0_partition; 26 zephyr,ieee802154 = &ieee802154; 27 }; 28 29 leds { 30 compatible = "gpio-leds"; 31 led1: led_1 { 32 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; 33 label = "Red LED 1"; 34 }; 35 led2: led_2 { 36 gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; 37 label = "Green LED 2"; 38 }; 39 }; 40 41 pwmleds { 42 compatible = "pwm-leds"; 43 44 led1pwm: led_1_pwm { 45 pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; 46 label = "Red PWM LED 1"; 47 }; 48 49 led2pwm: led_2_pwm { 50 pwms = <&pwm1 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; 51 label = "Green PWM LED 2"; 52 }; 53 }; 54 55 buttons { 56 compatible = "gpio-keys"; 57 button1: button_1 { 58 gpios = <&gpio0 24 GPIO_PULL_UP>; 59 label = "Boot button switch 1 (SW1)"; 60 zephyr,code = <INPUT_KEY_0>; 61 }; 62 button2: button_2 { 63 gpios = <&gpio1 1 GPIO_PULL_UP>; 64 label = "Tamper switch 2 (SW2)"; 65 zephyr,code = <INPUT_KEY_1>; 66 }; 67 }; 68 69 /* These aliases are provided for compatibility with samples */ 70 aliases { 71 led0 = &led1; 72 led1 = &led2; 73 led0pwm = &led1pwm; 74 led1pwm = &led2pwm; 75 sw0 = &button1; 76 sw1 = &button2; 77 sw2 = &mag1; 78 mcuboot-button0 = &button1; 79 mcuboot-led0 = &led1; 80 watchdog0 = &wdt0; 81 }; 82 83 mag1: mag_1 { 84 compatible = "honeywell,sm351lt"; 85 gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 86 }; 87 88 dinenable1: din_enable_1 { 89 compatible = "regulator-fixed"; 90 regulator-name = "din_enable_1"; 91 enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 92 }; 93 94 dinenable2: din_enable_2 { 95 compatible = "regulator-fixed"; 96 regulator-name = "din_enable_2"; 97 enable-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 98 }; 99 100 thermenable: therm_enable { 101 compatible = "regulator-fixed"; 102 regulator-name = "therm_enable"; 103 enable-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; 104 }; 105 106 analogenable: analog_enable { 107 compatible = "regulator-fixed"; 108 regulator-name = "analog_enable"; 109 enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; 110 }; 111 112 highsupplyenable: high_supply_enable { 113 compatible = "regulator-fixed"; 114 regulator-name = "high_supply_enable"; 115 enable-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 116 }; 117 118 batteryoutputenable: battery_output_enable { 119 compatible = "regulator-fixed"; 120 regulator-name = "battery_output_enable"; 121 enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; 122 }; 123}; 124 125®1 { 126 regulator-initial-mode = <NRF5X_REG_MODE_DCDC>; 127}; 128 129&pwm0 { 130 status = "okay"; 131 pinctrl-0 = <&pwm0_default>; 132 pinctrl-1 = <&pwm0_sleep>; 133 pinctrl-names = "default", "sleep"; 134}; 135 136&pwm1 { 137 status = "okay"; 138 pinctrl-0 = <&pwm1_default>; 139 pinctrl-1 = <&pwm1_sleep>; 140 pinctrl-names = "default", "sleep"; 141}; 142 143&adc { 144 status = "okay"; 145}; 146 147&gpiote { 148 status = "okay"; 149}; 150 151&uicr { 152 nfct-pins-as-gpios; 153 gpio-as-nreset; 154}; 155 156&gpio0 { 157 status = "okay"; 158}; 159 160&gpio1 { 161 status = "okay"; 162}; 163 164&uart0 { 165 compatible = "nordic,nrf-uarte"; 166 current-speed = <115200>; 167 status = "okay"; 168 pinctrl-0 = <&uart0_default>; 169 pinctrl-1 = <&uart0_sleep>; 170 pinctrl-names = "default", "sleep"; 171}; 172 173&uart1 { 174 compatible = "nordic,nrf-uarte"; 175 current-speed = <115200>; 176 status = "okay"; 177 pinctrl-0 = <&uart1_default>; 178 pinctrl-1 = <&uart1_sleep>; 179 pinctrl-names = "default", "sleep"; 180}; 181 182&i2c0 { 183 compatible = "nordic,nrf-twi"; 184 status = "okay"; 185 186 pinctrl-0 = <&i2c0_default>; 187 pinctrl-1 = <&i2c0_sleep>; 188 pinctrl-names = "default", "sleep"; 189 gpio_exp0: tca9538@70 { 190 compatible = "ti,tca9538"; 191 reg = <0x70>; 192 gpio-controller; 193 #gpio-cells = <2>; 194 ngpios = <8>; 195 nint-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; 196 }; 197}; 198 199&spi1 { 200 compatible = "nordic,nrf-spi"; 201 status = "okay"; 202 cs-gpios = <&gpio0 25 0>, 203 <&gpio0 31 0>; 204 pinctrl-0 = <&spi1_default>; 205 pinctrl-1 = <&spi1_sleep>; 206 pinctrl-names = "default", "sleep"; 207}; 208 209&qspi { 210 status = "okay"; 211 pinctrl-0 = <&qspi_default>; 212 pinctrl-1 = <&qspi_sleep>; 213 pinctrl-names = "default", "sleep"; 214 mx25r64: mx25r6435f@0 { 215 compatible = "nordic,qspi-nor"; 216 reg = <0>; 217 writeoc = "pp4io"; 218 readoc = "read4io"; 219 sck-frequency = <8000000>; 220 jedec-id = [c2 28 17]; 221 sfdp-bfp = [ 222 e5 20 f1 ff ff ff ff 03 44 eb 08 6b 08 3b 04 bb 223 ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 224 10 d8 00 ff 23 72 f5 00 82 ed 04 cc 44 83 68 44 225 30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff 226 ]; 227 size = <67108864>; 228 has-dpd; 229 t-enter-dpd = <10000>; 230 t-exit-dpd = <35000>; 231 }; 232}; 233 234&ieee802154 { 235 status = "okay"; 236}; 237 238&flash0 { 239 partitions { 240 compatible = "fixed-partitions"; 241 #address-cells = <1>; 242 #size-cells = <1>; 243 244 /* 96K */ 245 boot_partition: partition@0 { 246 label = "mcuboot"; 247 reg = <0x00000000 0x00018000>; 248 }; 249 /* 896K */ 250 slot0_partition: partition@18000 { 251 label = "image-0"; 252 reg = <0x00018000 0x000E0000>; 253 }; 254 255 /* 256 * The flash starting at 0x000f8000 and ending at 257 * 0x000fffff is reserved for use by the application. 258 */ 259 260 /* 261 * Storage partition will be used by FCB/NVS 262 * if enabled. 32K 263 */ 264 storage_partition: partition@f8000 { 265 label = "storage"; 266 reg = <0x000f8000 0x00008000>; 267 }; 268 }; 269}; 270 271&mx25r64 { 272 partitions { 273 compatible = "fixed-partitions"; 274 #address-cells = <1>; 275 #size-cells = <1>; 276 277 /* 896K */ 278 slot1_partition: partition@0 { 279 label = "image-1"; 280 reg = <0x00000000 0x000E0000>; 281 }; 282 /* 16K */ 283 scratch_partition: partition@E0000 { 284 label = "image-scratch"; 285 reg = <0x000E0000 0x00004000>; 286 }; 287 /* 112K */ 288 customer_partition: partition@E4000 { 289 label = "customer-storage"; 290 reg = <0x000E4000 0x0001C000>; 291 }; 292 /* 7MB */ 293 lfs_partition: partition@100000 { 294 label = "lfs_storage"; 295 reg = <0x00100000 0x00700000>; 296 }; 297 }; 298}; 299