mb/google/zork: Disable ACP I2S wake for schematic version 3.6+

Starting with v3.6 of reference schematics, headphone jack interrupt
is moved to a standard GPIO instead of using CODEC_GPI. Thus, we no
longer need I2S wake to be enabled in the ACP for boards using v3.6+
version of schematics.

This change sets `acp_i2s_wake_enable` and `acp_pme_enable` to default
0 in baseboard devicetrees and overrides to 1 in update_hp_int_odl()
if the board is still using older version of reference schematics.

BUG=b:159934887

Signed-off-by: Furquan Shaikh <furquan@google.com>
Change-Id: I44b40db95b5148fe483c7340c5bd0d58627970a7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44403
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Furquan Shaikh 2020-08-11 17:05:46 -07:00
parent ef04f4e3d3
commit fd8840880d
3 changed files with 12 additions and 5 deletions

View File

@ -13,8 +13,8 @@ chip soc/amd/picasso
ACPI_FADT_REMOTE_POWER_ON"
register "acp_pin_cfg" = "I2S_PINS_I2S_TDM"
register "acp_i2s_wake_enable" = "1"
register "acpi_pme_enable" = "1"
register "acp_i2s_wake_enable" = "0"
register "acpi_pme_enable" = "0"
# Start : OPN Performance Configuration
# (Configuratin that is common for all variants)

View File

@ -13,8 +13,8 @@ chip soc/amd/picasso
ACPI_FADT_REMOTE_POWER_ON"
register "acp_pin_cfg" = "I2S_PINS_I2S_TDM"
register "acp_i2s_wake_enable" = "1"
register "acpi_pme_enable" = "1"
register "acp_i2s_wake_enable" = "0"
register "acpi_pme_enable" = "0"
# Start : OPN Performance Configuration
# (Configuratin that is common for all variants)

View File

@ -19,7 +19,6 @@ extern struct chip_operations drivers_i2c_hid_ops;
static void update_hp_int_odl(void)
{
static const struct device_path rt5682_path[] = {
{
.type = DEVICE_PATH_PCI,
@ -44,6 +43,7 @@ static void update_hp_int_odl(void)
const struct device *rt5682_dev;
struct drivers_i2c_generic_config *cfg;
struct acpi_gpio *gpio;
struct soc_amd_picasso_config *soc_cfg;
if (!variant_uses_codec_gpi())
return;
@ -65,6 +65,13 @@ static void update_hp_int_odl(void)
gpio = &cfg->irq_gpio;
gpio->pins[0] = 62;
/*
* When using CODEC_GPI for headphone jack interrupt, ACP_PME_EN and ACP_I2S_WAKE_EN
* need to be set to trigger I2S_WAKE event for headphone jack.
*/
soc_cfg = config_of_soc();
soc_cfg->acp_i2s_wake_enable = 1;
soc_cfg->acpi_pme_enable = 1;
}
static void update_dmic_gpio(void)