summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /zephyr/Kconfig
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-release-R102-14695.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'zephyr/Kconfig')
-rw-r--r--zephyr/Kconfig879
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