| /* |
| * Copyright (c) 2018 Diego Sueiro |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| #include <silabs/efr32mg12p332f1024gl125.dtsi> |
| #include "sltb004a-pinctrl.dtsi" |
| #include <zephyr/dt-bindings/input/input-event-codes.h> |
| |
| / { |
| model = "Silabs EFR32MG12 SLTB004A board (aka Thunderboard Sense 2)"; |
| compatible = "silabs,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; |
| }; |
| |
| 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"; |
| }; |