aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/i2c
diff options
context:
space:
mode:
authorGraeme Gregory <gg@slimlogic.co.uk>2011-05-12 09:27:55 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2011-05-26 13:45:39 -0400
commit521d8ec3f0d8069bea3b3afa70f487cdb5118018 (patch)
tree8cc81ed96a6cd8b5d495cb3d74732f705117cd73 /include/linux/i2c
parent586e1a1763d34bd256f3f1e77293d8386e4871d2 (diff)
mfd: Add phoenix lite (twl6025) support to twl6030
Phoenix Lite is based on the twl6030 family of PMICs. It has mostly the same feature set of twl6030 but with small changes. The codec block has also been removed. It also has a new charger block and new features in its ADC block. VUSB handling also differs. Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk> Reviewed-by: Mark Brown <broonie@opensource.wolfsonicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/i2c')
-rw-r--r--include/linux/i2c/twl.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
index 314218e79c4a..d70e704cbbb6 100644
--- a/include/linux/i2c/twl.h
+++ b/include/linux/i2c/twl.h
@@ -170,6 +170,8 @@ static inline int twl_class_is_ ##class(void) \
170TWL_CLASS_IS(4030, TWL4030_CLASS_ID) 170TWL_CLASS_IS(4030, TWL4030_CLASS_ID)
171TWL_CLASS_IS(6030, TWL6030_CLASS_ID) 171TWL_CLASS_IS(6030, TWL6030_CLASS_ID)
172 172
173#define TWL6025_SUBCLASS BIT(4) /* TWL6025 has changed registers */
174
173/* 175/*
174 * Read and write single 8-bit registers 176 * Read and write single 8-bit registers
175 */ 177 */
@@ -608,6 +610,7 @@ enum twl4030_usb_mode {
608 610
609struct twl4030_usb_data { 611struct twl4030_usb_data {
610 enum twl4030_usb_mode usb_mode; 612 enum twl4030_usb_mode usb_mode;
613 unsigned long features;
611 614
612 int (*phy_init)(struct device *dev); 615 int (*phy_init)(struct device *dev);
613 int (*phy_exit)(struct device *dev); 616 int (*phy_exit)(struct device *dev);
@@ -714,6 +717,20 @@ struct twl4030_platform_data {
714 struct regulator_init_data *vcxio; 717 struct regulator_init_data *vcxio;
715 struct regulator_init_data *vusb; 718 struct regulator_init_data *vusb;
716 struct regulator_init_data *clk32kg; 719 struct regulator_init_data *clk32kg;
720 /* TWL6025 LDO regulators */
721 struct regulator_init_data *ldo1;
722 struct regulator_init_data *ldo2;
723 struct regulator_init_data *ldo3;
724 struct regulator_init_data *ldo4;
725 struct regulator_init_data *ldo5;
726 struct regulator_init_data *ldo6;
727 struct regulator_init_data *ldo7;
728 struct regulator_init_data *ldoln;
729 struct regulator_init_data *ldousb;
730 /* TWL6025 DCDC regulators */
731 struct regulator_init_data *smps3;
732 struct regulator_init_data *smps4;
733 struct regulator_init_data *vio6025;
717}; 734};
718 735
719/*----------------------------------------------------------------------*/ 736/*----------------------------------------------------------------------*/
@@ -795,4 +812,21 @@ static inline int twl4030charger_usb_en(int enable) { return 0; }
795#define TWL6030_REG_VRTC 47 812#define TWL6030_REG_VRTC 47
796#define TWL6030_REG_CLK32KG 48 813#define TWL6030_REG_CLK32KG 48
797 814
815/* LDOs on 6025 have different names */
816#define TWL6025_REG_LDO2 49
817#define TWL6025_REG_LDO4 50
818#define TWL6025_REG_LDO3 51
819#define TWL6025_REG_LDO5 52
820#define TWL6025_REG_LDO1 53
821#define TWL6025_REG_LDO7 54
822#define TWL6025_REG_LDO6 55
823#define TWL6025_REG_LDOLN 56
824#define TWL6025_REG_LDOUSB 57
825
826/* 6025 DCDC supplies */
827#define TWL6025_REG_SMPS3 58
828#define TWL6025_REG_SMPS4 59
829#define TWL6025_REG_VIO 60
830
831
798#endif /* End of __TWL4030_H */ 832#endif /* End of __TWL4030_H */