summaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/axp20x.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mfd/axp20x.h')
-rw-r--r--include/linux/mfd/axp20x.h56
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, &reg_val);
- if (err)
- return err;
-
- result = reg_val << (width - 8);
-
- err = regmap_read(regmap, reg + 1, &reg_val);
- if (err)
- return err;
-
- result |= reg_val;
-
- return result;
-}
-
/**
* axp20x_match_device(): Setup axp20x variant related fields
*