Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
88pm80x.h File Reference
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/regmap.h>
#include <linux/atomic.h>

Go to the source code of this file.

Data Structures

struct  pm80x_rtc_pdata
 
struct  pm80x_subchip
 
struct  pm80x_chip
 
struct  pm80x_platform_data
 

Macros

#define PM80X_VERSION_MASK   (0xFF) /* 80X chip ID mask */
 
#define PM800_MAX_REGULATOR   PM800_ID_RG_MAX /* 5 Bucks, 19 LDOs */
 
#define PM800_NUM_BUCK   (5) /*5 Bucks */
 
#define PM800_NUM_LDO   (19) /*19 Bucks */
 
#define PM800_STATUS_1   (0x01)
 
#define PM800_ONKEY_STS1   (1 << 0)
 
#define PM800_EXTON_STS1   (1 << 1)
 
#define PM800_CHG_STS1   (1 << 2)
 
#define PM800_BAT_STS1   (1 << 3)
 
#define PM800_VBUS_STS1   (1 << 4)
 
#define PM800_LDO_PGOOD_STS1   (1 << 5)
 
#define PM800_BUCK_PGOOD_STS1   (1 << 6)
 
#define PM800_STATUS_2   (0x02)
 
#define PM800_RTC_ALARM_STS2   (1 << 0)
 
#define PM800_WAKEUP1   (0x0D)
 
#define PM800_WAKEUP2   (0x0E)
 
#define PM800_WAKEUP2_INV_INT   (1 << 0)
 
#define PM800_WAKEUP2_INT_CLEAR   (1 << 1)
 
#define PM800_WAKEUP2_INT_MASK   (1 << 2)
 
#define PM800_POWER_UP_LOG   (0x10)
 
#define PM800_LOW_POWER1   (0x20)
 
#define PM800_LOW_POWER2   (0x21)
 
#define PM800_LOW_POWER_CONFIG3   (0x22)
 
#define PM800_LOW_POWER_CONFIG4   (0x23)
 
#define PM800_GPIO_0_1_CNTRL   (0x30)
 
#define PM800_GPIO0_VAL   (1 << 0)
 
#define PM800_GPIO0_GPIO_MODE(x)   (x << 1)
 
#define PM800_GPIO1_VAL   (1 << 4)
 
#define PM800_GPIO1_GPIO_MODE(x)   (x << 5)
 
#define PM800_GPIO_2_3_CNTRL   (0x31)
 
#define PM800_GPIO2_VAL   (1 << 0)
 
#define PM800_GPIO2_GPIO_MODE(x)   (x << 1)
 
#define PM800_GPIO3_VAL   (1 << 4)
 
#define PM800_GPIO3_GPIO_MODE(x)   (x << 5)
 
#define PM800_GPIO3_MODE_MASK   0x1F
 
#define PM800_GPIO3_HEADSET_MODE   PM800_GPIO3_GPIO_MODE(6)
 
#define PM800_GPIO_4_CNTRL   (0x32)
 
#define PM800_GPIO4_VAL   (1 << 0)
 
#define PM800_GPIO4_GPIO_MODE(x)   (x << 1)
 
#define PM800_HEADSET_CNTRL   (0x38)
 
#define PM800_HEADSET_DET_EN   (1 << 7)
 
#define PM800_HSDET_SLP   (1 << 1)
 
#define PM800_PWM1   (0x40)
 
#define PM800_PWM2   (0x41)
 
#define PM800_PWM3   (0x42)
 
#define PM800_PWM4   (0x43)
 
#define PM800_RTC_CONTROL   (0xD0)
 
#define PM800_RTC_MISC1   (0xE1)
 
#define PM800_RTC_MISC2   (0xE2)
 
#define PM800_RTC_MISC3   (0xE3)
 
#define PM800_RTC_MISC4   (0xE4)
 
#define PM800_RTC_MISC5   (0xE7)
 
#define PM800_ALARM1_EN   (1 << 0)
 
#define PM800_ALARM_WAKEUP   (1 << 4)
 
#define PM800_ALARM   (1 << 5)
 
#define PM800_RTC1_USE_XO   (1 << 7)
 
#define PM800_SLEEP_BUCK1   (0x30)
 
#define PM800_BUCK_SLP1   (0x5A)
 
