mb/amd/crater: Add touchscreen support
Add edp I2C touch panel suport. Change-Id: I33f13fc4c76dfe7cb9abf114d31e83e7ad24bdb9 Signed-off-by: Ana Carolina Cabral <ana.cpmelo95@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/87219 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
4e55225f2c
commit
443f514365
3 changed files with 34 additions and 1 deletions
|
|
@ -6,6 +6,7 @@ config BOARD_AMD_CRATER_COMMON
|
|||
select EC_ACPI
|
||||
select SOC_AMD_COMMON_BLOCK_USE_ESPI if !SOC_AMD_COMMON_BLOCK_SIMNOW_BUILD
|
||||
select DRIVERS_PCIE_RTD3_DEVICE
|
||||
select DRIVERS_I2C_HID
|
||||
select MAINBOARD_HAS_CHROMEOS
|
||||
select HAVE_ACPI_RESUME
|
||||
select PCIEXP_ASPM
|
||||
|
|
|
|||
|
|
@ -131,7 +131,21 @@ chip soc/amd/cezanne
|
|||
end
|
||||
|
||||
device ref i2c_0 on end
|
||||
device ref i2c_1 on end
|
||||
device ref i2c_1 on # eDP Touch Panel
|
||||
chip drivers/i2c/hid
|
||||
register "generic.hid" = ""PNP0C50""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.detect" = "1"
|
||||
register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_4)"
|
||||
register "generic.enable_delay_ms" = "1"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
register "generic.stop_off_delay_ms" = "2"
|
||||
register "generic.has_power_resource" = "1"
|
||||
register "hid_desc_reg_offset" = "0x01"
|
||||
device i2c 9 on end
|
||||
end
|
||||
end
|
||||
device ref i2c_2 on end
|
||||
device ref i2c_3 on end
|
||||
device ref uart_0 on end # UART0
|
||||
|
|
|
|||
|
|
@ -63,6 +63,10 @@
|
|||
#define ECA_SMBUS1_EN BIT(1)
|
||||
#define ECA_SMBUS0_EN BIT(0)
|
||||
|
||||
#define EC_GPIO_B_ADDR 0xAB
|
||||
#define ECB_TPNL_EN BIT(2)
|
||||
#define ECB_TPNL_PWR_EN BIT(0)
|
||||
|
||||
#define EC_GPIO_C_ADDR 0xAC
|
||||
#define ECC_TPNL_BUF_EN BIT(6)
|
||||
#define ECC_TPAD_BUF_EN BIT(5)
|
||||
|
|
@ -141,6 +145,20 @@ static void configure_ec_gpio(void)
|
|||
}
|
||||
printk(BIOS_SPEW, "Write reg [0x%02x] = 0x%02x\n", EC_GPIO_8_ADDR, tmp);
|
||||
ec_write(EC_GPIO_8_ADDR, tmp);
|
||||
|
||||
/* eDP Touch panel */
|
||||
if(CONFIG(ENABLE_EDP)) {
|
||||
tmp = ec_read(EC_GPIO_9_ADDR);
|
||||
tmp &= ~(EC9_MUX0_S1);
|
||||
tmp |= EC9_MUX0_S0;
|
||||
printk(BIOS_SPEW, "Write reg [0x%02x] = 0x%02x\n", EC_GPIO_9_ADDR, tmp);
|
||||
ec_write(EC_GPIO_9_ADDR, tmp);
|
||||
|
||||
tmp = ec_read(EC_GPIO_B_ADDR);
|
||||
tmp |= ECB_TPNL_EN | ECB_TPNL_EN;
|
||||
printk(BIOS_SPEW, "Write reg [0x%02x] = 0x%02x\n", EC_GPIO_B_ADDR, tmp);
|
||||
ec_write(EC_GPIO_B_ADDR, tmp);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct soc_amd_gpio RevA_gpio_set_stage_ram[] = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue