mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 17:51:23 +00:00

Add support for the MT6331 PMIC with MT6332 Companion PMIC, found in MT6795 Helio X10 smartphone platforms. This combo has support for multiple devices but, for a start, only the following have been implemented: - Regulators (two instances, one in MT6331, one in MT6332) - RTC (MT6331) - Keys (MT6331) - Interrupts (MT6331 also dispatches MT6332's interrupts) There's more to be implemented, especially for MT6332, which will come at a later stage. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20220627123954.64299-1-angelogioacchino.delregno@collabora.com
66 lines
2.1 KiB
C
66 lines
2.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2022 AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
|
*/
|
|
|
|
#ifndef __MFD_MT6332_CORE_H__
|
|
#define __MFD_MT6332_CORE_H__
|
|
|
|
enum mt6332_irq_status_numbers {
|
|
MT6332_IRQ_STATUS_CHR_COMPLETE = 0,
|
|
MT6332_IRQ_STATUS_THERMAL_SD,
|
|
MT6332_IRQ_STATUS_THERMAL_REG_IN,
|
|
MT6332_IRQ_STATUS_THERMAL_REG_OUT,
|
|
MT6332_IRQ_STATUS_OTG_OC,
|
|
MT6332_IRQ_STATUS_CHR_OC,
|
|
MT6332_IRQ_STATUS_OTG_THERMAL,
|
|
MT6332_IRQ_STATUS_CHRIN_SHORT,
|
|
MT6332_IRQ_STATUS_DRVCDT_SHORT,
|
|
MT6332_IRQ_STATUS_PLUG_IN_FLASH,
|
|
MT6332_IRQ_STATUS_CHRWDT_FLAG,
|
|
MT6332_IRQ_STATUS_FLASH_EN_TIMEOUT,
|
|
MT6332_IRQ_STATUS_FLASH_VLED1_SHORT,
|
|
MT6332_IRQ_STATUS_FLASH_VLED1_OPEN = 13,
|
|
MT6332_IRQ_STATUS_OV = 16,
|
|
MT6332_IRQ_STATUS_BVALID_DET,
|
|
MT6332_IRQ_STATUS_VBATON_UNDET,
|
|
MT6332_IRQ_STATUS_CHR_PLUG_IN,
|
|
MT6332_IRQ_STATUS_CHR_PLUG_OUT,
|
|
MT6332_IRQ_STATUS_BC11_TIMEOUT,
|
|
MT6332_IRQ_STATUS_FLASH_VLED2_SHORT,
|
|
MT6332_IRQ_STATUS_FLASH_VLED2_OPEN = 23,
|
|
MT6332_IRQ_STATUS_THR_H = 32,
|
|
MT6332_IRQ_STATUS_THR_L,
|
|
MT6332_IRQ_STATUS_BAT_H,
|
|
MT6332_IRQ_STATUS_BAT_L,
|
|
MT6332_IRQ_STATUS_M3_H,
|
|
MT6332_IRQ_STATUS_M3_L,
|
|
MT6332_IRQ_STATUS_FG_BAT_H,
|
|
MT6332_IRQ_STATUS_FG_BAT_L,
|
|
MT6332_IRQ_STATUS_FG_CUR_H,
|
|
MT6332_IRQ_STATUS_FG_CUR_L,
|
|
MT6332_IRQ_STATUS_SPKL_D,
|
|
MT6332_IRQ_STATUS_SPKL_AB,
|
|
MT6332_IRQ_STATUS_BIF,
|
|
MT6332_IRQ_STATUS_VWLED_OC = 45,
|
|
MT6332_IRQ_STATUS_VDRAM_OC = 48,
|
|
MT6332_IRQ_STATUS_VDVFS2_OC,
|
|
MT6332_IRQ_STATUS_VRF1_OC,
|
|
MT6332_IRQ_STATUS_VRF2_OC,
|
|
MT6332_IRQ_STATUS_VPA_OC,
|
|
MT6332_IRQ_STATUS_VSBST_OC,
|
|
MT6332_IRQ_STATUS_LDO_OC,
|
|
MT6332_IRQ_STATUS_NR,
|
|
};
|
|
|
|
#define MT6332_IRQ_CON0_BASE MT6332_IRQ_STATUS_CHR_COMPLETE
|
|
#define MT6332_IRQ_CON0_BITS (MT6332_IRQ_STATUS_FLASH_VLED1_OPEN + 1)
|
|
#define MT6332_IRQ_CON1_BASE MT6332_IRQ_STATUS_OV
|
|
#define MT6332_IRQ_CON1_BITS (MT6332_IRQ_STATUS_FLASH_VLED2_OPEN - MT6332_IRQ_STATUS_OV + 1)
|
|
#define MT6332_IRQ_CON2_BASE MT6332_IRQ_STATUS_THR_H
|
|
#define MT6332_IRQ_CON2_BITS (MT6332_IRQ_STATUS_VWLED_OC - MT6332_IRQ_STATUS_THR_H + 1)
|
|
#define MT6332_IRQ_CON3_BASE MT6332_IRQ_STATUS_VDRAM_OC
|
|
#define MT6332_IRQ_CON3_BITS (MT6332_IRQ_STATUS_LDO_OC - MT6332_IRQ_STATUS_VDRAM_OC + 1)
|
|
|
|
#endif /* __MFD_MT6332_CORE_H__ */
|