#define PM800_BUCK1_SLP1_SHIFT   0
 
#define PM800_BUCK1_SLP1_MASK   (0x3 << PM800_BUCK1_SLP1_SHIFT)
 
#define PM800_GPADC_MEAS_EN1   (0x01)
 
#define PM800_MEAS_EN1_VBAT   (1 << 2)
 
#define PM800_GPADC_MEAS_EN2   (0x02)
 
#define PM800_MEAS_EN2_RFTMP   (1 << 0)
 
#define PM800_MEAS_GP0_EN   (1 << 2)
 
#define PM800_MEAS_GP1_EN   (1 << 3)
 
#define PM800_MEAS_GP2_EN   (1 << 4)
 
#define PM800_MEAS_GP3_EN   (1 << 5)
 
#define PM800_MEAS_GP4_EN   (1 << 6)
 
#define PM800_GPADC_MISC_CONFIG1   (0x05)
 
#define PM800_GPADC_MISC_CONFIG2   (0x06)
 
#define PM800_GPADC_MISC_GPFSM_EN   (1 << 0)
 
#define PM800_GPADC_SLOW_MODE(x)   (x << 3)
 
#define PM800_GPADC_MISC_CONFIG3   (0x09)
 
#define PM800_GPADC_MISC_CONFIG4   (0x0A)
 
#define PM800_GPADC_PREBIAS1   (0x0F)
 
#define PM800_GPADC0_GP_PREBIAS_TIME(x)   (x << 0)
 
#define PM800_GPADC_PREBIAS2   (0x10)
 
#define PM800_GP_BIAS_ENA1   (0x14)
 
#define PM800_GPADC_GP_BIAS_EN0   (1 << 0)
 
#define PM800_GPADC_GP_BIAS_EN1   (1 << 1)
 
#define PM800_GPADC_GP_BIAS_EN2   (1 << 2)
 
#define PM800_GPADC_GP_BIAS_EN3   (1 << 3)
 
#define PM800_GP_BIAS_OUT1   (0x15)
 
#define PM800_BIAS_OUT_GP0   (1 << 0)
 
#define PM800_BIAS_OUT_GP1   (1 << 1)
 
#define PM800_BIAS_OUT_GP2   (1 << 2)
 
#define PM800_BIAS_OUT_GP3   (1 << 3)
 
#define PM800_GPADC0_LOW_TH   0x20
 
#define PM800_GPADC1_LOW_TH   0x21
 
#define PM800_GPADC2_LOW_TH   0x22
 
#define PM800_GPADC3_LOW_TH   0x23
 
#define PM800_GPADC4_LOW_TH   0x24
 
#define PM800_GPADC0_UPP_TH   0x30
 
#define PM800_GPADC1_UPP_TH   0x31
 
#define PM800_GPADC2_UPP_TH   0x32
 
#define PM800_GPADC3_UPP_TH   0x33
 
#define PM800_GPADC4_UPP_TH   0x34
 
#define PM800_VBBAT_MEAS1   0x40
 
#define PM800_VBBAT_MEAS2   0x41
 
#define PM800_VBAT_MEAS1   0x42
 
#define PM800_VBAT_MEAS2   0x43
 
#define PM800_VSYS_MEAS1   0x44
 
#define PM800_VSYS_MEAS2   0x45
 
#define PM800_VCHG_MEAS1   0x46
 
#define PM800_VCHG_MEAS2   0x47
 
#define PM800_TINT_MEAS1   0x50
 
#define PM800_TINT_MEAS2   0x51
 
#define PM800_PMOD_MEAS1   0x52
 
#define PM800_PMOD_MEAS2   0x53
 
#define PM800_GPADC0_MEAS1   0x54
 
#define PM800_GPADC0_MEAS2   0x55
 
#define PM800_GPADC1_MEAS1   0x56
 
#define PM800_GPADC1_MEAS2   0x57
 
#define PM800_GPADC2_MEAS1   0x58
 
#define PM800_GPADC2_MEAS2   0x59
 
#define PM800_GPADC3_MEAS1   0x5A
 
#define PM800_GPADC3_MEAS2   0x5B
 
#define PM800_GPADC4_MEAS1   0x5C
 
#define PM800_GPADC4_MEAS2   0x5D
 
#define PM800_GPADC4_AVG1   0xA8
 
