| /* |
| * Copyright (c) 2021 Nuvoton Technology Corporation. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <zephyr/dt-bindings/espi/npcx_espi.h> |
| |
| /* |
| * Nuvoton NPCX7 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# | |
| * |--------------------------------------------------------------------------| |
| * | Output (Slave-to-Master) Virtual Wires (High at reset state) | |
| * |--------------------------------------------------------------------------| |
| * | 50h[P] | VWGPSM0 | SLV_GPIO_3 | SLV_GPIO_2 | SLV_GPIO_1| SLV_GPIO_0 | |
| * | 51h[P] | VWGPSM1 | SLV_GPIO_7 | SLV_GPIO_6 | SLV_GPIO_5| SLV_GPIO_4 | |
| * |--------------------------------------------------------------------------| |
| * [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>; |
| }; |
| |
| /* |
| * Virtual wires for platform level usage (High at Reset state) |
| */ |
| /* index 50h (Out) */ |
| vw_slv_gpio_0 { |
| vw-reg = <NPCX_VWGPSM0 0x01>; |
| }; |
| vw_slv_gpio_1 { |
| vw-reg = <NPCX_VWGPSM0 0x02>; |
| }; |
| vw_slv_gpio_2 { |
| vw-reg = <NPCX_VWGPSM0 0x04>; |
| }; |
| vw_slv_gpio_3 { |
| vw-reg = <NPCX_VWGPSM0 0x08>; |
| }; |
| |
| /* index 51h (Out) */ |
| vw_slv_gpio_4 { |
| vw-reg = <NPCX_VWGPSM1 0x01>; |
| }; |
| vw_slv_gpio_5 { |
| vw-reg = <NPCX_VWGPSM1 0x02>; |
| }; |
| vw_slv_gpio_6 { |
| vw-reg = <NPCX_VWGPSM1 0x04>; |
| }; |
| vw_slv_gpio_7 { |
| vw-reg = <NPCX_VWGPSM1 0x08>; |
| }; |
| }; |
| }; |