1/*
2 * Copyright (c) 2021 Nuvoton Technology Corporation.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <arm/armv7-m.dtsi>
8
9/* Macros for device tree declarations of npcx soc family */
10#include <zephyr/dt-bindings/adc/adc.h>
11#include <zephyr/dt-bindings/clock/npcx_clock.h>
12#include <zephyr/dt-bindings/flash_controller/npcx_fiu_qspi.h>
13#include <zephyr/dt-bindings/gpio/gpio.h>
14#include <zephyr/dt-bindings/i2c/i2c.h>
15#include <zephyr/dt-bindings/pinctrl/npcx-pinctrl.h>
16#include <zephyr/dt-bindings/pwm/pwm.h>
17#include <zephyr/dt-bindings/sensor/npcx_tach.h>
18#include <freq.h>
19
20/ {
21	cpus {
22		#address-cells = <1>;
23		#size-cells = <0>;
24
25		cpu0: cpu@0 {
26			device_type = "cpu";
27			compatible = "arm,cortex-m4f";
28			reg = <0>;
29			cpu-power-states = <&suspend_to_idle0 &suspend_to_idle1>;
30		};
31
32		power-states {
33			suspend_to_idle0: suspend-to-idle0 {
34				compatible = "zephyr,power-state";
35				power-state-name = "suspend-to-idle";
36				substate-id = <0>;
37				min-residency-us = <1000>;
38			};
39
40			suspend_to_idle1: suspend-to-idle1 {
41				compatible = "zephyr,power-state";
42				power-state-name = "suspend-to-idle";
43				substate-id = <1>;
44				min-residency-us = <201000>;
45			};
46		};
47	};
48
49	def-io-conf-list {
50		compatible = "nuvoton,npcx-pinctrl-def";
51		/* Change default functional pads to GPIOs
52		 * no_spip - PIN95.97.A1.A3
53		 * no_fpip - PIN96.A0.A2.A4 - Internal flash only
54		 * no_pwrgd - PIN72
55		 * no_lpc_espi - PIN46.47.51.52.53.54.55.57
56		 * no_peci_en - PIN81
57		 * npsl_in1_sl - PIND2
58		 * npsl_in2_sl - PIN00
59		 * no_ksi0-7 - PIN31.30.27.26.25.24.23.22
60		 * no_ks000-17 - PIN21.20.17.16.15.14.13.12.11.10.07.06.05.04.
61		 *                  82.83.03.B1
62		 */
63		pinmux = <>;
64	};
65
66	/** Dummy pinctrl node. It will be initialized with defaults based on the SoC series.
67	 *  Then, the user can override the pin control options at the board level.
68	 */
69	pinctrl: pinctrl {
70		compatible = "nuvoton,npcx-pinctrl";
71		status = "okay";
72	};
73
74	/* Dummy node of IOs that have leakage current. The user can override
75	 * 'leak-gpios' prop. at board DT file to save more power consumption.
76	 */
77	power_leakage_io: power-leakage-io {
78		compatible = "nuvoton,npcx-leakage-io";
79		status = "okay";
80	};
81
82	soc {
83		bbram: bb-ram@400af000 {
84			compatible = "nuvoton,npcx-bbram";
85			reg = <0x400af000 0x80
86			       0x400af100 0x1>;
87			reg-names = "memory", "status";
88		};
89
90		pcc: clock-controller@4000d000 {
91			compatible = "nuvoton,npcx-pcc";
92			/* Cells for bus type, clock control reg and bit */
93			#clock-cells = <3>;
94			/* First reg region is Power Management Controller */
95			/* Second reg region is Core Domain Clock Generator */
96			reg = <0x4000d000 0x2000
97			       0x400b5000 0x2000>;
98			reg-names = "pmc", "cdcg";
99		};
100
101		scfg: scfg@400c3000 {
102			compatible = "nuvoton,npcx-scfg";
103			/* First reg region is System Configuration Device */
104			/* Second reg region is Debugger Interface Device */
105			/* Third reg region is System Glue Device */
106			reg = <0x400c3000 0x70
107			       0x400c3070 0x30
108			       0x400a5000 0x2000>;
109			reg-names = "scfg", "dbg", "glue";
110			#alt-cells = <3>;
111			#lvol-cells = <2>;
112		};
113
114		mdc: mdc@4000c000 {
115			compatible = "syscon";
116			reg = <0x4000c000 0xa>;
117			reg-io-width = <1>;
118		};
119
120		mdc_header: mdc@4000c00a {
121			compatible = "syscon";
122			reg = <0x4000c00a 0x4>;
123			reg-io-width = <2>;
124		};
125
126		miwu0: miwu@400bb000 {
127			compatible = "nuvoton,npcx-miwu";
128			reg = <0x400bb000 0x2000>;
129			index = <0>;
130			#miwu-cells = <2>;
131		};
132
133		miwu1: miwu@400bd000 {
134			compatible = "nuvoton,npcx-miwu";
135			reg = <0x400bd000 0x2000>;
136			index = <1>;
137			#miwu-cells = <2>;
138		};
139
140		miwu2: miwu@400bf000 {
141			compatible = "nuvoton,npcx-miwu";
142			reg = <0x400bf000 0x2000>;
143			index = <2>;
144			#miwu-cells = <2>;
145		};
146
147		gpio0: gpio@40081000 {
148			compatible = "nuvoton,npcx-gpio";
149			reg = <0x40081000 0x2000>;
150			gpio-controller;
151			index = <0x0>;
152			#gpio-cells=<2>;
153		};
154
155		gpio1: gpio@40083000 {
156			compatible = "nuvoton,npcx-gpio";
157			reg = <0x40083000 0x2000>;
158			gpio-controller;
159			index = <0x1>;
160			#gpio-cells=<2>;
161		};
162
163		gpio2: gpio@40085000 {
164			compatible = "nuvoton,npcx-gpio";
165			reg = <0x40085000 0x2000>;
166			gpio-controller;
167			index = <0x2>;
168			#gpio-cells=<2>;
169		};
170
171		gpio3: gpio@40087000 {
172			compatible = "nuvoton,npcx-gpio";
173			reg = <0x40087000 0x2000>;
174			gpio-controller;
175			index = <0x3>;
176			#gpio-cells=<2>;
177		};
178
179		gpio4: gpio@40089000 {
180			compatible = "nuvoton,npcx-gpio";
181			reg = <0x40089000 0x2000>;
182			gpio-controller;
183			index = <0x4>;
184			#gpio-cells=<2>;
185		};
186
187		gpio5: gpio@4008b000 {
188			compatible = "nuvoton,npcx-gpio";
189			reg = <0x4008b000 0x2000>;
190			gpio-controller;
191			index = <0x5>;
192			#gpio-cells=<2>;
193		};
194
195		gpio6: gpio@4008d000 {
196			compatible = "nuvoton,npcx-gpio";
197			reg = <0x4008d000 0x2000>;
198			gpio-controller;
199			index = <0x6>;
200			#gpio-cells=<2>;
201		};
202
203		gpio7: gpio@4008f000 {
204			compatible = "nuvoton,npcx-gpio";
205			reg = <0x4008f000 0x2000>;
206			gpio-controller;
207			index = <0x7>;
208			#gpio-cells=<2>;
209		};
210
211		gpio8: gpio@40091000 {
212			compatible = "nuvoton,npcx-gpio";
213			reg = <0x40091000 0x2000>;
214			gpio-controller;
215			index = <0x8>;
216			#gpio-cells=<2>;
217		};
218
219		gpio9: gpio@40093000 {
220			compatible = "nuvoton,npcx-gpio";
221			reg = <0x40093000 0x2000>;
222			gpio-controller;
223			index = <0x9>;
224			#gpio-cells=<2>;
225		};
226
227		gpioa: gpio@40095000 {
228			compatible = "nuvoton,npcx-gpio";
229			reg = <0x40095000 0x2000>;
230			gpio-controller;
231			index = <0xA>;
232			#gpio-cells=<2>;
233		};
234
235		gpiob: gpio@40097000 {
236			compatible = "nuvoton,npcx-gpio";
237			reg = <0x40097000 0x2000>;
238			gpio-controller;
239			index = <0xB>;
240			#gpio-cells=<2>;
241		};
242
243		gpioc: gpio@40099000 {
244			compatible = "nuvoton,npcx-gpio";
245			reg = <0x40099000 0x2000>;
246			gpio-controller;
247			index = <0xC>;
248			#gpio-cells=<2>;
249		};
250
251		gpiod: gpio@4009b000 {
252			compatible = "nuvoton,npcx-gpio";
253			reg = <0x4009b000 0x2000>;
254			gpio-controller;
255			index = <0xD>;
256			#gpio-cells=<2>;
257		};
258
259		gpioe: gpio@4009d000 {
260			compatible = "nuvoton,npcx-gpio";
261			reg = <0x4009d000 0x2000>;
262			gpio-controller;
263			index = <0xE>;
264			#gpio-cells=<2>;
265		};
266
267		gpiof: gpio@4009f000 {
268			compatible = "nuvoton,npcx-gpio";
269			reg = <0x4009f000 0x2000>;
270			gpio-controller;
271			index = <0xF>;
272			#gpio-cells=<2>;
273		};
274
275		pwm0: pwm@40080000 {
276			compatible = "nuvoton,npcx-pwm";
277			reg = <0x40080000 0x2000>;
278			pwm-channel = <0>;
279			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 0>;
280			#pwm-cells = <3>;
281			status = "disabled";
282		};
283
284		pwm1: pwm@40082000 {
285			compatible = "nuvoton,npcx-pwm";
286			reg = <0x40082000 0x2000>;
287			pwm-channel = <1>;
288			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 1>;
289			#pwm-cells = <3>;
290			status = "disabled";
291		};
292
293		pwm2: pwm@40084000 {
294			compatible = "nuvoton,npcx-pwm";
295			reg = <0x40084000 0x2000>;
296			pwm-channel = <2>;
297			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 2>;
298			#pwm-cells = <3>;
299			status = "disabled";
300		};
301
302		pwm3: pwm@40086000 {
303			compatible = "nuvoton,npcx-pwm";
304			reg = <0x40086000 0x2000>;
305			pwm-channel = <3>;
306			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 3>;
307			#pwm-cells = <3>;
308			status = "disabled";
309		};
310
311		pwm4: pwm@40088000 {
312			compatible = "nuvoton,npcx-pwm";
313			reg = <0x40088000 0x2000>;
314			pwm-channel = <4>;
315			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 4>;
316			#pwm-cells = <3>;
317			status = "disabled";
318		};
319
320		pwm5: pwm@4008a000 {
321			compatible = "nuvoton,npcx-pwm";
322			reg = <0x4008a000 0x2000>;
323			pwm-channel = <5>;
324			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 5>;
325			#pwm-cells = <3>;
326			status = "disabled";
327		};
328
329		pwm6: pwm@4008c000 {
330			compatible = "nuvoton,npcx-pwm";
331			reg = <0x4008c000 0x2000>;
332			pwm-channel = <6>;
333			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 6>;
334			#pwm-cells = <3>;
335			status = "disabled";
336		};
337
338		pwm7: pwm@4008e000 {
339			compatible = "nuvoton,npcx-pwm";
340			reg = <0x4008e000 0x2000>;
341			pwm-channel = <7>;
342			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL2 7>;
343			#pwm-cells = <3>;
344			status = "disabled";
345		};
346
347		adc0: adc@400d1000 {
348			compatible = "nuvoton,npcx-adc";
349			#io-channel-cells = <1>;
350			reg = <0x400d1000 0x2000>;
351			interrupts = <10 3>;
352			clocks = <&pcc NPCX_CLOCK_BUS_APB1 NPCX_PWDWN_CTL4 4>;
353			vref-mv = <2816>;
354			status = "disabled";
355		};
356
357		twd0: watchdog@400d8000 {
358			compatible = "nuvoton,npcx-watchdog";
359			reg = <0x400d8000 0x2000>;
360			t0-out = <&wui_t0out>;
361		};
362
363		espi0: espi@4000a000 {
364			compatible = "nuvoton,npcx-espi";
365			reg = <0x4000a000 0x2000>;
366			interrupts = <18 3>; /* Interrupt for eSPI Bus */
367
368			/* clocks for eSPI modules */
369			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL6 7>;
370			/* WUI maps for eSPI signals */
371			espi-rst-wui = <&wui_espi_rst>;
372
373			#address-cells = <1>;
374			#size-cells = <0>;
375			#vw-cells = <3>;
376			status = "disabled";
377		};
378
379		shi0: shi@4000f000 {
380			compatible = "nuvoton,npcx-shi";
381			reg = <0x4000f000 0x120>;
382			interrupts = <18 1>;
383			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 1>;
384			status = "disabled";
385			buffer-rx-size = <128>;
386			buffer-tx-size = <128>;
387		};
388
389		host_sub: lpc@400c1000 {
390			compatible = "nuvoton,npcx-host-sub";
391			/* host sub-module register address & size */
392			reg = <0x400c1000 0x2000
393			       0x40010000 0x2000
394			       0x4000e000 0x2000
395			       0x400c7000 0x2000
396			       0x400c9000 0x2000
397			       0x400cb000 0x2000>;
398			reg-names = "mswc", "shm", "c2h", "kbc", "pm_acpi",
399				    "pm_hcmd";
400
401			/* host sub-module IRQ and priority */
402			interrupts = <25 3>, /* KBC Input-Buf-Full (IBF) */
403				     <56 3>, /* KBC Output-Buf-Empty (OBE) */
404				     <26 3>, /* PMCH Input-Buf-Full (IBF) */
405				     <3 3>,  /* PMCH Output-Buf-Empty (OBE) */
406				     <6 3>;  /* Port80 FIFO Not Empty */
407			interrupt-names = "kbc_ibf", "kbc_obe", "pmch_ibf",
408					  "pmch_obe", "p80_fifo";
409
410			/* WUI map for accessing host sub-modules */
411			host-acc-wui = <&wui_host_acc>;
412
413			/* clocks for host sub-modules */
414			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 3>,
415				<&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 4>,
416				<&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 5>,
417				<&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 6>,
418				<&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL5 7>;
419		};
420
421		/* I2c Controllers - Do not use them as i2c node directly */
422		i2c_ctrl0: i2c@40009000 {
423			compatible = "nuvoton,npcx-i2c-ctrl";
424			reg = <0x40009000 0x1000>;
425			interrupts = <13 3>;
426			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL3 0>;
427			status = "disabled";
428		};
429
430		i2c_ctrl1: i2c@4000b000 {
431			compatible = "nuvoton,npcx-i2c-ctrl";
432			reg = <0x4000b000 0x1000>;
433			interrupts = <14 3>;
434			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL3 1>;
435			status = "disabled";
436		};
437
438		i2c_ctrl2: i2c@400c0000 {
439			compatible = "nuvoton,npcx-i2c-ctrl";
440			reg = <0x400c0000 0x1000>;
441			interrupts = <36 3>;
442			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL3 2>;
443			status = "disabled";
444		};
445
446		i2c_ctrl3: i2c@400c2000 {
447			compatible = "nuvoton,npcx-i2c-ctrl";
448			reg = <0x400c2000 0x1000>;
449			interrupts = <37 3>;
450			clocks = <&pcc NPCX_CLOCK_BUS_APB2 NPCX_PWDWN_CTL3 3>;
451			status = "disabled";
452		};
453
454		i2c_ctrl4: i2c@40008000 {
455			compatible = "nuvoton,npcx-i2c-ctrl";
456			reg = <0x40008000 0x1000>;
457			interrupts = <19 3>;
458			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL3 4>;
459			status = "disabled";
460		};
461
462		i2c_ctrl5: i2c@40017000 {
463			compatible = "nuvoton,npcx-i2c-ctrl";
464			reg = <0x40017000 0x1000>;
465			interrupts = <20 3>;
466			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL7 0>;
467			status = "disabled";
468		};
469
470		i2c_ctrl6: i2c@40018000 {
471			compatible = "nuvoton,npcx-i2c-ctrl";
472			reg = <0x40018000 0x1000>;
473			interrupts = <16 3>;
474			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL7 1>;
475			status = "disabled";
476		};
477
478		i2c_ctrl7: i2c@40019000 {
479			compatible = "nuvoton,npcx-i2c-ctrl";
480			reg = <0x40019000 0x1000>;
481			interrupts = <8 3>;
482			clocks = <&pcc NPCX_CLOCK_BUS_APB3 NPCX_PWDWN_CTL7 2>;
483			status = "disabled";
484		};
485
486		tach1: tach@400e1000 {
487			compatible = "nuvoton,npcx-tach";
488			reg = <0x400e1000 0x2000>;
489			clocks = <&pcc NPCX_CLOCK_BUS_LFCLK NPCX_PWDWN_CTL1 5>;
490			status = "disabled";
491		};
492
493		tach2: tach@400e3000 {
494			compatible = "nuvoton,npcx-tach";
495			reg = <0x400e3000 0x2000>;
496			clocks = <&pcc NPCX_CLOCK_BUS_LFCLK NPCX_PWDWN_CTL1 6>;
497			status = "disabled";
498		};
499
500		ps2_ctrl0: ps2@400b1000 {
501			compatible = "nuvoton,npcx-ps2-ctrl";
502			reg = <0x400b1000 0x1000>;
503			interrupts = <21 4>;
504			clocks = <&pcc NPCX_CLOCK_BUS_FREERUN NPCX_PWDWN_CTL1 3>;
505
506			/* PS2 Channels - Please use them as PS2 node */
507			ps2_channel0: io_ps2_channel0 {
508				compatible = "nuvoton,npcx-ps2-channel";
509				channel = <0x00>;
510				status = "disabled";
511			};
512
513			ps2_channel1: io_ps2_channel1 {
514				compatible = "nuvoton,npcx-ps2-channel";
515				channel = <0x01>;
516				status = "disabled";
517			};
518
519			ps2_channel2: io_ps2_channel2 {
520				compatible = "nuvoton,npcx-ps2-channel";
521				channel = <0x02>;
522				status = "disabled";
523			};
524
525			ps2_channel3: io_ps2_channel3 {
526				compatible = "nuvoton,npcx-ps2-channel";
527				channel = <0x03>;
528				status = "disabled";
529			};
530		};
531
532		/* Dedicated Quad-SPI interface to access SPI flashes */
533		qspi_fiu0: quadspi@40020000 {
534			compatible = "nuvoton,npcx-fiu-qspi";
535			#address-cells = <1>;
536			#size-cells = <0>;
537			reg = <0x40020000 0x2000>;
538		};
539
540		peci0: peci@400d4000 {
541			compatible = "nuvoton,npcx-peci";
542			reg = <0x400d4000 0x1000>;
543			#address-cells = <1>;
544			#size-cells = <0>;
545			interrupts = <4 4>;
546			clocks = <&pcc NPCX_CLOCK_BUS_FMCLK NPCX_PWDWN_CTL4 5>;
547			status = "disabled";
548		};
549
550		kbd: kbd@400a3000 {
551			compatible = "nuvoton,npcx-kbd";
552			reg = <0x400a3000 0x2000>;
553			interrupts = <49 4>;
554			clocks = <&pcc NPCX_CLOCK_BUS_APB1 NPCX_PWDWN_CTL1 0>;
555			wui-maps = <&wui_io31 &wui_io30 &wui_io27 &wui_io26
556				    &wui_io25 &wui_io24 &wui_io23 &wui_io22>;
557			status = "disabled";
558		};
559	};
560
561	soc-if {
562		/* Soc specific peripheral interface phandles which don't contain
563		 * 'reg' prop. Please overwrite 'status' prop. to 'okay' if you
564		 * want to switch the interface from io to specific peripheral.
565		 */
566		host_uart: io_host_uart {
567			compatible = "nuvoton,npcx-host-uart";
568			status = "disabled";
569		};
570
571		i2c0_0: io_i2c_ctrl0_port0 {
572			compatible = "nuvoton,npcx-i2c-port";
573			#address-cells = <1>;
574			#size-cells = <0>;
575			port = <0x00>;
576			controller = <&i2c_ctrl0>;
577			status = "disabled";
578		};
579
580		i2c1_0: io_i2c_ctrl1_port0 {
581			compatible = "nuvoton,npcx-i2c-port";
582			#address-cells = <1>;
583			#size-cells = <0>;
584			port = <0x10>;
585			controller = <&i2c_ctrl1>;
586			status = "disabled";
587		};
588
589		i2c2_0: io_i2c_ctrl2_port0 {
590			compatible = "nuvoton,npcx-i2c-port";
591			#address-cells = <1>;
592			#size-cells = <0>;
593			port = <0x20>;
594			controller = <&i2c_ctrl2>;
595			status = "disabled";
596		};
597
598		i2c3_0: io_i2c_ctrl3_port0 {
599			compatible = "nuvoton,npcx-i2c-port";
600			#address-cells = <1>;
601			#size-cells = <0>;
602			port = <0x30>;
603			controller = <&i2c_ctrl3>;
604			status = "disabled";
605		};
606
607		i2c4_1: io_i2c_ctrl4_port1 {
608			compatible = "nuvoton,npcx-i2c-port";
609			#address-cells = <1>;
610			#size-cells = <0>;
611			port = <0x41>;
612			controller = <&i2c_ctrl4>;
613			status = "disabled";
614		};
615
616		i2c5_0: io_i2c_ctrl5_port0 {
617			compatible = "nuvoton,npcx-i2c-port";
618			#address-cells = <1>;
619			#size-cells = <0>;
620			port = <0x50>;
621			controller = <&i2c_ctrl5>;
622			status = "disabled";
623		};
624
625		i2c5_1: io_i2c_ctrl5_port1 {
626			compatible = "nuvoton,npcx-i2c-port";
627			#address-cells = <1>;
628			#size-cells = <0>;
629			port = <0x51>;
630			controller = <&i2c_ctrl5>;
631			status = "disabled";
632		};
633
634		i2c6_0: io_i2c_ctrl6_port0 {
635			compatible = "nuvoton,npcx-i2c-port";
636			#address-cells = <1>;
637			#size-cells = <0>;
638			port = <0x60>;
639			controller = <&i2c_ctrl6>;
640			status = "disabled";
641		};
642
643		i2c6_1: io_i2c_ctrl6_port1 {
644			compatible = "nuvoton,npcx-i2c-port";
645			#address-cells = <1>;
646			#size-cells = <0>;
647			port = <0x61>;
648			controller = <&i2c_ctrl6>;
649			status = "disabled";
650		};
651
652		i2c7_0: io_i2c_ctrl7_port0 {
653			compatible = "nuvoton,npcx-i2c-port";
654			#address-cells = <1>;
655			#size-cells = <0>;
656			port = <0x70>;
657			controller = <&i2c_ctrl7>;
658			status = "disabled";
659		};
660
661		power_ctrl_psl: power-ctrl-psl {
662			compatible = "nuvoton,npcx-power-psl";
663			status = "disabled";
664		};
665	};
666
667	soc-id {
668		compatible = "nuvoton,npcx-soc-id";
669		family-id = <0x20>;
670	};
671
672	booter-variant {
673		compatible = "nuvoton,npcx-booter-variant";
674	};
675};
676
677&nvic {
678	arm,num-irq-priority-bits = <3>;
679};
680