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 = "intel,pcie";
53		ranges;
54
55		can0: can0 {
56			compatible = "kvaser,pcican";
57			status = "okay";
58			vendor-id = <0x10e8>;
59			device-id = <0x8406>;
60			interrupts = <11 IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
61			interrupt-parent = <&intc>;
62			bus-speed = <125000>;
63			sample-point = <875>;
64
65			can-transceiver {
66				max-bitrate = <1000000>;
67			};
68		};
69
70		eth0: eth0 {
71			compatible = "intel,e1000";
72
73			vendor-id = <0x8086>;
74			device-id = <0x100e>;
75
76			interrupts = <11 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
77			interrupt-parent = <&intc>;
78
79			status = "okay";
80		};
81	};
82
83	sim_flash: sim_flash {
84		compatible = "zephyr,sim-flash";
85
86		#address-cells = <1>;
87		#size-cells = <1>;
88		erase-value = <0xff>;
89
90		flash_sim0: flash_sim@0 {
91			compatible = "soc-nv-flash";
92			reg = <0x00000000 DT_SIZE_K(1024)>;
93
94			erase-block-size = <1024>;
95			write-block-size = <4>;
96		};
97	};
98
99	eeprom1: eeprom1 {
100		status = "okay";
101		compatible = "zephyr,emu-eeprom";
102		size = <DT_SIZE_K(4)>;
103		pagesize = <DT_SIZE_K(8)>;
104		partition = <&eepromemu_partition>;
105		rambuf;
106	};
107
108	eeprom0: eeprom0 {
109		status = "okay";
110		compatible = "zephyr,sim-eeprom";
111		size = <DT_SIZE_K(4)>;
112	};
113
114	ieee802154: ieee802154 {
115		compatible = "zephyr,ieee802154-uart-pipe";
116	};
117
118};
119
120&uart0 {
121	status = "okay";
122	current-speed = <115200>;
123};
124
125&uart1 {
126	status = "okay";
127	current-speed = <115200>;
128};
129
130&hpet {
131	status = "okay";
132};
133
134&flash_sim0 {
135
136	partitions {
137		compatible = "fixed-partitions";
138		#address-cells = <1>;
139		#size-cells = <1>;
140
141		/*
142		 * Storage partition will be used by FCB/LittleFS/NVS
143		 * if enabled.
144		 */
145		storage_partition: partition@1000 {
146			label = "storage";
147			reg = <0x00001000 0x00010000>;
148		};
149
150		slot0_partition: partition@11000 {
151			label = "image-0";
152			reg = <0x00011000 0x00010000>;
153		};
154		slot1_partition: partition@21000 {
155			label = "image-1";
156			reg = <0x00021000 0x00010000>;
157		};
158		eepromemu_partition: partition@31000 {
159			label = "eeprom-emu";
160			reg = <0x00031000 0x00010000>;
161		};
162	};
163};
164