#define PM800_GPADC4_AVG2   0xA9
 
#define PM805_MAIN_POWERUP   (0x01)
 
#define PM805_INT_STATUS0   (0x02) /* for ena/dis all interrupts */
 
#define PM805_STATUS0_INT_CLEAR   (1 << 0)
 
#define PM805_STATUS0_INV_INT   (1 << 1)
 
#define PM800_STATUS0_INT_MASK   (1 << 2)
 
#define PM805_INT_STATUS1   (0x03)
 
#define PM805_INT1_HP1_SHRT   (1 << 0)
 
#define PM805_INT1_HP2_SHRT   (1 << 1)
 
#define PM805_INT1_MIC_CONFLICT   (1 << 2)
 
#define PM805_INT1_CLIP_FAULT   (1 << 3)
 
#define PM805_INT1_LDO_OFF   (1 << 4)
 
#define PM805_INT1_SRC_DPLL_LOCK   (1 << 5)
 
#define PM805_INT_STATUS2   (0x04)
 
#define PM805_INT2_MIC_DET   (1 << 0)
 
#define PM805_INT2_SHRT_BTN_DET   (1 << 1)
 
#define PM805_INT2_VOLM_BTN_DET   (1 << 2)
 
#define PM805_INT2_VOLP_BTN_DET   (1 << 3)
 
#define PM805_INT2_RAW_PLL_FAULT   (1 << 4)
 
#define PM805_INT2_FINE_PLL_FAULT   (1 << 5)
 
#define PM805_INT_MASK1   (0x05)
 
#define PM805_INT_MASK2   (0x06)
 
#define PM805_SHRT_BTN_DET   (1 << 1)
 
#define PM805_INT_REG_NUM   (2)
 
#define PM805_MIC_DET1   (0x07)
 
#define PM805_MIC_DET_EN_MIC_DET   (1 << 0)
 
#define PM805_MIC_DET2   (0x08)
 
#define PM805_MIC_DET_STATUS1   (0x09)
 
#define PM805_MIC_DET_STATUS3   (0x0A)
 
#define PM805_AUTO_SEQ_STATUS1   (0x0B)
 
#define PM805_AUTO_SEQ_STATUS2   (0x0C)
 
#define PM805_ADC_SETTING1   (0x10)
 
#define PM805_ADC_SETTING2   (0x11)
 
#define PM805_ADC_SETTING3   (0x11)
 
#define PM805_ADC_GAIN1   (0x12)
 
#define PM805_ADC_GAIN2   (0x13)
 
#define PM805_DMIC_SETTING   (0x15)
 
#define PM805_DWS_SETTING   (0x16)
 
#define PM805_MIC_CONFLICT_STS   (0x17)
 
#define PM805_PDM_SETTING1   (0x20)
 
#define PM805_PDM_SETTING2   (0x21)
 
#define PM805_PDM_SETTING3   (0x22)
 
#define PM805_PDM_CONTROL1   (0x23)
 
#define PM805_PDM_CONTROL2   (0x24)
 
#define PM805_PDM_CONTROL3   (0x25)
 
#define PM805_HEADPHONE_SETTING   (0x26)
 
#define PM805_HEADPHONE_GAIN_A2A   (0x27)
 
#define PM805_HEADPHONE_SHORT_STATE   (0x28)
 
#define PM805_EARPHONE_SETTING   (0x29)
 
#define PM805_AUTO_SEQ_SETTING   (0x2A)
 

Enumerations

enum  { CHIP_INVALID = 0, CHIP_PM800, CHIP_PM805, CHIP_MAX }
 
enum  {
  PM800_ID_BUCK1 = 0, PM800_ID_BUCK2, PM800_ID_BUCK3, PM800_ID_BUCK4,
  PM800_ID_BUCK5, PM800_ID_LDO1, PM800_ID_LDO2, PM800_ID_LDO3,
  PM800_ID_LDO4, PM800_ID_LDO5, PM800_ID_LDO6, PM800_ID_LDO7,
  PM800_ID_LDO8, PM800_ID_LDO9, PM800_ID_LDO10, PM800_ID_LDO11,
  PM800_ID_LDO12, PM800_ID_LDO13, PM800_ID_LDO14, PM800_ID_LDO15,
  PM800_ID_LDO16, PM800_ID_LDO17, PM800_ID_LDO18, PM800_ID_LDO19,
  PM800_ID_RG_MAX
}
 

