Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

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

Bootlin logo

Elixir Cross Referencer

/*
 * 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 0>;

	status = "okay";

	mx25r80: mx25r8035f@0 {
		compatible = "jedec,spi-nor";
		label = "MX25R8035F";
		reg = <0>;
		spi-max-frequency = <80000000>;
		size = <0x800000>;
		has-be32k;
		jedec-id = [c2 28 14];
	};
};

&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 {
	location-sda = <GECKO_LOCATION(17) GECKO_PORT_C GECKO_PIN(4)>;
	location-scl = <GECKO_LOCATION(17) GECKO_PORT_C GECKO_PIN(5)>;
	status = "okay";
};

&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 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
	 */
	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";
};