mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 03:15:26 +07:00
7b3d4f44ab
This EC is an incompatible variant of the typical Chrome OS embedded controller. It uses the same low-level communication and a similar protocol with some significant differences. The EC firmware does not support the same mailbox commands so it is not registered as a cros_ec device type. This commit exports the wilco_ec_mailbox() function so that other modules can use it to communicate with the EC. Signed-off-by: Duncan Laurie <dlaurie@google.com> Signed-off-by: Nick Crews <ncrews@chromium.org> [Fix the sparse warning: symbol 'wilco_ec_transfer' was not declared] Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> [Fix Kconfig dependencies for wilco_ec] Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
158 lines
4.8 KiB
Plaintext
158 lines
4.8 KiB
Plaintext
#
|
|
# Platform support for Chrome OS hardware (Chromebooks and Chromeboxes)
|
|
#
|
|
|
|
menuconfig CHROME_PLATFORMS
|
|
bool "Platform support for Chrome hardware"
|
|
depends on X86 || ARM || ARM64 || COMPILE_TEST
|
|
---help---
|
|
Say Y here to get to see options for platform support for
|
|
various Chromebooks and Chromeboxes. This option alone does
|
|
not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if CHROME_PLATFORMS
|
|
|
|
config CHROMEOS_LAPTOP
|
|
tristate "Chrome OS Laptop"
|
|
depends on I2C && DMI && X86
|
|
---help---
|
|
This driver instantiates i2c and smbus devices such as
|
|
light sensors and touchpads.
|
|
|
|
If you have a supported Chromebook, choose Y or M here.
|
|
The module will be called chromeos_laptop.
|
|
|
|
config CHROMEOS_PSTORE
|
|
tristate "Chrome OS pstore support"
|
|
depends on X86
|
|
---help---
|
|
This module instantiates the persistent storage on x86 ChromeOS
|
|
devices. It can be used to store away console logs and crash
|
|
information across reboots.
|
|
|
|
The range of memory used is 0xf00000-0x1000000, traditionally
|
|
the memory used to back VGA controller memory.
|
|
|
|
If you have a supported Chromebook, choose Y or M here.
|
|
The module will be called chromeos_pstore.
|
|
|
|
config CHROMEOS_TBMC
|
|
tristate "ChromeOS Tablet Switch Controller"
|
|
depends on ACPI
|
|
depends on INPUT
|
|
help
|
|
This option adds a driver for the tablet switch on
|
|
select Chrome OS systems.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called chromeos_tbmc.
|
|
|
|
config CROS_EC_I2C
|
|
tristate "ChromeOS Embedded Controller (I2C)"
|
|
depends on MFD_CROS_EC && I2C
|
|
|
|
help
|
|
If you say Y here, you get support for talking to the ChromeOS
|
|
EC through an I2C bus. This uses a simple byte-level protocol with
|
|
a checksum. Failing accesses will be retried three times to
|
|
improve reliability.
|
|
|
|
config CROS_EC_SPI
|
|
tristate "ChromeOS Embedded Controller (SPI)"
|
|
depends on MFD_CROS_EC && SPI
|
|
|
|
---help---
|
|
If you say Y here, you get support for talking to the ChromeOS EC
|
|
through a SPI bus, using a byte-level protocol. Since the EC's
|
|
response time cannot be guaranteed, we support ignoring
|
|
'pre-amble' bytes before the response actually starts.
|
|
|
|
config CROS_EC_LPC
|
|
tristate "ChromeOS Embedded Controller (LPC)"
|
|
depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST)
|
|
help
|
|
If you say Y here, you get support for talking to the ChromeOS EC
|
|
over an LPC bus. This uses a simple byte-level protocol with a
|
|
checksum. This is used for userspace access only. The kernel
|
|
typically has its own communication methods.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_lpc.
|
|
|
|
config CROS_EC_LPC_MEC
|
|
bool "ChromeOS Embedded Controller LPC Microchip EC (MEC) variant"
|
|
depends on CROS_EC_LPC
|
|
default n
|
|
help
|
|
If you say Y here, a variant LPC protocol for the Microchip EC
|
|
will be used. Note that this variant is not backward compatible
|
|
with non-Microchip ECs.
|
|
|
|
If you have a ChromeOS Embedded Controller Microchip EC variant
|
|
choose Y here.
|
|
|
|
config CROS_EC_PROTO
|
|
bool
|
|
help
|
|
ChromeOS EC communication protocol helpers.
|
|
|
|
config CROS_KBD_LED_BACKLIGHT
|
|
tristate "Backlight LED support for Chrome OS keyboards"
|
|
depends on LEDS_CLASS && ACPI
|
|
help
|
|
This option enables support for the keyboard backlight LEDs on
|
|
select Chrome OS systems.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_kbd_led_backlight.
|
|
|
|
config CROS_EC_LIGHTBAR
|
|
tristate "Chromebook Pixel's lightbar support"
|
|
depends on MFD_CROS_EC_CHARDEV
|
|
default MFD_CROS_EC_CHARDEV
|
|
help
|
|
This option exposes the Chromebook Pixel's lightbar to
|
|
userspace.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_lightbar.
|
|
|
|
config CROS_EC_VBC
|
|
tristate "ChromeOS EC vboot context support"
|
|
depends on MFD_CROS_EC_CHARDEV && OF
|
|
default MFD_CROS_EC_CHARDEV
|
|
help
|
|
This option exposes the ChromeOS EC vboot context nvram to
|
|
userspace.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_vbc.
|
|
|
|
config CROS_EC_DEBUGFS
|
|
tristate "Export ChromeOS EC internals in DebugFS"
|
|
depends on MFD_CROS_EC_CHARDEV && DEBUG_FS
|
|
default MFD_CROS_EC_CHARDEV
|
|
help
|
|
This option exposes the ChromeOS EC device internals to
|
|
userspace.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_debugfs.
|
|
|
|
config CROS_EC_SYSFS
|
|
tristate "ChromeOS EC control and information through sysfs"
|
|
depends on MFD_CROS_EC_CHARDEV && SYSFS
|
|
default MFD_CROS_EC_CHARDEV
|
|
help
|
|
This option exposes some sysfs attributes to control and get
|
|
information from ChromeOS EC.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called cros_ec_sysfs.
|
|
|
|
source "drivers/platform/chrome/wilco_ec/Kconfig"
|
|
|
|
endif # CHROMEOS_PLATFORMS
|