linux/include/linux/mfd/atc260x/atc2609a.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * ATC2609A PMIC register definitions
 *
 * Copyright (C) 2019 Manivannan Sadhasivam <[email protected]>
 */

#ifndef __LINUX_MFD_ATC260X_ATC2609A_H
#define __LINUX_MFD_ATC260X_ATC2609A_H

enum atc2609a_irq_def {};

/* PMU Registers */
#define ATC2609A_PMU_SYS_CTL0
#define ATC2609A_PMU_SYS_CTL1
#define ATC2609A_PMU_SYS_CTL2
#define ATC2609A_PMU_SYS_CTL3
#define ATC2609A_PMU_SYS_CTL4
#define ATC2609A_PMU_SYS_CTL5
#define ATC2609A_PMU_SYS_CTL6
#define ATC2609A_PMU_SYS_CTL7
#define ATC2609A_PMU_SYS_CTL8
#define ATC2609A_PMU_SYS_CTL9
#define ATC2609A_PMU_BAT_CTL0
#define ATC2609A_PMU_BAT_CTL1
#define ATC2609A_PMU_VBUS_CTL0
#define ATC2609A_PMU_VBUS_CTL1
#define ATC2609A_PMU_WALL_CTL0
#define ATC2609A_PMU_WALL_CTL1
#define ATC2609A_PMU_SYS_PENDING
#define ATC2609A_PMU_APDS_CTL0
#define ATC2609A_PMU_APDS_CTL1
#define ATC2609A_PMU_APDS_CTL2
#define ATC2609A_PMU_CHARGER_CTL
#define ATC2609A_PMU_BAKCHARGER_CTL
#define ATC2609A_PMU_SWCHG_CTL0
#define ATC2609A_PMU_SWCHG_CTL1
#define ATC2609A_PMU_SWCHG_CTL2
#define ATC2609A_PMU_SWCHG_CTL3
#define ATC2609A_PMU_SWCHG_CTL4
#define ATC2609A_PMU_DC_OSC
#define ATC2609A_PMU_DC0_CTL0
#define ATC2609A_PMU_DC0_CTL1
#define ATC2609A_PMU_DC0_CTL2
#define ATC2609A_PMU_DC0_CTL3
#define ATC2609A_PMU_DC0_CTL4
#define ATC2609A_PMU_DC0_CTL5
#define ATC2609A_PMU_DC0_CTL6
#define ATC2609A_PMU_DC1_CTL0
#define ATC2609A_PMU_DC1_CTL1
#define ATC2609A_PMU_DC1_CTL2
#define ATC2609A_PMU_DC1_CTL3
#define ATC2609A_PMU_DC1_CTL4
#define ATC2609A_PMU_DC1_CTL5
#define ATC2609A_PMU_DC1_CTL6
#define ATC2609A_PMU_DC2_CTL0
#define ATC2609A_PMU_DC2_CTL1
#define ATC2609A_PMU_DC2_CTL2
#define ATC2609A_PMU_DC2_CTL3
#define ATC2609A_PMU_DC2_CTL4
#define ATC2609A_PMU_DC2_CTL5
#define ATC2609A_PMU_DC2_CTL6
#define ATC2609A_PMU_DC3_CTL0
#define ATC2609A_PMU_DC3_CTL1
#define ATC2609A_PMU_DC3_CTL2
#define ATC2609A_PMU_DC3_CTL3
#define ATC2609A_PMU_DC3_CTL4
#define ATC2609A_PMU_DC3_CTL5
#define ATC2609A_PMU_DC3_CTL6
#define ATC2609A_PMU_DC_ZR
#define ATC2609A_PMU_LDO0_CTL0
#define ATC2609A_PMU_LDO0_CTL1
#define ATC2609A_PMU_LDO1_CTL0
#define ATC2609A_PMU_LDO1_CTL1
#define ATC2609A_PMU_LDO2_CTL0
#define ATC2609A_PMU_LDO2_CTL1
#define ATC2609A_PMU_LDO3_CTL0
#define ATC2609A_PMU_LDO3_CTL1
#define ATC2609A_PMU_LDO4_CTL0
#define ATC2609A_PMU_LDO4_CTL1
#define ATC2609A_PMU_LDO5_CTL0
#define ATC2609A_PMU_LDO5_CTL1
#define ATC2609A_PMU_LDO6_CTL0
#define ATC2609A_PMU_LDO6_CTL1
#define ATC2609A_PMU_LDO7_CTL0
#define ATC2609A_PMU_LDO7_CTL1
#define ATC2609A_PMU_LDO8_CTL0
#define ATC2609A_PMU_LDO8_CTL1
#define ATC2609A_PMU_LDO9_CTL
#define ATC2609A_PMU_OV_INT_EN
#define ATC2609A_PMU_OV_STATUS
#define ATC2609A_PMU_UV_INT_EN
#define ATC2609A_PMU_UV_STATUS
#define ATC2609A_PMU_OC_INT_EN
#define ATC2609A_PMU_OC_STATUS
#define ATC2609A_PMU_OT_CTL
#define ATC2609A_PMU_CM_CTL0
#define ATC2609A_PMU_FW_USE0
#define ATC2609A_PMU_FW_USE1
#define ATC2609A_PMU_ADC12B_I
#define ATC2609A_PMU_ADC12B_V
#define ATC2609A_PMU_ADC12B_DUMMY
#define ATC2609A_PMU_AUXADC_CTL0
#define ATC2609A_PMU_AUXADC_CTL1
#define ATC2609A_PMU_BATVADC
#define ATC2609A_PMU_BATIADC
#define ATC2609A_PMU_WALLVADC
#define ATC2609A_PMU_WALLIADC
#define ATC2609A_PMU_VBUSVADC
#define ATC2609A_PMU_VBUSIADC
#define ATC2609A_PMU_SYSPWRADC
#define ATC2609A_PMU_REMCONADC
#define ATC2609A_PMU_SVCCADC
#define ATC2609A_PMU_CHGIADC
#define ATC2609A_PMU_IREFADC
#define ATC2609A_PMU_BAKBATADC
#define ATC2609A_PMU_ICTEMPADC
#define ATC2609A_PMU_AUXADC0
#define ATC2609A_PMU_AUXADC1
#define ATC2609A_PMU_AUXADC2
#define ATC2609A_PMU_AUXADC3
#define ATC2609A_PMU_ICTEMPADC_ADJ
#define ATC2609A_PMU_BDG_CTL
#define ATC2609A_RTC_CTL
#define ATC2609A_RTC_MSALM
#define ATC2609A_RTC_HALM
#define ATC2609A_RTC_YMDALM
#define ATC2609A_RTC_MS
#define ATC2609A_RTC_H
#define ATC2609A_RTC_DC
#define ATC2609A_RTC_YMD
#define ATC2609A_EFUSE_DAT
#define ATC2609A_EFUSECRTL1
#define ATC2609A_EFUSECRTL2
#define ATC2609A_PMU_DC4_CTL0
#define ATC2609A_PMU_DC4_CTL1
#define ATC2609A_PMU_DC4_CTL2
#define ATC2609A_PMU_DC4_CTL3
#define ATC2609A_PMU_DC4_CTL4
#define ATC2609A_PMU_DC4_CTL5
#define ATC2609A_PMU_DC4_CTL6
#define ATC2609A_PMU_PWR_STATUS
#define ATC2609A_PMU_S2_PWR
#define ATC2609A_CLMT_CTL0
#define ATC2609A_CLMT_DATA0
#define ATC2609A_CLMT_DATA1
#define ATC2609A_CLMT_DATA2
#define ATC2609A_CLMT_DATA3
#define ATC2609A_CLMT_ADD0
#define ATC2609A_CLMT_ADD1
#define ATC2609A_CLMT_OCV_TABLE
#define ATC2609A_CLMT_R_TABLE
#define ATC2609A_PMU_PWRON_CTL0
#define ATC2609A_PMU_PWRON_CTL1
#define ATC2609A_PMU_PWRON_CTL2
#define ATC2609A_IRC_CTL
#define ATC2609A_IRC_STAT
#define ATC2609A_IRC_CC
#define ATC2609A_IRC_KDC
#define ATC2609A_IRC_WK
#define ATC2609A_IRC_RCC

