mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![Hans de Goede](/assets/img/avatar_default.png)
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
32 lines
898 B
C
32 lines
898 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Intel SoC PMIC Driver
|
|
*
|
|
* Copyright (C) 2012-2014 Intel Corporation. All rights reserved.
|
|
*
|
|
* Author: Yang, Bin <bin.yang@intel.com>
|
|
* Author: Zhu, Lejun <lejun.zhu@linux.intel.com>
|
|
*/
|
|
|
|
#ifndef __INTEL_SOC_PMIC_H__
|
|
#define __INTEL_SOC_PMIC_H__
|
|
|
|
#include <linux/regmap.h>
|
|
|
|
struct intel_soc_pmic {
|
|
int irq;
|
|
struct regmap *regmap;
|
|
struct regmap_irq_chip_data *irq_chip_data;
|
|
struct regmap_irq_chip_data *irq_chip_data_pwrbtn;
|
|
struct regmap_irq_chip_data *irq_chip_data_tmu;
|
|
struct regmap_irq_chip_data *irq_chip_data_bcu;
|
|
struct regmap_irq_chip_data *irq_chip_data_adc;
|
|
struct regmap_irq_chip_data *irq_chip_data_chgr;
|
|
struct regmap_irq_chip_data *irq_chip_data_crit;
|
|
struct device *dev;
|
|
};
|
|
|
|
int intel_soc_pmic_exec_mipi_pmic_seq_element(u16 i2c_address, u32 reg_address,
|
|
u32 value, u32 mask);
|
|
|
|
#endif /* __INTEL_SOC_PMIC_H__ */
|