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) 2021 Actinius
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/ {
	model = "Actinius Icarus Bee";
	compatible = "actinius,icarus_bee";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,uart-mcumgr = &uart0;
	};

	leds {
		compatible = "gpio-leds";

		red_led: led_0 {
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
			label = "Red LED";
		};

		green_led: led_1 {
			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
			label = "Green LED";
		};

		blue_led: led_2 {
			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
			label = "Blue LED";
		};
	};

	pwmleds {
		compatible = "pwm-leds";

		red_pwm_led: led_pwm_0 {
			pwms = <&pwm0 21>;
			label = "Red PWM LED";
		};

		green_pwm_led: led_pwm_1 {
			pwms = <&pwm0 22>;
			label = "Green PWM LED";
		};

		blue_pwm_led: led_pwm_2 {
			pwms = <&pwm0 25>;
			label = "Blue PWM LED";
		};
	};

	buttons {
		compatible = "gpio-keys";

		button0: button_0 {
			gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
			label = "Push Button 1";
		};
	};

	aliases {
		led0 = &red_led;
		led1 = &green_led;
		led2 = &blue_led;
		pwm-led0 = &red_pwm_led;
		pwm-led1 = &green_pwm_led;
		pwm-led2 = &blue_pwm_led;
		red-pwm-led = &red_pwm_led;
		green-pwm-led = &green_pwm_led;
		blue-pwm-led = &blue_pwm_led;
		sw0 = &button0;
		bootloader-led0 = &green_pwm_led;
	};
};

&adc {
	status ="okay";
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&uart0 {
	status = "okay";

	current-speed = <115200>;
	tx-pin = <2>;
	rx-pin = <5>;
	cts-pin = <14>;
	rts-pin = <18>;
};

&i2c2 {
	compatible = "nordic,nrf-twim";
	status = "okay";

	clock-frequency = <I2C_BITRATE_FAST>;
	sda-pin = <10>;
	scl-pin = <11>;

	lis2dh12-accel@19 {
		compatible = "st,lis2dh12", "st,lis2dh";
		reg = <0x19>;
		irq-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>,
			  <&gpio0 29 GPIO_ACTIVE_HIGH>;
		label = "LIS2DH12-ACCEL";
	};
};

&spi3 {
	compatible = "nordic,nrf-spim";
	status = "okay";

	sck-pin = <6>;
	mosi-pin = <3>;
	miso-pin = <8>;

	cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;

	w25q64: w25q64jv@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <80000000>;
		label = "W25Q64";
		jedec-id = [ef 40 17];
		size = <0x4000000>;
		has-dpd;
		t-enter-dpd = <3500>;
		t-exit-dpd = <3500>;
	};
};

&pwm0 {
	status = "okay";

	ch0-pin = <21>;
	ch0-inverted;

	ch1-pin = <22>;
	ch1-inverted;

	ch2-pin = <25>;
	ch2-inverted;
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&timer2 {
	status = "okay";
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x10000>;
		};
		slot0_partition: partition@10000 {
			label = "image-0";
		};
		slot0_ns_partition: partition@50000 {
			label = "image-0-nonsecure";
		};
		slot1_partition: partition@80000 {
			label = "image-1";
		};
		slot1_ns_partition: partition@c0000 {
			label = "image-1-nonsecure";
		};
		scratch_partition: partition@f0000 {
			label = "image-scratch";
			reg = <0x000f0000 0xa000>;
		};
		storage_partition: partition@fa000 {
			label = "storage";
			reg = <0x000fa000 0x00006000>;
		};
	};
};

/ {

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		sram0_s: image_s@20000000 {
			/* Secure image memory */
		};

		sram0_modem: image_modem@20010000 {
			/* Modem (shared) memory */
		};

		sram0_ns: image_ns@20020000 {
			/* Non-Secure image memory */
		};
	};
};

/* Include partition configuration file */
#include "actinius_icarus_bee_partition_conf.dts"