/* AUDIO_OUT Registers */
#define ATC2609A_AUDIOINOUT_CTL
#define ATC2609A_AUDIO_DEBUGOUTCTL
#define ATC2609A_DAC_DIGITALCTL
#define ATC2609A_DAC_VOLUMECTL0
#define ATC2609A_DAC_ANALOG0
#define ATC2609A_DAC_ANALOG1
#define ATC2609A_DAC_ANALOG2
#define ATC2609A_DAC_ANALOG3

/* AUDIO_IN Registers */
#define ATC2609A_ADC_DIGITALCTL
#define ATC2609A_ADC_HPFCTL
#define ATC2609A_ADC_CTL
#define ATC2609A_AGC_CTL0
#define ATC2609A_AGC_CTL1
#define ATC2609A_AGC_CTL2
#define ATC2609A_ADC_ANALOG0
#define ATC2609A_ADC_ANALOG1

/* PCM_IF Registers */
#define ATC2609A_PCM0_CTL
#define ATC2609A_PCM1_CTL
#define ATC2609A_PCM2_CTL
#define ATC2609A_PCMIF_CTL

/* CMU_CONTROL Registers */
#define ATC2609A_CMU_DEVRST

/* INTS Registers */
#define ATC2609A_INTS_PD
#define ATC2609A_INTS_MSK

/* MFP Registers */
#define ATC2609A_MFP_CTL
#define ATC2609A_PAD_VSEL
#define ATC2609A_GPIO_OUTEN
#define ATC2609A_GPIO_INEN
#define ATC2609A_GPIO_DAT
#define ATC2609A_PAD_DRV
#define ATC2609A_PAD_EN
#define ATC2609A_DEBUG_SEL
#define ATC2609A_DEBUG_IE
#define ATC2609A_DEBUG_OE
#define ATC2609A_CHIP_VER

