0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef __LINUX_I2C_TPS65010_H
0029 #define __LINUX_I2C_TPS65010_H
0030
0031
0032
0033
0034
0035
0036
0037 #define TPS_CHGSTATUS 0x01
0038 # define TPS_CHG_USB (1 << 7)
0039 # define TPS_CHG_AC (1 << 6)
0040 # define TPS_CHG_THERM (1 << 5)
0041 # define TPS_CHG_TERM (1 << 4)
0042 # define TPS_CHG_TAPER_TMO (1 << 3)
0043 # define TPS_CHG_CHG_TMO (1 << 2)
0044 # define TPS_CHG_PRECHG_TMO (1 << 1)
0045 # define TPS_CHG_TEMP_ERR (1 << 0)
0046 #define TPS_REGSTATUS 0x02
0047 # define TPS_REG_ONOFF (1 << 7)
0048 # define TPS_REG_COVER (1 << 6)
0049 # define TPS_REG_UVLO (1 << 5)
0050 # define TPS_REG_NO_CHG (1 << 4)
0051 # define TPS_REG_PG_LD02 (1 << 3)
0052 # define TPS_REG_PG_LD01 (1 << 2)
0053 # define TPS_REG_PG_MAIN (1 << 1)
0054 # define TPS_REG_PG_CORE (1 << 0)
0055 #define TPS_MASK1 0x03
0056 #define TPS_MASK2 0x04
0057 #define TPS_ACKINT1 0x05
0058 #define TPS_ACKINT2 0x06
0059 #define TPS_CHGCONFIG 0x07
0060 # define TPS_CHARGE_POR (1 << 7)
0061 # define TPS65013_AUA (1 << 7)
0062 # define TPS_CHARGE_RESET (1 << 6)
0063 # define TPS_CHARGE_FAST (1 << 5)
0064 # define TPS_CHARGE_CURRENT (3 << 3)
0065 # define TPS_VBUS_500MA (1 << 2)
0066 # define TPS_VBUS_CHARGING (1 << 1)
0067 # define TPS_CHARGE_ENABLE (1 << 0)
0068 #define TPS_LED1_ON 0x08
0069 #define TPS_LED1_PER 0x09
0070 #define TPS_LED2_ON 0x0a
0071 #define TPS_LED2_PER 0x0b
0072 #define TPS_VDCDC1 0x0c
0073 # define TPS_ENABLE_LP (1 << 3)
0074 #define TPS_VDCDC2 0x0d
0075 # define TPS_LP_COREOFF (1 << 7)
0076 # define TPS_VCORE_1_8V (7<<4)
0077 # define TPS_VCORE_1_5V (6 << 4)
0078 # define TPS_VCORE_1_4V (5 << 4)
0079 # define TPS_VCORE_1_3V (4 << 4)
0080 # define TPS_VCORE_1_2V (3 << 4)
0081 # define TPS_VCORE_1_1V (2 << 4)
0082 # define TPS_VCORE_1_0V (1 << 4)
0083 # define TPS_VCORE_0_85V (0 << 4)
0084 # define TPS_VCORE_LP_1_2V (3 << 2)
0085 # define TPS_VCORE_LP_1_1V (2 << 2)
0086 # define TPS_VCORE_LP_1_0V (1 << 2)
0087 # define TPS_VCORE_LP_0_85V (0 << 2)
0088 # define TPS_VIB (1 << 1)
0089 # define TPS_VCORE_DISCH (1 << 0)
0090 #define TPS_VREGS1 0x0e
0091 # define TPS_LDO2_ENABLE (1 << 7)
0092 # define TPS_LDO2_OFF (1 << 6)
0093 # define TPS_VLDO2_3_0V (3 << 4)
0094 # define TPS_VLDO2_2_75V (2 << 4)
0095 # define TPS_VLDO2_2_5V (1 << 4)
0096 # define TPS_VLDO2_1_8V (0 << 4)
0097 # define TPS_LDO1_ENABLE (1 << 3)
0098 # define TPS_LDO1_OFF (1 << 2)
0099 # define TPS_VLDO1_3_0V (3 << 0)
0100 # define TPS_VLDO1_2_75V (2 << 0)
0101 # define TPS_VLDO1_2_5V (1 << 0)
0102 # define TPS_VLDO1_ADJ (0 << 0)
0103 #define TPS_MASK3 0x0f
0104 #define TPS_DEFGPIO 0x10
0105
0106
0107
0108
0109
0110
0111
0112 #define LED1 1
0113 #define LED2 2
0114 #define OFF 0
0115 #define ON 1
0116 #define BLINK 2
0117 #define GPIO1 1
0118 #define GPIO2 2
0119 #define GPIO3 3
0120 #define GPIO4 4
0121 #define LOW 0
0122 #define HIGH 1
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135 extern int tps65010_set_vbus_draw(unsigned mA);
0136
0137
0138
0139
0140
0141 extern int tps65010_set_gpio_out_value(unsigned gpio, unsigned value);
0142
0143
0144
0145
0146
0147 extern int tps65010_set_led(unsigned led, unsigned mode);
0148
0149
0150
0151
0152 extern int tps65010_set_vib(unsigned value);
0153
0154
0155
0156
0157 extern int tps65010_set_low_pwr(unsigned mode);
0158
0159
0160
0161
0162
0163 extern int tps65010_config_vregs1(unsigned value);
0164
0165
0166
0167
0168 extern int tps65013_set_low_pwr(unsigned mode);
0169
0170
0171
0172
0173 extern int tps65010_config_vdcdc2(unsigned value);
0174
0175 struct i2c_client;
0176
0177
0178
0179
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195 struct tps65010_board {
0196 int base;
0197 unsigned outmask;
0198
0199 int (*setup)(struct i2c_client *client, void *context);
0200 int (*teardown)(struct i2c_client *client, void *context);
0201 void *context;
0202 };
0203
0204 #endif
0205