kernel-brax3-ubuntu-touch/include/linux/mfd/mt6368/core.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

94 lines
2.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2021 MediaTek Inc.
*/
#ifndef __MFD_MT6368_CORE_H__
#define __MFD_MT6368_CORE_H__
#define MT6368_REG_WIDTH 8
enum mt6368_irq_top_status_shift {
MT6368_BUCK_TOP = 0,
MT6368_LDO_TOP,
MT6368_PSC_TOP,
MT6368_MISC_TOP,
MT6368_HK_TOP,
MT6368_SCK_TOP,
MT6368_BM_TOP,
MT6368_AUD_TOP,
};
enum mt6368_irq_numbers {
MT6368_IRQ_VBUCK1_OC,
MT6368_IRQ_VBUCK2_OC,
MT6368_IRQ_VBUCK3_OC,
MT6368_IRQ_VBUCK4_OC,
MT6368_IRQ_VBUCK5_OC,
MT6368_IRQ_VBUCK6_OC,
MT6368_IRQ_VPA_OC,
MT6368_IRQ_VSIM1_OC = 8,
MT6368_IRQ_VSIM2_OC,
MT6368_IRQ_VMDDR_OC,
MT6368_IRQ_VMDDQ_OC,
MT6368_IRQ_VUSB_OC,
MT6368_IRQ_VAUX18_OC,
MT6368_IRQ_VRF13_AIF_OC,
MT6368_IRQ_VRF18_AIF_OC,
MT6368_IRQ_VANT18_OC,
MT6368_IRQ_VIBR_OC,
MT6368_IRQ_VIO28_OC,
MT6368_IRQ_VFP_OC,
MT6368_IRQ_VTP_OC,
MT6368_IRQ_VMCH_OC,
MT6368_IRQ_VMC_OC,
MT6368_IRQ_VAUD18_OC,
MT6368_IRQ_VCN33_1_OC,
MT6368_IRQ_VCN33_2_OC,
MT6368_IRQ_VEFUSE_OC,
MT6368_IRQ_RCS0 = 48,
MT6368_IRQ_SPMI_CMD_ALERT,
MT6368_IRQ_SPMI_P_CMD_ALERT,
MT6368_IRQ_BM_PROTREG = 54,
MT6368_IRQ_VRC_PROTREG,
MT6368_IRQ_BUCK_PROTREG,
MT6368_IRQ_LDO_PROTREG,
MT6368_IRQ_PSC_PROTREG,
MT6368_IRQ_PLT_PROTREG,
MT6368_IRQ_HK_PROTREG,
MT6368_IRQ_SCK_PROTREG,
MT6368_IRQ_XPP_PROTREG,
MT6368_IRQ_TOP_PROTREG,
MT6368_IRQ_AUDIO = 96,
MT6368_IRQ_ACCDET,
MT6368_IRQ_ACCDET_EINT0,
MT6368_IRQ_ACCDET_EINT1,
MT6368_IRQ_NR = 100,
};
#define MT6368_IRQ_BUCK_BASE MT6368_IRQ_VBUCK1_OC
#define MT6368_IRQ_LDO_BASE MT6368_IRQ_VSIM1_OC
#define MT6368_IRQ_MISC_BASE MT6368_IRQ_RCS0
#define MT6368_IRQ_AUD_BASE MT6368_IRQ_AUDIO
#define MT6368_IRQ_BUCK_BITS \
(MT6368_IRQ_VPA_OC - MT6368_IRQ_BUCK_BASE + 1)
#define MT6368_IRQ_LDO_BITS \
(MT6368_IRQ_VEFUSE_OC - MT6368_IRQ_LDO_BASE + 1)
#define MT6368_IRQ_MISC_BITS \
(MT6368_IRQ_TOP_PROTREG - MT6368_IRQ_MISC_BASE + 1)
#define MT6368_IRQ_AUD_BITS \
(MT6368_IRQ_ACCDET_EINT1 - MT6368_IRQ_AUD_BASE + 1)
#define MT6368_TOP_GEN(sp) \
{ \
.hwirq_base = MT6368_IRQ_##sp##_BASE, \
.num_int_regs = ((MT6368_IRQ_##sp##_BITS - 1) / MT6368_REG_WIDTH) + 1, \
.en_reg = MT6368_##sp##_TOP_INT_CON0, \
.en_reg_shift = 0x3, \
.sta_reg = MT6368_##sp##_TOP_INT_STATUS0, \
.sta_reg_shift = 0x1, \
.top_offset = MT6368_##sp##_TOP, \
}
#endif /* __MFD_MT6368_CORE_H__ */