summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Wu <david_wu@quanta.corp-partner.google.com>2021-11-23 11:26:44 +0800
committerFelix Held <felix-coreboot@felixheld.de>2021-11-26 11:19:16 +0000
commit02cef7a4a8e6bdb8648ad1a0dfa55bfedd05aca6 (patch)
treec9add5467df0252ed6a4d1fb1730ff23d214d542 /src
parent19072dcd6fc762a94a8697d6c5cf3db018fb29c8 (diff)
mb/google/brya/var/kano: swap TPM i2c with TS i2c for the next build phase
Kano EVT will exchange i2c port for touchscreen and cr50. BUG=b:195853169 TEST=build pass Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com> Change-Id: I500f0721689ca66b65b8fb1deb79bef2bd988465 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59560 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/brya/Kconfig11
-rw-r--r--src/mainboard/google/brya/variants/kano/gpio.c8
-rw-r--r--src/mainboard/google/brya/variants/kano/overridetree.cb92
3 files changed, 68 insertions, 43 deletions
diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig
index 1b4f6ae5ac..6231762130 100644
--- a/src/mainboard/google/brya/Kconfig
+++ b/src/mainboard/google/brya/Kconfig
@@ -72,7 +72,16 @@ config DEVICETREE
config DRIVER_TPM_I2C_BUS
hex
- default 0x3
+ default 0x3 if BOARD_GOOGLE_BRYA0
+ default 0x3 if BOARD_GOOGLE_BRASK
+ default 0x3 if BOARD_GOOGLE_PRIMUS
+ default 0x3 if BOARD_GOOGLE_GIMBLE
+ default 0x3 if BOARD_GOOGLE_REDRIX
+ default 0x1 if BOARD_GOOGLE_KANO
+ default 0x3 if BOARD_GOOGLE_TAEKO
+ default 0x3 if BOARD_GOOGLE_FELWINTER
+ default 0x3 if BOARD_GOOGLE_ANAHERA
+ default 0x3 if BOARD_GOOGLE_VELL
config DRIVER_TPM_I2C_ADDR
hex
diff --git a/src/mainboard/google/brya/variants/kano/gpio.c b/src/mainboard/google/brya/variants/kano/gpio.c
index 818ddd06ae..d77abeae9a 100644
--- a/src/mainboard/google/brya/variants/kano/gpio.c
+++ b/src/mainboard/google/brya/variants/kano/gpio.c
@@ -108,10 +108,6 @@ 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),
/*
* D1 : ISH_GP1 ==> FP_RST_ODL
* FP_RST_ODL comes out of reset as hi-z and does not have an external pull-down.
@@ -133,6 +129,10 @@ static const struct pad_config early_gpio_table[] = {
PAD_CFG_GPI_GPIO_DRIVER(GPP_E15, NONE, DEEP),
/* F18 : THC1_SPI2_INT# ==> EC_IN_RW_OD */
PAD_CFG_GPI(GPP_F18, NONE, DEEP),
+ /* 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),
/* H10 : UART0_RXD ==> UART_PCH_RX_DBG_TX */
PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2),
/* H11 : UART0_TXD ==> UART_PCH_TX_DBG_RX */
diff --git a/src/mainboard/google/brya/variants/kano/overridetree.cb b/src/mainboard/google/brya/variants/kano/overridetree.cb
index 56dfc6f9c7..e0ac3511be 100644
--- a/src/mainboard/google/brya/variants/kano/overridetree.cb
+++ b/src/mainboard/google/brya/variants/kano/overridetree.cb
@@ -36,14 +36,30 @@ chip soc/intel/alderlake
#+-------------------+---------------------------+
#| GSPI1 | Fingerprint MCU |
#| I2C0 | Audio |
- #| I2C1 | Touchscreen |
- #| I2C2 | SAR0 |
- #| I2C3 | cr50 TPM. Early init is |
+ #| I2C1 | cr50 TPM. Early init is |
#| | required to set up a BAR |
#| | for TPM communication |
+ #| I2C2 | SAR0 |
+ #| 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] = {
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 650,
+ .fall_time_ns = 400,
+ .data_hold_time_ns = 50,
+ },
+ }"
+
device domain 0 on
device ref dtt on
chip drivers/intel/dptf
@@ -232,37 +248,10 @@ chip soc/intel/alderlake
end
end #I2C0
device ref i2c1 on
- chip drivers/i2c/hid
- register "generic.hid" = ""ELAN90FC""
- register "generic.desc" = ""ELAN Touchscreen""
- 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 0x10 on end
- end
- chip drivers/generic/gpio_keys
- register "name" = ""PENH""
- # GPP_D6 is the IRQ source, and GPP_D17 is the wake source
- register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_D6)"
- register "key.wake_gpe" = "GPE0_DW1_17"
- register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
- register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
- register "key.dev_name" = ""EJCT""
- register "key.linux_code" = "SW_PEN_INSERTED"
- register "key.linux_input_type" = "EV_SW"
- register "key.label" = ""pen_eject""
- device generic 0 on end
+ 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 i2c2 on
@@ -421,10 +410,37 @@ chip soc/intel/alderlake
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
+ chip drivers/i2c/hid
+ register "generic.hid" = ""ELAN90FC""
+ register "generic.desc" = ""ELAN Touchscreen""
+ 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 0x10 on end
+ end
+ chip drivers/generic/gpio_keys
+ register "name" = ""PENH""
+ # GPP_D6 is the IRQ source, and GPP_D17 is the wake source
+ register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_D6)"
+ register "key.wake_gpe" = "GPE0_DW1_17"
+ register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
+ register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
+ register "key.dev_name" = ""EJCT""
+ register "key.linux_code" = "SW_PEN_INSERTED"
+ register "key.linux_input_type" = "EV_SW"
+ register "key.label" = ""pen_eject""
+ device generic 0 on end
end
end
device ref i2c5 on