From 7ac3149b5d7535a642fc3165f78bb58e81a5148f Mon Sep 17 00:00:00 2001 From: Akshu Agrawal Date: Tue, 8 Jan 2019 14:06:42 +0530 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/30724 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/drivers/generic/adau7002/adau7002.c | 9 +++++++++ src/drivers/generic/adau7002/chip.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/drivers/generic/adau7002/adau7002.c b/src/drivers/generic/adau7002/adau7002.c index 2ea10867e9..38d3d07a01 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 @@ static void adau7002_fill_ssdt(struct device *dev) 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 95b4d1ec7f..f8cab445e3 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__ */