linux/arch/arm/mach-omap2/twl-common.h
<<
>>
Prefs
   1#ifndef __OMAP_PMIC_COMMON__
   2#define __OMAP_PMIC_COMMON__
   3
   4#include "common.h"
   5
   6#define TWL_COMMON_PDATA_USB            (1 << 0)
   7#define TWL_COMMON_PDATA_BCI            (1 << 1)
   8#define TWL_COMMON_PDATA_MADC           (1 << 2)
   9#define TWL_COMMON_PDATA_AUDIO          (1 << 3)
  10
  11/* Common LDO regulators for TWL4030/TWL6030 */
  12#define TWL_COMMON_REGULATOR_VDAC       (1 << 0)
  13#define TWL_COMMON_REGULATOR_VAUX1      (1 << 1)
  14#define TWL_COMMON_REGULATOR_VAUX2      (1 << 2)
  15#define TWL_COMMON_REGULATOR_VAUX3      (1 << 3)
  16
  17/* TWL6030 LDO regulators */
  18#define TWL_COMMON_REGULATOR_VMMC       (1 << 4)
  19#define TWL_COMMON_REGULATOR_VPP        (1 << 5)
  20#define TWL_COMMON_REGULATOR_VUSIM      (1 << 6)
  21#define TWL_COMMON_REGULATOR_VANA       (1 << 7)
  22#define TWL_COMMON_REGULATOR_VCXIO      (1 << 8)
  23#define TWL_COMMON_REGULATOR_VUSB       (1 << 9)
  24#define TWL_COMMON_REGULATOR_CLK32KG    (1 << 10)
  25#define TWL_COMMON_REGULATOR_V1V8       (1 << 11)
  26#define TWL_COMMON_REGULATOR_V2V1       (1 << 12)
  27
  28/* TWL4030 LDO regulators */
  29#define TWL_COMMON_REGULATOR_VPLL1      (1 << 4)
  30#define TWL_COMMON_REGULATOR_VPLL2      (1 << 5)
  31
  32
  33struct twl4030_platform_data;
  34struct twl6040_platform_data;
  35struct omap_tw4030_pdata;
  36struct i2c_board_info;
  37
  38void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
  39                    struct twl4030_platform_data *pmic_data);
  40void omap_pmic_late_init(void);
  41
  42static inline void omap2_pmic_init(const char *pmic_type,
  43                                   struct twl4030_platform_data *pmic_data)
  44{
  45        omap_pmic_init(2, 2600, pmic_type, 7 + OMAP_INTC_START, pmic_data);
  46}
  47
  48static inline void omap3_pmic_init(const char *pmic_type,
  49                                   struct twl4030_platform_data *pmic_data)
  50{
  51        omap_pmic_init(1, 2600, pmic_type, 7 + OMAP_INTC_START, pmic_data);
  52}
  53
  54void omap4_pmic_init(const char *pmic_type,
  55                    struct twl4030_platform_data *pmic_data,
  56                    struct i2c_board_info *devices, int nr_devices);
  57
  58void omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
  59                           u32 pdata_flags, u32 regulators_flags);
  60
  61void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
  62                           u32 pdata_flags, u32 regulators_flags);
  63
  64void omap_twl4030_audio_init(char *card_name, struct omap_tw4030_pdata *pdata);
  65
  66#endif /* __OMAP_PMIC_COMMON__ */
  67