/* PWSI Registers */
#define ATC2609A_PWSI_CTL
#define ATC2609A_PWSI_STATUS

/* TWSI Registers */
#define ATC2609A_SADDR

/* PMU_SYS_CTL0 Register Mask Bits */
#define ATC2609A_PMU_SYS_CTL0_IR_WK_EN
#define ATC2609A_PMU_SYS_CTL0_RESET_WK_EN
#define ATC2609A_PMU_SYS_CTL0_HDSW_WK_EN
#define ATC2609A_PMU_SYS_CTL0_ALARM_WK_EN
#define ATC2609A_PMU_SYS_CTL0_REM_CON_WK_EN
#define ATC2609A_PMU_SYS_CTL0_RESTART_EN
#define ATC2609A_PMU_SYS_CTL0_WKIRQ_WK_EN
#define ATC2609A_PMU_SYS_CTL0_ONOFF_SHORT_WK_EN
#define ATC2609A_PMU_SYS_CTL0_ONOFF_LONG_WK_EN
#define ATC2609A_PMU_SYS_CTL0_WALL_WK_EN
#define ATC2609A_PMU_SYS_CTL0_USB_WK_EN
#define ATC2609A_PMU_SYS_CTL0_WK_ALL

/* PMU_SYS_CTL1 Register Mask Bits */
#define ATC2609A_PMU_SYS_CTL1_EN_S1
#define ATC2609A_PMU_SYS_CTL1_LB_S4_EN
#define ATC2609A_PMU_SYS_CTL1_LB_S4
#define ATC2609A_PMU_SYS_CTL1_LB_S4_3_1V
#define ATC2609A_PMU_SYS_CTL1_IR_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_RESET_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_HDSW_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_ALARM_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_REM_CON_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_RESTART_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_WKIRQ_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_ONOFF_SHORT_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_ONOFF_LONG_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_WALL_WK_FLAG
#define ATC2609A_PMU_SYS_CTL1_USB_WK_FLAG

/* PMU_SYS_CTL2 Register Mask Bits */
#define ATC2609A_PMU_SYS_CTL2_PMU_A_EN
#define ATC2609A_PMU_SYS_CTL2_ONOFF_PRESS_INT_EN
#define ATC2609A_PMU_SYS_CTL2_ONOFF_PRESS_PD
#define ATC2609A_PMU_SYS_CTL2_S2TIMER
#define ATC2609A_PMU_SYS_CTL2_S2_TIMER_EN
#define ATC2609A_PMU_SYS_CTL2_ONOFF_RESET_TIME_SEL
#define ATC2609A_PMU_SYS_CTL2_ONOFF_RESET_EN
#define ATC2609A_PMU_SYS_CTL2_ONOFF_PRESS_TIME
#define ATC2609A_PMU_SYS_CTL2_ONOFF_LSP_INT_EN
#define ATC2609A_PMU_SYS_CTL2_ONOFF_LONG_PRESS
#define ATC2609A_PMU_SYS_CTL2_ONOFF_SHORT_PRESS
#define ATC2609A_PMU_SYS_CTL2_ONOFF_PRESS

/* PMU_SYS_CTL3 Register Mask Bits */
#define ATC2609A_PMU_SYS_CTL3_S2S3TOS1_TIMER
#define ATC2609A_PMU_SYS_CTL3_S2S3TOS1_TIMER_EN
#define ATC2609A_PMU_SYS_CTL3_S3_TIMER
#define ATC2609A_PMU_SYS_CTL3_S3_TIMER_EN
#define ATC2609A_PMU_SYS_CTL3_EN_S3
#define ATC2609A_PMU_SYS_CTL3_EN_S2

/* PMU_SYS_CTL5 Register Mask Bits */
#define ATC2609A_PMU_SYS_CTL5_WALLWKDTEN
#define ATC2609A_PMU_SYS_CTL5_VBUSWKDTEN
#define ATC2609A_PMU_SYS_CTL5_REMCON_DECT_EN
#define ATC2609A_PMU_SYS_CTL5_ONOFF_8S_SEL

/* INTS_MSK Register Mask Bits */
#define ATC2609A_INTS_MSK_AUDIO
#define ATC2609A_INTS_MSK_OV
#define ATC2609A_INTS_MSK_OC
#define ATC2609A_INTS_MSK_OT
#define ATC2609A_INTS_MSK_UV
#define ATC2609A_INTS_MSK_ALARM
#define ATC2609A_INTS_MSK_ONOFF
#define ATC2609A_INTS_MSK_WKUP
#define ATC2609A_INTS_MSK_IR
#define ATC2609A_INTS_MSK_REMCON
#define ATC2609A_INTS_MSK_POWERIN

/* CMU_DEVRST Register Mask Bits */
#define ATC2609A_CMU_DEVRST_AUDIO
#define ATC2609A_CMU_DEVRST_MFP
#define ATC2609A_CMU_DEVRST_INTS

/* PAD_EN Register Mask Bits */
#define ATC2609A_PAD_EN_EXTIRQ

#endif /* __LINUX_MFD_ATC260X_ATC2609A_H */