Functions

int pm80x_init (struct i2c_client *client, const struct i2c_device_id *id) __devinit
 
int pm80x_deinit (struct i2c_client *client)
 

Variables

struct dev_pm_ops pm80x_pm_ops
 
struct regmap_config pm80x_regmap_config
 

Macro Definition Documentation

#define PM800_ALARM   (1 << 5)

Definition at line 129 of file 88pm80x.h.

#define PM800_ALARM1_EN   (1 << 0)

Definition at line 127 of file 88pm80x.h.

#define PM800_ALARM_WAKEUP   (1 << 4)

Definition at line 128 of file 88pm80x.h.

#define PM800_BAT_STS1   (1 << 3)

Definition at line 67 of file 88pm80x.h.

#define PM800_BIAS_OUT_GP0   (1 << 0)

Definition at line 172 of file 88pm80x.h.

#define PM800_BIAS_OUT_GP1   (1 << 1)

Definition at line 173 of file 88pm80x.h.

#define PM800_BIAS_OUT_GP2   (1 << 2)

Definition at line 174 of file 88pm80x.h.

#define PM800_BIAS_OUT_GP3   (1 << 3)

Definition at line 175 of file 88pm80x.h.

#define PM800_BUCK1_SLP1_MASK   (0x3 << PM800_BUCK1_SLP1_SHIFT)

Definition at line 140 of file 88pm80x.h.

#define PM800_BUCK1_SLP1_SHIFT   0

Definition at line 139 of file 88pm80x.h.

#define PM800_BUCK_PGOOD_STS1   (1 << 6)

Definition at line 70 of file 88pm80x.h.

#define PM800_BUCK_SLP1   (0x5A)

Definition at line 138 of file 88pm80x.h.

#define PM800_CHG_STS1   (1 << 2)

Definition at line 66 of file 88pm80x.h.

#define PM800_EXTON_STS1   (1 << 1)

Definition at line 65 of file 88pm80x.h.

#define PM800_GP_BIAS_ENA1   (0x14)

Definition at line 165 of file 88pm80x.h.

#define PM800_GP_BIAS_OUT1   (0x15)

Definition at line 171 of file 88pm80x.h.

#define PM800_GPADC0_GP_PREBIAS_TIME (   x)    (x << 0)

Definition at line 162 of file 88pm80x.h.

#define PM800_GPADC0_LOW_TH   0x20

Definition at line 177 of file 88pm80x.h.

#define PM800_GPADC0_MEAS1   0x54

Definition at line 202 of file 88pm80x.h.

#define PM800_GPADC0_MEAS2   0x55

Definition at line 203 of file 88pm80x.h.

#define PM800_GPADC0_UPP_TH   0x30

Definition at line 183 of file 88pm80x.h.

#define PM800_GPADC1_LOW_TH   0x21

Definition at line 178 of file 88pm80x.h.

#define PM800_GPADC1_MEAS1   0x56

Definition at line 204 of file 88pm80x.h.

#define PM800_GPADC1_MEAS2   0x57

Definition at line 205 of file 88pm80x.h.

#define PM800_GPADC1_UPP_TH   0x31

Definition at line 184 of file 88pm80x.h.

#define PM800_GPADC2_LOW_TH   0x22

Definition at line 179 of file 88pm80x.h.

#define PM800_GPADC2_MEAS1   0x58

Definition at line 206 of file 88pm80x.h.

#define PM800_GPADC2_MEAS2   0x59

Definition at line 207 of file 88pm80x.h.

#define PM800_GPADC2_UPP_TH   0x32

Definition at line 185 of file 88pm80x.h.

#define PM800_GPADC3_LOW_TH   0x23

Definition at line 180 of file 88pm80x.h.

#define PM800_GPADC3_MEAS1   0x5A

Definition at line 208 of file 88pm80x.h.

#define PM800_GPADC3_MEAS2   0x5B

Definition at line 209 of file 88pm80x.h.

#define PM800_GPADC3_UPP_TH   0x33

Definition at line 186 of file 88pm80x.h.

#define PM800_GPADC4_AVG1   0xA8

Definition at line 213 of file 88pm80x.h.

