Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * sm5502.h
0004  *
0005  * Copyright (c) 2014 Samsung Electronics Co., Ltd
0006  */
0007 
0008 #ifndef __LINUX_EXTCON_SM5502_H
0009 #define __LINUX_EXTCON_SM5502_H
0010 
0011 /* SM5502 registers */
0012 enum sm5502_reg {
0013     SM5502_REG_DEVICE_ID = 0x01,
0014     SM5502_REG_CONTROL,
0015     SM5502_REG_INT1,
0016     SM5502_REG_INT2,
0017     SM5502_REG_INTMASK1,
0018     SM5502_REG_INTMASK2,
0019     SM5502_REG_ADC,
0020     SM5502_REG_TIMING_SET1,
0021     SM5502_REG_TIMING_SET2,
0022     SM5502_REG_DEV_TYPE1,
0023     SM5502_REG_DEV_TYPE2,
0024     SM5502_REG_BUTTON1,
0025     SM5502_REG_BUTTON2,
0026     SM5502_REG_CAR_KIT_STATUS,
0027     SM5502_REG_RSVD1,
0028     SM5502_REG_RSVD2,
0029     SM5502_REG_RSVD3,
0030     SM5502_REG_RSVD4,
0031     SM5502_REG_MANUAL_SW1,
0032     SM5502_REG_MANUAL_SW2,
0033     SM5502_REG_DEV_TYPE3,
0034     SM5502_REG_RSVD5,
0035     SM5502_REG_RSVD6,
0036     SM5502_REG_RSVD7,
0037     SM5502_REG_RSVD8,
0038     SM5502_REG_RSVD9,
0039     SM5502_REG_RESET,
0040     SM5502_REG_RSVD10,
0041     SM5502_REG_RESERVED_ID1,
0042     SM5502_REG_RSVD11,
0043     SM5502_REG_RSVD12,
0044     SM5502_REG_RESERVED_ID2,
0045     SM5502_REG_RSVD13,
0046     SM5502_REG_OCP,
0047     SM5502_REG_RSVD14,
0048     SM5502_REG_RSVD15,
0049     SM5502_REG_RSVD16,
0050     SM5502_REG_RSVD17,
0051     SM5502_REG_RSVD18,
0052     SM5502_REG_RSVD19,
0053     SM5502_REG_RSVD20,
0054     SM5502_REG_RSVD21,
0055     SM5502_REG_RSVD22,
0056     SM5502_REG_RSVD23,
0057     SM5502_REG_RSVD24,
0058     SM5502_REG_RSVD25,
0059     SM5502_REG_RSVD26,
0060     SM5502_REG_RSVD27,
0061     SM5502_REG_RSVD28,
0062     SM5502_REG_RSVD29,
0063     SM5502_REG_RSVD30,
0064     SM5502_REG_RSVD31,
0065     SM5502_REG_RSVD32,
0066     SM5502_REG_RSVD33,
0067     SM5502_REG_RSVD34,
0068     SM5502_REG_RSVD35,
0069     SM5502_REG_RSVD36,
0070     SM5502_REG_RESERVED_ID3,
0071 
0072     SM5502_REG_END,
0073 };
0074 
0075 /* Define SM5502 MASK/SHIFT constant */
0076 #define SM5502_REG_DEVICE_ID_VENDOR_SHIFT   0
0077 #define SM5502_REG_DEVICE_ID_VERSION_SHIFT  3
0078 #define SM5502_REG_DEVICE_ID_VENDOR_MASK    (0x3 << SM5502_REG_DEVICE_ID_VENDOR_SHIFT)
0079 #define SM5502_REG_DEVICE_ID_VERSION_MASK   (0x1f << SM5502_REG_DEVICE_ID_VERSION_SHIFT)
0080 
0081 #define SM5502_REG_CONTROL_MASK_INT_SHIFT   0
0082 #define SM5502_REG_CONTROL_WAIT_SHIFT       1
0083 #define SM5502_REG_CONTROL_MANUAL_SW_SHIFT  2
0084 #define SM5502_REG_CONTROL_RAW_DATA_SHIFT   3
0085 #define SM5502_REG_CONTROL_SW_OPEN_SHIFT    4
0086 #define SM5502_REG_CONTROL_MASK_INT_MASK    (0x1 << SM5502_REG_CONTROL_MASK_INT_SHIFT)
0087 #define SM5502_REG_CONTROL_WAIT_MASK        (0x1 << SM5502_REG_CONTROL_WAIT_SHIFT)
0088 #define SM5502_REG_CONTROL_MANUAL_SW_MASK   (0x1 << SM5502_REG_CONTROL_MANUAL_SW_SHIFT)
0089 #define SM5502_REG_CONTROL_RAW_DATA_MASK    (0x1 << SM5502_REG_CONTROL_RAW_DATA_SHIFT)
0090 #define SM5502_REG_CONTROL_SW_OPEN_MASK     (0x1 << SM5502_REG_CONTROL_SW_OPEN_SHIFT)
0091 
0092 #define SM5504_REG_CONTROL_CHGTYP_SHIFT     5
0093 #define SM5504_REG_CONTROL_USBCHDEN_SHIFT   6
0094 #define SM5504_REG_CONTROL_ADC_EN_SHIFT     7
0095 #define SM5504_REG_CONTROL_CHGTYP_MASK      (0x1 << SM5504_REG_CONTROL_CHGTYP_SHIFT)
0096 #define SM5504_REG_CONTROL_USBCHDEN_MASK    (0x1 << SM5504_REG_CONTROL_USBCHDEN_SHIFT)
0097 #define SM5504_REG_CONTROL_ADC_EN_MASK      (0x1 << SM5504_REG_CONTROL_ADC_EN_SHIFT)
0098 
0099 #define SM5502_REG_INTM1_ATTACH_SHIFT       0
0100 #define SM5502_REG_INTM1_DETACH_SHIFT       1
0101 #define SM5502_REG_INTM1_KP_SHIFT       2
0102 #define SM5502_REG_INTM1_LKP_SHIFT      3
0103 #define SM5502_REG_INTM1_LKR_SHIFT      4
0104 #define SM5502_REG_INTM1_OVP_EVENT_SHIFT    5
0105 #define SM5502_REG_INTM1_OCP_EVENT_SHIFT    6
0106 #define SM5502_REG_INTM1_OVP_OCP_DIS_SHIFT  7
0107 #define SM5502_REG_INTM1_ATTACH_MASK        (0x1 << SM5502_REG_INTM1_ATTACH_SHIFT)
0108 #define SM5502_REG_INTM1_DETACH_MASK        (0x1 << SM5502_REG_INTM1_DETACH_SHIFT)
0109 #define SM5502_REG_INTM1_KP_MASK        (0x1 << SM5502_REG_INTM1_KP_SHIFT)
0110 #define SM5502_REG_INTM1_LKP_MASK       (0x1 << SM5502_REG_INTM1_LKP_SHIFT)
0111 #define SM5502_REG_INTM1_LKR_MASK       (0x1 << SM5502_REG_INTM1_LKR_SHIFT)
0112 #define SM5502_REG_INTM1_OVP_EVENT_MASK     (0x1 << SM5502_REG_INTM1_OVP_EVENT_SHIFT)
0113 #define SM5502_REG_INTM1_OCP_EVENT_MASK     (0x1 << SM5502_REG_INTM1_OCP_EVENT_SHIFT)
0114 #define SM5502_REG_INTM1_OVP_OCP_DIS_MASK   (0x1 << SM5502_REG_INTM1_OVP_OCP_DIS_SHIFT)
0115 
0116 #define SM5502_REG_INTM2_VBUS_DET_SHIFT     0
0117 #define SM5502_REG_INTM2_REV_ACCE_SHIFT     1
0118 #define SM5502_REG_INTM2_ADC_CHG_SHIFT      2
0119 #define SM5502_REG_INTM2_STUCK_KEY_SHIFT    3
0120 #define SM5502_REG_INTM2_STUCK_KEY_RCV_SHIFT    4
0121 #define SM5502_REG_INTM2_MHL_SHIFT      5
0122 #define SM5502_REG_INTM2_VBUS_DET_MASK      (0x1 << SM5502_REG_INTM2_VBUS_DET_SHIFT)
0123 #define SM5502_REG_INTM2_REV_ACCE_MASK      (0x1 << SM5502_REG_INTM2_REV_ACCE_SHIFT)
0124 #define SM5502_REG_INTM2_ADC_CHG_MASK       (0x1 << SM5502_REG_INTM2_ADC_CHG_SHIFT)
0125 #define SM5502_REG_INTM2_STUCK_KEY_MASK     (0x1 << SM5502_REG_INTM2_STUCK_KEY_SHIFT)
0126 #define SM5502_REG_INTM2_STUCK_KEY_RCV_MASK (0x1 << SM5502_REG_INTM2_STUCK_KEY_RCV_SHIFT)
0127 #define SM5502_REG_INTM2_MHL_MASK       (0x1 << SM5502_REG_INTM2_MHL_SHIFT)
0128 
0129 #define SM5504_REG_INTM1_ATTACH_SHIFT       0
0130 #define SM5504_REG_INTM1_DETACH_SHIFT       1
0131 #define SM5504_REG_INTM1_CHG_DET_SHIFT      2
0132 #define SM5504_REG_INTM1_DCD_OUT_SHIFT      3
0133 #define SM5504_REG_INTM1_OVP_EVENT_SHIFT    4
0134 #define SM5504_REG_INTM1_CONNECT_SHIFT      5
0135 #define SM5504_REG_INTM1_ADC_CHG_SHIFT      6
0136 #define SM5504_REG_INTM1_ATTACH_MASK        (0x1 << SM5504_REG_INTM1_ATTACH_SHIFT)
0137 #define SM5504_REG_INTM1_DETACH_MASK        (0x1 << SM5504_REG_INTM1_DETACH_SHIFT)
0138 #define SM5504_REG_INTM1_CHG_DET_MASK       (0x1 << SM5504_REG_INTM1_CHG_DET_SHIFT)
0139 #define SM5504_REG_INTM1_DCD_OUT_MASK       (0x1 << SM5504_REG_INTM1_DCD_OUT_SHIFT)
0140 #define SM5504_REG_INTM1_OVP_EVENT_MASK     (0x1 << SM5504_REG_INTM1_OVP_EVENT_SHIFT)
0141 #define SM5504_REG_INTM1_CONNECT_MASK       (0x1 << SM5504_REG_INTM1_CONNECT_SHIFT)
0142 #define SM5504_REG_INTM1_ADC_CHG_MASK       (0x1 << SM5504_REG_INTM1_ADC_CHG_SHIFT)
0143 
0144 #define SM5504_REG_INTM2_RID_CHG_SHIFT      0
0145 #define SM5504_REG_INTM2_UVLO_SHIFT     1
0146 #define SM5504_REG_INTM2_POR_SHIFT      2
0147 #define SM5504_REG_INTM2_OVP_FET_SHIFT      4
0148 #define SM5504_REG_INTM2_OCP_LATCH_SHIFT    5
0149 #define SM5504_REG_INTM2_OCP_EVENT_SHIFT    6
0150 #define SM5504_REG_INTM2_OVP_OCP_EVENT_SHIFT    7
0151 #define SM5504_REG_INTM2_RID_CHG_MASK       (0x1 << SM5504_REG_INTM2_RID_CHG_SHIFT)
0152 #define SM5504_REG_INTM2_UVLO_MASK      (0x1 << SM5504_REG_INTM2_UVLO_SHIFT)
0153 #define SM5504_REG_INTM2_POR_MASK       (0x1 << SM5504_REG_INTM2_POR_SHIFT)
0154 #define SM5504_REG_INTM2_OVP_FET_MASK       (0x1 << SM5504_REG_INTM2_OVP_FET_SHIFT)
0155 #define SM5504_REG_INTM2_OCP_LATCH_MASK     (0x1 << SM5504_REG_INTM2_OCP_LATCH_SHIFT)
0156 #define SM5504_REG_INTM2_OCP_EVENT_MASK     (0x1 << SM5504_REG_INTM2_OCP_EVENT_SHIFT)
0157 #define SM5504_REG_INTM2_OVP_OCP_EVENT_MASK (0x1 << SM5504_REG_INTM2_OVP_OCP_EVENT_SHIFT)
0158 
0159 #define SM5502_REG_ADC_SHIFT            0
0160 #define SM5502_REG_ADC_MASK         (0x1f << SM5502_REG_ADC_SHIFT)
0161 
0162 #define SM5502_REG_TIMING_SET1_KEY_PRESS_SHIFT  4
0163 #define SM5502_REG_TIMING_SET1_KEY_PRESS_MASK   (0xf << SM5502_REG_TIMING_SET1_KEY_PRESS_SHIFT)
0164 #define TIMING_KEY_PRESS_100MS          0x0
0165 #define TIMING_KEY_PRESS_200MS          0x1
0166 #define TIMING_KEY_PRESS_300MS          0x2
0167 #define TIMING_KEY_PRESS_400MS          0x3
0168 #define TIMING_KEY_PRESS_500MS          0x4
0169 #define TIMING_KEY_PRESS_600MS          0x5
0170 #define TIMING_KEY_PRESS_700MS          0x6
0171 #define TIMING_KEY_PRESS_800MS          0x7
0172 #define TIMING_KEY_PRESS_900MS          0x8
0173 #define TIMING_KEY_PRESS_1000MS         0x9
0174 #define SM5502_REG_TIMING_SET1_ADC_DET_SHIFT    0
0175 #define SM5502_REG_TIMING_SET1_ADC_DET_MASK (0xf << SM5502_REG_TIMING_SET1_ADC_DET_SHIFT)
0176 #define TIMING_ADC_DET_50MS         0x0
0177 #define TIMING_ADC_DET_100MS            0x1
0178 #define TIMING_ADC_DET_150MS            0x2
0179 #define TIMING_ADC_DET_200MS            0x3
0180 #define TIMING_ADC_DET_300MS            0x4
0181 #define TIMING_ADC_DET_400MS            0x5
0182 #define TIMING_ADC_DET_500MS            0x6
0183 #define TIMING_ADC_DET_600MS            0x7
0184 #define TIMING_ADC_DET_700MS            0x8
0185 #define TIMING_ADC_DET_800MS            0x9
0186 #define TIMING_ADC_DET_900MS            0xA
0187 #define TIMING_ADC_DET_1000MS           0xB
0188 
0189 #define SM5502_REG_TIMING_SET2_SW_WAIT_SHIFT    4
0190 #define SM5502_REG_TIMING_SET2_SW_WAIT_MASK (0xf << SM5502_REG_TIMING_SET2_SW_WAIT_SHIFT)
0191 #define TIMING_SW_WAIT_10MS         0x0
0192 #define TIMING_SW_WAIT_30MS         0x1
0193 #define TIMING_SW_WAIT_50MS         0x2
0194 #define TIMING_SW_WAIT_70MS         0x3
0195 #define TIMING_SW_WAIT_90MS         0x4
0196 #define TIMING_SW_WAIT_110MS            0x5
0197 #define TIMING_SW_WAIT_130MS            0x6
0198 #define TIMING_SW_WAIT_150MS            0x7
0199 #define TIMING_SW_WAIT_170MS            0x8
0200 #define TIMING_SW_WAIT_190MS            0x9
0201 #define TIMING_SW_WAIT_210MS            0xA
0202 #define SM5502_REG_TIMING_SET2_LONG_KEY_SHIFT   0
0203 #define SM5502_REG_TIMING_SET2_LONG_KEY_MASK    (0xf << SM5502_REG_TIMING_SET2_LONG_KEY_SHIFT)
0204 #define TIMING_LONG_KEY_300MS           0x0
0205 #define TIMING_LONG_KEY_400MS           0x1
0206 #define TIMING_LONG_KEY_500MS           0x2
0207 #define TIMING_LONG_KEY_600MS           0x3
0208 #define TIMING_LONG_KEY_700MS           0x4
0209 #define TIMING_LONG_KEY_800MS           0x5
0210 #define TIMING_LONG_KEY_900MS           0x6
0211 #define TIMING_LONG_KEY_1000MS          0x7
0212 #define TIMING_LONG_KEY_1100MS          0x8
0213 #define TIMING_LONG_KEY_1200MS          0x9
0214 #define TIMING_LONG_KEY_1300MS          0xA
0215 #define TIMING_LONG_KEY_1400MS          0xB
0216 #define TIMING_LONG_KEY_1500MS          0xC
0217 
0218 #define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_SHIFT      0
0219 #define SM5502_REG_DEV_TYPE1_AUDIO_TYPE2_SHIFT      1
0220 #define SM5502_REG_DEV_TYPE1_USB_SDP_SHIFT      2
0221 #define SM5502_REG_DEV_TYPE1_UART_SHIFT         3
0222 #define SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_SHIFT  4
0223 #define SM5502_REG_DEV_TYPE1_USB_CHG_SHIFT      5
0224 #define SM5502_REG_DEV_TYPE1_DEDICATED_CHG_SHIFT    6
0225 #define SM5502_REG_DEV_TYPE1_USB_OTG_SHIFT      7
0226 #define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_MASK       (0x1 << SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_SHIFT)
0227 #define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1__MASK      (0x1 << SM5502_REG_DEV_TYPE1_AUDIO_TYPE2_SHIFT)
0228 #define SM5502_REG_DEV_TYPE1_USB_SDP_MASK       (0x1 << SM5502_REG_DEV_TYPE1_USB_SDP_SHIFT)
0229 #define SM5502_REG_DEV_TYPE1_UART_MASK          (0x1 << SM5502_REG_DEV_TYPE1_UART_SHIFT)
0230 #define SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_MASK   (0x1 << SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_SHIFT)
0231 #define SM5502_REG_DEV_TYPE1_USB_CHG_MASK       (0x1 << SM5502_REG_DEV_TYPE1_USB_CHG_SHIFT)
0232 #define SM5502_REG_DEV_TYPE1_DEDICATED_CHG_MASK     (0x1 << SM5502_REG_DEV_TYPE1_DEDICATED_CHG_SHIFT)
0233 #define SM5502_REG_DEV_TYPE1_USB_OTG_MASK       (0x1 << SM5502_REG_DEV_TYPE1_USB_OTG_SHIFT)
0234 
0235 #define SM5504_REG_DEV_TYPE1_USB_OTG_SHIFT      0
0236 #define SM5504_REG_DEV_TYPE1_USB_OTG_MASK       (0x1 << SM5504_REG_DEV_TYPE1_USB_OTG_SHIFT)
0237 
0238 #define SM5502_REG_DEV_TYPE2_JIG_USB_ON_SHIFT       0
0239 #define SM5502_REG_DEV_TYPE2_JIG_USB_OFF_SHIFT      1
0240 #define SM5502_REG_DEV_TYPE2_JIG_UART_ON_SHIFT      2
0241 #define SM5502_REG_DEV_TYPE2_JIG_UART_OFF_SHIFT     3
0242 #define SM5502_REG_DEV_TYPE2_PPD_SHIFT          4
0243 #define SM5502_REG_DEV_TYPE2_TTY_SHIFT          5
0244 #define SM5502_REG_DEV_TYPE2_AV_CABLE_SHIFT     6
0245 #define SM5502_REG_DEV_TYPE2_JIG_USB_ON_MASK        (0x1 << SM5502_REG_DEV_TYPE2_JIG_USB_ON_SHIFT)
0246 #define SM5502_REG_DEV_TYPE2_JIG_USB_OFF_MASK       (0x1 << SM5502_REG_DEV_TYPE2_JIG_USB_OFF_SHIFT)
0247 #define SM5502_REG_DEV_TYPE2_JIG_UART_ON_MASK       (0x1 << SM5502_REG_DEV_TYPE2_JIG_UART_ON_SHIFT)
0248 #define SM5502_REG_DEV_TYPE2_JIG_UART_OFF_MASK      (0x1 << SM5502_REG_DEV_TYPE2_JIG_UART_OFF_SHIFT)
0249 #define SM5502_REG_DEV_TYPE2_PPD_MASK           (0x1 << SM5502_REG_DEV_TYPE2_PPD_SHIFT)
0250 #define SM5502_REG_DEV_TYPE2_TTY_MASK           (0x1 << SM5502_REG_DEV_TYPE2_TTY_SHIFT)
0251 #define SM5502_REG_DEV_TYPE2_AV_CABLE_MASK      (0x1 << SM5502_REG_DEV_TYPE2_AV_CABLE_SHIFT)
0252 
0253 #define SM5502_REG_MANUAL_SW1_VBUSIN_SHIFT  0
0254 #define SM5502_REG_MANUAL_SW1_DP_SHIFT      2
0255 #define SM5502_REG_MANUAL_SW1_DM_SHIFT      5
0256 #define SM5502_REG_MANUAL_SW1_VBUSIN_MASK   (0x3 << SM5502_REG_MANUAL_SW1_VBUSIN_SHIFT)
0257 #define SM5502_REG_MANUAL_SW1_DP_MASK       (0x7 << SM5502_REG_MANUAL_SW1_DP_SHIFT)
0258 #define SM5502_REG_MANUAL_SW1_DM_MASK       (0x7 << SM5502_REG_MANUAL_SW1_DM_SHIFT)
0259 #define VBUSIN_SWITCH_OPEN          0x0
0260 #define VBUSIN_SWITCH_VBUSOUT           0x1
0261 #define VBUSIN_SWITCH_MIC           0x2
0262 #define VBUSIN_SWITCH_VBUSOUT_WITH_USB      0x3
0263 #define DM_DP_CON_SWITCH_OPEN           0x0
0264 #define DM_DP_CON_SWITCH_USB            0x1
0265 #define DM_DP_CON_SWITCH_AUDIO          0x2
0266 #define DM_DP_CON_SWITCH_UART           0x3
0267 #define DM_DP_SWITCH_OPEN           ((DM_DP_CON_SWITCH_OPEN <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
0268                         | (DM_DP_CON_SWITCH_OPEN <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
0269 #define DM_DP_SWITCH_USB            ((DM_DP_CON_SWITCH_USB <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
0270                         | (DM_DP_CON_SWITCH_USB <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
0271 #define DM_DP_SWITCH_AUDIO          ((DM_DP_CON_SWITCH_AUDIO <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
0272                         | (DM_DP_CON_SWITCH_AUDIO <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
0273 #define DM_DP_SWITCH_UART           ((DM_DP_CON_SWITCH_UART <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
0274                         | (DM_DP_CON_SWITCH_UART <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
0275 
0276 #define SM5502_REG_RESET_MASK           (0x1)
0277 
0278 /* SM5502 Interrupts */
0279 enum sm5502_irq {
0280     /* INT1 */
0281     SM5502_IRQ_INT1_ATTACH,
0282     SM5502_IRQ_INT1_DETACH,
0283     SM5502_IRQ_INT1_KP,
0284     SM5502_IRQ_INT1_LKP,
0285     SM5502_IRQ_INT1_LKR,
0286     SM5502_IRQ_INT1_OVP_EVENT,
0287     SM5502_IRQ_INT1_OCP_EVENT,
0288     SM5502_IRQ_INT1_OVP_OCP_DIS,
0289 
0290     /* INT2 */
0291     SM5502_IRQ_INT2_VBUS_DET,
0292     SM5502_IRQ_INT2_REV_ACCE,
0293     SM5502_IRQ_INT2_ADC_CHG,
0294     SM5502_IRQ_INT2_STUCK_KEY,
0295     SM5502_IRQ_INT2_STUCK_KEY_RCV,
0296     SM5502_IRQ_INT2_MHL,
0297 
0298     SM5502_IRQ_NUM,
0299 };
0300 
0301 #define SM5502_IRQ_INT1_ATTACH_MASK     BIT(0)
0302 #define SM5502_IRQ_INT1_DETACH_MASK     BIT(1)
0303 #define SM5502_IRQ_INT1_KP_MASK         BIT(2)
0304 #define SM5502_IRQ_INT1_LKP_MASK        BIT(3)
0305 #define SM5502_IRQ_INT1_LKR_MASK        BIT(4)
0306 #define SM5502_IRQ_INT1_OVP_EVENT_MASK      BIT(5)
0307 #define SM5502_IRQ_INT1_OCP_EVENT_MASK      BIT(6)
0308 #define SM5502_IRQ_INT1_OVP_OCP_DIS_MASK    BIT(7)
0309 #define SM5502_IRQ_INT2_VBUS_DET_MASK       BIT(0)
0310 #define SM5502_IRQ_INT2_REV_ACCE_MASK       BIT(1)
0311 #define SM5502_IRQ_INT2_ADC_CHG_MASK        BIT(2)
0312 #define SM5502_IRQ_INT2_STUCK_KEY_MASK      BIT(3)
0313 #define SM5502_IRQ_INT2_STUCK_KEY_RCV_MASK  BIT(4)
0314 #define SM5502_IRQ_INT2_MHL_MASK        BIT(5)
0315 
0316 /* SM5504 Interrupts */
0317 enum sm5504_irq {
0318     /* INT1 */
0319     SM5504_IRQ_INT1_ATTACH,
0320     SM5504_IRQ_INT1_DETACH,
0321     SM5504_IRQ_INT1_CHG_DET,
0322     SM5504_IRQ_INT1_DCD_OUT,
0323     SM5504_IRQ_INT1_OVP_EVENT,
0324     SM5504_IRQ_INT1_CONNECT,
0325     SM5504_IRQ_INT1_ADC_CHG,
0326 
0327     /* INT2 */
0328     SM5504_IRQ_INT2_RID_CHG,
0329     SM5504_IRQ_INT2_UVLO,
0330     SM5504_IRQ_INT2_POR,
0331     SM5504_IRQ_INT2_OVP_FET,
0332     SM5504_IRQ_INT2_OCP_LATCH,
0333     SM5504_IRQ_INT2_OCP_EVENT,
0334     SM5504_IRQ_INT2_OVP_OCP_EVENT,
0335 
0336     SM5504_IRQ_NUM,
0337 };
0338 
0339 #define SM5504_IRQ_INT1_ATTACH_MASK     BIT(0)
0340 #define SM5504_IRQ_INT1_DETACH_MASK     BIT(1)
0341 #define SM5504_IRQ_INT1_CHG_DET_MASK        BIT(2)
0342 #define SM5504_IRQ_INT1_DCD_OUT_MASK        BIT(3)
0343 #define SM5504_IRQ_INT1_OVP_MASK        BIT(4)
0344 #define SM5504_IRQ_INT1_CONNECT_MASK        BIT(5)
0345 #define SM5504_IRQ_INT1_ADC_CHG_MASK        BIT(6)
0346 #define SM5504_IRQ_INT2_RID_CHG_MASK        BIT(0)
0347 #define SM5504_IRQ_INT2_UVLO_MASK       BIT(1)
0348 #define SM5504_IRQ_INT2_POR_MASK        BIT(2)
0349 #define SM5504_IRQ_INT2_OVP_FET_MASK        BIT(4)
0350 #define SM5504_IRQ_INT2_OCP_LATCH_MASK      BIT(5)
0351 #define SM5504_IRQ_INT2_OCP_EVENT_MASK      BIT(6)
0352 #define SM5504_IRQ_INT2_OVP_OCP_EVENT_MASK  BIT(7)
0353 
0354 #endif /*  __LINUX_EXTCON_SM5502_H */