summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pmic/intel_pmic.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-01-07 12:15:53 +0100
committerHans de Goede <hdegoede@redhat.com>2019-01-09 10:35:02 +0100
commit7b5618f4b834330a052958db934c3dffad4a15c2 (patch)
tree4a485cc0635dac2b16d17796657fd588488b7d41 /drivers/acpi/pmic/intel_pmic.h
parent2f80d7bd8d93cac9d80fee7339ef673609fa8164 (diff)
downloadlinux-7b5618f4b834330a052958db934c3dffad4a15c2.tar.bz2
ACPI / PMIC: Add support for executing PMIC MIPI sequence elements
DSI LCD panels describe an initialization sequence in the Video BIOS Tables using so called MIPI sequences. One possible element in these sequences is a PMIC specific element of 15 bytes. Although this is not really an ACPI opregion, the ACPI opregion code is the closest thing we have. We need to have support for these PMIC specific MIPI sequence elements somwhere. Since we already instantiate a special platform device for Intel PMICs for the ACPI PMIC OpRegion handler to bind to, with PMIC specific implementations of the OpRegion, the handling of MIPI sequence PMIC elements fits very well in the ACPI PMIC OpRegion code. This commit adds a new intel_soc_pmic_exec_mipi_pmic_seq_element() function, which is to be backed by a PMIC specific exec_mipi_pmic_seq_element callback. This function will be called by the i915 code to execture MIPI sequence PMIC elements. Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190107111556.4510-2-hdegoede@redhat.com
Diffstat (limited to 'drivers/acpi/pmic/intel_pmic.h')
-rw-r--r--drivers/acpi/pmic/intel_pmic.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/acpi/pmic/intel_pmic.h b/drivers/acpi/pmic/intel_pmic.h
index 095afc96952e..5cd195fabca8 100644
--- a/drivers/acpi/pmic/intel_pmic.h
+++ b/drivers/acpi/pmic/intel_pmic.h
@@ -15,6 +15,8 @@ struct intel_pmic_opregion_data {
int (*update_aux)(struct regmap *r, int reg, int raw_temp);
int (*get_policy)(struct regmap *r, int reg, int bit, u64 *value);
int (*update_policy)(struct regmap *r, int reg, int bit, int enable);
+ int (*exec_mipi_pmic_seq_element)(struct regmap *r, u16 i2c_address,
+ u32 reg_address, u32 value, u32 mask);
struct pmic_table *power_table;
int power_table_count;
struct pmic_table *thermal_table;