142 lines
3.8 KiB
Plaintext
142 lines
3.8 KiB
Plaintext
/*
|
|
* Copyright (c) 2021 Nuvoton Technology Corporation.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <zephyr/dt-bindings/espi/npcx_espi.h>
|
|
|
|
/*
|
|
* Nuvoton NPCX eSPI Virtual Wires Mapping Table
|
|
* |--------------------------------------------------------------------------|
|
|
* | VW idx | SLV reg | Wire Bit 3 | Wire Bit 2 | Wire Bit 1| Wire Bit 0 |
|
|
* |--------------------------------------------------------------------------|
|
|
* | Input (Master-to-Slave) Virtual Wires |
|
|
* |--------------------------------------------------------------------------|
|
|
* | 02h[S] | VWEVMS0 | Reserved | SLP_S5# | SLP_S4# | SLP_S3# |
|
|
* | 03h[S] | VWEVMS1 | Reserved | OOB_RST_WARN | PLTRST# | SUS_STAT# |
|
|
* | 07h[S] | VWEVMS2 | Reserved | Reserved | Reserved | HOS_RST_WARN|
|
|
* | 41h[P] | VWEVMS3 | SLP_A# | Reserved | SUS_PDNACK| SUS_WARN# |
|
|
* | 42h[P] | VWEVMS4 | Reserved | Reserved | SLP_WLAN# | SLP_LAN# |
|
|
* |--------------------------------------------------------------------------|
|
|
* | Output (Slave-to-Master) Virtual Wires |
|
|
* |--------------------------------------------------------------------------|
|
|
* | 04h[S] | VWEVSM0 | PME# | WAKE# | Reserved | OOB_RST_ACK |
|
|
* | 05h[S] | VWEVSM1 | SLV_BOOT_STS | ERR_NONFATAL | ERR_FATAL | SLV_BT_DONE |
|
|
* | 06h[S] | VWEVSM2 | HOST_RST_ACK | Reserved | SMI# | SCI# |
|
|
* | 40h[P] | VWEVSM3 | Reserved | Reserved | Reserved | SUS_ACK# |
|
|
* |--------------------------------------------------------------------------|
|
|
* [S] System-/[P] Platform-Specific Virtual Wires
|
|
*/
|
|
|
|
/ {
|
|
npcx-espi-vws-map {
|
|
compatible = "nuvoton,npcx-espi-vw-conf";
|
|
|
|
/* eSPI Virtual Vire (VW) input configuration */
|
|
/* index 02h (In) */
|
|
vw-slp-s3 {
|
|
vw-reg = <NPCX_VWEVMS0 0x01>;
|
|
vw-wui = <&wui_vw_slp_s3>;
|
|
};
|
|
vw-slp-s4 {
|
|
vw-reg = <NPCX_VWEVMS0 0x02>;
|
|
vw-wui = <&wui_vw_slp_s4>;
|
|
};
|
|
vw-slp-s5 {
|
|
vw-reg = <NPCX_VWEVMS0 0x04>;
|
|
vw-wui = <&wui_vw_slp_s5>;
|
|
};
|
|
|
|
/* index 03h (In) */
|
|
vw-sus-stat {
|
|
vw-reg = <NPCX_VWEVMS1 0x01>;
|
|
vw-wui = <&wui_vw_sus_stat>;
|
|
};
|
|
vw-plt-rst {
|
|
vw-reg = <NPCX_VWEVMS1 0x02>;
|
|
vw-wui = <&wui_vw_plt_rst>;
|
|
};
|
|
vw-oob-rst-warn {
|
|
vw-reg = <NPCX_VWEVMS1 0x04>;
|
|
vw-wui = <&wui_vw_oob_rst_warn>;
|
|
};
|
|
|
|
/* index 07h (In) */
|
|
vw-host-rst-warn {
|
|
vw-reg = <NPCX_VWEVMS2 0x01>;
|
|
vw-wui = <&wui_vw_host_rst_warn>;
|
|
};
|
|
|
|
/* index 41h (In) */
|
|
vw-sus-warn {
|
|
vw-reg = <NPCX_VWEVMS3 0x01>;
|
|
vw-wui = <&wui_vw_sus_warn>;
|
|
};
|
|
vw-sus-pwrdn-ack {
|
|
vw-reg = <NPCX_VWEVMS3 0x02>;
|
|
vw-wui = <&wui_vw_sus_pwrdn_ack>;
|
|
};
|
|
vw-slp-a {
|
|
vw-reg = <NPCX_VWEVMS3 0x08>;
|
|
vw-wui = <&wui_vw_slp_a>;
|
|
};
|
|
|
|
/* index 42h (In) */
|
|
vw-slp-lan {
|
|
vw-reg = <NPCX_VWEVMS4 0x01>;
|
|
vw-wui = <&wui_vw_slp_lan>;
|
|
};
|
|
vw-slp-wlan {
|
|
vw-reg = <NPCX_VWEVMS4 0x02>;
|
|
vw-wui = <&wui_vw_slp_wlan>;
|
|
};
|
|
|
|
/* eSPI Virtual Vire (VW) output configuration */
|
|
/* index 04h (Out) */
|
|
vw-oob-rst-ack {
|
|
vw-reg = <NPCX_VWEVSM0 0x01>;
|
|
};
|
|
vw-wake {
|
|
vw-reg = <NPCX_VWEVSM0 0x04>;
|
|
};
|
|
vw-pme {
|
|
vw-reg = <NPCX_VWEVSM0 0x08>;
|
|
};
|
|
|
|
/* index 05h (Out) */
|
|
vw-slv-boot-done {
|
|
vw-reg = <NPCX_VWEVSM1 0x01>;
|
|
};
|
|
vw-err-fatal {
|
|
vw-reg = <NPCX_VWEVSM1 0x02>;
|
|
};
|
|
vw-err-non-fatal {
|
|
vw-reg = <NPCX_VWEVSM1 0x04>;
|
|
};
|
|
vw-slv-boot-sts-with-done {
|
|
/*
|
|
* SLAVE_BOOT_DONE & SLAVE_LOAD_STS bits (bit 0 & bit 3)
|
|
* have to be sent together. Hence its bitmask is 0x09.
|
|
*/
|
|
vw-reg = <NPCX_VWEVSM1 0x09>;
|
|
};
|
|
|
|
/* index 06h (Out) */
|
|
vw-sci {
|
|
vw-reg = <NPCX_VWEVSM2 0x01>;
|
|
};
|
|
vw-smi {
|
|
vw-reg = <NPCX_VWEVSM2 0x02>;
|
|
};
|
|
vw-host-rst-ack {
|
|
vw-reg = <NPCX_VWEVSM2 0x08>;
|
|
};
|
|
|
|
/* index 40h (Out) */
|
|
vw-sus-ack {
|
|
vw-reg = <NPCX_VWEVSM3 0x01>;
|
|
};
|
|
};
|
|
};
|