mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-31 22:55:57 +00:00
There are three groups of sensors on this board, each of which requires a different I2C bus configuration and a different power supply. Currently only the CCS811 is supported. Change the board configuration to pull the necessary information about the CCS811 supply switch from devicetree, and to supply power based on whether the device is enabled in devicetree (rather than whether a driver is selected). The implementation is designed to support additional supply switches (there are at least six on the board, most of which are dedicated). Also document the I2C configuration necessary for the other sensors. There is currently no way to select alternative configurations without editing the devicetree binding, but at least they're available for use in overlays. Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
192 lines
3.7 KiB
Plaintext
192 lines
3.7 KiB
Plaintext
/*
|
|
* Copyright (c) 2018 Diego Sueiro
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <silabs/efr32mg12p332f1024gl125.dtsi>
|
|
|
|
/ {
|
|
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;
|
|
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";
|
|
};
|
|
button1: button_1 {
|
|
/* gpio flags need validation */
|
|
gpios = <&gpiod 15 GPIO_ACTIVE_LOW>;
|
|
label = "User Push Button 1";
|
|
};
|
|
};
|
|
};
|
|
|
|
&cpu0 {
|
|
clock-frequency = <38400000>;
|
|
};
|
|
|
|
&usart0 {
|
|
current-speed = <115200>;
|
|
location-rx = <GECKO_LOCATION(0) GECKO_PORT_A GECKO_PIN(1)>;
|
|
location-tx = <GECKO_LOCATION(0) GECKO_PORT_A GECKO_PIN(0)>;
|
|
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";
|
|
label = "MX25R8035F";
|
|
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";
|
|
};
|
|
|
|
&i2c0 {
|
|
location-sda = <GECKO_LOCATION(15) GECKO_PORT_C GECKO_PIN(10)>;
|
|
location-scl = <GECKO_LOCATION(15) GECKO_PORT_C GECKO_PIN(11)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c1 {
|
|
/* This set selects for CCS811_I2C supporting CCS811 */
|
|
location-sda = <GECKO_LOCATION(6) GECKO_PORT_B GECKO_PIN(6)>;
|
|
location-scl = <GECKO_LOCATION(6) GECKO_PORT_B GECKO_PIN(7)>;
|
|
|
|
ccs811: ccs811@5a {
|
|
compatible = "ams,ccs811";
|
|
reg = <0x5a>;
|
|
label = "CCS811";
|
|
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";
|
|
};
|
|
|
|
&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";
|
|
};
|