Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/*
 * 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;
		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";
		};
		button1: button_1 {
			/* gpio flags need validation */
			gpios = <&gpiod 15 GPIO_ACTIVE_LOW>;
			label = "User Push Button 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>;
	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";
		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)>;
	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";
};