summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.system
Commit message (Collapse)AuthorAgeFilesLines
* zephyr: shim: use the standard sysworkq for deferred tasksFabio Baltieri2021-04-281-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zephyr defines a default system wide work queue and allows to add extra queues, the default queue is only compiled in if used by anything. The shim queue was the only one originally used until vboot started to use the sysworkq as well, which added that to the build as well. The API documentation[1] explicitly discourages custom workqueues if not strictly necessary. In this case the system one is only used once and then it's effectively dedicated to the hooks, so there should be effectively no change is using that one as the only queue, and we get rid of a custom queue structure, initialization and thread. Kernel stacks before: 0x200c2928 ec_hooks (real size 704): unused 144 usage 560 / 704 (79 %) 0x200c3488 sysworkq (real size 288): unused 80 usage 208 / 288 (72 %) Kernel stacks after: 0x200c76f8 sysworkq (real size 704): unused 176 usage 528 / 704 (75 %) SRAM should go down by about 520 bytes. [1] https://docs.zephyrproject.org/latest/reference/kernel/threads/workqueue.html#system-workqueue BUG=b:183748844 BRANCH=none TEST=build and run on volteer TEST=kernel stacks on volteer Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: Ia8ab59bf3e6a5e28fe36ec1e94c65483c4645baa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2854850 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: create a Kconfig option for CONFIG_CMD_SYSINFOJack Rosenthal2021-04-221-0/+7
| | | | | | | | | | | | | | | | | | | Create a Kconfig option for the sysinfo console command, furthering our parity with EC configurability. This is by default enabled anyway, so the Kconfig is just providing a means to turn it off, if desired. (Which is useful for ITE chips right now, where we don't have full support for all the deps we bring in with this command yet.) BUG=b:180980668 BRANCH=none TEST=hayato build (follow-up CL) Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Ibe2c2a4d7620ef60979b256735046379bf99e3e5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2845270 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: hooks: make deferred queue stack size configurableFabio Baltieri2021-04-011-0/+7
| | | | | | | | | | | | | | | | | The Zephyr implementation of EC hooks is currently using a hardcoded stack size of 1024 bytes. Make it configurable so that we can tweak it on the board configs. BUG=none BRANCH=none TEST=kernel stacks on the EC shell Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Change-Id: I705f18b3a17ca9da62421ae563bbc6a2f8cefbc5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2799681 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: npcx: add hibernate callback implementation for cros_system.Mulin Chao2021-03-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL uses soc-specific functions for supporting hibernating. It includes: 1. npcx_pinctrl_psl_input_configure() - Used to configure PSL input pads from "psl-in-pads" property which detect the wake-up events. After ec received them, PSL_OUT will be set to active level and the related circuit will turn on core power supply (VCC1) from standby power state (ultra-low-power mode) later. 2. npcx_pinctrl_psl_output_set_inactive() - Used to set PSL output pad to inactive level. When PSL_OUT is in inactive level, VCC1 is turned off for entering standby power state (ultra-low-power mode). Use EC_SYSTEM_HIBERNATE_PSL to turn on this feature. BUG=b:173787365 BRANCH=none TEST=zmake testall, Press 'hibernate' on console and each PSL input can wake-up ec from hibernating on volteer. Cq-Depend: chromium:2793324 Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I0fe3a9eb0c56e679c56bcb8abc1c6353ec46b5c9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2794206 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: npcx: add reset cause checkWealian Liao2021-03-241-0/+18
The reset cause will influence the initialization flow. We define some of initial flow of the reset cause for the following development. This CL include the following: 1. Add check_reset_cause() which sets the system reset flag. 2. Add chip_bbram_status_check() to clear the error status & show the error message. 3. Add CONFIG_BOARD_RESET_AFTER_POWER_ON feature. 4. Define the initialize flow for reset cause. BRANCH=none BUG=b:178101173 TEST=check the following reset cause by 'sysinfo' 1. power-up 2. reset-pin reset 3. soft by 'reboot' console command 4. watchdog by 'waitms 2000' Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com> Change-Id: I515868d8cda4544fdbe782210b0108b4dda0d8cc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2731180 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>