linux/include/linux/mfd/atc260x/atc2603c.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * ATC2603C PMIC register definitions
 *
 * Copyright (C) 2020 Cristian Ciocaltea <[email protected]>
 */

#ifndef __LINUX_MFD_ATC260X_ATC2603C_H
#define __LINUX_MFD_ATC260X_ATC2603C_H

enum atc2603c_irq_def {};

/* PMU Registers */
#define ATC2603C_PMU_SYS_CTL0
#define ATC2603C_PMU_SYS_CTL1
#define ATC2603C_PMU_SYS_CTL2
#define ATC2603C_PMU_SYS_CTL3
#define ATC2603C_PMU_SYS_CTL4
#define ATC2603C_PMU_SYS_CTL5
#define ATC2603C_PMU_SYS_CTL6
#define ATC2603C_PMU_SYS_CTL7
#define ATC2603C_PMU_SYS_CTL8
#define ATC2603C_PMU_SYS_CTL9
#define ATC2603C_PMU_BAT_CTL0
#define ATC2603C_PMU_BAT_CTL1
#define ATC2603C_PMU_VBUS_CTL0
#define ATC2603C_PMU_VBUS_CTL1
#define ATC2603C_PMU_WALL_CTL0
#define ATC2603C_PMU_WALL_CTL1
#define ATC2603C_PMU_SYS_PENDING
#define ATC2603C_PMU_DC1_CTL0
#define ATC2603C_PMU_DC1_CTL1
#define ATC2603C_PMU_DC1_CTL2
#define ATC2603C_PMU_DC2_CTL0
#define ATC2603C_PMU_DC2_CTL1
#define ATC2603C_PMU_DC2_CTL2
#define ATC2603C_PMU_DC3_CTL0
#define ATC2603C_PMU_DC3_CTL1
#define ATC2603C_PMU_DC3_CTL2
#define ATC2603C_PMU_DC4_CTL0
#define ATC2603C_PMU_DC4_CTL1
#define ATC2603C_PMU_DC5_CTL0
#define ATC2603C_PMU_DC5_CTL1
#define ATC2603C_PMU_LDO1_CTL
#define ATC2603C_PMU_LDO2_CTL
#define ATC2603C_PMU_LDO3_CTL
#define ATC2603C_PMU_LDO4_CTL
#define ATC2603C_PMU_LDO5_CTL
#define ATC2603C_PMU_LDO6_CTL
#define ATC2603C_PMU_LDO7_CTL
#define ATC2603C_PMU_LDO8_CTL
#define ATC2603C_PMU_LDO9_CTL
#define ATC2603C_PMU_LDO10_CTL
#define ATC2603C_PMU_LDO11_CTL
#define ATC2603C_PMU_SWITCH_CTL
#define ATC2603C_PMU_OV_CTL0
#define ATC2603C_PMU_OV_CTL1
#define ATC2603C_PMU_OV_STATUS
#define ATC2603C_PMU_OV_EN
#define ATC2603C_PMU_OV_INT_EN
#define ATC2603C_PMU_OC_CTL
#define ATC2603C_PMU_OC_STATUS
#define ATC2603C_PMU_OC_EN
#define ATC2603C_PMU_OC_INT_EN
#define ATC2603C_PMU_UV_CTL0
#define ATC2603C_PMU_UV_CTL1
#define ATC2603C_PMU_UV_STATUS
#define ATC2603C_PMU_UV_EN
#define ATC2603C_PMU_UV_INT_EN
#define ATC2603C_PMU_OT_CTL
#define ATC2603C_PMU_CHARGER_CTL0
#define ATC2603C_PMU_CHARGER_CTL1
#define ATC2603C_PMU_CHARGER_CTL2
#define ATC2603C_PMU_BAKCHARGER_CTL
#define ATC2603C_PMU_APDS_CTL
#define ATC2603C_PMU_AUXADC_CTL0
#define ATC2603C_PMU_AUXADC_CTL1
#define ATC2603C_PMU_BATVADC
#define ATC2603C_PMU_BATIADC
#define ATC2603C_PMU_WALLVADC
#define ATC2603C_PMU_WALLIADC
#define ATC2603C_PMU_VBUSVADC
#define ATC2603C_PMU_VBUSIADC
#define ATC2603C_PMU_SYSPWRADC
#define ATC2603C_PMU_REMCONADC
#define ATC2603C_PMU_SVCCADC
#define ATC2603C_PMU_CHGIADC
#define ATC2603C_PMU_IREFADC
#define ATC2603C_PMU_BAKBATADC
#define ATC2603C_PMU_ICTEMPADC
#define ATC2603C_PMU_AUXADC0
#define ATC2603C_PMU_AUXADC1
#define ATC2603C_PMU_AUXADC2
#define ATC2603C_PMU_ICMADC
#define ATC2603C_PMU_BDG_CTL
#define ATC2603C_RTC_CTL
#define ATC2603C_RTC_MSALM
#define ATC2603C_RTC_HALM
#define ATC2603C_RTC_YMDALM
#define ATC2603C_RTC_MS
#define ATC2603C_RTC_H
#define ATC2603C_RTC_DC
#define ATC2603C_RTC_YMD
#define ATC2603C_EFUSE_DAT
#define ATC2603C_EFUSECRTL1
#define ATC2603C_EFUSECRTL2
#define ATC2603C_PMU_FW_USE0
#define ATC2603C_PMU_FW_USE1
#define ATC2603C_PMU_FW_USE2
#define ATC2603C_PMU_FW_USE3
#define ATC2603C_PMU_FW_USE4
#define ATC2603C_PMU_ABNORMAL_STATUS
#define ATC2603C_PMU_WALL_APDS_CTL
#define ATC2603C_PMU_REMCON_CTL0
#define ATC2603C_PMU_REMCON_CTL1
#define ATC2603C_PMU_MUX_CTL0
#define ATC2603C_PMU_SGPIO_CTL0
#define ATC2603C_PMU_SGPIO_CTL1
#define ATC2603C_PMU_SGPIO_CTL2
#define ATC2603C_PMU_SGPIO_CTL3
#define ATC2603C_PMU_SGPIO_CTL4
#define ATC2603C_PWMCLK_CTL
#define ATC2603C_PWM0_CTL
#define ATC2603C_PWM1_CTL
#define ATC2603C_PMU_ADC_DBG0
#define ATC2603C_PMU_ADC_DBG1
#define ATC2603C_PMU_ADC_DBG2
#define ATC2603C_PMU_ADC_DBG3
#define ATC2603C_PMU_ADC_DBG4
#define ATC2603C_IRC_CTL
#define ATC2603C_IRC_STAT
#define ATC2603C_IRC_CC
#define ATC2603C_IRC_KDC
#define ATC2603C_IRC_WK
#define ATC2603C_IRC_RCC
#define ATC2603C_IRC_FILTER

