diff options
author | Zoltan Herpai <wigyori@uid0.hu> | 2015-08-09 12:25:18 +0000 |
---|---|---|
committer | Zoltan Herpai <wigyori@uid0.hu> | 2015-08-09 12:25:18 +0000 |
commit | 50018a752771efce3ae222457d4d231d1f80a1a5 (patch) | |
tree | ced2b9c1e216ce0e3d0bb204e359a7a9d6d2a3ef /target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch | |
parent | 0b8643af4fa7eebd55b63d6d547f85da1409f83d (diff) | |
download | mtk-20170518-50018a752771efce3ae222457d4d231d1f80a1a5.zip mtk-20170518-50018a752771efce3ae222457d4d231d1f80a1a5.tar.gz mtk-20170518-50018a752771efce3ae222457d4d231d1f80a1a5.tar.bz2 |
sunxi: add support for 4.1
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
SVN-Revision: 46571
Diffstat (limited to 'target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch')
-rw-r--r-- | target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch b/target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch new file mode 100644 index 0000000..eba960e --- /dev/null +++ b/target/linux/sunxi/patches-4.1/103-mfd-axp20x-add-missing-registers.patch @@ -0,0 +1,75 @@ +From 5469e15c9a0025e8822762ab9acfc3ee50e55c2c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bruno=20Pr=C3=A9mont?= <bonbons@linux-vserver.org> +Date: Tue, 9 Jun 2015 08:30:48 +0200 +Subject: [PATCH] mfd: axp20x: Add missing registers, and mark more registers + volatile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add an extra set of registers which is necessary tu support the PMICs +battery charger function, and mark registers which contain status bits, +gpio status, and adc readings as volatile. + +Cc: Bruno Prémont <bonbons@linux-vserver.org> +Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Acked-by: Lee Jones <lee.jones@linaro.org> +Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> +--- +Changes in v2: +-Add a AXP20X_OCV_MAX define +Changes in v3: +-Add Bruno's S-o-b +--- + drivers/mfd/axp20x.c | 8 +++++++- + include/linux/mfd/axp20x.h | 6 ++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c +index b369cfc..8bd3283 100644 +--- a/drivers/mfd/axp20x.c ++++ b/drivers/mfd/axp20x.c +@@ -61,10 +61,16 @@ static const struct regmap_access_table axp152_volatile_table = { + static const struct regmap_range axp20x_writeable_ranges[] = { + regmap_reg_range(AXP20X_DATACACHE(0), AXP20X_IRQ5_STATE), + regmap_reg_range(AXP20X_DCDC_MODE, AXP20X_FG_RES), ++ regmap_reg_range(AXP20X_RDC_H, AXP20X_OCV(15)), + }; + + static const struct regmap_range axp20x_volatile_ranges[] = { ++ regmap_reg_range(AXP20X_PWR_INPUT_STATUS, AXP20X_USB_OTG_STATUS), ++ regmap_reg_range(AXP20X_CHRG_CTRL1, AXP20X_CHRG_CTRL2), + regmap_reg_range(AXP20X_IRQ1_EN, AXP20X_IRQ5_STATE), ++ regmap_reg_range(AXP20X_ACIN_V_ADC_H, AXP20X_IPSOUT_V_HIGH_L), ++ regmap_reg_range(AXP20X_GPIO20_SS, AXP20X_GPIO3_CTRL), ++ regmap_reg_range(AXP20X_FG_RES, AXP20X_RDC_L), + }; + + static const struct regmap_access_table axp20x_writeable_table = { +@@ -195,7 +201,7 @@ static const struct regmap_config axp20x_regmap_config = { + .val_bits = 8, + .wr_table = &axp20x_writeable_table, + .volatile_table = &axp20x_volatile_table, +- .max_register = AXP20X_FG_RES, ++ .max_register = AXP20X_OCV(AXP20X_OCV_MAX), + .cache_type = REGCACHE_RBTREE, + }; + +diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h +index 52203d5..cc8ad1e 100644 +--- a/include/linux/mfd/axp20x.h ++++ b/include/linux/mfd/axp20x.h +@@ -190,6 +190,12 @@ enum { + #define AXP20X_CC_CTRL 0xb8 + #define AXP20X_FG_RES 0xb9 + ++/* OCV */ ++#define AXP20X_RDC_H 0xba ++#define AXP20X_RDC_L 0xbb ++#define AXP20X_OCV(m) (0xc0 + (m)) ++#define AXP20X_OCV_MAX 0xf ++ + /* AXP22X specific registers */ + #define AXP22X_BATLOW_THRES1 0xe6 + |