#define PM800_GPADC4_AVG2   0xA9

Definition at line 214 of file 88pm80x.h.

#define PM800_GPADC4_LOW_TH   0x24

Definition at line 181 of file 88pm80x.h.

#define PM800_GPADC4_MEAS1   0x5C

Definition at line 210 of file 88pm80x.h.

#define PM800_GPADC4_MEAS2   0x5D

Definition at line 211 of file 88pm80x.h.

#define PM800_GPADC4_UPP_TH   0x34

Definition at line 187 of file 88pm80x.h.

#define PM800_GPADC_GP_BIAS_EN0   (1 << 0)

Definition at line 166 of file 88pm80x.h.

#define PM800_GPADC_GP_BIAS_EN1   (1 << 1)

Definition at line 167 of file 88pm80x.h.

#define PM800_GPADC_GP_BIAS_EN2   (1 << 2)

Definition at line 168 of file 88pm80x.h.

#define PM800_GPADC_GP_BIAS_EN3   (1 << 3)

Definition at line 169 of file 88pm80x.h.

#define PM800_GPADC_MEAS_EN1   (0x01)

Definition at line 143 of file 88pm80x.h.

#define PM800_GPADC_MEAS_EN2   (0x02)

Definition at line 145 of file 88pm80x.h.

#define PM800_GPADC_MISC_CONFIG1   (0x05)

Definition at line 153 of file 88pm80x.h.

#define PM800_GPADC_MISC_CONFIG2   (0x06)

Definition at line 154 of file 88pm80x.h.

#define PM800_GPADC_MISC_CONFIG3   (0x09)

Definition at line 158 of file 88pm80x.h.

#define PM800_GPADC_MISC_CONFIG4   (0x0A)

Definition at line 159 of file 88pm80x.h.

#define PM800_GPADC_MISC_GPFSM_EN   (1 << 0)

Definition at line 155 of file 88pm80x.h.

#define PM800_GPADC_PREBIAS1   (0x0F)

Definition at line 161 of file 88pm80x.h.

#define PM800_GPADC_PREBIAS2   (0x10)

Definition at line 163 of file 88pm80x.h.

#define PM800_GPADC_SLOW_MODE (   x)    (x << 3)

Definition at line 156 of file 88pm80x.h.

#define PM800_GPIO0_GPIO_MODE (   x)    (x << 1)

Definition at line 94 of file 88pm80x.h.

#define PM800_GPIO0_VAL   (1 << 0)

Definition at line 93 of file 88pm80x.h.

#define PM800_GPIO1_GPIO_MODE (   x)    (x << 5)

Definition at line 96 of file 88pm80x.h.

#define PM800_GPIO1_VAL   (1 << 4)

Definition at line 95 of file 88pm80x.h.

#define PM800_GPIO2_GPIO_MODE (   x)    (x << 1)

Definition at line 100 of file 88pm80x.h.

#define PM800_GPIO2_VAL   (1 << 0)

Definition at line 99 of file 88pm80x.h.

#define PM800_GPIO3_GPIO_MODE (   x)    (x << 5)

Definition at line 102 of file 88pm80x.h.

#define PM800_GPIO3_HEADSET_MODE   PM800_GPIO3_GPIO_MODE(6)

Definition at line 104 of file 88pm80x.h.

#define PM800_GPIO3_MODE_MASK   0x1F

Definition at line 103 of file 88pm80x.h.

#define PM800_GPIO3_VAL   (1 << 4)

Definition at line 101 of file 88pm80x.h.

#define PM800_GPIO4_GPIO_MODE (   x)    (x << 1)

Definition at line 108 of file 88pm80x.h.

#define PM800_GPIO4_VAL   (1 << 0)

Definition at line 107 of file 88pm80x.h.

#define PM800_GPIO_0_1_CNTRL   (0x30)

Definition at line 92 of file 88pm80x.h.

#define PM800_GPIO_2_3_CNTRL   (0x31)

Definition at line 98 of file 88pm80x.h.

#define PM800_GPIO_4_CNTRL   (0x32)

Definition at line 106 of file 88pm80x.h.

#define PM800_HEADSET_CNTRL   (0x38)

Definition at line 110 of file 88pm80x.h.

#define PM800_HEADSET_DET_EN   (1 << 7)

Definition at line 111 of file 88pm80x.h.

