1/* SPDX-License-Identifier: Apache-2.0 */
2
3/dts-v1/;
4
5#include <mem.h>
6
7#ifndef DT_DRAM_BASE
8#define DT_DRAM_BASE		0
9#endif
10#ifndef DT_DRAM_SIZE
11#define DT_DRAM_SIZE		DT_SIZE_M(32)
12#endif
13#define DT_FLASH_SIZE		DT_SIZE_K(4096)
14
15#include <intel/ia32.dtsi>
16#include <zephyr/dt-bindings/pcie/pcie.h>
17
18/ {
19	model = "QEMU X86 emulator";
20	compatible = "qemu,x86_emulator";
21
22	flash0: flash@500000 {
23		compatible = "soc-nv-flash";
24		reg = <0x00500000 DT_FLASH_SIZE>;
25	};
26
27	aliases {
28		uart-0 = &uart0;
29		uart-1 = &uart1;
30		eeprom-0 = &eeprom0;
31		eeprom-1 = &eeprom1;
32		rtc = &rtc;
33	};
34
35	chosen {
36		zephyr,sram = &dram0;
37		zephyr,flash = &flash0;
38		zephyr,console = &uart0;
39		zephyr,shell-uart = &uart0;
40		zephyr,bt-uart = &uart1;
41		zephyr,uart-pipe = &uart1;
42		zephyr,bt-mon-uart = &uart1;
43		zephyr,code-partition = &slot0_partition;
44		zephyr,flash-controller = &sim_flash;
45		zephyr,ieee802154 = &ieee802154;
46		zephyr,canbus = &can0;
47	};
48
49	pcie0: pcie0 {
50		#address-cells = <1>;
51		#size-cells = <1>;
52		compatible = "pcie-controller";
53		acpi-hid = "PNP0A08";
54		ranges;
55
56		can0: can0 {
57			compatible = "kvaser,pcican";
58			status = "okay";
59			vendor-id = <0x10e8>;
60			device-id = <0x8406>;
61			interrupts = <11 IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
62			interrupt-parent = <&intc>;
63			bus-speed = <125000>;
64			sample-point = <875>;
65
66			can-transceiver {
67				max-bitrate = <1000000>;
68			};
69		};
70
71		eth0: eth0 {
72			compatible = "intel,e1000";
73
74			vendor-id = <0x8086>;
75			device-id = <0x100e>;
76
77			interrupts = <11 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
78			interrupt-parent = <&intc>;
79
80			status = "okay";
81		};
82	};
83
84	sim_flash: sim_flash {
85		compatible = "zephyr,sim-flash";
86
87		#address-cells = <1>;
88		#size-cells = <1>;
89		erase-value = <0xff>;
90
91		flash_sim0: flash_sim@0 {
92			compatible = "soc-nv-flash";
93			reg = <0x00000000 DT_SIZE_K(1024)>;
94
95			erase-block-size = <1024>;
96			write-block-size = <4>;
97		};
98	};
99
100	eeprom1: eeprom1 {
101		status = "okay";
102		compatible = "zephyr,emu-eeprom";
103		size = <DT_SIZE_K(4)>;
104		pagesize = <DT_SIZE_K(8)>;
105		partition = <&eepromemu_partition>;
106		rambuf;
107	};
108
109	eeprom0: eeprom0 {
110		status = "okay";
111		compatible = "zephyr,sim-eeprom";
112		size = <DT_SIZE_K(4)>;
113	};
114
115	ieee802154: ieee802154 {
116		compatible = "zephyr,ieee802154-uart-pipe";
117	};
118
119};
120
121&uart0 {
122	status = "okay";
123	current-speed = <115200>;
124};
125
126&uart1 {
127	status = "okay";
128	current-speed = <115200>;
129};
130
131&hpet {
132	status = "okay";
133};
134
135&flash_sim0 {
136
137	partitions {
138		compatible = "fixed-partitions";
139		#address-cells = <1>;
140		#size-cells = <1>;
141
142		/*
143		 * Storage partition will be used by FCB/LittleFS/NVS
144		 * if enabled.
145		 */
146		storage_partition: partition@1000 {
147			label = "storage";
148			reg = <0x00001000 0x00010000>;
149		};
150
151		slot0_partition: partition@11000 {
152			label = "image-0";
153			reg = <0x00011000 0x00010000>;
154		};
155		slot1_partition: partition@21000 {
156			label = "image-1";
157			reg = <0x00021000 0x00010000>;
158		};
159		eepromemu_partition: partition@31000 {
160			label = "eeprom-emu";
161			reg = <0x00031000 0x00010000>;
162		};
163	};
164};
165