/* AUDIO_OUT Registers */
#define ATC2603C_AUDIOINOUT_CTL
#define ATC2603C_AUDIO_DEBUGOUTCTL
#define ATC2603C_DAC_DIGITALCTL
#define ATC2603C_DAC_VOLUMECTL0
#define ATC2603C_DAC_ANALOG0
#define ATC2603C_DAC_ANALOG1
#define ATC2603C_DAC_ANALOG2
#define ATC2603C_DAC_ANALOG3

/* AUDIO_IN Registers */
#define ATC2603C_ADC_DIGITALCTL
#define ATC2603C_ADC_HPFCTL
#define ATC2603C_ADC_CTL
#define ATC2603C_AGC_CTL0
#define ATC2603C_AGC_CTL1
#define ATC2603C_AGC_CTL2
#define ATC2603C_ADC_ANALOG0
#define ATC2603C_ADC_ANALOG1

/* PCM_IF Registers */
#define ATC2603C_PCM0_CTL
#define ATC2603C_PCM1_CTL
#define ATC2603C_PCM2_CTL
#define ATC2603C_PCMIF_CTL

/* CMU_CONTROL Registers */
#define ATC2603C_CMU_DEVRST

/* INTS Registers */
#define ATC2603C_INTS_PD
#define ATC2603C_INTS_MSK

/* MFP Registers */
#define ATC2603C_MFP_CTL
#define ATC2603C_PAD_VSEL
#define ATC2603C_GPIO_OUTEN
#define ATC2603C_GPIO_INEN
#define ATC2603C_GPIO_DAT
#define ATC2603C_PAD_DRV
#define ATC2603C_PAD_EN
#define ATC2603C_DEBUG_SEL
#define ATC2603C_DEBUG_IE
#define ATC2603C_DEBUG_OE
#define ATC2603C_BIST_START
#define ATC2603C_BIST_RESULT
#define ATC2603C_CHIP_VER

/* TWSI Registers */
#define ATC2603C_SADDR

