diff options
Diffstat (limited to 'include/linux/mfd/axp20x.h')
-rw-r--r-- | include/linux/mfd/axp20x.h | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h index 5e068eb6ba..93d303c459 100644 --- a/include/linux/mfd/axp20x.h +++ b/include/linux/mfd/axp20x.h @@ -8,7 +8,6 @@ #ifndef __LINUX_MFD_AXP20X_H #define __LINUX_MFD_AXP20X_H -#include <regmap.h> #include <poweroff.h> enum axp20x_variants { @@ -18,6 +17,7 @@ enum axp20x_variants { AXP221_ID, AXP223_ID, AXP288_ID, + AXP313A_ID, AXP803_ID, AXP806_ID, AXP809_ID, @@ -287,6 +287,24 @@ enum axp20x_variants { #define AXP288_FG_TUNE4 0xec #define AXP288_FG_TUNE5 0xed +#define AXP313A_ON_INDICATE 0x00 +#define AXP313A_OFF_INDICATE 0x01 +#define AXP313A_IC_TYPE 0x03 +#define AXP313A_OUTPUT_CONTROL 0x10 +#define AXP313A_DCDC_DVM_PWM 0x12 +#define AXP313A_DCDC1_CONTROL 0x13 +#define AXP313A_DCDC2_CONTROL 0x14 +#define AXP313A_DCDC3_CONTROL 0x15 +#define AXP313A_ALDO1_CONTROL 0x16 +#define AXP313A_DLDO1_CONTROL 0x17 +#define AXP313A_POWER_STATUS 0x1A +#define AXP313A_PWROK_SET 0x1B +#define AXP313A_WAKEUP_CONRTOL 0x1C +#define AXP313A_OUTOUT_MONITOR 0x1D +#define AXP313A_POK_CONTROL 0x1E +#define AXP313A_IRQ_ENABLE1 0x20 +#define AXP313A_IRQ_STATUS1 0x21 + /* Regulators IDs */ enum { AXP20X_LDO1 = 0, @@ -324,6 +342,15 @@ enum { }; enum { + AXP313A_DCDC1 = 0, + AXP313A_DCDC2, + AXP313A_DCDC3, + AXP313A_LDO1, /* RTCLDO */ + AXP313A_LDO2, /* RTCLDO1 */ + AXP313A_REG_ID_MAX, +}; + +enum { AXP806_DCDCA = 0, AXP806_DCDCB, AXP806_DCDCC, @@ -420,8 +447,11 @@ enum { AXP813_REG_ID_MAX, }; +struct regmap; +struct regmap_config; + struct axp20x_dev { - struct device_d *dev; + struct device *dev; struct regmap *regmap; long variant; int nr_cells; @@ -430,28 +460,6 @@ struct axp20x_dev { struct poweroff_handler poweroff; }; -/* generic helper function for reading 9-16 bit wide regs */ -static inline int axp20x_read_variable_width(struct regmap *regmap, - unsigned int reg, unsigned int width) -{ - unsigned int reg_val, result; - int err; - - err = regmap_read(regmap, reg, ®_val); - if (err) - return err; - - result = reg_val << (width - 8); - - err = regmap_read(regmap, reg + 1, ®_val); - if (err) - return err; - - result |= reg_val; - - return result; -} - /** * axp20x_match_device(): Setup axp20x variant related fields * |