|
@@ -124,10 +124,27 @@ enum {
|
|
|
#define AXP288_PMIC_ADC_H 0x56
|
|
|
#define AXP288_PMIC_ADC_L 0x57
|
|
|
#define AXP288_ADC_TS_PIN_CTRL 0x84
|
|
|
-
|
|
|
#define AXP288_PMIC_ADC_EN 0x84
|
|
|
-#define AXP288_FG_TUNE5 0xed
|
|
|
|
|
|
+/* Fuel Gauge */
|
|
|
+#define AXP288_FG_RDC1_REG 0xba
|
|
|
+#define AXP288_FG_RDC0_REG 0xbb
|
|
|
+#define AXP288_FG_OCVH_REG 0xbc
|
|
|
+#define AXP288_FG_OCVL_REG 0xbd
|
|
|
+#define AXP288_FG_OCV_CURVE_REG 0xc0
|
|
|
+#define AXP288_FG_DES_CAP1_REG 0xe0
|
|
|
+#define AXP288_FG_DES_CAP0_REG 0xe1
|
|
|
+#define AXP288_FG_CC_MTR1_REG 0xe2
|
|
|
+#define AXP288_FG_CC_MTR0_REG 0xe3
|
|
|
+#define AXP288_FG_OCV_CAP_REG 0xe4
|
|
|
+#define AXP288_FG_CC_CAP_REG 0xe5
|
|
|
+#define AXP288_FG_LOW_CAP_REG 0xe6
|
|
|
+#define AXP288_FG_TUNE0 0xe8
|
|
|
+#define AXP288_FG_TUNE1 0xe9
|
|
|
+#define AXP288_FG_TUNE2 0xea
|
|
|
+#define AXP288_FG_TUNE3 0xeb
|
|
|
+#define AXP288_FG_TUNE4 0xec
|
|
|
+#define AXP288_FG_TUNE5 0xed
|
|
|
|
|
|
/* Regulators IDs */
|
|
|
enum {
|
|
@@ -236,4 +253,26 @@ struct axp20x_dev {
|
|
|
const struct regmap_irq_chip *regmap_irq_chip;
|
|
|
};
|
|
|
|
|
|
+#define BATTID_LEN 64
|
|
|
+#define OCV_CURVE_SIZE 32
|
|
|
+#define MAX_THERM_CURVE_SIZE 25
|
|
|
+#define PD_DEF_MIN_TEMP 0
|
|
|
+#define PD_DEF_MAX_TEMP 55
|
|
|
+
|
|
|
+struct axp20x_fg_pdata {
|
|
|
+ char battid[BATTID_LEN + 1];
|
|
|
+ int design_cap;
|
|
|
+ int min_volt;
|
|
|
+ int max_volt;
|
|
|
+ int max_temp;
|
|
|
+ int min_temp;
|
|
|
+ int cap1;
|
|
|
+ int cap0;
|
|
|
+ int rdc1;
|
|
|
+ int rdc0;
|
|
|
+ int ocv_curve[OCV_CURVE_SIZE];
|
|
|
+ int tcsz;
|
|
|
+ int thermistor_curve[MAX_THERM_CURVE_SIZE][2];
|
|
|
+};
|
|
|
+
|
|
|
#endif /* __LINUX_MFD_AXP20X_H */
|