aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalik_Hsu <malik_hsu@wistron.corp-partner.google.com>2021-12-03 09:44:36 +0800
committerTim Wawrzynczak <twawrzynczak@chromium.org>2021-12-03 03:32:22 +0000
commitac812eda0bd9c2e39f9857ee18806bb4edd1de6c (patch)
treec302d39b4aa74481de50b91b114e020452cdb4a7
parentdf72b18db7fb441ee9a1d6b0dfc5a74be24e541b (diff)
mb/google/brya/variants/primus: Swap TPM I2C with touchscreen I2C
In next build phase, primus will exchange i2c port for touchscreen and cr50. BUG=b:207834727 TEST=build pass Signed-off-by: Malik_Hsu <malik_hsu@wistron.corp-partner.google.com> Change-Id: Ief1b156b866a9aaa2919f0e209b6439c7019e939 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59737 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
-rw-r--r--src/mainboard/google/brya/Kconfig3
-rw-r--r--src/mainboard/google/brya/variants/primus/gpio.c8
-rw-r--r--src/mainboard/google/brya/variants/primus/overridetree.cb28
3 files changed, 23 insertions, 16 deletions
diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig
index 963b400826..6bf1fe122c 100644
--- a/src/mainboard/google/brya/Kconfig
+++ b/src/mainboard/google/brya/Kconfig
@@ -74,7 +74,8 @@ config DRIVER_TPM_I2C_BUS
hex
default 0x3 if BOARD_GOOGLE_BRYA0
default 0x3 if BOARD_GOOGLE_BRASK
- default 0x3 if BOARD_GOOGLE_PRIMUS
+ default 0x1 if BOARD_GOOGLE_PRIMUS
+ default 0x3 if BOARD_GOOGLE_PRIMUS4ES
default 0x1 if BOARD_GOOGLE_GIMBLE
default 0x3 if BOARD_GOOGLE_GIMBLE4ES
default 0x3 if BOARD_GOOGLE_REDRIX
diff --git a/src/mainboard/google/brya/variants/primus/gpio.c b/src/mainboard/google/brya/variants/primus/gpio.c
index df0930c42f..1abe369be9 100644
--- a/src/mainboard/google/brya/variants/primus/gpio.c
+++ b/src/mainboard/google/brya/variants/primus/gpio.c
@@ -80,10 +80,10 @@ static const struct pad_config early_gpio_table[] = {
PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT),
/* B4 : PROC_GP3 ==> SSD_PERST_L */
PAD_CFG_GPO(GPP_B4, 0, DEEP),
- /* B7 : ISH_12C1_SDA ==> PCH_I2C_TPM_SDA */
- PAD_CFG_NF(GPP_B7, NONE, DEEP, NF2),
- /* B8 : ISH_12C1_SCL ==> PCH_I2C_TPM_SCL */
- PAD_CFG_NF(GPP_B8, NONE, DEEP, NF2),
+ /* H6 : I2C1_SDA ==> PCH_I2C_TPM_SDA */
+ PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1),
+ /* H7 : I2C1_SCL ==> PCH_I2C_TPM_SCL */
+ PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1),
/*
* D1 : ISH_GP1 ==> FP_RST_ODL
* FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down.
diff --git a/src/mainboard/google/brya/variants/primus/overridetree.cb b/src/mainboard/google/brya/variants/primus/overridetree.cb
index c12939f4e8..84243194ea 100644
--- a/src/mainboard/google/brya/variants/primus/overridetree.cb
+++ b/src/mainboard/google/brya/variants/primus/overridetree.cb
@@ -42,11 +42,11 @@ chip soc/intel/alderlake
#+-------------------+---------------------------+
#| GSPI1 | Fingerprint MCU |
#| I2C0 | Audio |
- #| I2C1 | Touchscreen |
- #| I2C2 | |
- #| I2C3 | cr50 TPM. Early init is |
+ #| I2C1 | cr50 TPM. Early init is |
#| | required to set up a BAR |
#| | for TPM communication |
+ #| I2C2 | |
+ #| I2C3 | Touchscreen |
#| I2C5 | Trackpad |
#+-------------------+---------------------------+
register "common_soc_config" = "{
@@ -54,14 +54,20 @@ chip soc/intel/alderlake
.speed = I2C_SPEED_FAST,
},
.i2c[1] = {
+ .early_init = 1,
.speed = I2C_SPEED_FAST,
+ .rise_time_ns = 600,
+ .fall_time_ns = 400,
+ .data_hold_time_ns = 50,
},
.i2c[2] = {
.speed = I2C_SPEED_FAST,
},
.i2c[3] = {
- .early_init = 1,
.speed = I2C_SPEED_FAST,
+ .rise_time_ns = 650,
+ .fall_time_ns = 400,
+ .data_hold_time_ns = 50,
},
.i2c[5] = {
.speed = I2C_SPEED_FAST,
@@ -197,6 +203,13 @@ chip soc/intel/alderlake
end
end #I2C0
device ref i2c1 on
+ chip drivers/i2c/tpm
+ register "hid" = ""GOOG0005""
+ register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
+ device i2c 50 on end
+ end
+ end
+ device ref i2c3 on
chip drivers/i2c/hid
register "generic.hid" = ""ELAN9050""
register "generic.desc" = ""ELAN Touchscreen""
@@ -232,13 +245,6 @@ chip soc/intel/alderlake
device i2c 0x40 on end
end
end
- device ref i2c3 on
- chip drivers/i2c/tpm
- register "hid" = ""GOOG0005""
- register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
- device i2c 50 on end
- end
- end
device ref i2c5 on
chip drivers/i2c/generic
register "hid" = ""ELAN0000""