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

/* SPDX-License-Identifier: Apache-2.0 */

/dts-v1/;

#include <mem.h>

#ifndef DT_DRAM_BASE
#define DT_DRAM_BASE		0
#endif
#ifndef DT_DRAM_SIZE
#define DT_DRAM_SIZE		DT_SIZE_K(4096)
#endif
#define DT_FLASH_SIZE		DT_SIZE_K(4096)

#include <ia32.dtsi>

/ {
	model = "QEMU X86";
	compatible = "intel,ia32";

	flash0: flash@500000 {
		compatible = "soc-nv-flash";
		reg = <0x00500000 DT_FLASH_SIZE>;
	};

	aliases {
		uart-0 = &uart0;
		uart-1 = &uart1;
		eeprom-0 = &eeprom0;
	};

	chosen {
		zephyr,sram = &dram0;
		zephyr,flash = &flash0;
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,bt-uart = &uart1;
		zephyr,uart-pipe = &uart1;
		zephyr,bt-mon-uart = &uart1;
		zephyr,code-partition = &slot0_partition;
		zephyr,flash-controller = &sim_flash;
	};

	soc {
		eth0: eth@febc0000 {
			compatible = "intel,e1000";
			reg = <0xfebc0000 0x100>;
			label = "eth0";
			interrupts = <11 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
			interrupt-parent = <&intc>;

			status = "okay";
		};
	};

	sim_flash: sim_flash {
		compatible = "zephyr,sim-flash";
		label = "FLASH_SIMULATOR";

		#address-cells = <1>;
		#size-cells = <1>;
		erase-value = <0xff>;

		flash_sim0: flash_sim@0 {
			compatible = "soc-nv-flash";
			reg = <0x00000000 DT_SIZE_K(1024)>;

			erase-block-size = <1024>;
			write-block-size = <4>;
		};
	};

	eeprom0: eeprom {
		status = "okay";
		compatible = "zephyr,sim-eeprom";
		label = "EEPROM_0";
		size = <DT_SIZE_K(32)>;
	};
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
};

&uart1 {
	status = "okay";
	current-speed = <115200>;
};

&hpet {
	status = "okay";
};

&flash_sim0 {

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

		/*
		 * Storage partition will be used by FCB/LittleFS/NVS
		 * if enabled.
		 */
		storage_partition: partition@1000 {
			label = "storage";
			reg = <0x00001000 0x00010000>;
		};

		slot0_partition: partition@11000 {
			label = "image-0";
			reg = <0x00011000 0x00010000>;
		};
		slot1_partition: partition@21000 {
			label = "image-1";
			reg = <0x00021000 0x00010000>;
		};
	};
};