From 138f547c8bff06989089a8317badf43f0733acd6 Mon Sep 17 00:00:00 2001 From: Shon Wang Date: Tue, 14 Dec 2021 20:41:48 +0800 Subject: mb/google/brya/var/vell: Swap TPM I2C with touchscreen I2C According to the latest schematic for the next build phase, exchange I2C port for TPM/touchscreen. TPM: I2C3 -> I2C1 Touchscreen: I2C1 -> I2C3 BUG=b:210572663 TEST=FW_NAME=vell emerge-brya coreboot Change-Id: If72717a2c073f5b871c3109399f466a04a9d2484 Signed-off-by: Shon Wang Reviewed-on: https://review.coreboot.org/c/coreboot/+/60106 Tested-by: build bot (Jenkins) Reviewed-by: Nick Vaccaro Reviewed-by: Tim Wawrzynczak --- src/mainboard/google/brya/Kconfig | 2 +- src/mainboard/google/brya/variants/vell/gpio.c | 8 +++---- .../google/brya/variants/vell/overridetree.cb | 27 +++++++++++++++++++--- 3 files changed, 29 insertions(+), 8 deletions(-) (limited to 'src/mainboard') diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig index 0796ed088b..4fb5b749ad 100644 --- a/src/mainboard/google/brya/Kconfig +++ b/src/mainboard/google/brya/Kconfig @@ -100,7 +100,7 @@ config DRIVER_TPM_I2C_BUS default 0x1 if BOARD_GOOGLE_FELWINTER default 0x1 if BOARD_GOOGLE_ANAHERA default 0x3 if BOARD_GOOGLE_ANAHERA4ES - default 0x3 if BOARD_GOOGLE_VELL + default 0x1 if BOARD_GOOGLE_VELL default 0x3 if BOARD_GOOGLE_TANIKS default 0x0 if BOARD_GOOGLE_NIVVIKS default 0x0 if BOARD_GOOGLE_NEREID diff --git a/src/mainboard/google/brya/variants/vell/gpio.c b/src/mainboard/google/brya/variants/vell/gpio.c index 7028222d96..9e139d3285 100644 --- a/src/mainboard/google/brya/variants/vell/gpio.c +++ b/src/mainboard/google/brya/variants/vell/gpio.c @@ -92,10 +92,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 : IC1_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/vell/overridetree.cb b/src/mainboard/google/brya/variants/vell/overridetree.cb index 825b305afa..6ad37e076d 100644 --- a/src/mainboard/google/brya/variants/vell/overridetree.cb +++ b/src/mainboard/google/brya/variants/vell/overridetree.cb @@ -39,13 +39,27 @@ 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" = "{ + .i2c[1] = { + .early_init = 1, + .speed = I2C_SPEED_FAST, + .rise_time_ns = 600, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + .i2c[3] = { + .rise_time_ns = 650, + .fall_time_ns = 400, + .data_hold_time_ns = 50, + }, + }" register "usb2_ports[4]" = "USB2_PORT_TYPE_C(OC3)" # USB2_C3 # I2C Port Config @@ -183,6 +197,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/generic register "hid" = ""ELAN0001"" register "desc" = ""ELAN Touchscreen"" -- cgit v1.2.3