summaryrefslogtreecommitdiff
path: root/zephyr/linker
diff options
context:
space:
mode:
authorMulin Chao <mlchao@nuvoton.com>2021-03-31 20:42:23 -0700
committerCommit Bot <commit-bot@chromium.org>2021-04-14 17:47:39 +0000
commit41324a98518ae2f67352bac2110212e40f2b9fd7 (patch)
tree75f6a16ae4eadae054df08097d6518b0569f005a /zephyr/linker
parentf33381b0485662264cda1986a2427a7170a8d6c4 (diff)
downloadchrome-ec-41324a98518ae2f67352bac2110212e40f2b9fd7.tar.gz
zephyr: npcx: Add non-psl hibernate implementation
Implements non-psl hibernate mechanism for cros_system driver. First, we plan a little hibernate function locates in the last 32K ram block in npcx7 series. Then power down the other ram blocks and go to deep sleep mode for better power consumptions. Please notice do not use global or call the other functions in this hibernate utility since we have turned off the other ram blocks. BUG=b:177904393, b:183745774 BRANCH=none TEST=zmake testall TEST=All wake-up GPIOs can wake-up ec from hibernating on npcx7 evb. Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I48f95b0e616ad27f77a6d0ada8251ec438427741 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2821116 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'zephyr/linker')
-rw-r--r--zephyr/linker/CMakeLists.txt4
-rw-r--r--zephyr/linker/npcx-lfw.ld10
2 files changed, 14 insertions, 0 deletions
diff --git a/zephyr/linker/CMakeLists.txt b/zephyr/linker/CMakeLists.txt
index 170055dba7..27b028d22c 100644
--- a/zephyr/linker/CMakeLists.txt
+++ b/zephyr/linker/CMakeLists.txt
@@ -10,3 +10,7 @@ zephyr_linker_sources(RWDATA SORT_KEY 1 iram_text.ld)
# Compute the image size
zephyr_linker_sources(RAM_SECTIONS image_size.ld)
+
+# Little FW with specific purposes used by NPCX EC
+zephyr_linker_sources_ifdef(CONFIG_SOC_FAMILY_NPCX ROM_START SORT_KEY 1
+ npcx-lfw.ld)
diff --git a/zephyr/linker/npcx-lfw.ld b/zephyr/linker/npcx-lfw.ld
new file mode 100644
index 0000000000..bdab9c3546
--- /dev/null
+++ b/zephyr/linker/npcx-lfw.ld
@@ -0,0 +1,10 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+. = ALIGN(4);
+__lfw_text_start = .;
+*(.lfw.*)
+. = ALIGN(4);
+__lfw_text_end = .;