Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tps6586x-regulator.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/mfd/tps6586x.h>

Go to the source code of this file.

Data Structures

struct  tps6586x_regulator
 

Macros

#define TPS6586X_SUPPLYENA   0x10
 
#define TPS6586X_SUPPLYENB   0x11
 
#define TPS6586X_SUPPLYENC   0x12
 
#define TPS6586X_SUPPLYEND   0x13
 
#define TPS6586X_SUPPLYENE   0x14
 
#define TPS6586X_VCC1   0x20
 
#define TPS6586X_VCC2   0x21
 
#define TPS6586X_SM1V1   0x23
 
#define TPS6586X_SM1V2   0x24
 
#define TPS6586X_SM1SL   0x25
 
#define TPS6586X_SM0V1   0x26
 
#define TPS6586X_SM0V2   0x27
 
#define TPS6586X_SM0SL   0x28
 
#define TPS6586X_LDO2AV1   0x29
 
#define TPS6586X_LDO2AV2   0x2A
 
#define TPS6586X_LDO2BV1   0x2F
 
#define TPS6586X_LDO2BV2   0x30
 
#define TPS6586X_LDO4V1   0x32
 
#define TPS6586X_LDO4V2   0x33
 
#define TPS6586X_SUPPLYV1   0x41
 
#define TPS6586X_SUPPLYV2   0x42
 
#define TPS6586X_SUPPLYV3   0x43
 
#define TPS6586X_SUPPLYV4   0x44
 
#define TPS6586X_SUPPLYV5   0x45
 
#define TPS6586X_SUPPLYV6   0x46
 
#define TPS6586X_SMODE1   0x47
 
#define TPS6586X_SMODE2   0x48
 
#define TPS6586X_REGULATOR(_id, _pin_name, vdata, vreg, shift, nbits, ereg0, ebit0, ereg1, ebit1)
 
#define TPS6586X_REGULATOR_DVM_GOREG(goreg, gobit)
 
#define TPS6586X_LDO(_id, _pname, vdata, vreg, shift, nbits,ereg0, ebit0, ereg1, ebit1)
 
#define TPS6586X_DVM(_id, _pname, vdata, vreg, shift, nbits,ereg0, ebit0, ereg1, ebit1, goreg, gobit)
 
#define TPS6586X_SYS_REGULATOR()
 

Functions

 subsys_initcall (tps6586x_regulator_init)
 
 module_exit (tps6586x_regulator_exit)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Mike Rapoport <[email protected]>")
 
 MODULE_DESCRIPTION ("Regulator Driver for TI TPS6586X PMIC")
 
 MODULE_ALIAS ("platform:tps6586x-regulator")
 

Macro Definition Documentation

#define TPS6586X_DVM (   _id,
  _pname,
  vdata,
  vreg,
  shift,
  nbits,
  ereg0,
  ebit0,
  ereg1,
  ebit1,
  goreg,
  gobit 
)
Value:
{ \
TPS6586X_REGULATOR(_id, _pname, vdata, vreg, shift, nbits, \
ereg0, ebit0, ereg1, ebit1) \
TPS6586X_REGULATOR_DVM_GOREG(goreg, gobit) \
}

Definition at line 174 of file tps6586x-regulator.c.

#define TPS6586X_LDO (   _id,
  _pname,
  vdata,
  vreg,
  shift,
  nbits,
  ereg0,
  ebit0,
  ereg1,
  ebit1 
)
Value:
{ \
TPS6586X_REGULATOR(_id, _pname, vdata, vreg, shift, nbits, \
ereg0, ebit0, ereg1, ebit1) \
}

Definition at line 167 of file tps6586x-regulator.c.

#define TPS6586X_LDO2AV1   0x29

Definition at line 40 of file tps6586x-regulator.c.

#define TPS6586X_LDO2AV2   0x2A

Definition at line 41 of file tps6586x-regulator.c.

#define TPS6586X_LDO2BV1   0x2F

Definition at line 42 of file tps6586x-regulator.c.

#define TPS6586X_LDO2BV2   0x30

Definition at line 43 of file tps6586x-regulator.c.

