cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

extcon-sm5502.h (14194B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * sm5502.h
      4 *
      5 * Copyright (c) 2014 Samsung Electronics Co., Ltd
      6 */
      7
      8#ifndef __LINUX_EXTCON_SM5502_H
      9#define __LINUX_EXTCON_SM5502_H
     10
     11/* SM5502 registers */
     12enum sm5502_reg {
     13	SM5502_REG_DEVICE_ID = 0x01,
     14	SM5502_REG_CONTROL,
     15	SM5502_REG_INT1,
     16	SM5502_REG_INT2,
     17	SM5502_REG_INTMASK1,
     18	SM5502_REG_INTMASK2,
     19	SM5502_REG_ADC,
     20	SM5502_REG_TIMING_SET1,
     21	SM5502_REG_TIMING_SET2,
     22	SM5502_REG_DEV_TYPE1,
     23	SM5502_REG_DEV_TYPE2,
     24	SM5502_REG_BUTTON1,
     25	SM5502_REG_BUTTON2,
     26	SM5502_REG_CAR_KIT_STATUS,
     27	SM5502_REG_RSVD1,
     28	SM5502_REG_RSVD2,
     29	SM5502_REG_RSVD3,
     30	SM5502_REG_RSVD4,
     31	SM5502_REG_MANUAL_SW1,
     32	SM5502_REG_MANUAL_SW2,
     33	SM5502_REG_DEV_TYPE3,
     34	SM5502_REG_RSVD5,
     35	SM5502_REG_RSVD6,
     36	SM5502_REG_RSVD7,
     37	SM5502_REG_RSVD8,
     38	SM5502_REG_RSVD9,
     39	SM5502_REG_RESET,
     40	SM5502_REG_RSVD10,
     41	SM5502_REG_RESERVED_ID1,
     42	SM5502_REG_RSVD11,
     43	SM5502_REG_RSVD12,
     44	SM5502_REG_RESERVED_ID2,
     45	SM5502_REG_RSVD13,
     46	SM5502_REG_OCP,
     47	SM5502_REG_RSVD14,
     48	SM5502_REG_RSVD15,
     49	SM5502_REG_RSVD16,
     50	SM5502_REG_RSVD17,
     51	SM5502_REG_RSVD18,
     52	SM5502_REG_RSVD19,
     53	SM5502_REG_RSVD20,
     54	SM5502_REG_RSVD21,
     55	SM5502_REG_RSVD22,
     56	SM5502_REG_RSVD23,
     57	SM5502_REG_RSVD24,
     58	SM5502_REG_RSVD25,
     59	SM5502_REG_RSVD26,
     60	SM5502_REG_RSVD27,
     61	SM5502_REG_RSVD28,
     62	SM5502_REG_RSVD29,
     63	SM5502_REG_RSVD30,
     64	SM5502_REG_RSVD31,
     65	SM5502_REG_RSVD32,
     66	SM5502_REG_RSVD33,
     67	SM5502_REG_RSVD34,
     68	SM5502_REG_RSVD35,
     69	SM5502_REG_RSVD36,
     70	SM5502_REG_RESERVED_ID3,
     71
     72	SM5502_REG_END,
     73};
     74
     75/* Define SM5502 MASK/SHIFT constant */
     76#define SM5502_REG_DEVICE_ID_VENDOR_SHIFT	0
     77#define SM5502_REG_DEVICE_ID_VERSION_SHIFT	3
     78#define SM5502_REG_DEVICE_ID_VENDOR_MASK	(0x3 << SM5502_REG_DEVICE_ID_VENDOR_SHIFT)
     79#define SM5502_REG_DEVICE_ID_VERSION_MASK	(0x1f << SM5502_REG_DEVICE_ID_VERSION_SHIFT)
     80
     81#define SM5502_REG_CONTROL_MASK_INT_SHIFT	0
     82#define SM5502_REG_CONTROL_WAIT_SHIFT		1
     83#define SM5502_REG_CONTROL_MANUAL_SW_SHIFT	2
     84#define SM5502_REG_CONTROL_RAW_DATA_SHIFT	3
     85#define SM5502_REG_CONTROL_SW_OPEN_SHIFT	4
     86#define SM5502_REG_CONTROL_MASK_INT_MASK	(0x1 << SM5502_REG_CONTROL_MASK_INT_SHIFT)
     87#define SM5502_REG_CONTROL_WAIT_MASK		(0x1 << SM5502_REG_CONTROL_WAIT_SHIFT)
     88#define SM5502_REG_CONTROL_MANUAL_SW_MASK	(0x1 << SM5502_REG_CONTROL_MANUAL_SW_SHIFT)
     89#define SM5502_REG_CONTROL_RAW_DATA_MASK	(0x1 << SM5502_REG_CONTROL_RAW_DATA_SHIFT)
     90#define SM5502_REG_CONTROL_SW_OPEN_MASK		(0x1 << SM5502_REG_CONTROL_SW_OPEN_SHIFT)
     91
     92#define SM5504_REG_CONTROL_CHGTYP_SHIFT		5
     93#define SM5504_REG_CONTROL_USBCHDEN_SHIFT	6
     94#define SM5504_REG_CONTROL_ADC_EN_SHIFT		7
     95#define SM5504_REG_CONTROL_CHGTYP_MASK		(0x1 << SM5504_REG_CONTROL_CHGTYP_SHIFT)
     96#define SM5504_REG_CONTROL_USBCHDEN_MASK	(0x1 << SM5504_REG_CONTROL_USBCHDEN_SHIFT)
     97#define SM5504_REG_CONTROL_ADC_EN_MASK		(0x1 << SM5504_REG_CONTROL_ADC_EN_SHIFT)
     98
     99#define SM5502_REG_INTM1_ATTACH_SHIFT		0
    100#define SM5502_REG_INTM1_DETACH_SHIFT		1
    101#define SM5502_REG_INTM1_KP_SHIFT		2
    102#define SM5502_REG_INTM1_LKP_SHIFT		3
    103#define SM5502_REG_INTM1_LKR_SHIFT		4
    104#define SM5502_REG_INTM1_OVP_EVENT_SHIFT	5
    105#define SM5502_REG_INTM1_OCP_EVENT_SHIFT	6
    106#define SM5502_REG_INTM1_OVP_OCP_DIS_SHIFT	7
    107#define SM5502_REG_INTM1_ATTACH_MASK		(0x1 << SM5502_REG_INTM1_ATTACH_SHIFT)
    108#define SM5502_REG_INTM1_DETACH_MASK		(0x1 << SM5502_REG_INTM1_DETACH_SHIFT)
    109#define SM5502_REG_INTM1_KP_MASK		(0x1 << SM5502_REG_INTM1_KP_SHIFT)
    110#define SM5502_REG_INTM1_LKP_MASK		(0x1 << SM5502_REG_INTM1_LKP_SHIFT)
    111#define SM5502_REG_INTM1_LKR_MASK		(0x1 << SM5502_REG_INTM1_LKR_SHIFT)
    112#define SM5502_REG_INTM1_OVP_EVENT_MASK		(0x1 << SM5502_REG_INTM1_OVP_EVENT_SHIFT)
    113#define SM5502_REG_INTM1_OCP_EVENT_MASK		(0x1 << SM5502_REG_INTM1_OCP_EVENT_SHIFT)
    114#define SM5502_REG_INTM1_OVP_OCP_DIS_MASK	(0x1 << SM5502_REG_INTM1_OVP_OCP_DIS_SHIFT)
    115
    116#define SM5502_REG_INTM2_VBUS_DET_SHIFT		0
    117#define SM5502_REG_INTM2_REV_ACCE_SHIFT		1
    118#define SM5502_REG_INTM2_ADC_CHG_SHIFT		2
    119#define SM5502_REG_INTM2_STUCK_KEY_SHIFT	3
    120#define SM5502_REG_INTM2_STUCK_KEY_RCV_SHIFT	4
    121#define SM5502_REG_INTM2_MHL_SHIFT		5
    122#define SM5502_REG_INTM2_VBUS_DET_MASK		(0x1 << SM5502_REG_INTM2_VBUS_DET_SHIFT)
    123#define SM5502_REG_INTM2_REV_ACCE_MASK		(0x1 << SM5502_REG_INTM2_REV_ACCE_SHIFT)
    124#define SM5502_REG_INTM2_ADC_CHG_MASK		(0x1 << SM5502_REG_INTM2_ADC_CHG_SHIFT)
    125#define SM5502_REG_INTM2_STUCK_KEY_MASK		(0x1 << SM5502_REG_INTM2_STUCK_KEY_SHIFT)
    126#define SM5502_REG_INTM2_STUCK_KEY_RCV_MASK	(0x1 << SM5502_REG_INTM2_STUCK_KEY_RCV_SHIFT)
    127#define SM5502_REG_INTM2_MHL_MASK		(0x1 << SM5502_REG_INTM2_MHL_SHIFT)
    128
    129#define SM5504_REG_INTM1_ATTACH_SHIFT		0
    130#define SM5504_REG_INTM1_DETACH_SHIFT		1
    131#define SM5504_REG_INTM1_CHG_DET_SHIFT		2
    132#define SM5504_REG_INTM1_DCD_OUT_SHIFT		3
    133#define SM5504_REG_INTM1_OVP_EVENT_SHIFT	4
    134#define SM5504_REG_INTM1_CONNECT_SHIFT		5
    135#define SM5504_REG_INTM1_ADC_CHG_SHIFT		6
    136#define SM5504_REG_INTM1_ATTACH_MASK		(0x1 << SM5504_REG_INTM1_ATTACH_SHIFT)
    137#define SM5504_REG_INTM1_DETACH_MASK		(0x1 << SM5504_REG_INTM1_DETACH_SHIFT)
    138#define SM5504_REG_INTM1_CHG_DET_MASK		(0x1 << SM5504_REG_INTM1_CHG_DET_SHIFT)
    139#define SM5504_REG_INTM1_DCD_OUT_MASK		(0x1 << SM5504_REG_INTM1_DCD_OUT_SHIFT)
    140#define SM5504_REG_INTM1_OVP_EVENT_MASK		(0x1 << SM5504_REG_INTM1_OVP_EVENT_SHIFT)
    141#define SM5504_REG_INTM1_CONNECT_MASK		(0x1 << SM5504_REG_INTM1_CONNECT_SHIFT)
    142#define SM5504_REG_INTM1_ADC_CHG_MASK		(0x1 << SM5504_REG_INTM1_ADC_CHG_SHIFT)
    143
    144#define SM5504_REG_INTM2_RID_CHG_SHIFT		0
    145#define SM5504_REG_INTM2_UVLO_SHIFT		1
    146#define SM5504_REG_INTM2_POR_SHIFT		2
    147#define SM5504_REG_INTM2_OVP_FET_SHIFT		4
    148#define SM5504_REG_INTM2_OCP_LATCH_SHIFT	5
    149#define SM5504_REG_INTM2_OCP_EVENT_SHIFT	6
    150#define SM5504_REG_INTM2_OVP_OCP_EVENT_SHIFT	7
    151#define SM5504_REG_INTM2_RID_CHG_MASK		(0x1 << SM5504_REG_INTM2_RID_CHG_SHIFT)
    152#define SM5504_REG_INTM2_UVLO_MASK		(0x1 << SM5504_REG_INTM2_UVLO_SHIFT)
    153#define SM5504_REG_INTM2_POR_MASK		(0x1 << SM5504_REG_INTM2_POR_SHIFT)
    154#define SM5504_REG_INTM2_OVP_FET_MASK		(0x1 << SM5504_REG_INTM2_OVP_FET_SHIFT)
    155#define SM5504_REG_INTM2_OCP_LATCH_MASK		(0x1 << SM5504_REG_INTM2_OCP_LATCH_SHIFT)
    156#define SM5504_REG_INTM2_OCP_EVENT_MASK		(0x1 << SM5504_REG_INTM2_OCP_EVENT_SHIFT)
    157#define SM5504_REG_INTM2_OVP_OCP_EVENT_MASK	(0x1 << SM5504_REG_INTM2_OVP_OCP_EVENT_SHIFT)
    158
    159#define SM5502_REG_ADC_SHIFT			0
    160#define SM5502_REG_ADC_MASK			(0x1f << SM5502_REG_ADC_SHIFT)
    161
    162#define SM5502_REG_TIMING_SET1_KEY_PRESS_SHIFT	4
    163#define SM5502_REG_TIMING_SET1_KEY_PRESS_MASK	(0xf << SM5502_REG_TIMING_SET1_KEY_PRESS_SHIFT)
    164#define TIMING_KEY_PRESS_100MS			0x0
    165#define TIMING_KEY_PRESS_200MS			0x1
    166#define TIMING_KEY_PRESS_300MS			0x2
    167#define TIMING_KEY_PRESS_400MS			0x3
    168#define TIMING_KEY_PRESS_500MS			0x4
    169#define TIMING_KEY_PRESS_600MS			0x5
    170#define TIMING_KEY_PRESS_700MS			0x6
    171#define TIMING_KEY_PRESS_800MS			0x7
    172#define TIMING_KEY_PRESS_900MS			0x8
    173#define TIMING_KEY_PRESS_1000MS			0x9
    174#define SM5502_REG_TIMING_SET1_ADC_DET_SHIFT	0
    175#define SM5502_REG_TIMING_SET1_ADC_DET_MASK	(0xf << SM5502_REG_TIMING_SET1_ADC_DET_SHIFT)
    176#define TIMING_ADC_DET_50MS			0x0
    177#define TIMING_ADC_DET_100MS			0x1
    178#define TIMING_ADC_DET_150MS			0x2
    179#define TIMING_ADC_DET_200MS			0x3
    180#define TIMING_ADC_DET_300MS			0x4
    181#define TIMING_ADC_DET_400MS			0x5
    182#define TIMING_ADC_DET_500MS			0x6
    183#define TIMING_ADC_DET_600MS			0x7
    184#define TIMING_ADC_DET_700MS			0x8
    185#define TIMING_ADC_DET_800MS			0x9
    186#define TIMING_ADC_DET_900MS			0xA
    187#define TIMING_ADC_DET_1000MS			0xB
    188
    189#define SM5502_REG_TIMING_SET2_SW_WAIT_SHIFT	4
    190#define SM5502_REG_TIMING_SET2_SW_WAIT_MASK	(0xf << SM5502_REG_TIMING_SET2_SW_WAIT_SHIFT)
    191#define TIMING_SW_WAIT_10MS			0x0
    192#define TIMING_SW_WAIT_30MS			0x1
    193#define TIMING_SW_WAIT_50MS			0x2
    194#define TIMING_SW_WAIT_70MS			0x3
    195#define TIMING_SW_WAIT_90MS			0x4
    196#define TIMING_SW_WAIT_110MS			0x5
    197#define TIMING_SW_WAIT_130MS			0x6
    198#define TIMING_SW_WAIT_150MS			0x7
    199#define TIMING_SW_WAIT_170MS			0x8
    200#define TIMING_SW_WAIT_190MS			0x9
    201#define TIMING_SW_WAIT_210MS			0xA
    202#define SM5502_REG_TIMING_SET2_LONG_KEY_SHIFT	0
    203#define SM5502_REG_TIMING_SET2_LONG_KEY_MASK	(0xf << SM5502_REG_TIMING_SET2_LONG_KEY_SHIFT)
    204#define TIMING_LONG_KEY_300MS			0x0
    205#define TIMING_LONG_KEY_400MS			0x1
    206#define TIMING_LONG_KEY_500MS			0x2
    207#define TIMING_LONG_KEY_600MS			0x3
    208#define TIMING_LONG_KEY_700MS			0x4
    209#define TIMING_LONG_KEY_800MS			0x5
    210#define TIMING_LONG_KEY_900MS			0x6
    211#define TIMING_LONG_KEY_1000MS			0x7
    212#define TIMING_LONG_KEY_1100MS			0x8
    213#define TIMING_LONG_KEY_1200MS			0x9
    214#define TIMING_LONG_KEY_1300MS			0xA
    215#define TIMING_LONG_KEY_1400MS			0xB
    216#define TIMING_LONG_KEY_1500MS			0xC
    217
    218#define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_SHIFT		0
    219#define SM5502_REG_DEV_TYPE1_AUDIO_TYPE2_SHIFT		1
    220#define SM5502_REG_DEV_TYPE1_USB_SDP_SHIFT		2
    221#define SM5502_REG_DEV_TYPE1_UART_SHIFT			3
    222#define SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_SHIFT	4
    223#define SM5502_REG_DEV_TYPE1_USB_CHG_SHIFT		5
    224#define SM5502_REG_DEV_TYPE1_DEDICATED_CHG_SHIFT	6
    225#define SM5502_REG_DEV_TYPE1_USB_OTG_SHIFT		7
    226#define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_MASK		(0x1 << SM5502_REG_DEV_TYPE1_AUDIO_TYPE1_SHIFT)
    227#define SM5502_REG_DEV_TYPE1_AUDIO_TYPE1__MASK		(0x1 << SM5502_REG_DEV_TYPE1_AUDIO_TYPE2_SHIFT)
    228#define SM5502_REG_DEV_TYPE1_USB_SDP_MASK		(0x1 << SM5502_REG_DEV_TYPE1_USB_SDP_SHIFT)
    229#define SM5502_REG_DEV_TYPE1_UART_MASK			(0x1 << SM5502_REG_DEV_TYPE1_UART_SHIFT)
    230#define SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_MASK	(0x1 << SM5502_REG_DEV_TYPE1_CAR_KIT_CHARGER_SHIFT)
    231#define SM5502_REG_DEV_TYPE1_USB_CHG_MASK		(0x1 << SM5502_REG_DEV_TYPE1_USB_CHG_SHIFT)
    232#define SM5502_REG_DEV_TYPE1_DEDICATED_CHG_MASK		(0x1 << SM5502_REG_DEV_TYPE1_DEDICATED_CHG_SHIFT)
    233#define SM5502_REG_DEV_TYPE1_USB_OTG_MASK		(0x1 << SM5502_REG_DEV_TYPE1_USB_OTG_SHIFT)
    234
    235#define SM5504_REG_DEV_TYPE1_USB_OTG_SHIFT		0
    236#define SM5504_REG_DEV_TYPE1_USB_OTG_MASK		(0x1 << SM5504_REG_DEV_TYPE1_USB_OTG_SHIFT)
    237
    238#define SM5502_REG_DEV_TYPE2_JIG_USB_ON_SHIFT		0
    239#define SM5502_REG_DEV_TYPE2_JIG_USB_OFF_SHIFT		1
    240#define SM5502_REG_DEV_TYPE2_JIG_UART_ON_SHIFT		2
    241#define SM5502_REG_DEV_TYPE2_JIG_UART_OFF_SHIFT		3
    242#define SM5502_REG_DEV_TYPE2_PPD_SHIFT			4
    243#define SM5502_REG_DEV_TYPE2_TTY_SHIFT			5
    244#define SM5502_REG_DEV_TYPE2_AV_CABLE_SHIFT		6
    245#define SM5502_REG_DEV_TYPE2_JIG_USB_ON_MASK		(0x1 << SM5502_REG_DEV_TYPE2_JIG_USB_ON_SHIFT)
    246#define SM5502_REG_DEV_TYPE2_JIG_USB_OFF_MASK		(0x1 << SM5502_REG_DEV_TYPE2_JIG_USB_OFF_SHIFT)
    247#define SM5502_REG_DEV_TYPE2_JIG_UART_ON_MASK		(0x1 << SM5502_REG_DEV_TYPE2_JIG_UART_ON_SHIFT)
    248#define SM5502_REG_DEV_TYPE2_JIG_UART_OFF_MASK		(0x1 << SM5502_REG_DEV_TYPE2_JIG_UART_OFF_SHIFT)
    249#define SM5502_REG_DEV_TYPE2_PPD_MASK			(0x1 << SM5502_REG_DEV_TYPE2_PPD_SHIFT)
    250#define SM5502_REG_DEV_TYPE2_TTY_MASK			(0x1 << SM5502_REG_DEV_TYPE2_TTY_SHIFT)
    251#define SM5502_REG_DEV_TYPE2_AV_CABLE_MASK		(0x1 << SM5502_REG_DEV_TYPE2_AV_CABLE_SHIFT)
    252
    253#define SM5502_REG_MANUAL_SW1_VBUSIN_SHIFT	0
    254#define SM5502_REG_MANUAL_SW1_DP_SHIFT		2
    255#define SM5502_REG_MANUAL_SW1_DM_SHIFT		5
    256#define SM5502_REG_MANUAL_SW1_VBUSIN_MASK	(0x3 << SM5502_REG_MANUAL_SW1_VBUSIN_SHIFT)
    257#define SM5502_REG_MANUAL_SW1_DP_MASK		(0x7 << SM5502_REG_MANUAL_SW1_DP_SHIFT)
    258#define SM5502_REG_MANUAL_SW1_DM_MASK		(0x7 << SM5502_REG_MANUAL_SW1_DM_SHIFT)
    259#define VBUSIN_SWITCH_OPEN			0x0
    260#define VBUSIN_SWITCH_VBUSOUT			0x1
    261#define VBUSIN_SWITCH_MIC			0x2
    262#define VBUSIN_SWITCH_VBUSOUT_WITH_USB		0x3
    263#define DM_DP_CON_SWITCH_OPEN			0x0
    264#define DM_DP_CON_SWITCH_USB			0x1
    265#define DM_DP_CON_SWITCH_AUDIO			0x2
    266#define DM_DP_CON_SWITCH_UART			0x3
    267#define DM_DP_SWITCH_OPEN			((DM_DP_CON_SWITCH_OPEN <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
    268						| (DM_DP_CON_SWITCH_OPEN <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
    269#define DM_DP_SWITCH_USB			((DM_DP_CON_SWITCH_USB <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
    270						| (DM_DP_CON_SWITCH_USB <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
    271#define DM_DP_SWITCH_AUDIO			((DM_DP_CON_SWITCH_AUDIO <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
    272						| (DM_DP_CON_SWITCH_AUDIO <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
    273#define DM_DP_SWITCH_UART			((DM_DP_CON_SWITCH_UART <<SM5502_REG_MANUAL_SW1_DP_SHIFT) \
    274						| (DM_DP_CON_SWITCH_UART <<SM5502_REG_MANUAL_SW1_DM_SHIFT))
    275
    276#define SM5502_REG_RESET_MASK			(0x1)
    277
    278/* SM5502 Interrupts */
    279enum sm5502_irq {
    280	/* INT1 */
    281	SM5502_IRQ_INT1_ATTACH,
    282	SM5502_IRQ_INT1_DETACH,
    283	SM5502_IRQ_INT1_KP,
    284	SM5502_IRQ_INT1_LKP,
    285	SM5502_IRQ_INT1_LKR,
    286	SM5502_IRQ_INT1_OVP_EVENT,
    287	SM5502_IRQ_INT1_OCP_EVENT,
    288	SM5502_IRQ_INT1_OVP_OCP_DIS,
    289
    290	/* INT2 */
    291	SM5502_IRQ_INT2_VBUS_DET,
    292	SM5502_IRQ_INT2_REV_ACCE,
    293	SM5502_IRQ_INT2_ADC_CHG,
    294	SM5502_IRQ_INT2_STUCK_KEY,
    295	SM5502_IRQ_INT2_STUCK_KEY_RCV,
    296	SM5502_IRQ_INT2_MHL,
    297
    298	SM5502_IRQ_NUM,
    299};
    300
    301#define SM5502_IRQ_INT1_ATTACH_MASK		BIT(0)
    302#define SM5502_IRQ_INT1_DETACH_MASK		BIT(1)
    303#define SM5502_IRQ_INT1_KP_MASK			BIT(2)
    304#define SM5502_IRQ_INT1_LKP_MASK		BIT(3)
    305#define SM5502_IRQ_INT1_LKR_MASK		BIT(4)
    306#define SM5502_IRQ_INT1_OVP_EVENT_MASK		BIT(5)
    307#define SM5502_IRQ_INT1_OCP_EVENT_MASK		BIT(6)
    308#define SM5502_IRQ_INT1_OVP_OCP_DIS_MASK	BIT(7)
    309#define SM5502_IRQ_INT2_VBUS_DET_MASK		BIT(0)
    310#define SM5502_IRQ_INT2_REV_ACCE_MASK		BIT(1)
    311#define SM5502_IRQ_INT2_ADC_CHG_MASK		BIT(2)
    312#define SM5502_IRQ_INT2_STUCK_KEY_MASK		BIT(3)
    313#define SM5502_IRQ_INT2_STUCK_KEY_RCV_MASK	BIT(4)
    314#define SM5502_IRQ_INT2_MHL_MASK		BIT(5)
    315
    316/* SM5504 Interrupts */
    317enum sm5504_irq {
    318	/* INT1 */
    319	SM5504_IRQ_INT1_ATTACH,
    320	SM5504_IRQ_INT1_DETACH,
    321	SM5504_IRQ_INT1_CHG_DET,
    322	SM5504_IRQ_INT1_DCD_OUT,
    323	SM5504_IRQ_INT1_OVP_EVENT,
    324	SM5504_IRQ_INT1_CONNECT,
    325	SM5504_IRQ_INT1_ADC_CHG,
    326
    327	/* INT2 */
    328	SM5504_IRQ_INT2_RID_CHG,
    329	SM5504_IRQ_INT2_UVLO,
    330	SM5504_IRQ_INT2_POR,
    331	SM5504_IRQ_INT2_OVP_FET,
    332	SM5504_IRQ_INT2_OCP_LATCH,
    333	SM5504_IRQ_INT2_OCP_EVENT,
    334	SM5504_IRQ_INT2_OVP_OCP_EVENT,
    335
    336	SM5504_IRQ_NUM,
    337};
    338
    339#define SM5504_IRQ_INT1_ATTACH_MASK		BIT(0)
    340#define SM5504_IRQ_INT1_DETACH_MASK		BIT(1)
    341#define SM5504_IRQ_INT1_CHG_DET_MASK		BIT(2)
    342#define SM5504_IRQ_INT1_DCD_OUT_MASK		BIT(3)
    343#define SM5504_IRQ_INT1_OVP_MASK		BIT(4)
    344#define SM5504_IRQ_INT1_CONNECT_MASK		BIT(5)
    345#define SM5504_IRQ_INT1_ADC_CHG_MASK		BIT(6)
    346#define SM5504_IRQ_INT2_RID_CHG_MASK		BIT(0)
    347#define SM5504_IRQ_INT2_UVLO_MASK		BIT(1)
    348#define SM5504_IRQ_INT2_POR_MASK		BIT(2)
    349#define SM5504_IRQ_INT2_OVP_FET_MASK		BIT(4)
    350#define SM5504_IRQ_INT2_OCP_LATCH_MASK		BIT(5)
    351#define SM5504_IRQ_INT2_OCP_EVENT_MASK		BIT(6)
    352#define SM5504_IRQ_INT2_OVP_OCP_EVENT_MASK	BIT(7)
    353
    354#endif /*  __LINUX_EXTCON_SM5502_H */