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