summaryrefslogtreecommitdiff
path: root/src/drivers/i2c/max98390
diff options
context:
space:
mode:
authorWisley Chen <wisley.chen@quanta.corp-partner.google.com>2021-09-15 17:37:16 +0600
committerFelix Held <felix-coreboot@felixheld.de>2021-09-20 12:40:51 +0000
commit9cc550eb8ef86f9c3ee46872a7485cf5a66fd924 (patch)
tree4cf257320ec20f60fa53b3f29adec6f343ba3e5c /src/drivers/i2c/max98390
parenta2c009bd94aa3c9694158f9e28184ccbd94df42b (diff)
driver/i2c/max98390: Add vmon_slot_no/imon_slot_no property
Add two properties (maxim, vmon-slot-no/maxim, imon-slot-no) in maxim9839 driver. This is I/V source destination definition that from below properties . maxim,vmon-slot-no => PCM_IVADC_V_DEST maxim,imon-slot-no => PCM_IVADC_I_DEST BUG=b:197076844 TEST=build and check SSDT Signed-off-by: Wisley Chen <wisley.chen@quanta.corp-partner.google.com> Change-Id: Idb24d19c7cfea559bf6d53f401d66cadb8b3acc6 Reviewed-on: https://review.coreboot.org/c/coreboot/+/57671 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/drivers/i2c/max98390')
-rw-r--r--src/drivers/i2c/max98390/chip.h4
-rw-r--r--src/drivers/i2c/max98390/max98390.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/i2c/max98390/chip.h b/src/drivers/i2c/max98390/chip.h
index d01237b418..c60b44cc0c 100644
--- a/src/drivers/i2c/max98390/chip.h
+++ b/src/drivers/i2c/max98390/chip.h
@@ -14,4 +14,8 @@ struct drivers_i2c_max98390_config {
/* The VPD key of temperature during speaker calibration. */
const char *temperature_calib_key;
const char *dsm_param_file_name;
+ /* slot number where voltage feedback will be received */
+ uint32_t vmon_slot_no;
+ /* slot number where current feedback will be received */
+ uint32_t imon_slot_no;
};
diff --git a/src/drivers/i2c/max98390/max98390.c b/src/drivers/i2c/max98390/max98390.c
index 4beb6c29b7..08ed625163 100644
--- a/src/drivers/i2c/max98390/max98390.c
+++ b/src/drivers/i2c/max98390/max98390.c
@@ -79,6 +79,12 @@ static void max98390_fill_ssdt(const struct device *dev)
}
}
+ if (!dp)
+ dp = acpi_dp_new_table("_DSD");
+
+ acpi_dp_add_integer(dp, "maxim,vmon-slot-no", config->vmon_slot_no);
+ acpi_dp_add_integer(dp, "maxim,imon-slot-no", config->imon_slot_no);
+
if (dp)
acpi_dp_write(dp);