diff options
Diffstat (limited to 'zephyr/Kconfig')
-rw-r--r-- | zephyr/Kconfig | 879 |
1 files changed, 0 insertions, 879 deletions
diff --git a/zephyr/Kconfig b/zephyr/Kconfig deleted file mode 100644 index 07f09ae46e..0000000000 --- a/zephyr/Kconfig +++ /dev/null @@ -1,879 +0,0 @@ -# Copyright 2020 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. - -rsource "app/Kconfig" -rsource "drivers/Kconfig" -rsource "emul/Kconfig" - -if ZTEST - -config HAS_TEST_TASKS - bool "Whether or not this test includes custom tasks" - help - This enables custom tasks for tests. When set to 'y', the file - "shimmed_test_tasks.h" will be included and is expected to set - CROS_EC_TASK_LIST. - -endif # ZTEST - -menuconfig PLATFORM_EC - bool "Chromium OS EC shim" - imply PRINTK - imply SHELL - help - The platform/ec Zephyr module allows some code from the - existing Chromium OS EC project to be "shimmed" into Zephyr. With - this it is possible to use the existing code base within Zephyr. - - Once we manage to get a platform fully running with Zephyr we will - progressively upstream components and turn off the shim for each - one until eventually all code is on the Zephyr side. - -if PLATFORM_EC - -rsource "shim/chip/npcx/Kconfig.npcx" -rsource "Kconfig.adc" -rsource "Kconfig.battery" -rsource "Kconfig.board_version" -rsource "Kconfig.console" -rsource "Kconfig.console_cmd_mem" -rsource "Kconfig.debug_assert" -rsource "Kconfig.defaults" -rsource "Kconfig.espi" -rsource "Kconfig.flash" -rsource "Kconfig.header" -rsource "Kconfig.init_priority" -rsource "Kconfig.keyboard" -rsource "Kconfig.led" -rsource "Kconfig.panic" -rsource "Kconfig.port80" -rsource "Kconfig.powerseq" -rsource "Kconfig.pmic" -rsource "Kconfig.mkbp_event" -rsource "Kconfig.motionsense" -rsource "Kconfig.rtc" -rsource "Kconfig.stacks" -rsource "Kconfig.system" -rsource "Kconfig.tasks" -rsource "Kconfig.temperature" -rsource "Kconfig.timer" -rsource "Kconfig.throttle_ap" -rsource "Kconfig.usbc" -rsource "Kconfig.watchdog" - -# Define PLATFORM_EC_... options to enable EC features. Each Kconfig should be -# matched by a line in zephyr/shim/include/config_chip.h which #defines the -# corresponding EC CONFIG if this Kconfig is enabled. -# -# Please keep these in alphabetical order - -config PLATFORM_EC_ACPI - bool "Advanced Confiugration and Power Interface (ACPI)" - default y if AP_X86 && PLATFORM_EC_ESPI - help - Enable the Advanced Configuration and Power Interface (ACPI) in the - EC. ACPI is a standard interface to the Application Processor (AP) - that abstracts the hardware specific details for controlling and - managing the board. - - This includes interfaces for monitoring or controlling features, - including: - keyboard backlight - fan speed - temperature sensors - charging properties - device orientation (tablet or laptop mode) - - https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf - -config PLATFORM_EC_AP_RESET_LOG - bool "Enable the Application Processor reset log" - depends on PLATFORM_EC_HOSTCMD_GET_UPTIME_INFO - default y if PLATFORM_EC_POWERSEQ - help - Enable logging of AP reset events. This information is provided in - response to the EC_CMD_GET_UPTIME_INFO host command. - -config PLATFORM_EC_BACKLIGHT_LID - bool "Control the display backlight based on the lid switch" - depends on PLATFORM_EC_HOSTCMD - default y - help - Support controlling the display backlight based on the state of the - lid switch. The EC will disable the backlight when the lid is closed. - - This option enables the EC_CMD_SWITCH_ENABLE_BKLIGHT host command, - which allows the AP to override the backlight setting until the next - change in the lid state. - -config PLATFORM_EC_BOARD_RESET_AFTER_POWER_ON - bool "Work around H1 reset issue" - help - Enable this if H1 resets the EC after power-on. This is needed so the EC - can delay its start-up until the reset happens. Without this option - the EC starts up, performs some amount of processing and then gets a - reset that it is not expecting. - -config PLATFORM_EC_WAIT_RESET_CYCLES_PER_ITERATION - int "CPU execution cycle per iteration for waiting the H1 reset" - default 4 - depends on PLATFORM_EC_BOARD_RESET_AFTER_POWER_ON - help - This options specifies the number of CPU execution cycles per delay - loop iteration, while waiting for the H1 to reset. - -config PLATFORM_EC_PREINIT_HW_CYCLES_PER_SEC - int "CPU power up clock cycle per second" - default 100000000 - depends on PLATFORM_EC_BOARD_RESET_AFTER_POWER_ON - help - This option specifies the frequency (in Hz) of the CPU core when - coming out of a power on reset. - -config PLATFORM_EC_BRINGUP - bool "Enable early bringup debugging features" - help - Enable the CONFIG_BRINGUP platform/ec configuration option, - turning on a variety of miscellaneous early bringup - debugging features. - - These features include: - - The device will not power on when the EC starts. The - power button will need to be pressed, or the "powerbtn" - command issued. - - Enable power signal logging, showing relative timestamps - for each power signal change. - - And more! You can search the codebase for CONFIG_BRINGUP - to see all of the features this flag will toggle. - -config PLATFORM_EC_BYPASS_CBI_EEPROM_WP_CHECK - bool "Bypass CBI EEPROM Write Protect" - help - Bypass the CBI EEPROM write protect checks. This should ONLY be - defined during bringup, and should never be defined on a shipping or - release platform. - - When defined, ectool can be used to reprogram all CBI fields, - regardless of the state of the hardware write protect. - -config PLATFORM_EC_EEPROM_CBI_WP - bool "EC can independently set the CBI EEPROM WP signal" - help - Define this if the EC can independently set the CBI EEPROM WP - signal. The accompanying hardware must ensure that the CBI WP gets - latched and is only reset when EC_RST_ODL is asserted. - select PLATFORM_EC_BYPASS_CBI_EEPROM_WP_CHECK - -choice PLATFORM_EC_CBI_STORAGE_TYPE - prompt "Select CBI storage Type" - optional - help - CBI is a means for accessing board information, typically set - during the factory process. This allows selection of the physical - storage of CBI source. - - See here for detailed information on CBI: - - https://chromium.googlesource.com/chromiumos/docs/+/master/design_docs/cros_board_info.md - -config PLATFORM_EC_CBI_EEPROM - bool "CBI EEPROM support" - depends on PLATFORM_EC_I2C - help - Enables Chromium OS Board Info (CBI) from EEPROM. - - One must specify both I2C_PORT_EEPROM and I2C_ADDR_EEPROM_FLAGS to the - CBI EEPROM's i2c port and 7-bit i2c address. - -config PLATFORM_EC_CBI_GPIO - bool "CBI GPIO support" - help - Enables Chromium OS Board Info (CBI) from strapping pins. EC reads - the BOARD ID and SKU ID from GPIOs and then substantiate in-memory - CBI for AP to query. - -endchoice - -config PLATFORM_EC_CHIPSET_RESET_HOOK - bool "Provide a hook for when the AP resets" - default y - help - Enables support for the HOOK_CHIPSET_RESET hook. This can be used by - code that needs to run before a programmatic reset actually happens. - Note that these hooks don't run with a cold reset, only when the AP - decides to reset itself. - - You can declare a hook like this: - - DECLARE_HOOK(HOOK_CHIPSET_RESET, do_something, HOOK_PRIO_DEFAULT); - - Then do_something() will be called just before the reset happens. - -config PLATFORM_EC_CHIPSET_RESUME_INIT_HOOK - bool "Enable chipset resume-init and suspend-complete hooks" - help - Enables support for the HOOK_CHIPSET_RESUME_INIT and - HOOK_CHIPSET_SUSPEND_COMPLETE hooks. These hooks are usually used to - initialize/disable the SPI driver, which goes to sleep on suspend. - Require to initialize it first such that it can receive a host resume - event, that notifies the normal resume hook. - -config PLATFORM_EC_CONSOLE_CMD_HCDEBUG - bool "Console command: hcdebug" - default y - depends on PLATFORM_EC_HOSTCMD - help - Enable the 'hcdebug' console command. This comamnd is used to change, - at runtime, the amount of debug generated by the host command - processing. - - hcdebug [off | normal | every | params] - - See PLATFORM_EC_HOSTCMD_DEBUG_MODE for more detail. - -config PLATFORM_EC_CONSOLE_CMD_MEM - bool "Console command: md, rw" - default y - help - Enable memory related console commands. - - md - dump memory values - rw - read or write in memory - -config PLATFORM_EC_CONSOLE_CMD_SLEEPMASK - bool "Console command: sleepmask read" - default y if PM - help - Enable the 'sleepmask' console command. This command is used to - display the state of the sleep mask, which controls whether the EC - chip is allowed to enter deep sleep states to save power. - -config PLATFORM_EC_CONSOLE_CMD_SLEEPMASK_SET - bool "Console command: sleepmask set" - depends on PLATFORM_EC_CONSOLE_CMD_SLEEPMASK - default y - help - Enable changing the state of the current sleep mask. - - sleepmask on - Sets the SLEEP_MASK_FORCE_NO_DSLEEP bit in the - sleep mask, preventing the system from entering - sleep. - sleepmask off - Clears the SLEEP_MASK_FORCE_NO_DSLEEP bit in the - sleep mask. The system may enter deep sleep - depending on the state of other mask bits. - sleepmask <value> - Sets the sleepmask to <value>, overriding all - bits with the specified value. - -config PLATFORM_EC_CONSOLE_CMD_S5_TIMEOUT - bool "Console command: s5_timeout" - default n - help - This command allows the user to specify a time to remain in S5 before - dropping to G3, in order to help power testing. - -config PLATFORM_EC_CONSOLE_CMD_SHMEM - bool "Console command: shmem" - default y - help - This command prints basic information about the EC shared memory, - located at the top of RAM, above all RAM symbols: total size, bytes - used and the maximum number of bytes that have been used since - the EC started running. - -config PLATFORM_EC_CROS_FWID_VERSION - bool "Include CrOS FWID version" - default y - help - Include Chrome OS FWID in version output. The CrOS FWID will be common - across OS, AP firmware and EC firmware when built together. - -config PLATFORM_EC_DEBUG_ASSERT - bool "Enable assertion failures" - default y - help - Assertion failures are used to flag conditions which should not occur - and thus indicate the software is unable to continue execution. This - option can be disabled so that the assert() macro becomes a NOP. In - this case, execution will continue but the results are unpredictable. - - Messages are of the form: - - ASSERTION FAILURE '<expr>' in function() at file:line - - Note: There is also ASSERT() which is an alias of assert(), used in - host code where cstdlib is used. - -config PLATFORM_EC_DP_REDRIVER_TDP142 - bool "Include TDP142 DisplayPort redriver driver" - default n - help - Include a driver for the Texas Instruments TDP142 DisplayPort linear - redriver chip. - -config PLATFORM_EC_EMULATED_SYSRQ - bool "Emulate sysrq events to AP" - help - The magic SysRq key is a key combo which allows the user to perform - various low-level commands regardless of the system's state. - - See here for the key combos: - - https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html - - This option enables support for sending emulated SysRq events to AP - (on designs with a keyboard, SysRq is passed as normal key presses). - -menuconfig PLATFORM_EC_ESPI - bool "eSPI" - depends on ESPI && AP - default y - help - Enable the Enhanced Serial Peripheral Interface (eSPI) shim layer. - eSPI supports a shared physical connection between several on-board - devices, similar to SPI. It adds a few optional signals and a protocol - layer to provide independent 'channels' for each device to communicate - over. - - eSPI is the replacement for LPC (Low-Pin-Count bus). - - See here for information about eSPI: - - https://www.intel.com/content/dam/support/us/en/documents/software/chipset-software/327432-004_espi_base_specification_rev1.0_cb.pdf - -config PLATFORM_EC_EXTPOWER_GPIO - bool "GPIO-based external power detection" - depends on PLATFORM_EC_HOOKS && PLATFORM_EC_HOSTCMD - help - Enable shimming the extpower_gpio module, which provides - GPIO-based external power presence detection features. The - project should define a GPIO pin named GPIO_AC_PRESENT, with - extpower_interrupt configured as the handler in gpio_map.h. - -config PLATFORM_EC_FLASH_CROS - bool "Enable flash support" - default y if FLASH_SIZE > 0 - help - Enables access to the device's flash through a simple API. With - this is it possible for the EC to update its flash while running, - e.g. to support auto-update. Various write-protection features are - also provided. - -config PLATFORM_EC_FPU - bool "Support floating point" - depends on FPU && CPU_CORTEX_M && !NEWLIB_LIBC - default y - help - This enables support for floating point. This is generally already - provided in Zephyr, but the EC side expects a few functions to be - available which are not available with Zephyr's minimal lib: sqrtf() - and fabsf(). Enabling this options defines them. - - For now this is only supported on Cortex-M4. - -config PLATFORM_EC_HOOKS - bool "Hooks and deferred compatibility shim" - default y - help - Enable translation of DECLARE_DEFERRED() and hook_call_deferred() - to Zephyr's work queues, along with a compatible DECLARE_HOOK - implementation. - - This option is needed by many features in the EC. Disabling it will - likely cause build errors. - -menuconfig PLATFORM_EC_HOSTCMD - bool "Host commands" - default n if ARCH_POSIX - default y if AP - select HAS_TASK_HOSTCMD - help - Enable the host commands shim in platform/ec. This handles - communication with the AP. The AP sends a command to the EC and it - responds when able. An interrupt can be used to indicate to the AP - that the EC has something for it. - -config PLATFORM_EC_HOSTCMD_GET_UPTIME_INFO - bool "Host command: EC_CMD_GET_UPTIME_INFO" - default PLATFORM_EC_HOSTCMD - help - Enable the EC_CMD_GET_UPTIME_INFO host command which reports the time - the EC has been powered up, the number of AP resets, an optional log - of AP-reset events and some flags. - -config PLATFORM_EC_HOSTCMD_REGULATOR - bool "Host command of voltage regulator control" - help - Enable host commands (EC_CMD_REGULATOR_) for controlling voltage - regulator. The board should also implement board functions defined in - include/regulator.h. - -choice PLATFORM_EC_HOSTCMD_DEBUG_MODE - prompt "Select method to use for HostCmd Debug Mode" - depends on PLATFORM_EC_HOSTCMD - default HCDEBUG_NORMAL - help - Sets the value of the host command debug mode to use on - startup. - -config HCDEBUG_OFF - bool "Host command debug mode OFF" - help - No host command debug messages are shown. Host - command error messages will still output. - -config HCDEBUG_NORMAL - bool "Host command debug mode NORMAL" - help - Display host commands receieved from the AP. Repeated - commands are shown with a "+" and "++" symbol. - -config HCDEBUG_EVERY - bool "Host command debug mode EVERY" - help - Display all host commands received from the AP, - including repeated commands. - -config HCDEBUG_PARAMS - bool "Host command debug mode PARAMS" - help - Display all host commands and the parameters received - from the AP. - -endchoice # PLATFORM_EC_HOSTCMD_DEBUG_MODE - -config PLATFORM_EC_I2C - bool "I2C shim" - default n if ARCH_POSIX - default y - imply I2C - help - Enable compilation of the EC i2c module. Once enabled, it will be - possible to make calls using the old platform/ec i2c APIs defined - in include/i2c.h and implemented in common/i2c_master.c. Doing so - should make shimming other platform/ec modules which rely on i2c - communication "just work" without requiring any further code changes. - -config PLATFORM_EC_I2C_DEBUG - bool "I2C Tracing" - default n if ARCH_POSIX - depends on PLATFORM_EC_I2C - help - This option enables I2C bus communication tracing. Use the console - command "i2ctrace" to enable and disable tracing on specific I2C - peripherals. - - Please see the I2C debugging documentation for more details: - - https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/ec/docs/i2c-debugging.md - -config PLATFORM_EC_I2C_DEBUG_PASSTHRU - bool "I2C Passthru Debug" - default n if ARCH_POSIX - depends on PLATFORM_EC_I2C - help - This option enables extra debug for I2C passthru operations initiated - by the AP. - -config PLATFORM_EC_CONSOLE_CMD_I2C_PORTMAP - bool "Console command: i2c_portmap" - default y - depends on PLATFORM_EC_I2C - help - Enable the 'i2c_portmap' console command. This comamnd is used to - display the mapping of the I2C ports defined by the named-i2c-ports - node to the physical port and remote port indexes. - -config PLATFORM_EC_CONSOLE_CMD_I2C_SPEED - bool "Console command: i2cspeed" - default n - depends on PLATFORM_EC_I2C - help - Enable the 'i2cspeed' console command. This comamnd is used to - display an I2C port's bus speed. Additionally, for ports with - the DYNAMIC_SPEED port flag set, the speed can be set. In all - cases, the bus speed is in units of kHz. - -config PLATFORM_EC_SMBUS_PEC - bool "Packet error checking support for SMBus" - help - If enabled, adds error checking support for i2c_readN, i2c_writeN, - i2c_read_string and i2c_write_block. Where - - write operation appends an error checking byte at end of transfer, and - - read operatoin verifies the correctness of error checking byte from the - slave. - Set I2C_FLAG on addr_flags parameter to use this feature. - - This option also enables error checking function on smart batteries. - -config PLATFORM_EC_LID_SWITCH - bool "Lid switch" - help - Enable shimming the lid switch implementation and related - commands in platform/ec. The lid switch can affect power-on - behaviour. For example, when the lid is opened, the device may - automatically power on. - - This requires a GPIO named GPIO_LID_OPEN to be defined in gpio_map.h. - -config PLATFORM_EC_MKBP_INPUT_DEVICES - bool "Input devices via MKBP" - help - Enable passing events from various input sources to AP via MKBP. - This include buttons (power, volume); switches (lid, tablet mode) - and sysrq. - -config PLATFORM_EC_LOW_POWER_IDLE - bool - default y if PM - help - Enable low power idle modes in the EC chipset. This is automatically - enabled when the Zephyr power management options are enabled with the - PM option. - -config PLATFORM_EC_MKBP_EVENT - bool "MKBP event" - help - Enable this to support MKBP event. MKBP event is used not only - for matrix keyboard but also for other many events like button, - switch, fingerprint, and etc. - - This requires a MKBP event delivery method(GPIO, HOST_EVENT, and etc) - -config PLATFORM_EC_MKBP_EVENT_WAKEUP_MASK - bool "MKBP event wakeup mask" - depends on PLATFORM_EC_MKBP_EVENT - help - Enable which MKBP events should wakeup the system in suspend. - For example: - The MKBP events are enabled in the devicetree by the wakeup-mask - property of the ec-mkbp-event-wakeup-mask node as follows: - wakeup-mask = <(MKBP_EVENT_KEY_MATRIX | \ - MKBP_EVENT_HOST_EVENT | \ - MKBP_EVENT_SENSOR_FIFO)>; - The mkbp events are defined in dt-bindings/wake_mask_event_defines.h - -config PLATFORM_EC_MKBP_HOST_EVENT_WAKEUP_MASK - bool "MKBP host event wakeup mask" - depends on PLATFORM_EC_MKBP_EVENT - help - Enable which host events should wakeup the system in suspend. - For example: - The host events are enabled in the devicetree by the wakeup-mask - property of the ec-mkbp-host-event-wakeup-mask node as follows: - wakeup-mask = <(HOST_EVENT_LID_OPEN | \ - HOST_EVENT_POWER_BUTTON | \ - HOST_EVENT_AC_CONNECTED)>; - The host events are defined in dt-bindings/wake_mask_event_defines.h - -config PLATFORM_EC_MPU - bool "Support Memory-Protection Unit (MPU)" - depends on CPU_CORTEX_M - select ARM_MPU - default y - help - This enables support a Memory-Protection Unit which can limit access - to certain areas of memory. This can be used to protect code or data - from being written to improve security or to find bugs. - - It causes any code in the iram.text section to be protected when - system jump is disabled (see system_disable_jump()). It also stops - execution of the image that is not currently being executed (read-only - or read-write). If internal storage is used, this is achieved by not - allowing code execution in that area. For external storage, it - disallows loading any code into RAM. - -config PLATFORM_EC_PANIC - bool "Panic output" - default y - help - Enable support for collecting and reporting panic information, - caused by exceptions in the EC. This can be the result of a watchdog - firing, a division by zero, unaligned access, stack overflow or - assertion failure. - - The panic information is made available to the AP via the - EC_CMD_GET_PANIC_INFO host command and a 'panicinfo' console command - -config PLATFORM_EC_PORT80 - bool "Port 80 support" - default y if AP_X86 && PLATFORM_EC_POWERSEQ - help - Enable the port80 module, a way to report progress of the AP's boot - sequence, assuming that the EC can detect these writes on the I/O - bus. The EC buffers calls to port_80_write() and occasionally prints - a message when there are new writes. - - See here for more information: - - https://en.wikipedia.org/wiki/Power-on_self-test#Progress_and_error_reporting - -config PLATFORM_EC_POWER_BUTTON - bool "Power-button support" - depends on PLATFORM_EC_HOSTCMD - help - Enable shimming the power button implementation and related - commands in platform/ec. This is used to implement the Chromium OS - shutdown sequence. - - This requires a GPIO named GPIO_POWER_BUTTON_L in gpio_map.h. - -config PLATFORM_EC_PWM - bool "PWM (Pulse Width Modulation) module" - help - Enable the PWM (Pulse Width Modulation) module. This module is used to - support variable brightness LEDs, backlight controls, and - variable-speed fans. - -config PLATFORM_EC_PWM_DISPLIGHT - bool "PWM display backlight" - depends on PLATFORM_EC_PWM - help - Enables display backlight controlled by a PWM signal connected - directly to the EC chipset. The board files must define the C - reference PWM_CH_DISPLIGHT to the PWM channel used for the - display backlight control. - -config PLATFORM_EC_RTC - bool "Real-time clock (RTC)" - help - Enable support for a real-time clock. Typically this is available - on-chip in the EC. It provides a way to track the passage of time - in terms of second and minutes. Once set, and provided that it has a - suitable power source, it should be able to keep reasonably accurate - time over a period of days and weeks. - - The starting EC clock is typically set by the AP, since it has access - to the outside world and can often obtain the current time when - desired. - -choice "SHA256 method" - prompt "Select method to use for computing SHA256 hashes" - help - The verified boot mechanism requests the hash of the entire read-write - portion of the EC image. This is typically done using a hashing block - in the EC, so that it is as fast as possible. A fallback software - algorithm is available if needed. - -config PLATFORM_EC_SHA256_SW - bool "Compute SHA256 in software" - help - Enable this if your EC chip does not support hardware-accelerated - SHA256 computation. This enables the software algorithm which is - quite slow but will work in a pinch. - -config PLATFORM_EC_SHA256_HW_ACCELERATE - bool "Compute SHA256 in hardware" - help - Enable this if your EC chip supports hardware-accelerated SHA256 - computation. This is faster than running the algorithm in software, - so is desirable. - - The chip support must implement the functions in sha256.h - -endchoice # SHA256 method - -config PLATFORM_EC_SWITCH - bool "Memory mapped switches" - depends on PLATFORM_EC_HOSTCMD - default y - help - Enable the reporting of the platform switches state to the AP using - memory mapped storage provided by the host command interface. - - The platform switches include: - LID open - power button pressed - write protect disabled - recovery switch - - This also enables the "mmapinfo" console command to report the current - state of all switches. - -choice PLATFORM_EC_SWITCHCAP_TYPE - prompt "Enable switchcap support" - optional - help - Enable support for switchcap used to power on the AP. - If enabled, type of switchcap must be selected and node in device - tree must be added that describes the driver and pins used to control - the switchcap. - -config PLATFORM_EC_SWITCHCAP_GPIO - bool "GPIO controlled switchcap" - help - Enable support for the GPIO controlled switchcap. - Pins used for controlling the switchcap must be defined in board's - device tree. - -config PLATFORM_EC_SWITCHCAP_LN9310 - bool "LN9310 switchcap driver" - depends on PLATFORM_EC_I2C - help - Enable support for the LION Semiconductor LN9310 switched - capacitor converter. This will export definitions for - ln9310_init, ln9310_interrupt, and ln9310_power_good, which - project-specific code should call appropriately if there's - no switchcap node in device tree. - -endchoice - -config PLATFORM_EC_SYSTEM_UNLOCKED - bool "System unlocked: allow dangerous commands while in development" - default y if PLATFORM_EC_BRINGUP - help - System should remain unlocked even if write protect is enabled. - - NOTE: This should ONLY be defined during bringup, and should never be - defined on a shipping / released platform. - - When defined, CBI allows ectool to reprogram all the fields. - Normally, it refuses to change certain fields. (e.g. board version, - OEM ID) - - Also, this enables PD in RO for TCPMv2. - -config PLATFORM_EC_THROTTLE_AP - bool "CPU throttling" - help - Enable throttling the CPU based on the temperature sensors. When they - detect that the CPU is getting too hot, the CPU is throttled to - a lower speed. This reduce the CPU's power output and eventually - results in a lower temperature. - -menuconfig PLATFORM_EC_TIMER - bool "Timer module" - default y - help - Enable compilation of the EC timer module. This provides support for - delays, getting the current time and setting alarms. - - This option is needed by many features in the EC. Disabling it will - likely cause build errors. - -config PLATFORM_EC_VBOOT_EFS2 - bool "EFS2 verified EC boot" - default y if !SOC_POSIX - help - Enables Early Firmware Selection v2 (EFS2) verified boot. When booting - a Chromium OS image we're actually packing both an RO image and an RW - image into flash. The RO image is loaded first. EFS2 runs at boot and - verifies the integrity of the RW image by sending a hash of the image - to the Google Security Chip (GSC). Once the GSC verifies the hash, - EFS2 calls sysjump and reboot the EC using the RW image. - -config PLATFORM_EC_VBOOT_HASH - bool "Host command: EC_CMD_VBOOT_HASH" - depends on PLATFORM_EC_HOSTCMD - default y - help - Allows the AP to request hashing functions from the EC. - - Verified boot can update the EC's read/write code when it detects - that it is an incorrect version. It detects this by asking the EC to - hash itself. If the hash is incorrect, new code is write to the EC's - read/write area. - -config PLATFORM_EC_VSTORE - bool "Secure temporary storage for verified boot" - default y - help - Enable support for storing a block of data received from the AP so it - can be read back later by the AP. This is helpful since the AP may - reboot or resume and want the data early in its start-up before it - has access to SDRAM. - - There are a fixed number of slots and each can hold a fixed amount of - data (EC_VSTORE_SLOT_SIZE bytes). Once a slot is written it is locked - and cannot be written again unless explicitly unlocked. - - Stored data is preserved when the EC moved from RO to RW. - -config PLATFORM_EC_VSTORE_SLOT_COUNT - int "Number of slots" - depends on PLATFORM_EC_VSTORE - default 1 - help - Set the number of slots available in the verified-boot store. The - number required depends on the AP firmware. Typically the vstore is - used only for recording a hash of the read-write AP firmware for - checking on resume. For this, one slot is enough. - -menuconfig PLATFORM_EC_WATCHDOG - bool "Watchdog" - depends on WATCHDOG - default y - help - Enable the watchdog functionality. The watchdog timer will reboot the - system if the hook task (which is the lowest-priority task on the - system) gets starved for CPU time and isn't able to fire its - HOOK_TICK event. - - Chromium EC system uses an auxiliary timer to handle the system - warning event. This leaves some time to the system for preparing & - printing the debug information. The interval between reloads of the - watchdog timer should be less than half of the auxiliary timer - (PLATFORM_EC_WATCHDOG_PERIOD_MS - - PLATFORM_EC_WATCHDOG_WARNING_LEADING_TIME_MS). - -config PLATFORM_EC_WORKAROUND_FLASH_DOWNLOAD_API - bool "Workaround needed for npcx9 ES1 chip" - depends on SOC_SERIES_NPCX9 - help - There's a bug in the flash download API on the ES1 version of the - npcx9 chips that requires some workarounds. This is needed for sysjump - to work properly. - -config PLATFORM_EC_ASSERT_CCD_MODE_ON_DTS_CONNECT - bool "Assert CCD Mode" - help - Assert CCD_MODE_ODL when a DTS debug accessory is connected to the - CCD USBC port. GPIO_CCD_MODE_ODL should be configured with - GPIO_ODR_HIGH flag. - -config PLATFORM_EC_CCD_USBC_PORT_NUMBER - int "CCD USB Port Number" - default 0 - help - USB port number of the CCD enabled USBC port. - -config PLATFORM_EC_I2C_PASSTHRU_RESTRICTED - bool "Restrict I2C PASSTHRU command" - depends on PLATFORM_EC_I2C - help - Enables board-specific restrictions for the I2C PASSTHRU host command. - Once enabled, board_allow_i2c_passthru function has to be implemented, - which defines the allowed usage of the command. - -config PLATFORM_EC_HOST_COMMAND_STATUS - bool "Return in-progress status for slow host commands" - default n - help - When the AP is attached to the EC via a serialized bus such as I2C or - SPI, it needs a way to minimize the length of time an EC command will - tie up the bus (and the kernel driver on the AP). If this config is - defined, the EC may return an in-progress result code for slow - commands such as flash erase/write instead of stalling until the - command finishes processing, and the AP may then inquire the status - of the current command and/or the result of the previous command. - -config PLATFORM_EC_AMD_SB_RMI - bool "Enable driver for AMD SB-RMI interface" - help - AMD platforms provide the Side-Band Remote Management Interface. - SB-RMI provides an interface for an external SMBus master to perform - tasks such as managing power consumption and power limits of the CPU - socket. - -config PLATFORM_EC_AMD_STT - bool "Enable driver for AMD STT interface" - depends on PLATFORM_EC_AMD_SB_RMI - help - AMD platforms provide the Skin Temperature Tracking (STT) interface. - Skin temperature management can be used to maximize the system - performance while keeping the skin temperature within its - specification. It makes use of the thermal capacitance of the system - to temporarily boost above the sustainable power limit, while the - chassis skin temperatures are below limits. - -endif # PLATFORM_EC |