Skip to content

Commit 4885261

Browse files
alvsunkartben
authored andcommitted
dts: arm: npcx: Add dts files for NPCK3 series
K3 series is a Nuvoton embedded controller based on NPCX series. Add npck3m8k dtsi Signed-off-by: Alvis Sun <[email protected]> Signed-off-by: Mulin Chao <[email protected]>
1 parent d63aac0 commit 4885261

14 files changed

+3142
-0
lines changed

dts/arm/nuvoton/npck/npck-alts-map.dtsi

Lines changed: 573 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
/*
2+
* Copyright (c) 2025 Nuvoton Technology Corporation.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/espi/npcx_espi.h>
8+
9+
/*
10+
* Nuvoton NPCK3 eSPI Virtual Wires Mapping Table
11+
* |--------------------------------------------------------------------------|
12+
* | VW idx | SLV reg | Wire Bit 3 | Wire Bit 2 | Wire Bit 1| Wire Bit 0 |
13+
* |--------------------------------------------------------------------------|
14+
* | Input (Master-to-Slave) Virtual Wires |
15+
* |--------------------------------------------------------------------------|
16+
* | 02h[S] | VWEVMS0 | Reserved | SLP_S5# | SLP_S4# | SLP_S3# |
17+
* | 03h[S] | VWEVMS1 | Reserved | OOB_RST_WARN | PLTRST# | SUS_STAT# |
18+
* | 07h[S] | VWEVMS2 | Reserved | Reserved | Reserved | HOS_RST_WARN|
19+
* | 41h[P] | VWEVMS3 | SLP_A# | Reserved | SUS_PDNACK| SUS_WARN# |
20+
* | 42h[P] | VWEVMS4 | Reserved | Reserved | SLP_WLAN# | SLP_LAN# |
21+
* |--------------------------------------------------------------------------|
22+
* | Output (Slave-to-Master) Virtual Wires |
23+
* |--------------------------------------------------------------------------|
24+
* | 04h[S] | VWEVSM0 | PME# | WAKE# | Reserved | OOB_RST_ACK |
25+
* | 05h[S] | VWEVSM1 | SLV_BOOT_STS | ERR_NONFATAL | ERR_FATAL | SLV_BT_DONE |
26+
* | 06h[S] | VWEVSM2 | HOST_RST_ACK | Reserved | SMI# | SCI# |
27+
* | 40h[P] | VWEVSM3 | Reserved | Reserved | Reserved | SUS_ACK# |
28+
* |--------------------------------------------------------------------------|
29+
* [S] System-/[P] Platform-Specific Virtual Wires
30+
*/
31+
32+
/ {
33+
npcx-espi-vws-map {
34+
compatible = "nuvoton,npcx-espi-vw-conf";
35+
36+
/* eSPI Virtual Vire (VW) input configuration */
37+
/* index 02h (In) */
38+
vw-slp-s3 {
39+
vw-reg = <NPCX_VWEVMS0 0x01>;
40+
vw-wui = <&wui_vw_slp_s3>;
41+
};
42+
43+
vw-slp-s4 {
44+
vw-reg = <NPCX_VWEVMS0 0x02>;
45+
vw-wui = <&wui_vw_slp_s4>;
46+
};
47+
48+
vw-slp-s5 {
49+
vw-reg = <NPCX_VWEVMS0 0x04>;
50+
vw-wui = <&wui_vw_slp_s5>;
51+
};
52+
53+
/* index 03h (In) */
54+
vw-sus-stat {
55+
vw-reg = <NPCX_VWEVMS1 0x01>;
56+
vw-wui = <&wui_vw_sus_stat>;
57+
};
58+
59+
vw-plt-rst {
60+
vw-reg = <NPCX_VWEVMS1 0x02>;
61+
vw-wui = <&wui_vw_plt_rst>;
62+
};
63+
64+
vw-oob-rst-warn {
65+
vw-reg = <NPCX_VWEVMS1 0x04>;
66+
vw-wui = <&wui_vw_oob_rst_warn>;
67+
};
68+
69+
/* index 07h (In) */
70+
vw-host-rst-warn {
71+
vw-reg = <NPCX_VWEVMS2 0x01>;
72+
vw-wui = <&wui_vw_host_rst_warn>;
73+
};
74+
75+
/* index 41h (In) */
76+
vw-sus-warn {
77+
vw-reg = <NPCX_VWEVMS3 0x01>;
78+
vw-wui = <&wui_vw_sus_warn>;
79+
};
80+
81+
vw-sus-pwrdn-ack {
82+
vw-reg = <NPCX_VWEVMS3 0x02>;
83+
vw-wui = <&wui_vw_sus_pwrdn_ack>;
84+
};
85+
86+
vw-slp-a {
87+
vw-reg = <NPCX_VWEVMS3 0x08>;
88+
vw-wui = <&wui_vw_slp_a>;
89+
};
90+
91+
/* index 42h (In) */
92+
vw-slp-lan {
93+
vw-reg = <NPCX_VWEVMS4 0x01>;
94+
vw-wui = <&wui_vw_slp_lan>;
95+
};
96+
97+
vw-slp-wlan {
98+
vw-reg = <NPCX_VWEVMS4 0x02>;
99+
vw-wui = <&wui_vw_slp_wlan>;
100+
};
101+
102+
/* eSPI Virtual Vire (VW) output configuration */
103+
/* index 04h (Out) */
104+
vw-oob-rst-ack {
105+
vw-reg = <NPCX_VWEVSM0 0x01>;
106+
};
107+
108+
vw-wake {
109+
vw-reg = <NPCX_VWEVSM0 0x04>;
110+
};
111+
112+
vw-pme {
113+
vw-reg = <NPCX_VWEVSM0 0x08>;
114+
};
115+
116+
/* index 05h (Out) */
117+
vw-slv-boot-done {
118+
vw-reg = <NPCX_VWEVSM1 0x01>;
119+
};
120+
121+
vw-err-fatal {
122+
vw-reg = <NPCX_VWEVSM1 0x02>;
123+
};
124+
125+
vw-err-non-fatal {
126+
vw-reg = <NPCX_VWEVSM1 0x04>;
127+
};
128+
129+
vw-slv-boot-sts-with-done {
130+
/*
131+
* SLAVE_BOOT_DONE & SLAVE_LOAD_STS bits (bit 0 & bit 3)
132+
* have to be sent together. Hence its bitmask is 0x09.
133+
*/
134+
vw-reg = <NPCX_VWEVSM1 0x09>;
135+
};
136+
137+
/* index 06h (Out) */
138+
vw-sci {
139+
vw-reg = <NPCX_VWEVSM2 0x01>;
140+
};
141+
142+
vw-smi {
143+
vw-reg = <NPCX_VWEVSM2 0x02>;
144+
};
145+
146+
vw-host-rst-ack {
147+
vw-reg = <NPCX_VWEVSM2 0x08>;
148+
};
149+
150+
/* index 40h (Out) */
151+
vw-sus-ack {
152+
vw-reg = <NPCX_VWEVSM3 0x01>;
153+
};
154+
};
155+
};
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
/*
2+
* Copyright (c) 2025 Nuvoton Technology Corporation.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
def-lvol-conf-list {
9+
compatible = "nuvoton,npcx-lvolctrl-conf";
10+
11+
/* Low-Voltage IO Control 0 */
12+
lvol_io20: lvol00 {
13+
lvols = <&scfg 0 0>;
14+
};
15+
16+
lvol_io21: lvol01 {
17+
lvols = <&scfg 0 1>;
18+
};
19+
20+
lvol_io40: lvol02 {
21+
lvols = <&scfg 0 2>;
22+
};
23+
24+
lvol_io54: lvol03 {
25+
lvols = <&scfg 0 3>;
26+
};
27+
28+
lvol_io85: lvol05 {
29+
lvols = <&scfg 0 5>;
30+
};
31+
32+
lvol_io86: lvol06 {
33+
lvols = <&scfg 0 6>;
34+
};
35+
36+
lvol_io94: lvol07 {
37+
lvols = <&scfg 0 7>;
38+
};
39+
40+
/* Low-Voltage IO Control 1 */
41+
lvol_iod5: lvol10 {
42+
lvols = <&scfg 1 0>;
43+
};
44+
45+
lvol_iod6: lvol11 {
46+
lvols = <&scfg 1 1>;
47+
};
48+
49+
lvol_io46: lvol12 {
50+
lvols = <&scfg 1 2>;
51+
};
52+
53+
lvol_io44: lvol13 {
54+
lvols = <&scfg 1 3>;
55+
};
56+
57+
lvol_io50: lvol14 {
58+
lvols = <&scfg 1 4>;
59+
};
60+
61+
lvol_io52: lvol15 {
62+
lvols = <&scfg 1 5>;
63+
};
64+
65+
lvol_ioe1: lvol16 {
66+
lvols = <&scfg 1 6>;
67+
};
68+
69+
lvol_ioe2: lvol17 {
70+
lvols = <&scfg 1 7>;
71+
};
72+
73+
/* Low-Voltage IO Control 2 */
74+
lvol_io01: lvol20 {
75+
lvols = <&scfg 2 0>;
76+
};
77+
78+
lvol_io03: lvol21 {
79+
lvols = <&scfg 2 1>;
80+
};
81+
82+
lvol_io13: lvol22 {
83+
lvols = <&scfg 2 2>;
84+
};
85+
86+
lvol_io15: lvol23 {
87+
lvols = <&scfg 2 3>;
88+
};
89+
90+
lvol_io45: lvol24 {
91+
lvols = <&scfg 2 4>;
92+
};
93+
94+
lvol_io51: lvol25 {
95+
lvols = <&scfg 2 5>;
96+
};
97+
98+
lvol_ioe3: lvol26 {
99+
lvols = <&scfg 2 6>;
100+
};
101+
102+
lvol_ioe4: lvol27 {
103+
lvols = <&scfg 2 7>;
104+
};
105+
106+
/* Low-Voltage IO Control 3 */
107+
lvol_io22: lvol30 {
108+
lvols = <&scfg 3 0>;
109+
};
110+
111+
lvol_io17: lvol31 {
112+
lvols = <&scfg 3 1>;
113+
};
114+
115+
lvol_io74: lvol32 {
116+
lvols = <&scfg 3 2>;
117+
};
118+
119+
lvol_io73: lvol33 {
120+
lvols = <&scfg 3 3>;
121+
};
122+
123+
lvol_io31: lvol34 {
124+
lvols = <&scfg 3 4>;
125+
};
126+
127+
lvol_io23: lvol35 {
128+
lvols = <&scfg 3 5>;
129+
};
130+
131+
lvol_io53: lvol36 {
132+
lvols = <&scfg 3 6>;
133+
};
134+
135+
lvol_io47: lvol37 {
136+
lvols = <&scfg 3 7>;
137+
};
138+
139+
/* Low-Voltage IO Control 4 */
140+
lvol_io25: lvol40 {
141+
lvols = <&scfg 4 0>;
142+
};
143+
144+
lvol_ioe6: lvol41 {
145+
lvols = <&scfg 4 1>;
146+
};
147+
148+
lvol_ioc0: lvol42 {
149+
lvols = <&scfg 4 2>;
150+
};
151+
152+
lvol_iob7: lvol43 {
153+
lvols = <&scfg 4 3>;
154+
};
155+
156+
/*
157+
* Pseudo Low-Voltage IO Control (i.e. IO pad doesn't support
158+
* low voltage detection.)
159+
*/
160+
lvol_none: lvol-pseudo {
161+
lvols = <&scfg 31 0>;
162+
};
163+
};
164+
};

0 commit comments

Comments
 (0)