zephyr/boards/silabs/efr32mg_sltb004a/efr32mg_sltb004a.dts

235 lines
4.4 KiB
Plaintext

/*
* Copyright (c) 2018 Diego Sueiro
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <silabs/efr32mg12p332f1024gl125.dtsi>
#include <silabs/efr32xg13p-pinctrl.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
/ {
model = "Silabs EFR32MG SLTB004A board (aka Thunderboard Sense 2)";
compatible = "silabs,efr32mg_sltb004a", "silabs,efr32mg";
/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led0;
led1 = &led1;
pwm-led0 = &pwm_led0;
sw0 = &button0;
sw1 = &button1;
watchdog0 = &wdog0;
watchdog1 = &wdog1;
spi-flash0 = &mx25r80;
};
chosen {
zephyr,console = &usart0;
zephyr,shell-uart = &usart0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpiod 8 0>;
label = "LED 0";
};
led1: led_1 {
gpios = <&gpiod 9 0>;
label = "LED 1";
};
};
buttons {
compatible = "gpio-keys";
button0: button_0 {
/* gpio flags need validation */
gpios = <&gpiod 14 GPIO_ACTIVE_LOW>;
label = "User Push Button 0";
zephyr,code = <INPUT_KEY_0>;
};
button1: button_1 {
/* gpio flags need validation */
gpios = <&gpiod 15 GPIO_ACTIVE_LOW>;
label = "User Push Button 1";
zephyr,code = <INPUT_KEY_1>;
};
};
pwmleds {
compatible = "pwm-leds";
status = "okay";
pwm_led0: pwm_led0 {
pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
};
};
};
&cpu0 {
clock-frequency = <38400000>;
};
&usart0 {
current-speed = <115200>;
pinctrl-0 = <&usart0_default>;
pinctrl-names = "default";
status = "okay";
};
&usart2 {
compatible = "silabs,gecko-spi-usart";
#address-cells = <1>;
#size-cells = <0>;
location-rx = <GECKO_LOCATION(30) GECKO_PORT_K GECKO_PIN(2)>;
location-tx = <GECKO_LOCATION(29) GECKO_PORT_K GECKO_PIN(0)>;
location-clk = <GECKO_LOCATION(18) GECKO_PORT_F GECKO_PIN(7)>;
cs-gpios = <&gpiok 1 GPIO_ACTIVE_LOW>;
status = "okay";
mx25r80: mx25r8035f@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
size = <0x800000>;
jedec-id = [c2 28 14];
sfdp-bfp = [
e5 20 f1 ff ff ff 7f 00 44 eb 08 6b 08 3b 04 bb
ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52
10 d8 00 ff 23 72 f5 00 82 ed 04 b7 44 83 38 44
30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff
];
};
};
&leuart0 {
current-speed = <9600>;
location-rx = <GECKO_LOCATION(27) GECKO_PORT_F GECKO_PIN(4)>;
location-tx = <GECKO_LOCATION(27) GECKO_PORT_F GECKO_PIN(3)>;
status = "okay";
};
&pinctrl {
i2c0_default: i2c0_default {
group1 {
psels = <GECKO_PSEL(I2C_SDA, C, 10)>,
<GECKO_PSEL(I2C_SCL, C, 11)>,
<GECKO_LOC(I2C_SDA, 15)>,
<GECKO_LOC(I2C_SCL, 15)>;
};
};
i2c1_default: i2c1_default {
group1 {
psels = <GECKO_PSEL(I2C_SDA, B, 6)>,
<GECKO_PSEL(I2C_SCL, B, 7)>,
<GECKO_LOC(I2C_SDA, 6)>,
<GECKO_LOC(I2C_SCL, 6)>;
};
};
};
&i2c0 {
pinctrl-0 = <&i2c0_default>;
pinctrl-names = "default";
status = "okay";
};
&i2c1 {
/* This set selects for CCS811_I2C supporting CCS811 */
pinctrl-0 = <&i2c1_default>;
pinctrl-names = "default";
status = "okay";
ccs811: ccs811@5a {
compatible = "ams,ccs811";
reg = <0x5a>;
supply-gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
irq-gpios = <&gpiof 13 GPIO_ACTIVE_LOW>;
wake-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
};
/* This set selects for ENV_I2C supporting Si7021, Si11330, BMP280 */
/*
location-sda = <GECKO_LOCATION(17) GECKO_PORT_C GECKO_PIN(4)>;
location-scl = <GECKO_LOCATION(17) GECKO_PORT_C GECKO_PIN(5)>;
*/
/* This set selects for HALL_I2C supporting Si7210 */
/*
location-sda = <GECKO_LOCATION(8) GECKO_PORT_B GECKO_PIN(8)>;
location-scl = <GECKO_LOCATION(8) GECKO_PORT_B GECKO_PIN(9)>;
*/
};
&rtcc0 {
prescaler = <1>;
status = "okay";
};
&timer0 {
status = "okay";
pwm0: pwm {
status = "okay";
pin-location = <GECKO_LOCATION(17) GECKO_PORT_D GECKO_PIN(9)>;
prescaler = <1024>;
};
};
&gpio {
location-swo = <0>;
status = "okay";
};
&gpioa {
status = "okay";
};
&gpiod {
status = "okay";
};
&gpiof {
status = "okay";
};
&gpiok {
status = "okay";
};
&wdog0 {
status = "okay";
};
&wdog1 {
status = "okay";
};
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/* Set 6Kb of storage at the end of the 1024Kb of flash */
storage_partition: partition@fe800 {
label = "storage";
reg = <0x000fe800 0x00001800>;
};
};
};
&trng0 {
status = "okay";
};