diff options
author | Tony Lindgren <tony@atomide.com> | 2012-10-15 13:53:41 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-10-15 13:53:41 -0700 |
commit | 7bd3b61853da6d2fc579e27c7a1ac1e9fc968d1a (patch) | |
tree | 759e7942376794d13a792efd91a0013fec424cb1 /include | |
parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) | |
download | linux-stable-7bd3b61853da6d2fc579e27c7a1ac1e9fc968d1a.tar.gz linux-stable-7bd3b61853da6d2fc579e27c7a1ac1e9fc968d1a.tar.bz2 linux-stable-7bd3b61853da6d2fc579e27c7a1ac1e9fc968d1a.zip |
ARM: OMAP2: Move plat/menelaus.h to linux/mfd/menelaus.h
We can move menelaus.h to live with other mfd headers to
get it out of plat for ARM common zImage support.
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'include')
-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 @@ +/* + * Functions to access Menelaus power management chip + */ + +#ifndef __ASM_ARCH_MENELAUS_H +#define __ASM_ARCH_MENELAUS_H + +struct device; + +struct menelaus_platform_data { + int (* late_init)(struct device *dev); +}; + +extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask), + void *data); +extern void menelaus_unregister_mmc_callback(void); +extern int menelaus_set_mmc_opendrain(int slot, int enable); +extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on); + +extern int menelaus_set_vmem(unsigned int mV); +extern int menelaus_set_vio(unsigned int mV); +extern int menelaus_set_vmmc(unsigned int mV); +extern int menelaus_set_vaux(unsigned int mV); +extern int menelaus_set_vdcdc(int dcdc, unsigned int mV); +extern int menelaus_set_slot_sel(int enable); +extern int menelaus_get_slot_pin_states(void); +extern int menelaus_set_vcore_sw(unsigned int mV); +extern int menelaus_set_vcore_hw(unsigned int roof_mV, unsigned int floor_mV); + +#define EN_VPLL_SLEEP (1 << 7) +#define EN_VMMC_SLEEP (1 << 6) +#define EN_VAUX_SLEEP (1 << 5) +#define EN_VIO_SLEEP (1 << 4) +#define EN_VMEM_SLEEP (1 << 3) +#define EN_DC3_SLEEP (1 << 2) +#define EN_DC2_SLEEP (1 << 1) +#define EN_VC_SLEEP (1 << 0) + +extern int menelaus_set_regulator_sleep(int enable, u32 val); + +#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_MENELAUS) +#define omap_has_menelaus() 1 +#else +#define omap_has_menelaus() 0 +#endif + +#endif |