1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0+ */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (c) 2012 Samsung Electronics Co., Ltd 4*4882a593Smuzhiyun * http://www.samsung.com 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __LINUX_MFD_SEC_IRQ_H 8*4882a593Smuzhiyun #define __LINUX_MFD_SEC_IRQ_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun enum s2mpa01_irq { 11*4882a593Smuzhiyun S2MPA01_IRQ_PWRONF, 12*4882a593Smuzhiyun S2MPA01_IRQ_PWRONR, 13*4882a593Smuzhiyun S2MPA01_IRQ_JIGONBF, 14*4882a593Smuzhiyun S2MPA01_IRQ_JIGONBR, 15*4882a593Smuzhiyun S2MPA01_IRQ_ACOKBF, 16*4882a593Smuzhiyun S2MPA01_IRQ_ACOKBR, 17*4882a593Smuzhiyun S2MPA01_IRQ_PWRON1S, 18*4882a593Smuzhiyun S2MPA01_IRQ_MRB, 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun S2MPA01_IRQ_RTC60S, 21*4882a593Smuzhiyun S2MPA01_IRQ_RTCA1, 22*4882a593Smuzhiyun S2MPA01_IRQ_RTCA0, 23*4882a593Smuzhiyun S2MPA01_IRQ_SMPL, 24*4882a593Smuzhiyun S2MPA01_IRQ_RTC1S, 25*4882a593Smuzhiyun S2MPA01_IRQ_WTSR, 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun S2MPA01_IRQ_INT120C, 28*4882a593Smuzhiyun S2MPA01_IRQ_INT140C, 29*4882a593Smuzhiyun S2MPA01_IRQ_LDO3_TSD, 30*4882a593Smuzhiyun S2MPA01_IRQ_B16_TSD, 31*4882a593Smuzhiyun S2MPA01_IRQ_B24_TSD, 32*4882a593Smuzhiyun S2MPA01_IRQ_B35_TSD, 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun S2MPA01_IRQ_NR, 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #define S2MPA01_IRQ_PWRONF_MASK (1 << 0) 38*4882a593Smuzhiyun #define S2MPA01_IRQ_PWRONR_MASK (1 << 1) 39*4882a593Smuzhiyun #define S2MPA01_IRQ_JIGONBF_MASK (1 << 2) 40*4882a593Smuzhiyun #define S2MPA01_IRQ_JIGONBR_MASK (1 << 3) 41*4882a593Smuzhiyun #define S2MPA01_IRQ_ACOKBF_MASK (1 << 4) 42*4882a593Smuzhiyun #define S2MPA01_IRQ_ACOKBR_MASK (1 << 5) 43*4882a593Smuzhiyun #define S2MPA01_IRQ_PWRON1S_MASK (1 << 6) 44*4882a593Smuzhiyun #define S2MPA01_IRQ_MRB_MASK (1 << 7) 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #define S2MPA01_IRQ_RTC60S_MASK (1 << 0) 47*4882a593Smuzhiyun #define S2MPA01_IRQ_RTCA1_MASK (1 << 1) 48*4882a593Smuzhiyun #define S2MPA01_IRQ_RTCA0_MASK (1 << 2) 49*4882a593Smuzhiyun #define S2MPA01_IRQ_SMPL_MASK (1 << 3) 50*4882a593Smuzhiyun #define S2MPA01_IRQ_RTC1S_MASK (1 << 4) 51*4882a593Smuzhiyun #define S2MPA01_IRQ_WTSR_MASK (1 << 5) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define S2MPA01_IRQ_INT120C_MASK (1 << 0) 54*4882a593Smuzhiyun #define S2MPA01_IRQ_INT140C_MASK (1 << 1) 55*4882a593Smuzhiyun #define S2MPA01_IRQ_LDO3_TSD_MASK (1 << 2) 56*4882a593Smuzhiyun #define S2MPA01_IRQ_B16_TSD_MASK (1 << 3) 57*4882a593Smuzhiyun #define S2MPA01_IRQ_B24_TSD_MASK (1 << 4) 58*4882a593Smuzhiyun #define S2MPA01_IRQ_B35_TSD_MASK (1 << 5) 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun enum s2mps11_irq { 61*4882a593Smuzhiyun S2MPS11_IRQ_PWRONF, 62*4882a593Smuzhiyun S2MPS11_IRQ_PWRONR, 63*4882a593Smuzhiyun S2MPS11_IRQ_JIGONBF, 64*4882a593Smuzhiyun S2MPS11_IRQ_JIGONBR, 65*4882a593Smuzhiyun S2MPS11_IRQ_ACOKBF, 66*4882a593Smuzhiyun S2MPS11_IRQ_ACOKBR, 67*4882a593Smuzhiyun S2MPS11_IRQ_PWRON1S, 68*4882a593Smuzhiyun S2MPS11_IRQ_MRB, 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun S2MPS11_IRQ_RTC60S, 71*4882a593Smuzhiyun S2MPS11_IRQ_RTCA1, 72*4882a593Smuzhiyun S2MPS11_IRQ_RTCA0, 73*4882a593Smuzhiyun S2MPS11_IRQ_SMPL, 74*4882a593Smuzhiyun S2MPS11_IRQ_RTC1S, 75*4882a593Smuzhiyun S2MPS11_IRQ_WTSR, 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun S2MPS11_IRQ_INT120C, 78*4882a593Smuzhiyun S2MPS11_IRQ_INT140C, 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun S2MPS11_IRQ_NR, 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun #define S2MPS11_IRQ_PWRONF_MASK (1 << 0) 84*4882a593Smuzhiyun #define S2MPS11_IRQ_PWRONR_MASK (1 << 1) 85*4882a593Smuzhiyun #define S2MPS11_IRQ_JIGONBF_MASK (1 << 2) 86*4882a593Smuzhiyun #define S2MPS11_IRQ_JIGONBR_MASK (1 << 3) 87*4882a593Smuzhiyun #define S2MPS11_IRQ_ACOKBF_MASK (1 << 4) 88*4882a593Smuzhiyun #define S2MPS11_IRQ_ACOKBR_MASK (1 << 5) 89*4882a593Smuzhiyun #define S2MPS11_IRQ_PWRON1S_MASK (1 << 6) 90*4882a593Smuzhiyun #define S2MPS11_IRQ_MRB_MASK (1 << 7) 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #define S2MPS11_IRQ_RTC60S_MASK (1 << 0) 93*4882a593Smuzhiyun #define S2MPS11_IRQ_RTCA1_MASK (1 << 1) 94*4882a593Smuzhiyun #define S2MPS11_IRQ_RTCA0_MASK (1 << 2) 95*4882a593Smuzhiyun #define S2MPS11_IRQ_SMPL_MASK (1 << 3) 96*4882a593Smuzhiyun #define S2MPS11_IRQ_RTC1S_MASK (1 << 4) 97*4882a593Smuzhiyun #define S2MPS11_IRQ_WTSR_MASK (1 << 5) 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #define S2MPS11_IRQ_INT120C_MASK (1 << 0) 100*4882a593Smuzhiyun #define S2MPS11_IRQ_INT140C_MASK (1 << 1) 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun enum s2mps14_irq { 103*4882a593Smuzhiyun S2MPS14_IRQ_PWRONF, 104*4882a593Smuzhiyun S2MPS14_IRQ_PWRONR, 105*4882a593Smuzhiyun S2MPS14_IRQ_JIGONBF, 106*4882a593Smuzhiyun S2MPS14_IRQ_JIGONBR, 107*4882a593Smuzhiyun S2MPS14_IRQ_ACOKBF, 108*4882a593Smuzhiyun S2MPS14_IRQ_ACOKBR, 109*4882a593Smuzhiyun S2MPS14_IRQ_PWRON1S, 110*4882a593Smuzhiyun S2MPS14_IRQ_MRB, 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun S2MPS14_IRQ_RTC60S, 113*4882a593Smuzhiyun S2MPS14_IRQ_RTCA1, 114*4882a593Smuzhiyun S2MPS14_IRQ_RTCA0, 115*4882a593Smuzhiyun S2MPS14_IRQ_SMPL, 116*4882a593Smuzhiyun S2MPS14_IRQ_RTC1S, 117*4882a593Smuzhiyun S2MPS14_IRQ_WTSR, 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun S2MPS14_IRQ_INT120C, 120*4882a593Smuzhiyun S2MPS14_IRQ_INT140C, 121*4882a593Smuzhiyun S2MPS14_IRQ_TSD, 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun S2MPS14_IRQ_NR, 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun enum s2mpu02_irq { 127*4882a593Smuzhiyun S2MPU02_IRQ_PWRONF, 128*4882a593Smuzhiyun S2MPU02_IRQ_PWRONR, 129*4882a593Smuzhiyun S2MPU02_IRQ_JIGONBF, 130*4882a593Smuzhiyun S2MPU02_IRQ_JIGONBR, 131*4882a593Smuzhiyun S2MPU02_IRQ_ACOKBF, 132*4882a593Smuzhiyun S2MPU02_IRQ_ACOKBR, 133*4882a593Smuzhiyun S2MPU02_IRQ_PWRON1S, 134*4882a593Smuzhiyun S2MPU02_IRQ_MRB, 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun S2MPU02_IRQ_RTC60S, 137*4882a593Smuzhiyun S2MPU02_IRQ_RTCA1, 138*4882a593Smuzhiyun S2MPU02_IRQ_RTCA0, 139*4882a593Smuzhiyun S2MPU02_IRQ_SMPL, 140*4882a593Smuzhiyun S2MPU02_IRQ_RTC1S, 141*4882a593Smuzhiyun S2MPU02_IRQ_WTSR, 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun S2MPU02_IRQ_INT120C, 144*4882a593Smuzhiyun S2MPU02_IRQ_INT140C, 145*4882a593Smuzhiyun S2MPU02_IRQ_TSD, 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun S2MPU02_IRQ_NR, 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun /* Masks for interrupts are the same as in s2mps11 */ 151*4882a593Smuzhiyun #define S2MPS14_IRQ_TSD_MASK (1 << 2) 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun enum s5m8767_irq { 154*4882a593Smuzhiyun S5M8767_IRQ_PWRR, 155*4882a593Smuzhiyun S5M8767_IRQ_PWRF, 156*4882a593Smuzhiyun S5M8767_IRQ_PWR1S, 157*4882a593Smuzhiyun S5M8767_IRQ_JIGR, 158*4882a593Smuzhiyun S5M8767_IRQ_JIGF, 159*4882a593Smuzhiyun S5M8767_IRQ_LOWBAT2, 160*4882a593Smuzhiyun S5M8767_IRQ_LOWBAT1, 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun S5M8767_IRQ_MRB, 163*4882a593Smuzhiyun S5M8767_IRQ_DVSOK2, 164*4882a593Smuzhiyun S5M8767_IRQ_DVSOK3, 165*4882a593Smuzhiyun S5M8767_IRQ_DVSOK4, 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun S5M8767_IRQ_RTC60S, 168*4882a593Smuzhiyun S5M8767_IRQ_RTCA1, 169*4882a593Smuzhiyun S5M8767_IRQ_RTCA2, 170*4882a593Smuzhiyun S5M8767_IRQ_SMPL, 171*4882a593Smuzhiyun S5M8767_IRQ_RTC1S, 172*4882a593Smuzhiyun S5M8767_IRQ_WTSR, 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun S5M8767_IRQ_NR, 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun #define S5M8767_IRQ_PWRR_MASK (1 << 0) 178*4882a593Smuzhiyun #define S5M8767_IRQ_PWRF_MASK (1 << 1) 179*4882a593Smuzhiyun #define S5M8767_IRQ_PWR1S_MASK (1 << 3) 180*4882a593Smuzhiyun #define S5M8767_IRQ_JIGR_MASK (1 << 4) 181*4882a593Smuzhiyun #define S5M8767_IRQ_JIGF_MASK (1 << 5) 182*4882a593Smuzhiyun #define S5M8767_IRQ_LOWBAT2_MASK (1 << 6) 183*4882a593Smuzhiyun #define S5M8767_IRQ_LOWBAT1_MASK (1 << 7) 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun #define S5M8767_IRQ_MRB_MASK (1 << 2) 186*4882a593Smuzhiyun #define S5M8767_IRQ_DVSOK2_MASK (1 << 3) 187*4882a593Smuzhiyun #define S5M8767_IRQ_DVSOK3_MASK (1 << 4) 188*4882a593Smuzhiyun #define S5M8767_IRQ_DVSOK4_MASK (1 << 5) 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun #define S5M8767_IRQ_RTC60S_MASK (1 << 0) 191*4882a593Smuzhiyun #define S5M8767_IRQ_RTCA1_MASK (1 << 1) 192*4882a593Smuzhiyun #define S5M8767_IRQ_RTCA2_MASK (1 << 2) 193*4882a593Smuzhiyun #define S5M8767_IRQ_SMPL_MASK (1 << 3) 194*4882a593Smuzhiyun #define S5M8767_IRQ_RTC1S_MASK (1 << 4) 195*4882a593Smuzhiyun #define S5M8767_IRQ_WTSR_MASK (1 << 5) 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun enum s5m8763_irq { 198*4882a593Smuzhiyun S5M8763_IRQ_DCINF, 199*4882a593Smuzhiyun S5M8763_IRQ_DCINR, 200*4882a593Smuzhiyun S5M8763_IRQ_JIGF, 201*4882a593Smuzhiyun S5M8763_IRQ_JIGR, 202*4882a593Smuzhiyun S5M8763_IRQ_PWRONF, 203*4882a593Smuzhiyun S5M8763_IRQ_PWRONR, 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun S5M8763_IRQ_WTSREVNT, 206*4882a593Smuzhiyun S5M8763_IRQ_SMPLEVNT, 207*4882a593Smuzhiyun S5M8763_IRQ_ALARM1, 208*4882a593Smuzhiyun S5M8763_IRQ_ALARM0, 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun S5M8763_IRQ_ONKEY1S, 211*4882a593Smuzhiyun S5M8763_IRQ_TOPOFFR, 212*4882a593Smuzhiyun S5M8763_IRQ_DCINOVPR, 213*4882a593Smuzhiyun S5M8763_IRQ_CHGRSTF, 214*4882a593Smuzhiyun S5M8763_IRQ_DONER, 215*4882a593Smuzhiyun S5M8763_IRQ_CHGFAULT, 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun S5M8763_IRQ_LOBAT1, 218*4882a593Smuzhiyun S5M8763_IRQ_LOBAT2, 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun S5M8763_IRQ_NR, 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun #define S5M8763_IRQ_DCINF_MASK (1 << 2) 224*4882a593Smuzhiyun #define S5M8763_IRQ_DCINR_MASK (1 << 3) 225*4882a593Smuzhiyun #define S5M8763_IRQ_JIGF_MASK (1 << 4) 226*4882a593Smuzhiyun #define S5M8763_IRQ_JIGR_MASK (1 << 5) 227*4882a593Smuzhiyun #define S5M8763_IRQ_PWRONF_MASK (1 << 6) 228*4882a593Smuzhiyun #define S5M8763_IRQ_PWRONR_MASK (1 << 7) 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun #define S5M8763_IRQ_WTSREVNT_MASK (1 << 0) 231*4882a593Smuzhiyun #define S5M8763_IRQ_SMPLEVNT_MASK (1 << 1) 232*4882a593Smuzhiyun #define S5M8763_IRQ_ALARM1_MASK (1 << 2) 233*4882a593Smuzhiyun #define S5M8763_IRQ_ALARM0_MASK (1 << 3) 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun #define S5M8763_IRQ_ONKEY1S_MASK (1 << 0) 236*4882a593Smuzhiyun #define S5M8763_IRQ_TOPOFFR_MASK (1 << 2) 237*4882a593Smuzhiyun #define S5M8763_IRQ_DCINOVPR_MASK (1 << 3) 238*4882a593Smuzhiyun #define S5M8763_IRQ_CHGRSTF_MASK (1 << 4) 239*4882a593Smuzhiyun #define S5M8763_IRQ_DONER_MASK (1 << 5) 240*4882a593Smuzhiyun #define S5M8763_IRQ_CHGFAULT_MASK (1 << 7) 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun #define S5M8763_IRQ_LOBAT1_MASK (1 << 0) 243*4882a593Smuzhiyun #define S5M8763_IRQ_LOBAT2_MASK (1 << 1) 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun #define S5M8763_ENRAMP (1 << 4) 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun #endif /* __LINUX_MFD_SEC_IRQ_H */ 248