1/* 2 * Copyright (c) 2020 TriaGnoSys GmbH 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8#include <silabs/efr32mg24b310f1536im48.dtsi> 9#include <zephyr/dt-bindings/input/input-event-codes.h> 10#include <zephyr/dt-bindings/regulator/silabs_dcdc.h> 11#include "xg24_dk2601b-pinctrl.dtsi" 12 13/ { 14 model = "Silicon Labs BRD2601B (xG24 Dev Kit)"; 15 compatible = "silabs,xg24_brd2601b", "silabs,efr32mg24"; 16 17 chosen { 18 zephyr,console = &usart0; 19 zephyr,shell-uart = &usart0; 20 zephyr,uart-pipe = &usart0; 21 zephyr,sram = &sram0; 22 zephyr,flash = &flash0; 23 zephyr,code-partition = &slot0_partition; 24 zephyr,bt-hci = &bt_hci_silabs; 25 }; 26 27 aliases { 28 led0 = &red_led; 29 led1 = &green_led; 30 led2 = &blue_led; 31 sw0 = &button0; 32 sw1 = &button1; 33 watchdog0 = &wdog0; 34 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 red_led: led_2 { 39 gpios = <&gpiod 2 GPIO_ACTIVE_LOW>; 40 }; 41 green_led: led_0 { 42 gpios = <&gpioa 4 GPIO_ACTIVE_LOW>; 43 }; 44 blue_led: led_1 { 45 gpios = <&gpiob 0 GPIO_ACTIVE_LOW>; 46 }; 47 }; 48 49 buttons { 50 compatible = "gpio-keys"; 51 button0: button_0 { 52 gpios = <&gpiob 2 GPIO_ACTIVE_LOW>; 53 zephyr,code = <INPUT_KEY_0>; 54 }; 55 button1: button_1 { 56 gpios = <&gpiob 3 GPIO_ACTIVE_LOW>; 57 zephyr,code = <INPUT_KEY_1>; 58 }; 59 }; 60 61 wake_up_trigger: gpio-wake-up { 62 compatible = "silabs,gecko-wake-up-trigger"; 63 gpios = <&gpioa 5 GPIO_ACTIVE_LOW>; 64 }; 65 66 sensor_enable: gpio_switch_0 { 67 compatible = "regulator-fixed"; 68 regulator-name = "sensor_enable"; 69 enable-gpios = <&gpioc 9 GPIO_ACTIVE_HIGH>; 70 regulator-boot-on; 71 }; 72}; 73 74&cpu0 { 75 clock-frequency = <78000000>; 76}; 77 78&hfxo { 79 status = "okay"; 80 ctune = <140>; 81 precision = <50>; 82}; 83 84&lfxo { 85 status = "okay"; 86 ctune = <63>; 87 precision = <50>; 88}; 89 90&hfrcodpll { 91 clock-frequency = <DT_FREQ_M(78)>; 92 clocks = <&hfxo>; 93 dpll-n = <3839>; 94 dpll-m = <1919>; 95 dpll-edge = "fall"; 96 dpll-lock = "phase"; 97 dpll-autorecover; 98}; 99 100&em23grpaclk { 101 clocks = <&lfxo>; 102}; 103 104&em4grpaclk { 105 clocks = <&lfxo>; 106}; 107 108&sysrtcclk { 109 clocks = <&lfxo>; 110}; 111 112&wdog0clk { 113 clocks = <&lfxo>; 114}; 115 116&wdog1clk { 117 clocks = <&lfxo>; 118}; 119 120&usart0 { 121 current-speed = <115200>; 122 pinctrl-0 = <&usart0_default>; 123 pinctrl-names = "default"; 124 status = "okay"; 125}; 126 127&eusart1 { 128 compatible = "silabs,eusart-spi"; 129 pinctrl-0 = <&eusart1_default>; 130 pinctrl-names = "default"; 131 cs-gpios = <&gpioc 0 GPIO_ACTIVE_LOW>; 132 clock-frequency = <4000000>; 133 #address-cells = <1>; 134 #size-cells = <0>; 135 status = "okay"; 136 137 mx25r32: mx25r3235f@0 { 138 compatible = "jedec,spi-nor"; 139 reg = <0>; 140 spi-max-frequency = <80000000>; 141 size = <0x2000000>; 142 jedec-id = [c2 28 16]; 143 has-dpd; 144 dpd-wakeup-sequence = <30000 20 35000>; 145 mxicy,mx25r-power-mode = "low-power"; 146 zephyr,pm-device-runtime-auto; 147 }; 148}; 149 150&i2c0 { 151 pinctrl-0 = <&i2c0_default>; 152 pinctrl-names = "default"; 153 status = "okay"; 154 155 veml6035: veml6035@29 { 156 compatible = "vishay,veml7700"; 157 reg = <0x29>; 158 status = "okay"; 159 }; 160 161 si7210: si7210@30 { 162 compatible = "silabs,si7210"; 163 reg = <0x30>; 164 status = "okay"; 165 }; 166 167 si7021: si7021@40 { 168 compatible = "silabs,si7006"; 169 reg = <0x40>; 170 status = "okay"; 171 }; 172}; 173 174&gpio { 175 status = "okay"; 176}; 177 178&gpioa { 179 status = "okay"; 180}; 181 182&gpiob { 183 status = "okay"; 184}; 185 186&gpioc { 187 status = "okay"; 188}; 189 190&gpiod { 191 status = "okay"; 192}; 193 194&wdog0 { 195 status = "okay"; 196}; 197 198&se { 199 status = "okay"; 200}; 201 202&dcdc { 203 status = "okay"; 204 regulator-boot-on; 205 regulator-initial-mode = <SILABS_DCDC_MODE_BUCK>; 206 silabs,pfmx-peak-current-milliamp = <120>; 207}; 208 209&flash0 { 210 partitions { 211 compatible = "fixed-partitions"; 212 #address-cells = <1>; 213 #size-cells = <1>; 214 215 /* Reserve 48 kB for the bootloader */ 216 boot_partition: partition@0 { 217 label = "mcuboot"; 218 reg = <0x0 0x0000c000>; 219 read-only; 220 }; 221 222 /* Reserve 464 kB for the application in slot 0 */ 223 slot0_partition: partition@c000 { 224 label = "image-0"; 225 reg = <0x0000c000 0x00074000>; 226 }; 227 228 /* Reserve 464 kB for the application in slot 1 */ 229 slot1_partition: partition@80000 { 230 label = "image-1"; 231 reg = <0x00080000 0x00074000>; 232 }; 233 234 /* Reserve 32 kB for the scratch partition */ 235 scratch_partition: partition@f4000 { 236 label = "image-scratch"; 237 reg = <0x000f4000 0x00008000>; 238 }; 239 240 /* Set 528Kb of storage at the end of the 1024Kb of flash */ 241 storage_partition: partition@fc000 { 242 label = "storage"; 243 reg = <0x000fc000 0x00084000>; 244 }; 245 }; 246}; 247 248&adc0 { 249 status = "okay"; 250}; 251 252&sysrtc0 { 253 status = "okay"; 254}; 255 256&radio { 257 pa-voltage-mv = <1800>; 258}; 259 260&bt_hci_silabs { 261 status = "okay"; 262}; 263