/* PMU_SYS_CTL0 Register Mask Bits */
#define ATC2603C_PMU_SYS_CTL0_IR_WK_EN
#define ATC2603C_PMU_SYS_CTL0_RESET_WK_EN
#define ATC2603C_PMU_SYS_CTL0_HDSW_WK_EN
#define ATC2603C_PMU_SYS_CTL0_ALARM_WK_EN
#define ATC2603C_PMU_SYS_CTL0_REM_CON_WK_EN
#define ATC2603C_PMU_SYS_CTL0_RESTART_EN
#define ATC2603C_PMU_SYS_CTL0_SGPIOIRQ_WK_EN
#define ATC2603C_PMU_SYS_CTL0_ONOFF_SHORT_WK_EN
#define ATC2603C_PMU_SYS_CTL0_ONOFF_LONG_WK_EN
#define ATC2603C_PMU_SYS_CTL0_WALL_WK_EN
#define ATC2603C_PMU_SYS_CTL0_USB_WK_EN
#define ATC2603C_PMU_SYS_CTL0_WK_ALL

/* PMU_SYS_CTL1 Register Mask Bits */
#define ATC2603C_PMU_SYS_CTL1_EN_S1
#define ATC2603C_PMU_SYS_CTL1_LB_S4_EN
#define ATC2603C_PMU_SYS_CTL1_LB_S4
#define ATC2603C_PMU_SYS_CTL1_LB_S4_3_1V
#define ATC2603C_PMU_SYS_CTL1_IR_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_RESET_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_HDSW_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_ALARM_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_REM_CON_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_ONOFF_PRESS_RESET_IRQ_PD
#define ATC2603C_PMU_SYS_CTL1_SGPIOIRQ_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_ONOFF_SHORT_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_ONOFF_LONG_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_WALL_WK_FLAG
#define ATC2603C_PMU_SYS_CTL1_USB_WK_FLAG

/* PMU_SYS_CTL2 Register Mask Bits */
#define ATC2603C_PMU_SYS_CTL2_PMU_A_EN
#define ATC2603C_PMU_SYS_CTL2_ONOFF_PRESS_INT_EN
#define ATC2603C_PMU_SYS_CTL2_ONOFF_PRESS_PD
#define ATC2603C_PMU_SYS_CTL2_S2TIMER
#define ATC2603C_PMU_SYS_CTL2_S2_TIMER_EN
#define ATC2603C_PMU_SYS_CTL2_ONOFF_RESET_TIME_SEL
#define ATC2603C_PMU_SYS_CTL2_ONOFF_PRESS_RESET_EN
#define ATC2603C_PMU_SYS_CTL2_ONOFF_PRESS_TIME
#define ATC2603C_PMU_SYS_CTL2_ONOFF_INT_EN
#define ATC2603C_PMU_SYS_CTL2_ONOFF_LONG_PRESS
#define ATC2603C_PMU_SYS_CTL2_ONOFF_SHORT_PRESS
#define ATC2603C_PMU_SYS_CTL2_ONOFF_PRESS

/* PMU_SYS_CTL3 Register Mask Bits */
#define ATC2603C_PMU_SYS_CTL3_S2S3TOS1_TIMER
#define ATC2603C_PMU_SYS_CTL3_S2S3TOS1_TIMER_EN
#define ATC2603C_PMU_SYS_CTL3_S3_TIMER
#define ATC2603C_PMU_SYS_CTL3_S3_TIMER_EN
#define ATC2603C_PMU_SYS_CTL3_EN_S3
#define ATC2603C_PMU_SYS_CTL3_EN_S2

/* PMU_SYS_CTL5 Register Mask Bits */
#define ATC2603C_PMU_SYS_CTL5_WALLWKDTEN
#define ATC2603C_PMU_SYS_CTL5_VBUSWKDTEN
#define ATC2603C_PMU_SYS_CTL5_REMCON_DECT_EN
#define ATC2603C_PMU_SYS_CTL5_ONOFF_8S_SEL

/* INTS_MSK Register Mask Bits */
#define ATC2603C_INTS_MSK_AUDIO
#define ATC2603C_INTS_MSK_OV
#define ATC2603C_INTS_MSK_OC
#define ATC2603C_INTS_MSK_OT
#define ATC2603C_INTS_MSK_UV
#define ATC2603C_INTS_MSK_ALARM
#define ATC2603C_INTS_MSK_ONOFF
#define ATC2603C_INTS_MSK_SGPIO
#define ATC2603C_INTS_MSK_IR
#define ATC2603C_INTS_MSK_REMCON
#define ATC2603C_INTS_MSK_POWERIN

/* CMU_DEVRST Register Mask Bits */
#define ATC2603C_CMU_DEVRST_MFP
#define ATC2603C_CMU_DEVRST_INTS
#define ATC2603C_CMU_DEVRST_AUDIO

/* PAD_EN Register Mask Bits */
#define ATC2603C_PAD_EN_EXTIRQ

#endif /* __LINUX_MFD_ATC260X_ATC2603C_H */