/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2021 MediaTek Inc. */ #ifndef __MFD_MT6373_CORE_H__ #define __MFD_MT6373_CORE_H__ #define MT6373_REG_WIDTH 8 enum mt6373_irq_top_status_shift { MT6373_BUCK_TOP = 0, MT6373_LDO_TOP, MT6373_PSC_TOP, MT6373_MISC_TOP, MT6373_HK_TOP, MT6373_SCK_TOP, MT6373_BM_TOP, MT6373_AUD_TOP, }; enum mt6373_irq_numbers { MT6373_IRQ_VBUCK0_OC, MT6373_IRQ_VBUCK1_OC, MT6373_IRQ_VBUCK2_OC, MT6373_IRQ_VBUCK3_OC, MT6373_IRQ_VBUCK4_OC, MT6373_IRQ_VBUCK5_OC, MT6373_IRQ_VBUCK6_OC, MT6373_IRQ_VBUCK7_OC, MT6373_IRQ_VBUCK8_OC, MT6373_IRQ_VBUCK9_OC, MT6373_IRQ_VAUD18_OC = 16, MT6373_IRQ_VUSB_OC, MT6373_IRQ_VAUX18_OC, MT6373_IRQ_VRF13_AIF_OC, MT6373_IRQ_VRF18_AIF_OC, MT6373_IRQ_VRFIO18_AIF_OC, MT6373_IRQ_VCN33_1_OC, MT6373_IRQ_VCN33_2_OC, MT6373_IRQ_VCN33_3_OC, MT6373_IRQ_VCN18IO_OC, MT6373_IRQ_VRF09_AIF_OC, MT6373_IRQ_VRF12_AIF_OC, MT6373_IRQ_VANT18_OC, MT6373_IRQ_VSRAM_DIGRF_AIF_OC, MT6373_IRQ_VMDDR_OC, MT6373_IRQ_VEFUSE_OC, MT6373_IRQ_VMCH_OC, MT6373_IRQ_VMC_OC, MT6373_IRQ_VIBR_OC, MT6373_IRQ_VIO28_OC, MT6373_IRQ_VFP_OC, MT6373_IRQ_VTP_OC, MT6373_IRQ_VSIM1_OC, MT6373_IRQ_VSIM2_OC, MT6373_IRQ_RCS0 = 56, MT6373_IRQ_SPMI_CMD_ALERT, MT6373_IRQ_BM_PROTREG = 62, MT6373_IRQ_VRC_PROTREG, MT6373_IRQ_BUCK_PROTREG = 64, MT6373_IRQ_LDO_PROTREG, MT6373_IRQ_PSC_PROTREG, MT6373_IRQ_PLT_PROTREG, MT6373_IRQ_HK_PROTREG, MT6373_IRQ_SCK_PROTREG, MT6373_IRQ_XPP_PROTREG, MT6373_IRQ_TOP_PROTREG, MT6373_IRQ_NR = 72, }; #define MT6373_IRQ_BUCK_BASE MT6373_IRQ_VBUCK0_OC #define MT6373_IRQ_LDO_BASE MT6373_IRQ_VAUD18_OC #define MT6373_IRQ_MISC_BASE MT6373_IRQ_RCS0 #define MT6373_IRQ_BUCK_BITS \ (MT6373_IRQ_VBUCK9_OC - MT6373_IRQ_BUCK_BASE + 1) #define MT6373_IRQ_LDO_BITS \ (MT6373_IRQ_VSIM2_OC - MT6373_IRQ_LDO_BASE + 1) #define MT6373_IRQ_MISC_BITS \ (MT6373_IRQ_TOP_PROTREG - MT6373_IRQ_MISC_BASE + 1) #define MT6373_TOP_GEN(sp) \ { \ .hwirq_base = MT6373_IRQ_##sp##_BASE, \ .num_int_regs = ((MT6373_IRQ_##sp##_BITS - 1) / MT6373_REG_WIDTH) + 1, \ .en_reg = MT6373_##sp##_TOP_INT_CON0, \ .en_reg_shift = 0x3, \ .sta_reg = MT6373_##sp##_TOP_INT_STATUS0, \ .sta_reg_shift = 0x1, \ .top_offset = MT6373_##sp##_TOP, \ } #endif /* __MFD_MT6373_CORE_H__ */