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