summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
authorJun Lin <CHLin56@nuvoton.com>2021-09-10 13:36:17 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-17 10:11:45 +0000
commit20222d48571fa44c76fdb0ededd0ed042e9f8244 (patch)
treecf3980940a27dadd13e2912d1eb92724f4287c1e /chip
parentcec869cd82bee052362a1e3e292854163a25fd88 (diff)
downloadchrome-ec-20222d48571fa44c76fdb0ededd0ed042e9f8244.tar.gz
npcx: correct the image copies indication bits for npcx9
In npcx5/7, we use two reserved bits in the BSC1 register (offset 0x07 of the MDC register) to indicate what the current image copy is. In npcx9, these two bits are used by the booter. We need to change them to another two empty scratch bits which are not used by the booter. BUG=b:165777478 BRANCH=none TEST=pass "make buildall" TEST=check the related bits changed by "sysump ro" and "sysjump rw" Signed-off-by: Jun Lin <CHLin56@nuvoton.com> Change-Id: I6bcfe6d8752c6fa10022a21956d2e0ceb7f9418e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3153119 Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: caveh jalali <caveh@chromium.org> Auto-Submit: CH Lin <chlin56@nuvoton.com> Commit-Queue: caveh jalali <caveh@chromium.org>
Diffstat (limited to 'chip')
-rw-r--r--chip/npcx/registers-npcx5.h8
-rw-r--r--chip/npcx/registers-npcx7.h8
-rw-r--r--chip/npcx/registers-npcx9.h8
-rw-r--r--chip/npcx/registers.h8
4 files changed, 24 insertions, 8 deletions
diff --git a/chip/npcx/registers-npcx5.h b/chip/npcx/registers-npcx5.h
index 3d241a1984..c441c1c926 100644
--- a/chip/npcx/registers-npcx5.h
+++ b/chip/npcx/registers-npcx5.h
@@ -87,6 +87,14 @@
#define NPCX_IRQ_WKINTD_2 NPCX_IRQ_63
/* Modules Map */
+
+/* Miscellaneous Device Control (MDC) registers */
+#define NPCX_FWCTRL REG8(NPCX_MDC_BASE_ADDR + 0x007)
+
+/* MDC register fields */
+#define NPCX_FWCTRL_RO_REGION 0
+#define NPCX_FWCTRL_FW_SLOT 1
+
#define NPCX_ITIM32_BASE_ADDR 0x400BC000
#define NPCX_CR_UART_BASE_ADDR(mdl) (0x400C4000 + ((mdl) * 0x2000L))
#define NPCX_SMB_BASE_ADDR(mdl) (((mdl) < 2) ? \
diff --git a/chip/npcx/registers-npcx7.h b/chip/npcx/registers-npcx7.h
index cbd9be30dc..535abfbf0f 100644
--- a/chip/npcx/registers-npcx7.h
+++ b/chip/npcx/registers-npcx7.h
@@ -104,6 +104,14 @@
#define NPCX_IRQ_WKINTD_2 NPCX_IRQ_63
/* Modules Map */
+
+/* Miscellaneous Device Control (MDC) registers */
+#define NPCX_FWCTRL REG8(NPCX_MDC_BASE_ADDR + 0x007)
+
+/* MDC register fields */
+#define NPCX_FWCTRL_RO_REGION 0
+#define NPCX_FWCTRL_FW_SLOT 1
+
#define NPCX_ITIM32_BASE_ADDR 0x400BC000
#define NPCX_CR_UART_BASE_ADDR(mdl) (0x400C4000 + ((mdl) * 0x2000L))
#define NPCX_SMB_BASE_ADDR(mdl) (((mdl) < 2) ? \
diff --git a/chip/npcx/registers-npcx9.h b/chip/npcx/registers-npcx9.h
index 296f1af25c..a013a8b645 100644
--- a/chip/npcx/registers-npcx9.h
+++ b/chip/npcx/registers-npcx9.h
@@ -90,6 +90,14 @@
#define LCT_WUI_MASK MASK_PIN7
/* Modules Map */
+
+/* Miscellaneous Device Control (MDC) registers */
+#define NPCX_FWCTRL REG8(NPCX_MDC_BASE_ADDR + 0x005)
+
+/* MDC register fields */
+#define NPCX_FWCTRL_RO_REGION 1
+#define NPCX_FWCTRL_FW_SLOT 2
+
#define NPCX_CR_UART_BASE_ADDR(mdl) (0x400E0000 + ((mdl) * 0x2000L))
#define NPCX_LCT_BASE_ADDR 0x400D7000
#define NPCX_SMB_BASE_ADDR(mdl) (((mdl) < 2) ? \
diff --git a/chip/npcx/registers.h b/chip/npcx/registers.h
index 374e9d58ba..f0c241e7f9 100644
--- a/chip/npcx/registers.h
+++ b/chip/npcx/registers.h
@@ -175,14 +175,6 @@
#define NPCX_IRQ_COUNT 64
/******************************************************************************/
-/* Miscellaneous Device Control (MDC) registers */
-#define NPCX_FWCTRL REG8(NPCX_MDC_BASE_ADDR + 0x007)
-
-/* MDC register fields */
-#define NPCX_FWCTRL_RO_REGION 0
-#define NPCX_FWCTRL_FW_SLOT 1
-
-/******************************************************************************/
/* High Frequency Clock Generator (HFCG) registers */
#define NPCX_HFCGCTRL REG8(NPCX_HFCG_BASE_ADDR + 0x000)
#define NPCX_HFCGML REG8(NPCX_HFCG_BASE_ADDR + 0x002)