linux/arch/arm/plat-omap/include/mach/menelaus.h
<<
>>
Prefs
   1/*
   2 * arch/arm/plat-omap/include/mach/menelaus.h
   3 *
   4 * Functions to access Menelaus power management chip
   5 */
   6
   7#ifndef __ASM_ARCH_MENELAUS_H
   8#define __ASM_ARCH_MENELAUS_H
   9
  10struct device;
  11
  12struct menelaus_platform_data {
  13        int (* late_init)(struct device *dev);
  14};
  15
  16extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask),
  17                                          void *data);
  18extern void menelaus_unregister_mmc_callback(void);
  19extern int menelaus_set_mmc_opendrain(int slot, int enable);
  20extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on);
  21
  22extern int menelaus_set_vmem(unsigned int mV);
  23extern int menelaus_set_vio(unsigned int mV);
  24extern int menelaus_set_vmmc(unsigned int mV);
  25extern int menelaus_set_vaux(unsigned int mV);
  26extern int menelaus_set_vdcdc(int dcdc, unsigned int mV);
  27extern int menelaus_set_slot_sel(int enable);
  28extern int menelaus_get_slot_pin_states(void);
  29extern int menelaus_set_vcore_sw(unsigned int mV);
  30extern int menelaus_set_vcore_hw(unsigned int roof_mV, unsigned int floor_mV);
  31
  32#define EN_VPLL_SLEEP   (1 << 7)
  33#define EN_VMMC_SLEEP   (1 << 6)
  34#define EN_VAUX_SLEEP   (1 << 5)
  35#define EN_VIO_SLEEP    (1 << 4)
  36#define EN_VMEM_SLEEP   (1 << 3)
  37#define EN_DC3_SLEEP    (1 << 2)
  38#define EN_DC2_SLEEP    (1 << 1)
  39#define EN_VC_SLEEP     (1 << 0)
  40
  41extern int menelaus_set_regulator_sleep(int enable, u32 val);
  42
  43#if defined(CONFIG_ARCH_OMAP24XX) && defined(CONFIG_MENELAUS)
  44#define omap_has_menelaus()     1
  45#else
  46#define omap_has_menelaus()     0
  47#endif
  48
  49#endif
  50