summaryrefslogtreecommitdiffstats
path: root/src/mainboard
diff options
context:
space:
mode:
authorShelley Chen <shchen@google.com>2021-12-21 13:17:33 -0800
committerShelley Chen <shchen@google.com>2022-01-04 19:16:38 +0000
commit8bdbe23a93008597d99472747ba3415617f8c074 (patch)
tree2d8482fae7a2f46dd0b82e53b27d3931d9207a88 /src/mainboard
parenta5b6ec05a864fb323696b68f1513d69ee2b718b2 (diff)
downloadcoreboot-8bdbe23a93008597d99472747ba3415617f8c074.tar.gz
coreboot-8bdbe23a93008597d99472747ba3415617f8c074.tar.bz2
coreboot-8bdbe23a93008597d99472747ba3415617f8c074.zip
mb/google/herobrine: Transition BOARD_HEROBRINE to BOARD_HEROBRINE_REV0
Deprecating Herobrine Rev0 board. The next board is very different from the Rev0 board (ie: Most GPIOs have been remapped). Deprecating and reusing the GOOGLE_BOARD_HEROBRINE Kconfig for next board and reslotting the old GOOGLE_BOARD_HEROBRINE source under GOOGLE_BOARD_HEROBRINE_REV0 config. Want to keep the code around in case somebody needs it but we can remove this code in future after we recall all the Rev0 devices. Also updating the remapped GPIOs to match those of the current herobrine board. BUG=b:211644878 BRANCH=None TEST=emerge-herobrine coreboot Change-Id: I67a0b282710031b927ce9022c7c535bd8d4ca1aa Signed-off-by: Shelley Chen <shchen@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/60284 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Douglas Anderson <dianders@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/herobrine/Kconfig1
-rw-r--r--src/mainboard/google/herobrine/Kconfig.name4
-rw-r--r--src/mainboard/google/herobrine/board.h4
-rw-r--r--src/mainboard/google/herobrine/mainboard.c11
4 files changed, 17 insertions, 3 deletions
diff --git a/src/mainboard/google/herobrine/Kconfig b/src/mainboard/google/herobrine/Kconfig
index c4c943eaf1e0..5c7183f46090 100644
--- a/src/mainboard/google/herobrine/Kconfig
+++ b/src/mainboard/google/herobrine/Kconfig
@@ -47,6 +47,7 @@ config MAINBOARD_VENDOR
config MAINBOARD_PART_NUMBER
default "Herobrine" if BOARD_GOOGLE_HEROBRINE
+ default "Herobrine.rev0" if BOARD_GOOGLE_HEROBRINE_REV0
default "Senor" if BOARD_GOOGLE_SENOR
default "Piglin" if BOARD_GOOGLE_PIGLIN
default "Hoglin" if BOARD_GOOGLE_HOGLIN
diff --git a/src/mainboard/google/herobrine/Kconfig.name b/src/mainboard/google/herobrine/Kconfig.name
index c0e995cb7433..4eb1130e6e46 100644
--- a/src/mainboard/google/herobrine/Kconfig.name
+++ b/src/mainboard/google/herobrine/Kconfig.name
@@ -6,6 +6,10 @@ config BOARD_GOOGLE_HEROBRINE
bool "-> Herobrine"
select BOARD_GOOGLE_HEROBRINE_COMMON
+config BOARD_GOOGLE_HEROBRINE_REV0
+ bool "-> Herobrine_Rev0"
+ select BOARD_GOOGLE_HEROBRINE_COMMON
+
config BOARD_GOOGLE_SENOR
bool "-> Senor"
select BOARD_GOOGLE_HEROBRINE_COMMON
diff --git a/src/mainboard/google/herobrine/board.h b/src/mainboard/google/herobrine/board.h
index 4278c117126d..b604cf762e2e 100644
--- a/src/mainboard/google/herobrine/board.h
+++ b/src/mainboard/google/herobrine/board.h
@@ -22,9 +22,9 @@
/* Fingerprint-specific GPIOs. Only for fingerprint-enabled devices. */
#if CONFIG(HEROBRINE_HAS_FINGERPRINT)
-#define GPIO_FPMCU_BOOT0 GPIO(77)
+#define GPIO_FPMCU_BOOT0 (CONFIG(BOARD_GOOGLE_HEROBRINE_REV0) ? GPIO(77) : GPIO(68))
#define GPIO_FP_RST_L GPIO(78)
-#define GPIO_EN_FP_RAILS GPIO(42)
+#define GPIO_EN_FP_RAILS (CONFIG(BOARD_GOOGLE_HEROBRINE_REV0) ? GPIO(42) : GPIO(77))
#else
#define GPIO_FPMCU_BOOT0 dead_code_t(gpio_t)
#define GPIO_FP_RST_L dead_code_t(gpio_t)
diff --git a/src/mainboard/google/herobrine/mainboard.c b/src/mainboard/google/herobrine/mainboard.c
index fcc468ede3e6..a97f97ef56cc 100644
--- a/src/mainboard/google/herobrine/mainboard.c
+++ b/src/mainboard/google/herobrine/mainboard.c
@@ -57,7 +57,7 @@ static void mainboard_init(struct device *dev)
qupv3_se_fw_load_and_init(QUPV3_1_SE5, SE_PROTOCOL_I2C, MIXED); /* Touch I2C */
qupv3_se_fw_load_and_init(QUPV3_0_SE7, SE_PROTOCOL_UART, FIFO); /* BT UART */
- if (CONFIG(BOARD_GOOGLE_HEROBRINE)) {
+ if (CONFIG(BOARD_GOOGLE_HEROBRINE_REV0)) {
/* Audio I2C */
qupv3_se_fw_load_and_init(QUPV3_0_SE0, SE_PROTOCOL_I2C, MIXED);
/* Trackpad I2C */
@@ -73,6 +73,15 @@ static void mainboard_init(struct device *dev)
qupv3_se_fw_load_and_init(QUPV3_1_SE4, SE_PROTOCOL_SPI, MIXED);
/* Fingerprint SPI */
qupv3_se_fw_load_and_init(QUPV3_1_SE6, SE_PROTOCOL_SPI, MIXED);
+ } else {
+ /* Trackpad I2C */
+ qupv3_se_fw_load_and_init(QUPV3_0_SE0, SE_PROTOCOL_I2C, MIXED);
+ /* SAR sensor I2C */
+ qupv3_se_fw_load_and_init(QUPV3_0_SE1, SE_PROTOCOL_I2C, MIXED);
+ /* Audio I2C */
+ qupv3_se_fw_load_and_init(QUPV3_0_SE2, SE_PROTOCOL_I2C, MIXED);
+ /* Fingerprint SPI */
+ qupv3_se_fw_load_and_init(QUPV3_1_SE1, SE_PROTOCOL_SPI, MIXED);
}
/* Take FPMCU out of reset. Power was already applied