summaryrefslogtreecommitdiff
path: root/src/drivers/i2c
diff options
context:
space:
mode:
authorHarsha Priya <harshapriya.n@intel.com>2017-08-24 14:35:28 -0700
committerFurquan Shaikh <furquan@google.com>2017-09-06 19:00:41 +0000
commit151773571440de1e42e5430a2749ef207008cf26 (patch)
treee05b38de49ec1259b14b588f69168d6f09c267f8 /src/drivers/i2c
parenteab5c12ee0ba26bcf5412b3fb216b98db6bbc542 (diff)
downloadcoreboot-151773571440de1e42e5430a2749ef207008cf26.tar.xz
driver/i2c/max98927: Add imon and vmon params
This change list adds imon and vmon slot numbers as params for Maxim 98927 driver. These values are looked up in the kernel driver to confiure IV feedback for audio playback on speakers. BUG=b:36724448 TEST=After boot, the register dump for Max98927 codecs should have imon and vmon slots numbers set in 0x1e register. Change-Id: I21d72ba91af83782587f11018b2d1d1c8d4f676c Signed-off-by: Harsha Priya <harshapriya.n@intel.com> Reviewed-on: https://review.coreboot.org/21195 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/drivers/i2c')
-rw-r--r--src/drivers/i2c/max98927/chip.h4
-rw-r--r--src/drivers/i2c/max98927/max98927.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/i2c/max98927/chip.h b/src/drivers/i2c/max98927/chip.h
index c7101bc01f..765bafdae8 100644
--- a/src/drivers/i2c/max98927/chip.h
+++ b/src/drivers/i2c/max98927/chip.h
@@ -27,4 +27,8 @@ struct drivers_i2c_max98927_config {
const char *desc;
/* ACPI Device Name */
const char *name;
+ /* slot number where voltage feedback will be received */
+ unsigned int vmon_slot_no;
+ /* slot number where current feedback will be received */
+ unsigned int imon_slot_no;
};
diff --git a/src/drivers/i2c/max98927/max98927.c b/src/drivers/i2c/max98927/max98927.c
index 976c2f259a..e9fc00d433 100644
--- a/src/drivers/i2c/max98927/max98927.c
+++ b/src/drivers/i2c/max98927/max98927.c
@@ -61,6 +61,8 @@ static void max98927_fill_ssdt(struct device *dev)
dp = acpi_dp_new_table("_DSD");
acpi_dp_add_integer(dp, "interleave_mode", config->interleave_mode);
+ acpi_dp_add_integer(dp, "vmon-slot-no", config->vmon_slot_no);
+ acpi_dp_add_integer(dp, "imon-slot-no", config->imon_slot_no);
acpi_dp_write(dp);