Martin Roth has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/30724 )
Change subject: drivers/generic/adau7002: Add wakeup-delay-ms property ......................................................................
drivers/generic/adau7002: Add wakeup-delay-ms property
Passes out wakeup-delay to driver. This delay is applied at the start of capture to make sure dmics are ready before we start recording. This avoids pop noise at begining of capture.
BUG=b:119926436 TEST= With kernel patch https://lore.kernel.org/patchwork/patch/1029806/ No pop sound heard at start of capture
Change-Id: I32b18bf80fad5899ab4093a127dfd52d589bc365 Signed-off-by: Akshu Agrawal akshu.agrawal@amd.com Reviewed-on: https://review.coreboot.org/c/30724 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Martin Roth martinroth@google.com --- M src/drivers/generic/adau7002/adau7002.c M src/drivers/generic/adau7002/chip.h 2 files changed, 11 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Martin Roth: Looks good to me, approved
diff --git a/src/drivers/generic/adau7002/adau7002.c b/src/drivers/generic/adau7002/adau7002.c index 2ea1086..38d3d07 100644 --- a/src/drivers/generic/adau7002/adau7002.c +++ b/src/drivers/generic/adau7002/adau7002.c @@ -29,6 +29,9 @@
static void adau7002_fill_ssdt(struct device *dev) { + struct drivers_generic_adau7002_config *config; + struct acpi_dp *dp; + if (!dev || !dev->enabled) return;
@@ -45,6 +48,12 @@ acpigen_write_name_string("_DDN", dev->chip_ops->name); acpigen_write_STA(acpi_device_status(dev));
+ /* _DSD for devicetree properties */ + config = dev->chip_info; + dp = acpi_dp_new_table("_DSD"); + acpi_dp_add_integer(dp, "wakeup-delay-ms", config->wakeup_delay); + acpi_dp_write(dp); + acpigen_pop_len(); /* Device */ acpigen_pop_len(); /* Scope */
diff --git a/src/drivers/generic/adau7002/chip.h b/src/drivers/generic/adau7002/chip.h index 95b4d1e..f8cab44 100644 --- a/src/drivers/generic/adau7002/chip.h +++ b/src/drivers/generic/adau7002/chip.h @@ -17,6 +17,8 @@ #define __I2C_GENERIC_ADAU7002_CHIP_H__
struct drivers_generic_adau7002_config { + /* Delay */ + unsigned int wakeup_delay; };
#endif /* __I2C_GENERIC_ADAU7002_CHIP_H__ */