#define PM800_HSDET_SLP   (1 << 1)

Definition at line 112 of file 88pm80x.h.

#define PM800_LDO_PGOOD_STS1   (1 << 5)

Definition at line 69 of file 88pm80x.h.

#define PM800_LOW_POWER1   (0x20)

Definition at line 86 of file 88pm80x.h.

#define PM800_LOW_POWER2   (0x21)

Definition at line 87 of file 88pm80x.h.

#define PM800_LOW_POWER_CONFIG3   (0x22)

Definition at line 88 of file 88pm80x.h.

#define PM800_LOW_POWER_CONFIG4   (0x23)

Definition at line 89 of file 88pm80x.h.

#define PM800_MAX_REGULATOR   PM800_ID_RG_MAX /* 5 Bucks, 19 LDOs */

Definition at line 57 of file 88pm80x.h.

#define PM800_MEAS_EN1_VBAT   (1 << 2)

Definition at line 144 of file 88pm80x.h.

#define PM800_MEAS_EN2_RFTMP   (1 << 0)

Definition at line 146 of file 88pm80x.h.

#define PM800_MEAS_GP0_EN   (1 << 2)

Definition at line 147 of file 88pm80x.h.

#define PM800_MEAS_GP1_EN   (1 << 3)

Definition at line 148 of file 88pm80x.h.

#define PM800_MEAS_GP2_EN   (1 << 4)

Definition at line 149 of file 88pm80x.h.

#define PM800_MEAS_GP3_EN   (1 << 5)

Definition at line 150 of file 88pm80x.h.

#define PM800_MEAS_GP4_EN   (1 << 6)

Definition at line 151 of file 88pm80x.h.

#define PM800_NUM_BUCK   (5) /*5 Bucks */

Definition at line 58 of file 88pm80x.h.

#define PM800_NUM_LDO   (19) /*19 Bucks */

Definition at line 59 of file 88pm80x.h.

#define PM800_ONKEY_STS1   (1 << 0)

Definition at line 64 of file 88pm80x.h.

#define PM800_PMOD_MEAS1   0x52

Definition at line 199 of file 88pm80x.h.

#define PM800_PMOD_MEAS2   0x53

Definition at line 200 of file 88pm80x.h.

#define PM800_POWER_UP_LOG   (0x10)

Definition at line 83 of file 88pm80x.h.

#define PM800_PWM1   (0x40)

Definition at line 114 of file 88pm80x.h.

#define PM800_PWM2   (0x41)

Definition at line 115 of file 88pm80x.h.

#define PM800_PWM3   (0x42)

Definition at line 116 of file 88pm80x.h.

#define PM800_PWM4   (0x43)

Definition at line 117 of file 88pm80x.h.

#define PM800_RTC1_USE_XO   (1 << 7)

Definition at line 130 of file 88pm80x.h.

#define PM800_RTC_ALARM_STS2   (1 << 0)

Definition at line 73 of file 88pm80x.h.

#define PM800_RTC_CONTROL   (0xD0)

Definition at line 120 of file 88pm80x.h.

#define PM800_RTC_MISC1   (0xE1)

Definition at line 121 of file 88pm80x.h.

#define PM800_RTC_MISC2   (0xE2)

Definition at line 122 of file 88pm80x.h.

#define PM800_RTC_MISC3   (0xE3)

Definition at line 123 of file 88pm80x.h.

#define PM800_RTC_MISC4   (0xE4)

Definition at line 124 of file 88pm80x.h.

#define PM800_RTC_MISC5   (0xE7)

Definition at line 125 of file 88pm80x.h.

#define PM800_SLEEP_BUCK1   (0x30)

Definition at line 135 of file 88pm80x.h.

#define PM800_STATUS0_INT_MASK   (1 << 2)

Definition at line 222 of file 88pm80x.h.

#define PM800_STATUS_1   (0x01)

Definition at line 63 of file 88pm80x.h.

#define PM800_STATUS_2   (0x02)

Definition at line 72 of file 88pm80x.h.

#define PM800_TINT_MEAS1   0x50

Definition at line 197 of file 88pm80x.h.

#define PM800_TINT_MEAS2   0x51

Definition at line 198 of file 88pm80x.h.

#define PM800_VBAT_MEAS1   0x42

