Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
lp8727_charger.c File Reference
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>
#include <linux/power_supply.h>
#include <linux/platform_data/lp8727.h>

Go to the source code of this file.

Data Structures

struct  lp8727_psy
 
struct  lp8727_chg
 

Macros

#define LP8788_NUM_INTREGS   2
 
#define DEFAULT_DEBOUNCE_MSEC   270
 
#define LP8727_CTRL1   0x1
 
#define LP8727_CTRL2   0x2
 
#define LP8727_SWCTRL   0x3
 
#define LP8727_INT1   0x4
 
#define LP8727_INT2   0x5
 
#define LP8727_STATUS1   0x6
 
#define LP8727_STATUS2   0x7
 
#define LP8727_CHGCTRL2   0x9
 
#define LP8727_CP_EN   BIT(0)
 
#define LP8727_ADC_EN   BIT(1)
 
#define LP8727_ID200_EN   BIT(4)
 
#define LP8727_CHGDET_EN   BIT(1)
 
#define LP8727_INT_EN   BIT(6)
 
#define LP8727_SW_DM1_DM   (0x0 << 0)
 
#define LP8727_SW_DM1_HiZ   (0x7 << 0)
 
#define LP8727_SW_DP2_DP   (0x0 << 3)
 
#define LP8727_SW_DP2_HiZ   (0x7 << 3)
 
#define LP8727_IDNO   (0xF << 0)
 
#define LP8727_VBUS   BIT(4)
 
#define LP8727_CHGSTAT   (3 << 4)
 
#define LP8727_CHPORT   BIT(6)
 
#define LP8727_DCPORT   BIT(7)
 
#define LP8727_STAT_EOC   0x30
 
#define LP8727_TEMP_STAT   (3 << 5)
 
#define LP8727_TEMP_SHIFT   5
 
#define LP8727_ICHG_SHIFT   4
 

Enumerations

enum  lp8727_dev_id {
  LP8727_ID_NONE, LP8727_ID_TA, LP8727_ID_DEDICATED_CHG, LP8727_ID_USB_CHG,
  LP8727_ID_USB_DS, LP8727_ID_MAX
}
 
enum  lp8727_die_temp { LP8788_TEMP_75C, LP8788_TEMP_95C, LP8788_TEMP_115C, LP8788_TEMP_135C }
 

Functions

 MODULE_DEVICE_TABLE (i2c, lp8727_ids)
 
 module_i2c_driver (lp8727_driver)
 
 MODULE_DESCRIPTION ("TI/National Semiconductor LP8727 charger driver")
 
 MODULE_AUTHOR ("Milo Kim <[email protected]>, Daniel Jeong <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define DEFAULT_DEBOUNCE_MSEC   270

Definition at line 21 of file lp8727_charger.c.

#define LP8727_ADC_EN   BIT(1)

Definition at line 35 of file lp8727_charger.c.

#define LP8727_CHGCTRL2   0x9

Definition at line 31 of file lp8727_charger.c.

#define LP8727_CHGDET_EN   BIT(1)

Definition at line 39 of file lp8727_charger.c.

#define LP8727_CHGSTAT   (3 << 4)

Definition at line 53 of file lp8727_charger.c.

#define LP8727_CHPORT   BIT(6)

Definition at line 54 of file lp8727_charger.c.

#define LP8727_CP_EN   BIT(0)

Definition at line 34 of file lp8727_charger.c.

#define LP8727_CTRL1   0x1

Definition at line 24 of file lp8727_charger.c.

#define LP8727_CTRL2   0x2

Definition at line 25 of file lp8727_charger.c.

#define LP8727_DCPORT   BIT(7)

Definition at line 55 of file lp8727_charger.c.

#define LP8727_ICHG_SHIFT   4

Definition at line 63 of file lp8727_charger.c.

#define LP8727_ID200_EN   BIT(4)

Definition at line 36 of file lp8727_charger.c.

#define LP8727_IDNO   (0xF << 0)

Definition at line 49 of file lp8727_charger.c.

#define LP8727_INT1   0x4

Definition at line 27 of file lp8727_charger.c.

#define LP8727_INT2   0x5

Definition at line 28 of file lp8727_charger.c.

#define LP8727_INT_EN   BIT(6)

Definition at line 40 of file lp8727_charger.c.

#define LP8727_STAT_EOC   0x30

Definition at line 56 of file lp8727_charger.c.

#define LP8727_STATUS1   0x6

Definition at line 29 of file lp8727_charger.c.

#define LP8727_STATUS2   0x7

Definition at line 30 of file lp8727_charger.c.

#define LP8727_SW_DM1_DM   (0x0 << 0)

Definition at line 43 of file lp8727_charger.c.

#define LP8727_SW_DM1_HiZ   (0x7 << 0)

Definition at line 44 of file lp8727_charger.c.

#define LP8727_SW_DP2_DP   (0x0 << 3)

Definition at line 45 of file lp8727_charger.c.

#define LP8727_SW_DP2_HiZ   (0x7 << 3)

Definition at line 46 of file lp8727_charger.c.

#define LP8727_SWCTRL   0x3

Definition at line 26 of file lp8727_charger.c.

#define LP8727_TEMP_SHIFT   5

Definition at line 60 of file lp8727_charger.c.

#define LP8727_TEMP_STAT   (3 << 5)

Definition at line 59 of file lp8727_charger.c.

#define LP8727_VBUS   BIT(4)

Definition at line 50 of file lp8727_charger.c.

#define LP8788_NUM_INTREGS   2

Definition at line 20 of file lp8727_charger.c.

Enumeration Type Documentation

Enumerator:
LP8727_ID_NONE 
LP8727_ID_TA 
LP8727_ID_DEDICATED_CHG 
LP8727_ID_USB_CHG 
LP8727_ID_USB_DS 
LP8727_ID_MAX 

Definition at line 65 of file lp8727_charger.c.

Enumerator:
LP8788_TEMP_75C 
LP8788_TEMP_95C 
LP8788_TEMP_115C 
LP8788_TEMP_135C 

Definition at line 74 of file lp8727_charger.c.

Function Documentation

MODULE_AUTHOR ( "Milo Kim <[email protected] ,
Daniel Jeong< daniel.jeong @ti.com >"   
)
MODULE_DESCRIPTION ( "TI/National Semiconductor LP8727 charger driver )
MODULE_DEVICE_TABLE ( i2c  ,
lp8727_ids   
)
module_i2c_driver ( lp8727_driver  )
MODULE_LICENSE ( "GPL"  )