1/*
2 * Copyright (c) 2023 Antmicro <www.antmicro.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <silabs/efr32bg27.dtsi>
9#include "xg27_dk2602a-pinctrl.dtsi"
10#include "thunderboard.dtsi"
11#include <zephyr/dt-bindings/regulator/silabs_dcdc.h>
12
13/ {
14	model = "Silicon Labs xG27-DK2602A Dev Kit";
15	compatible = "silabs,efr32bg27c140f768im40", "silabs,xg27_dk2602a",
16		"silabs,efr32bg27";
17
18	/* These aliases are provided for compatibility with samples */
19	aliases {
20		led0 = &led0;
21		sw0 = &button0;
22		spi0 = &usart0;
23		watchdog0 = &wdog0;
24		/* If enabled, MCUboot uses this for recovery mode entrance */
25		mcuboot-led0 = &led0;
26		mcuboot-button0 = &button0;
27	};
28
29	chosen {
30		zephyr,code-partition = &slot0_partition;
31		zephyr,bt-hci = &bt_hci_silabs;
32	};
33};
34
35&hfxo {
36	status = "okay";
37	ctune = <140>;
38	precision = <50>;
39};
40
41&lfxo {
42	status = "okay";
43	ctune = <63>;
44	precision = <50>;
45};
46
47&hfrcodpll {
48	clock-frequency = <DT_FREQ_K(76800)>;
49	clocks = <&hfxo>;
50	dpll-n = <3839>;
51	dpll-m = <1919>;
52	dpll-edge = "fall";
53	dpll-lock = "phase";
54	dpll-autorecover;
55};
56
57&em23grpaclk {
58	clocks = <&lfxo>;
59};
60
61&em4grpaclk {
62	clocks = <&lfxo>;
63};
64
65&rtccclk {
66	clocks = <&lfxo>;
67};
68
69&wdog0clk {
70	clocks = <&lfxo>;
71};
72
73&dcdc {
74	status = "okay";
75	regulator-boot-on;
76	regulator-initial-mode = <SILABS_DCDC_MODE_BUCK>;
77};
78
79&flash0 {
80	partitions {
81		/* Reserve 48 KiB for the bootloader */
82		boot_partition: partition@0 {
83			label = "mcuboot";
84			reg = <0x00000000 0x0000c000>;
85			read-only;
86		};
87
88		/* Reserve 328 KiB for the application in slot 0 */
89		slot0_partition: partition@c000 {
90			label = "image-0";
91			reg = <0x0000c000 0x00052000>;
92		};
93
94		/* Reserve 328 KiB for the application in slot 1 */
95		slot1_partition: partition@5e000 {
96			label = "image-1";
97			reg = <0x0005e000 0x00052000>;
98		};
99
100		/* Set 64 KiB of storage at the end of the 768 KiB of flash */
101		storage_partition: partition@b0000 {
102			label = "storage";
103			reg = <0x000b0000 0x00010000>;
104		};
105	};
106};
107
108&led0 {
109	gpios = <&gpioa 4 GPIO_ACTIVE_HIGH>;
110};
111
112&sw_sensor_enable {
113	enable-gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>;
114};
115
116
117&sw_mic_enable {
118	enable-gpios = <&gpioc 7 GPIO_ACTIVE_HIGH>;
119};
120
121
122&sw_imu_enable {
123	enable-gpios = <&gpiob 4 GPIO_ACTIVE_HIGH>;
124};
125
126&button0 {
127	gpios = <&gpiob 3 GPIO_ACTIVE_LOW>;
128};
129
130&bt_hci_silabs {
131	status = "okay";
132};
133