#define TPS6586X_LDO4V1   0x32

Definition at line 44 of file tps6586x-regulator.c.

#define TPS6586X_LDO4V2   0x33

Definition at line 45 of file tps6586x-regulator.c.

#define TPS6586X_REGULATOR (   _id,
  _pin_name,
  vdata,
  vreg,
  shift,
  nbits,
  ereg0,
  ebit0,
  ereg1,
  ebit1 
)
Value:
.desc = { \
.supply_name = _pin_name, \
.name = "REG-" #_id, \
.ops = &tps6586x_regulator_ops, \
.type = REGULATOR_VOLTAGE, \
.id = TPS6586X_ID_##_id, \
.n_voltages = ARRAY_SIZE(tps6586x_##vdata##_voltages), \
.volt_table = tps6586x_##vdata##_voltages, \
.owner = THIS_MODULE, \
.enable_reg = TPS6586X_SUPPLY##ereg0, \
.enable_mask = 1 << (ebit0), \
.vsel_reg = TPS6586X_##vreg, \
.vsel_mask = ((1 << (nbits)) - 1) << (shift), \
}, \
.enable_reg[0] = TPS6586X_SUPPLY##ereg0, \
.enable_bit[0] = (ebit0), \
.enable_reg[1] = TPS6586X_SUPPLY##ereg1, \
.enable_bit[1] = (ebit1),

Definition at line 142 of file tps6586x-regulator.c.

#define TPS6586X_REGULATOR_DVM_GOREG (   goreg,
  gobit 
)
Value:
.go_reg = TPS6586X_##goreg, \
.go_bit = (gobit),

Definition at line 163 of file tps6586x-regulator.c.

#define TPS6586X_SM0SL   0x28

Definition at line 39 of file tps6586x-regulator.c.

#define TPS6586X_SM0V1   0x26

Definition at line 37 of file tps6586x-regulator.c.

#define TPS6586X_SM0V2   0x27

Definition at line 38 of file tps6586x-regulator.c.

#define TPS6586X_SM1SL   0x25

Definition at line 36 of file tps6586x-regulator.c.

#define TPS6586X_SM1V1   0x23

Definition at line 34 of file tps6586x-regulator.c.

#define TPS6586X_SM1V2   0x24

Definition at line 35 of file tps6586x-regulator.c.

#define TPS6586X_SMODE1   0x47

Definition at line 54 of file tps6586x-regulator.c.

#define TPS6586X_SMODE2   0x48

Definition at line 55 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYENA   0x10

Definition at line 27 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYENB   0x11

Definition at line 28 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYENC   0x12

Definition at line 29 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYEND   0x13

Definition at line 30 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYENE   0x14

Definition at line 31 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV1   0x41

Definition at line 48 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV2   0x42

Definition at line 49 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV3   0x43

Definition at line 50 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV4   0x44

Definition at line 51 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV5   0x45

Definition at line 52 of file tps6586x-regulator.c.

#define TPS6586X_SUPPLYV6   0x46

Definition at line 53 of file tps6586x-regulator.c.

#define TPS6586X_SYS_REGULATOR ( )
Value:
{ \
.desc = { \
.supply_name = "sys", \
.name = "REG-SYS", \
.ops = &tps6586x_sys_regulator_ops, \
.type = REGULATOR_VOLTAGE, \
.id = TPS6586X_ID_SYS, \
.owner = THIS_MODULE, \
}, \
}

Definition at line 182 of file tps6586x-regulator.c.

#define TPS6586X_VCC1   0x20

Definition at line 32 of file tps6586x-regulator.c.

#define TPS6586X_VCC2   0x21

Definition at line 33 of file tps6586x-regulator.c.

Function Documentation

MODULE_ALIAS ( "platform:tps6586x-regulator )
MODULE_AUTHOR ( "Mike Rapoport <[email protected]>"  )
MODULE_DESCRIPTION ( "Regulator Driver for TI TPS6586X PMIC"  )
module_exit ( tps6586x_regulator_exit  )
MODULE_LICENSE ( "GPL"  )
subsys_initcall ( tps6586x_regulator_init  )