Definition at line 191 of file 88pm80x.h.

#define PM800_VBAT_MEAS2   0x43

Definition at line 192 of file 88pm80x.h.

#define PM800_VBBAT_MEAS1   0x40

Definition at line 189 of file 88pm80x.h.

#define PM800_VBBAT_MEAS2   0x41

Definition at line 190 of file 88pm80x.h.

#define PM800_VBUS_STS1   (1 << 4)

Definition at line 68 of file 88pm80x.h.

#define PM800_VCHG_MEAS1   0x46

Definition at line 195 of file 88pm80x.h.

#define PM800_VCHG_MEAS2   0x47

Definition at line 196 of file 88pm80x.h.

#define PM800_VSYS_MEAS1   0x44

Definition at line 193 of file 88pm80x.h.

#define PM800_VSYS_MEAS2   0x45

Definition at line 194 of file 88pm80x.h.

#define PM800_WAKEUP1   (0x0D)

Definition at line 76 of file 88pm80x.h.

#define PM800_WAKEUP2   (0x0E)

Definition at line 78 of file 88pm80x.h.

#define PM800_WAKEUP2_INT_CLEAR   (1 << 1)

Definition at line 80 of file 88pm80x.h.

#define PM800_WAKEUP2_INT_MASK   (1 << 2)

Definition at line 81 of file 88pm80x.h.

#define PM800_WAKEUP2_INV_INT   (1 << 0)

Definition at line 79 of file 88pm80x.h.

#define PM805_ADC_GAIN1   (0x12)

Definition at line 261 of file 88pm80x.h.

#define PM805_ADC_GAIN2   (0x13)

Definition at line 262 of file 88pm80x.h.

#define PM805_ADC_SETTING1   (0x10)

Definition at line 258 of file 88pm80x.h.

#define PM805_ADC_SETTING2   (0x11)

Definition at line 259 of file 88pm80x.h.

#define PM805_ADC_SETTING3   (0x11)

Definition at line 260 of file 88pm80x.h.

#define PM805_AUTO_SEQ_SETTING   (0x2A)

Definition at line 278 of file 88pm80x.h.

#define PM805_AUTO_SEQ_STATUS1   (0x0B)

Definition at line 255 of file 88pm80x.h.

#define PM805_AUTO_SEQ_STATUS2   (0x0C)

Definition at line 256 of file 88pm80x.h.

#define PM805_DMIC_SETTING   (0x15)

Definition at line 263 of file 88pm80x.h.

#define PM805_DWS_SETTING   (0x16)

Definition at line 264 of file 88pm80x.h.

#define PM805_EARPHONE_SETTING   (0x29)

Definition at line 277 of file 88pm80x.h.

#define PM805_HEADPHONE_GAIN_A2A   (0x27)

Definition at line 275 of file 88pm80x.h.

#define PM805_HEADPHONE_SETTING   (0x26)

Definition at line 274 of file 88pm80x.h.

#define PM805_HEADPHONE_SHORT_STATE   (0x28)

Definition at line 276 of file 88pm80x.h.

#define PM805_INT1_CLIP_FAULT   (1 << 3)

Definition at line 229 of file 88pm80x.h.

#define PM805_INT1_HP1_SHRT   (1 << 0)

Definition at line 226 of file 88pm80x.h.

#define PM805_INT1_HP2_SHRT   (1 << 1)

Definition at line 227 of file 88pm80x.h.

#define PM805_INT1_LDO_OFF   (1 << 4)

Definition at line 230 of file 88pm80x.h.

#define PM805_INT1_MIC_CONFLICT   (1 << 2)

Definition at line 228 of file 88pm80x.h.

#define PM805_INT1_SRC_DPLL_LOCK   (1 << 5)

Definition at line 231 of file 88pm80x.h.

#define PM805_INT2_FINE_PLL_FAULT   (1 << 5)

Definition at line 240 of file 88pm80x.h.

#define PM805_INT2_MIC_DET   (1 << 0)

Definition at line 235 of file 88pm80x.h.

#define PM805_INT2_RAW_PLL_FAULT   (1 << 4)

Definition at line 239 of file 88pm80x.h.

#define PM805_INT2_SHRT_BTN_DET   (1 << 1)

Definition at line 236 of file 88pm80x.h.

