mb/google/ocelot/var/ojal: Update touchpad config
This patch enables ELAN touchpad in devicetree on I2C0 interface and updates FW config for GPIO's according to schematics revision 0.9. Intel RDC kit no:840138 BUG=b:437459757 TEST=Build ojal board and test trackpad functionality Change-Id: Idf84165877e98df31f71c8df916637a455ce84dc Signed-off-by: Varun Upadhyay <varun.upadhyay@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/89323 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Pranava Y N <pranavayn@google.com>
This commit is contained in:
parent
bd933b641e
commit
beb0951c1c
2 changed files with 51 additions and 7 deletions
|
|
@ -71,6 +71,28 @@ static const struct pad_config cnvi_disable_pads[] = {
|
|||
PAD_NC(GPP_F05, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config touchpad_lpss_i2c_enable_pads[] = {
|
||||
/* GPP_H20: SOC_I2C_0_SCL */
|
||||
PAD_CFG_NF(GPP_H20, NONE, DEEP, NF1),
|
||||
/* GPP_H19: SOC_I2C_0_SDA */
|
||||
PAD_CFG_NF(GPP_H19, NONE, DEEP, NF1),
|
||||
/* GPP_A13: TCH_PAD_INT_N */
|
||||
PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT),
|
||||
/* GPP_VGPIO3_THC1: THC1_WOT */
|
||||
PAD_NC(GPP_VGPIO3_THC1, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config touchpad_i2c_disable_pads[] = {
|
||||
/* GPP_H20: SOC_I2C_0_SCL */
|
||||
PAD_NC(GPP_H20, NONE),
|
||||
/* GPP_H19: SOC_I2C_0_SDA */
|
||||
PAD_NC(GPP_H19, NONE),
|
||||
/* GPP_A13: TCH_PAD_INT_N */
|
||||
PAD_NC(GPP_A13, NONE),
|
||||
/* GPP_VGPIO3_THC1: THC1_WOT */
|
||||
PAD_NC(GPP_VGPIO3_THC1, NONE),
|
||||
};
|
||||
|
||||
void fw_config_configure_pre_mem_gpio(void)
|
||||
{
|
||||
if (!fw_config_is_provisioned()) {
|
||||
|
|
@ -109,4 +131,10 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
|
|||
} else if (fw_config_probe(FW_CONFIG(WIFI, WIFI_NONE))) {
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, cnvi_disable_pads);
|
||||
}
|
||||
|
||||
if (fw_config_probe(FW_CONFIG(TOUCHPAD, TOUCHPAD_LPSS_I2C))) {
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchpad_lpss_i2c_enable_pads);
|
||||
} else {
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchpad_i2c_disable_pads);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,11 @@ chip soc/intel/pantherlake
|
|||
register "tcss_cap_policy[0]" = "TCSS_TYPE_C_PORT_FULL_FUN"
|
||||
register "tcss_cap_policy[1]" = "TCSS_TYPE_C_PORT_FULL_FUN"
|
||||
|
||||
#gpe configuration
|
||||
register "pmc_gpe0_dw0" = "GPP_A"
|
||||
register "pmc_gpe0_dw1" = "GPP_B"
|
||||
register "pmc_gpe0_dw2" = "GPP_E"
|
||||
|
||||
# Enable EDP in PortA & HDMI in Port B
|
||||
register "ddi_port_A_config" = "1"
|
||||
register "ddi_port_B_config" = "1"
|
||||
|
|
@ -70,7 +75,7 @@ chip soc/intel/pantherlake
|
|||
[PchSerialIoIndexI2C2] = PchSerialIoDisabled,
|
||||
[PchSerialIoIndexI2C3] = PchSerialIoDisabled,
|
||||
[PchSerialIoIndexI2C4] = PchSerialIoDisabled,
|
||||
[PchSerialIoIndexI2C5] = PchSerialIoPci,
|
||||
[PchSerialIoIndexI2C5] = PchSerialIoDisabled,
|
||||
}"
|
||||
|
||||
register "serial_io_gspi_mode" = "{
|
||||
|
|
@ -90,13 +95,13 @@ chip soc/intel/pantherlake
|
|||
/* Render OEM footer logo 100px above from the edge */
|
||||
.logo_bottom_margin = 100,
|
||||
.chipset_lockdown = CHIPSET_LOCKDOWN_COREBOOT,
|
||||
.i2c[0] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
},
|
||||
.i2c[1] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.early_init = 1,
|
||||
},
|
||||
.i2c[5] = {
|
||||
.speed = I2C_SPEED_FAST,
|
||||
},
|
||||
.speed = I2C_SPEED_FAST,
|
||||
.early_init = 1,
|
||||
},
|
||||
}"
|
||||
|
||||
device domain 0 on
|
||||
|
|
@ -258,7 +263,18 @@ chip soc/intel/pantherlake
|
|||
probe WIFI WIFI_CNVI_7
|
||||
end
|
||||
|
||||
device ref i2c0 on end
|
||||
device ref i2c0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""ELAN0000""
|
||||
register "desc" = ""ELAN Touchpad""
|
||||
register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A13_IRQ)"
|
||||
register "wake" = "GPE0_DW0_13"
|
||||
register "detect" = "1"
|
||||
device i2c 15 on
|
||||
probe TOUCHPAD TOUCHPAD_LPSS_I2C
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
device ref i2c1 on
|
||||
chip drivers/i2c/tpm
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue