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>
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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 */ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user