diff options
| author | Tony Lindgren <tony@atomide.com> | 2012-10-25 15:21:48 -0400 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-10-25 15:21:48 -0400 |
| commit | 2da8a79f7d81853d00b6a00621aeef7545196084 (patch) | |
| tree | 5a3962136d574d05a788f0fbac0f36c528efc699 /include/linux | |
| parent | 6d02643d64b4440394ee462ea4b870c8506cd9e7 (diff) | |
| parent | 7bd3b61853da6d2fc579e27c7a1ac1e9fc968d1a (diff) | |
Merge branch 'omap-for-v3.8/cleanup-headers-menelaus' into omap-for-v3.8/cleanup-headers
Conflicts:
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-n8x0.c
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mfd/menelaus.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/mfd/menelaus.h b/include/linux/mfd/menelaus.h new file mode 100644 index 000000000000..f097e89134cb --- /dev/null +++ b/include/linux/mfd/menelaus.h | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | /* | ||
| 2 | * Functions to access Menelaus power management chip | ||
| 3 | */ | ||
| 4 | |||
| 5 | #ifndef __ASM_ARCH_MENELAUS_H | ||
| 6 | #define __ASM_ARCH_MENELAUS_H | ||
| 7 | |||
| 8 | struct device; | ||
| 9 | |||
| 10 | struct menelaus_platform_data { | ||
| 11 | int (* late_init)(struct device *dev); | ||
| 12 | }; | ||
| 13 | |||
| 14 | extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask), | ||
| 15 | void *data); | ||
| 16 | extern void menelaus_unregister_mmc_callback(void); | ||
| 17 | extern int menelaus_set_mmc_opendrain(int slot, int enable); | ||
| 18 | extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on); | ||
| 19 | |||
| 20 | extern int menelaus_set_vmem(unsigned int mV); | ||
| 21 | extern int menelaus_set_vio(unsigned int mV); | ||
| 22 | extern int menelaus_set_vmmc(unsigned int mV); | ||
| 23 | extern int menelaus_set_vaux(unsigned int mV); | ||
| 24 | extern int menelaus_set_vdcdc(int dcdc, unsigned int mV); | ||
| 25 | extern int menelaus_set_slot_sel(int enable); | ||
| 26 | extern int menelaus_get_slot_pin_states(void); | ||
| 27 | extern int menelaus_set_vcore_sw(unsigned int mV); | ||
| 28 | extern int menelaus_set_vcore_hw(unsigned int roof_mV, unsigned int floor_mV); | ||
| 29 | |||
| 30 | #define EN_VPLL_SLEEP (1 << 7) | ||
| 31 | #define EN_VMMC_SLEEP (1 << 6) | ||
| 32 | #define EN_VAUX_SLEEP (1 << 5) | ||
| 33 | #define EN_VIO_SLEEP (1 << 4) | ||
| 34 | #define EN_VMEM_SLEEP (1 << 3) | ||
| 35 | #define EN_DC3_SLEEP (1 << 2) | ||
| 36 | #define EN_DC2_SLEEP (1 << 1) | ||
| 37 | #define EN_VC_SLEEP (1 << 0) | ||
| 38 | |||
| 39 | extern int menelaus_set_regulator_sleep(int enable, u32 val); | ||
| 40 | |||
| 41 | #if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_MENELAUS) | ||
| 42 | #define omap_has_menelaus() 1 | ||
| 43 | #else | ||
| 44 | #define omap_has_menelaus() 0 | ||
| 45 | #endif | ||
| 46 | |||
| 47 | #endif | ||
