summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/generic/adau7002/adau7002.c9
-rw-r--r--src/drivers/generic/adau7002/chip.h2
2 files changed, 11 insertions, 0 deletions
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__ */