ec/google: Support Google's Chrome EC on I2C interface.
Google's Chrome EC can be installed on LPC or I2C bus, using different command
protocol. This commit adds I2C support for devices like Google/Snow.
Note: I2C interface cannot be automatically probed so the bus and chip number
must be explicitly set.
Verified by booting Google/Snow, with following console output:
Google Chrome EC: Hello got back 11223344 status (0)
Google Chrome EC: version:
ro: snow_v1.3.108-30f8374
rw: snow_v1.3.128-e35f60e
running image: 1
Change-Id: I8023eb96cf477755d277fd7991bdb7d9392f10f7
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: http://review.coreboot.org/3074
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
diff --git a/src/ec/google/chromeec/Kconfig b/src/ec/google/chromeec/Kconfig
index ce96da7..c3f0499 100644
--- a/src/ec/google/chromeec/Kconfig
+++ b/src/ec/google/chromeec/Kconfig
@@ -10,9 +10,25 @@
help
Path to the ec API file (ec/ec_commands.h).
-config EC_GOOGLE_CHROMEEC_LPC
- depends on EC_GOOGLE_CHROMEEC
+config EC_GOOGLE_CHROMEEC_I2C
+ depends on EC_GOOGLE_CHROMEEC && !EC_GOOGLE_CHROMEEC_LPC
bool
- default y if ARCH_X86
+ default y
+ help
+ Google's Chrome EC via I2C bus.
+
+config EC_GOOGLE_CHROMEEC_I2C_BUS
+ depends on EC_GOOGLE_CHROMEEC_I2C
+ hex "I2C bus for Google's Chrome EC"
+
+config EC_GOOGLE_CHROMEEC_I2C_CHIP
+ depends on EC_GOOGLE_CHROMEEC_I2C
+ hex
+ default 0x1e
+
+config EC_GOOGLE_CHROMEEC_LPC
+ depends on EC_GOOGLE_CHROMEEC && ARCH_X86 # Needs Plug-and-play.
+ bool
+ default y
help
Google Chrome EC via LPC bus.