1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2022 BayLibre, SAS
7 #ifndef __MFD_MT6357_CORE_H__
8 #define __MFD_MT6357_CORE_H__
10 enum mt6357_irq_top_status_shift {
22 enum mt6357_irq_numbers {
23 MT6357_IRQ_VPROC_OC = 0,
28 MT6357_IRQ_VCORE_PREOC,
29 MT6357_IRQ_VFE28_OC = 16,
46 MT6357_IRQ_VSRAM_PROC_OC,
47 MT6357_IRQ_VSRAM_OTHERS_OC,
55 MT6357_IRQ_PWRKEY = 48,
59 MT6357_IRQ_NI_LBAT_INT,
61 MT6357_IRQ_CHRDET_EDGE,
62 MT6357_IRQ_VCDT_HV_DET,
64 MT6357_IRQ_VBATON_UNDET,
65 MT6357_IRQ_BVALID_DET,
68 MT6357_IRQ_FG_BAT0_H = 80,
73 MT6357_IRQ_BATON_LV = 96,
75 MT6357_IRQ_BAT_H = 112,
77 MT6357_IRQ_AUXADC_IMP,
78 MT6357_IRQ_NAG_C_DLTV,
79 MT6357_IRQ_AUDIO = 128,
80 MT6357_IRQ_ACCDET = 133,
81 MT6357_IRQ_ACCDET_EINT0,
82 MT6357_IRQ_ACCDET_EINT1,
83 MT6357_IRQ_SPI_CMD_ALERT = 144,
87 #define MT6357_IRQ_BUCK_BASE MT6357_IRQ_VPROC_OC
88 #define MT6357_IRQ_LDO_BASE MT6357_IRQ_VFE28_OC
89 #define MT6357_IRQ_PSC_BASE MT6357_IRQ_PWRKEY
90 #define MT6357_IRQ_SCK_BASE MT6357_IRQ_RTC
91 #define MT6357_IRQ_BM_BASE MT6357_IRQ_FG_BAT0_H
92 #define MT6357_IRQ_HK_BASE MT6357_IRQ_BAT_H
93 #define MT6357_IRQ_AUD_BASE MT6357_IRQ_AUDIO
94 #define MT6357_IRQ_MISC_BASE MT6357_IRQ_SPI_CMD_ALERT
96 #define MT6357_IRQ_BUCK_BITS (MT6357_IRQ_VCORE_PREOC - MT6357_IRQ_BUCK_BASE + 1)
97 #define MT6357_IRQ_LDO_BITS (MT6357_IRQ_VSIM2_OC - MT6357_IRQ_LDO_BASE + 1)
98 #define MT6357_IRQ_PSC_BITS (MT6357_IRQ_VCDT_HV_DET - MT6357_IRQ_PSC_BASE + 1)
99 #define MT6357_IRQ_SCK_BITS (MT6357_IRQ_RTC - MT6357_IRQ_SCK_BASE + 1)
100 #define MT6357_IRQ_BM_BITS (MT6357_IRQ_BATON_HT - MT6357_IRQ_BM_BASE + 1)
101 #define MT6357_IRQ_HK_BITS (MT6357_IRQ_NAG_C_DLTV - MT6357_IRQ_HK_BASE + 1)
102 #define MT6357_IRQ_AUD_BITS (MT6357_IRQ_ACCDET_EINT1 - MT6357_IRQ_AUD_BASE + 1)
103 #define MT6357_IRQ_MISC_BITS \
104 (MT6357_IRQ_SPI_CMD_ALERT - MT6357_IRQ_MISC_BASE + 1)
106 #define MT6357_TOP_GEN(sp) \
108 .hwirq_base = MT6357_IRQ_##sp##_BASE, \
110 ((MT6357_IRQ_##sp##_BITS - 1) / \
111 MTK_PMIC_REG_WIDTH) + 1, \
112 .en_reg = MT6357_##sp##_TOP_INT_CON0, \
113 .en_reg_shift = 0x6, \
114 .sta_reg = MT6357_##sp##_TOP_INT_STATUS0, \
115 .sta_reg_shift = 0x2, \
116 .top_offset = MT6357_##sp##_TOP, \
119 #endif /* __MFD_MT6357_CORE_H__ */