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/efm32gg12b810f1024gm64.dtsi>
9#include <zephyr/dt-bindings/input/input-event-codes.h>
10#include "sltb009a-pinctrl.dtsi"
11
12/ {
13	model = "Silicon Labs EFM32GG12 SLTB009A board";
14	compatible = "silabs,sltb009a";
15
16	chosen {
17		zephyr,console = &usart0;
18		zephyr,shell-uart = &usart0;
19		zephyr,uart-pipe = &usart0;
20		zephyr,sram = &sram0;
21		zephyr,flash = &flash0;
22	};
23
24	/* These aliases are provided for compatibility with samples */
25	aliases {
26		led0 = &led0;
27		led1 = &led1;
28		sw0 = &button0;
29		sw1 = &button1;
30		watchdog0 = &wdog0;
31	};
32
33	leds {
34		compatible = "gpio-leds";
35		led0: led_0 {
36			gpios = <&gpioe 12 GPIO_ACTIVE_HIGH>;
37			label = "LED 0";
38		};
39		led1: led_1 {
40			gpios = <&gpioa 13 GPIO_ACTIVE_HIGH>;
41			label = "LED 1";
42		};
43	};
44
45	buttons {
46		compatible = "gpio-keys";
47		button0: button_0 {
48			gpios = <&gpiod 5 GPIO_ACTIVE_HIGH>;
49			label = "User Push Button 0";
50			zephyr,code = <INPUT_KEY_0>;
51		};
52		button1: button_1 {
53			gpios = <&gpiod 8 GPIO_ACTIVE_HIGH>;
54			label = "User Push Button 1";
55			zephyr,code = <INPUT_KEY_1>;
56		};
57	};
58};
59
60&usart0 {
61	current-speed = <115200>;
62	pinctrl-0 = <&usart0_default>;
63	pinctrl-names = "default";
64	status = "okay";
65};
66
67&usart4 {
68	current-speed = <115200>;
69	location-rx = <GECKO_LOCATION(0) GECKO_PORT_B GECKO_PIN(8)>;
70	location-tx = <GECKO_LOCATION(0) GECKO_PORT_B GECKO_PIN(7)>;
71	status = "okay";
72};
73
74&leuart0 {
75	current-speed = <9600>;
76	location-rx = <GECKO_LOCATION(1) GECKO_PORT_B GECKO_PIN(14)>;
77	location-tx = <GECKO_LOCATION(1) GECKO_PORT_B GECKO_PIN(13)>;
78	status = "okay";
79};
80
81&i2c0 {
82	pinctrl-0 = <&i2c0_default>;
83	pinctrl-names = "default";
84	status = "okay";
85};
86
87&i2c1 {
88	pinctrl-0 = <&i2c1_default>;
89	pinctrl-names = "default";
90	status = "okay";
91};
92
93&rtcc0 {
94	prescaler = <1>;
95	status = "okay";
96};
97
98&gpioa {
99	status = "okay";
100	board-controller-enable {
101		// VCOM Isolation. Set PA15 to HIGH to enable VCOM_{RX,TX}.
102		gpio-hog;
103		gpios = <15 GPIO_ACTIVE_HIGH>;
104		output-high;
105	};
106};
107
108&gpio {
109	location-swo = <0>;
110	status = "okay";
111};
112
113&gpiob {
114	status = "okay";
115};
116
117&gpioc {
118	status = "okay";
119};
120
121&gpiod {
122	status = "okay";
123};
124
125&gpioe {
126	status = "okay";
127};
128
129&gpiof {
130	status = "okay";
131};
132
133&flash0 {
134	partitions {
135		compatible = "fixed-partitions";
136		#address-cells = <1>;
137		#size-cells = <1>;
138
139		/* Set 12Kb of storage at the end of the 2048Kb of flash */
140		storage_partition: partition@1fd000 {
141			label = "storage";
142			reg = <0x001fd000 0x00003000>;
143		};
144	};
145};
146
147&wdog0 {
148	status = "okay";
149};
150
151&trng0 {
152	status = "okay";
153};
154
155&cpu0 {
156	clock-frequency = <72000000>;
157};
158