mb/google/brya/var/redrix: Swap TPM I2C with touchscreen I2C

According to the latest schematic, exchange I2C port for TPM/touchscreen.
TPM: I2C3 -> I2C1
Touchscreen: I2C1 -> I2C3

BUG=b:205648040
TEST=FW_NAME=redrix emerge-brya coreboot

Signed-off-by: Wisley Chen <wisley.chen@quanta.corp-partner.google.com>
Change-Id: I3a8339c23522019da884944246427512170510b6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59863
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Wisley Chen 2021-12-03 16:25:06 +06:00 committed by Patrick Georgi
parent 57ff302a6c
commit 7676fea000
3 changed files with 37 additions and 40 deletions

View File

@ -79,7 +79,8 @@ config DRIVER_TPM_I2C_BUS
default 0x3 if BOARD_GOOGLE_PRIMUS4ES default 0x3 if BOARD_GOOGLE_PRIMUS4ES
default 0x1 if BOARD_GOOGLE_GIMBLE default 0x1 if BOARD_GOOGLE_GIMBLE
default 0x3 if BOARD_GOOGLE_GIMBLE4ES default 0x3 if BOARD_GOOGLE_GIMBLE4ES
default 0x3 if BOARD_GOOGLE_REDRIX default 0x1 if BOARD_GOOGLE_REDRIX
default 0x3 if BOARD_GOOGLE_REDRIX4ES
default 0x1 if BOARD_GOOGLE_KANO default 0x1 if BOARD_GOOGLE_KANO
default 0x3 if BOARD_GOOGLE_TAEKO default 0x3 if BOARD_GOOGLE_TAEKO
default 0x1 if BOARD_GOOGLE_FELWINTER default 0x1 if BOARD_GOOGLE_FELWINTER

View File

@ -81,10 +81,10 @@ static const struct pad_config early_gpio_table[] = {
PAD_CFG_GPO(GPP_A12, 1, DEEP), PAD_CFG_GPO(GPP_A12, 1, DEEP),
/* A13 : PMC_I2C_SCL ==> GSC_PCH_INT_ODL */ /* A13 : PMC_I2C_SCL ==> GSC_PCH_INT_ODL */
PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT), PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT),
/* B7 : ISH_12C1_SDA ==> PCH_I2C_TPM_SDA */ /* H6 : I2C1_SDA ==> PCH_I2C_TPM_SDA */
PAD_CFG_NF(GPP_B7, NONE, DEEP, NF2), PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1),
/* B8 : ISH_12C1_SCL ==> PCH_I2C_TPM_SCL */ /* H7 : I2C1_SCL ==> PCH_I2C_TPM_SCL */
PAD_CFG_NF(GPP_B8, NONE, DEEP, NF2), PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1),
/* /*
* D1 : ISH_GP1 ==> FP_RST_ODL * D1 : ISH_GP1 ==> FP_RST_ODL
* FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down. * FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down.

View File

@ -57,29 +57,25 @@ chip soc/intel/alderlake
#+-------------------+---------------------------+ #+-------------------+---------------------------+
#| GSPI1 | Fingerprint MCU | #| GSPI1 | Fingerprint MCU |
#| I2C0 | Audio | #| I2C0 | Audio |
#| I2C1 | Touchscreen | #| I2C1 | cr50 TPM. Early init is |
#| I2C2 | |
#| I2C3 | cr50 TPM. Early init is |
#| | required to set up a BAR | #| | required to set up a BAR |
#| | for TPM communication | #| | for TPM communication |
#| I2C3 | TouchScreen |
#| I2C5 | Trackpad | #| I2C5 | Trackpad |
#+-------------------+---------------------------+ #+-------------------+---------------------------+
register "common_soc_config" = "{ register "common_soc_config" = "{
.i2c[0] = {
.speed = I2C_SPEED_FAST,
},
.i2c[1] = { .i2c[1] = {
.speed = I2C_SPEED_FAST,
},
.i2c[2] = {
.speed = I2C_SPEED_FAST,
},
.i2c[3] = {
.early_init = 1, .early_init = 1,
.speed = I2C_SPEED_FAST, .speed = I2C_SPEED_FAST,
.rise_time_ns = 600,
.fall_time_ns = 400,
.data_hold_time_ns = 50,
}, },
.i2c[5] = { .i2c[3] = {
.speed = I2C_SPEED_FAST, .speed = I2C_SPEED_FAST,
.rise_time_ns = 650,
.fall_time_ns = 400,
.data_hold_time_ns = 50,
}, },
}" }"
device domain 0 on device domain 0 on
@ -254,24 +250,10 @@ chip soc/intel/alderlake
end end
end #I2C0 end #I2C0
device ref i2c1 on device ref i2c1 on
chip drivers/i2c/hid chip drivers/i2c/tpm
register "generic.hid" = ""ELAN2513"" register "hid" = ""GOOG0005""
register "generic.desc" = ""ELAN Touchscreen"" register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)" device i2c 50 on end
register "generic.probed" = "1"
register "generic.reset_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
register "generic.reset_delay_ms" = "300"
register "generic.reset_off_delay_ms" = "1"
register "generic.enable_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
register "generic.enable_delay_ms" = "6"
register "generic.stop_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 0x15 on end
end end
end end
device ref i2c2 on device ref i2c2 on
@ -388,10 +370,24 @@ chip soc/intel/alderlake
end end
device ref i2c3 on device ref i2c3 on
chip drivers/i2c/tpm chip drivers/i2c/hid
register "hid" = ""GOOG0005"" register "generic.hid" = ""ELAN2513""
register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)" register "generic.desc" = ""ELAN Touchscreen""
device i2c 50 on end register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
register "generic.probed" = "1"
register "generic.reset_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
register "generic.reset_delay_ms" = "300"
register "generic.reset_off_delay_ms" = "1"
register "generic.enable_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
register "generic.enable_delay_ms" = "6"
register "generic.stop_gpio" =
"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
register "generic.stop_off_delay_ms" = "1"
register "generic.has_power_resource" = "1"
register "hid_desc_reg_offset" = "0x01"
device i2c 0x15 on end
end end
end end
device ref i2c5 on device ref i2c5 on