#define PM805_INT2_VOLM_BTN_DET   (1 << 2)

Definition at line 237 of file 88pm80x.h.

#define PM805_INT2_VOLP_BTN_DET   (1 << 3)

Definition at line 238 of file 88pm80x.h.

#define PM805_INT_MASK1   (0x05)

Definition at line 242 of file 88pm80x.h.

#define PM805_INT_MASK2   (0x06)

Definition at line 243 of file 88pm80x.h.

#define PM805_INT_REG_NUM   (2)

Definition at line 247 of file 88pm80x.h.

#define PM805_INT_STATUS0   (0x02) /* for ena/dis all interrupts */

Definition at line 218 of file 88pm80x.h.

#define PM805_INT_STATUS1   (0x03)

Definition at line 224 of file 88pm80x.h.

#define PM805_INT_STATUS2   (0x04)

Definition at line 233 of file 88pm80x.h.

#define PM805_MAIN_POWERUP   (0x01)

Definition at line 217 of file 88pm80x.h.

#define PM805_MIC_CONFLICT_STS   (0x17)

Definition at line 265 of file 88pm80x.h.

#define PM805_MIC_DET1   (0x07)

Definition at line 249 of file 88pm80x.h.

#define PM805_MIC_DET2   (0x08)

Definition at line 251 of file 88pm80x.h.

#define PM805_MIC_DET_EN_MIC_DET   (1 << 0)

Definition at line 250 of file 88pm80x.h.

#define PM805_MIC_DET_STATUS1   (0x09)

Definition at line 252 of file 88pm80x.h.

#define PM805_MIC_DET_STATUS3   (0x0A)

Definition at line 254 of file 88pm80x.h.

#define PM805_PDM_CONTROL1   (0x23)

Definition at line 270 of file 88pm80x.h.

#define PM805_PDM_CONTROL2   (0x24)

Definition at line 271 of file 88pm80x.h.

#define PM805_PDM_CONTROL3   (0x25)

Definition at line 272 of file 88pm80x.h.

#define PM805_PDM_SETTING1   (0x20)

Definition at line 267 of file 88pm80x.h.

#define PM805_PDM_SETTING2   (0x21)

Definition at line 268 of file 88pm80x.h.

#define PM805_PDM_SETTING3   (0x22)

Definition at line 269 of file 88pm80x.h.

#define PM805_SHRT_BTN_DET   (1 << 1)

Definition at line 244 of file 88pm80x.h.

#define PM805_STATUS0_INT_CLEAR   (1 << 0)

Definition at line 220 of file 88pm80x.h.

#define PM805_STATUS0_INV_INT   (1 << 1)

Definition at line 221 of file 88pm80x.h.

#define PM80X_VERSION_MASK   (0xFF) /* 80X chip ID mask */

Definition at line 20 of file 88pm80x.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
CHIP_INVALID 
CHIP_PM800 
CHIP_PM805 
CHIP_MAX 

Definition at line 21 of file 88pm80x.h.

anonymous enum
Enumerator:
PM800_ID_BUCK1 
PM800_ID_BUCK2 
PM800_ID_BUCK3 
PM800_ID_BUCK4 
PM800_ID_BUCK5 
PM800_ID_LDO1 
PM800_ID_LDO2 
PM800_ID_LDO3 
PM800_ID_LDO4 
PM800_ID_LDO5 
PM800_ID_LDO6 
PM800_ID_LDO7 
PM800_ID_LDO8 
PM800_ID_LDO9 
PM800_ID_LDO10 
PM800_ID_LDO11 
PM800_ID_LDO12 
PM800_ID_LDO13 
PM800_ID_LDO14 
PM800_ID_LDO15 
PM800_ID_LDO16 
PM800_ID_LDO17 
PM800_ID_LDO18 
PM800_ID_LDO19 
PM800_ID_RG_MAX 

Definition at line 28 of file 88pm80x.h.

Function Documentation

int pm80x_deinit ( struct i2c_client client)

Definition at line 94 of file 88pm80x.c.

int pm80x_init ( struct i2c_client client,
const struct i2c_device_id id 
)

Definition at line 34 of file 88pm80x.c.

Variable Documentation

struct dev_pm_ops pm80x_pm_ops
struct regmap_config pm80x_regmap_config

Definition at line 28 of file 88pm80x.c.