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&i2c0 { 128 pinctrl-0 = <&i2c0_default>; 129 pinctrl-names = "default"; 130 status = "okay"; 131 132 veml6035: veml6035@29 { 133 compatible = "vishay,veml7700"; 134 reg = <0x29>; 135 status = "okay"; 136 }; 137 138 si7210: si7210@30 { 139 compatible = "silabs,si7210"; 140 reg = <0x30>; 141 status = "okay"; 142 }; 143 144 si7021: si7021@40 { 145 compatible = "silabs,si7006"; 146 reg = <0x40>; 147 status = "okay"; 148 }; 149}; 150 151&gpio { 152 status = "okay"; 153}; 154 155&gpioa { 156 status = "okay"; 157}; 158 159&gpiob { 160 status = "okay"; 161}; 162 163&gpioc { 164 status = "okay"; 165}; 166 167&gpiod { 168 status = "okay"; 169}; 170 171&wdog0 { 172 status = "okay"; 173}; 174 175&se { 176 status = "okay"; 177}; 178 179&dcdc { 180 status = "okay"; 181 regulator-boot-on; 182 regulator-initial-mode = <SILABS_DCDC_MODE_BUCK>; 183 silabs,pfmx-peak-current-milliamp = <120>; 184}; 185 186&flash0 { 187 partitions { 188 compatible = "fixed-partitions"; 189 #address-cells = <1>; 190 #size-cells = <1>; 191 192 /* Reserve 48 kB for the bootloader */ 193 boot_partition: partition@0 { 194 label = "mcuboot"; 195 reg = <0x0 0x0000c000>; 196 read-only; 197 }; 198 199 /* Reserve 464 kB for the application in slot 0 */ 200 slot0_partition: partition@c000 { 201 label = "image-0"; 202 reg = <0x0000c000 0x00074000>; 203 }; 204 205 /* Reserve 464 kB for the application in slot 1 */ 206 slot1_partition: partition@80000 { 207 label = "image-1"; 208 reg = <0x00080000 0x00074000>; 209 }; 210 211 /* Reserve 32 kB for the scratch partition */ 212 scratch_partition: partition@f4000 { 213 label = "image-scratch"; 214 reg = <0x000f4000 0x00008000>; 215 }; 216 217 /* Set 528Kb of storage at the end of the 1024Kb of flash */ 218 storage_partition: partition@fc000 { 219 label = "storage"; 220 reg = <0x000fc000 0x00084000>; 221 }; 222 }; 223}; 224 225&adc0 { 226 status = "okay"; 227}; 228 229&sysrtc0 { 230 status = "okay"; 231}; 232 233&bt_hci_silabs { 234 status = "okay"; 235}; 236