linux/include/linux/mfd/stw481x.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2011 ST-Ericsson SA
   3 * Written on behalf of Linaro for ST-Ericsson
   4 *
   5 * Author: Linus Walleij <linus.walleij@linaro.org>
   6 *
   7 * License terms: GNU General Public License (GPL) version 2
   8 */
   9#ifndef MFD_STW481X_H
  10#define MFD_STW481X_H
  11
  12#include <linux/i2c.h>
  13#include <linux/regulator/machine.h>
  14#include <linux/regmap.h>
  15#include <linux/bitops.h>
  16
  17/* These registers are accessed from more than one driver */
  18#define STW_CONF1                       0x11U
  19#define STW_CONF1_PDN_VMMC              0x01U
  20#define STW_CONF1_VMMC_MASK             0x0eU
  21#define STW_CONF1_VMMC_1_8V             0x02U
  22#define STW_CONF1_VMMC_2_85V            0x04U
  23#define STW_CONF1_VMMC_3V               0x06U
  24#define STW_CONF1_VMMC_1_85V            0x08U
  25#define STW_CONF1_VMMC_2_6V             0x0aU
  26#define STW_CONF1_VMMC_2_7V             0x0cU
  27#define STW_CONF1_VMMC_3_3V             0x0eU
  28#define STW_CONF1_MMC_LS_STATUS         0x10U
  29#define STW_PCTL_REG_LO                 0x1eU
  30#define STW_PCTL_REG_HI                 0x1fU
  31#define STW_CONF1_V_MONITORING          0x20U
  32#define STW_CONF1_IT_WARN               0x40U
  33#define STW_CONF1_PDN_VAUX              0x80U
  34#define STW_CONF2                       0x20U
  35#define STW_CONF2_MASK_TWARN            0x01U
  36#define STW_CONF2_VMMC_EXT              0x02U
  37#define STW_CONF2_MASK_IT_WAKE_UP       0x04U
  38#define STW_CONF2_GPO1                  0x08U
  39#define STW_CONF2_GPO2                  0x10U
  40#define STW_VCORE_SLEEP                 0x21U
  41
  42/**
  43 * struct stw481x - state holder for the Stw481x drivers
  44 * @mutex: mutex to serialize I2C accesses
  45 * @i2c_client: corresponding I2C client
  46 * @regulator: regulator device for regulator children
  47 * @map: regmap handle to access device registers
  48 */
  49struct stw481x {
  50        struct mutex            lock;
  51        struct i2c_client       *client;
  52        struct regulator_dev    *vmmc_regulator;
  53        struct regmap           *map;
  54};
  55
  56#endif
  57