mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 05:29:04 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6
This commit is contained in:
commit
4e93d3e885
155 changed files with 8326 additions and 1266 deletions
|
|
@ -28,6 +28,66 @@
|
|||
#ifndef __ASM_ARCH_TPS65010_H
|
||||
#define __ASM_ARCH_TPS65010_H
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
* Registers, all 8 bits
|
||||
* ----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define TPS_CHGSTATUS 0x01
|
||||
# define TPS_CHG_USB (1 << 7)
|
||||
# define TPS_CHG_AC (1 << 6)
|
||||
# define TPS_CHG_THERM (1 << 5)
|
||||
# define TPS_CHG_TERM (1 << 4)
|
||||
# define TPS_CHG_TAPER_TMO (1 << 3)
|
||||
# define TPS_CHG_CHG_TMO (1 << 2)
|
||||
# define TPS_CHG_PRECHG_TMO (1 << 1)
|
||||
# define TPS_CHG_TEMP_ERR (1 << 0)
|
||||
#define TPS_REGSTATUS 0x02
|
||||
# define TPS_REG_ONOFF (1 << 7)
|
||||
# define TPS_REG_COVER (1 << 6)
|
||||
# define TPS_REG_UVLO (1 << 5)
|
||||
# define TPS_REG_NO_CHG (1 << 4) /* tps65013 */
|
||||
# define TPS_REG_PG_LD02 (1 << 3)
|
||||
# define TPS_REG_PG_LD01 (1 << 2)
|
||||
# define TPS_REG_PG_MAIN (1 << 1)
|
||||
# define TPS_REG_PG_CORE (1 << 0)
|
||||
#define TPS_MASK1 0x03
|
||||
#define TPS_MASK2 0x04
|
||||
#define TPS_ACKINT1 0x05
|
||||
#define TPS_ACKINT2 0x06
|
||||
#define TPS_CHGCONFIG 0x07
|
||||
# define TPS_CHARGE_POR (1 << 7) /* 65010/65012 */
|
||||
# define TPS65013_AUA (1 << 7) /* 65011/65013 */
|
||||
# define TPS_CHARGE_RESET (1 << 6)
|
||||
# define TPS_CHARGE_FAST (1 << 5)
|
||||
# define TPS_CHARGE_CURRENT (3 << 3)
|
||||
# define TPS_VBUS_500MA (1 << 2)
|
||||
# define TPS_VBUS_CHARGING (1 << 1)
|
||||
# define TPS_CHARGE_ENABLE (1 << 0)
|
||||
#define TPS_LED1_ON 0x08
|
||||
#define TPS_LED1_PER 0x09
|
||||
#define TPS_LED2_ON 0x0a
|
||||
#define TPS_LED2_PER 0x0b
|
||||
#define TPS_VDCDC1 0x0c
|
||||
# define TPS_ENABLE_LP (1 << 3)
|
||||
#define TPS_VDCDC2 0x0d
|
||||
#define TPS_VREGS1 0x0e
|
||||
# define TPS_LDO2_ENABLE (1 << 7)
|
||||
# define TPS_LDO2_OFF (1 << 6)
|
||||
# define TPS_VLDO2_3_0V (3 << 4)
|
||||
# define TPS_VLDO2_2_75V (2 << 4)
|
||||
# define TPS_VLDO2_2_5V (1 << 4)
|
||||
# define TPS_VLDO2_1_8V (0 << 4)
|
||||
# define TPS_LDO1_ENABLE (1 << 3)
|
||||
# define TPS_LDO1_OFF (1 << 2)
|
||||
# define TPS_VLDO1_3_0V (3 << 0)
|
||||
# define TPS_VLDO1_2_75V (2 << 0)
|
||||
# define TPS_VLDO1_2_5V (1 << 0)
|
||||
# define TPS_VLDO1_ADJ (0 << 0)
|
||||
#define TPS_MASK3 0x0f
|
||||
#define TPS_DEFGPIO 0x10
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
* Macros used by exported functions
|
||||
|
|
@ -71,10 +131,26 @@ extern int tps65010_set_gpio_out_value(unsigned gpio, unsigned value);
|
|||
*/
|
||||
extern int tps65010_set_led(unsigned led, unsigned mode);
|
||||
|
||||
/* tps65010_set_vib parameter:
|
||||
* value: ON or OFF
|
||||
*/
|
||||
extern int tps65010_set_vib(unsigned value);
|
||||
|
||||
/* tps65010_set_low_pwr parameter:
|
||||
* mode: ON or OFF
|
||||
*/
|
||||
extern int tps65010_set_low_pwr(unsigned mode);
|
||||
|
||||
/* tps65010_config_vregs1 parameter:
|
||||
* value to be written to VREGS1 register
|
||||
* Note: The complete register is written, set all bits you need
|
||||
*/
|
||||
extern int tps65010_config_vregs1(unsigned value);
|
||||
|
||||
/* tps65013_set_low_pwr parameter:
|
||||
* mode: ON or OFF
|
||||
*/
|
||||
extern int tps65013_set_low_pwr(unsigned mode);
|
||||
|
||||
#endif /* __ASM_ARCH_TPS65010_H */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* i2c-sysfs.h - i2c chip driver sysfs defines
|
||||
* hwmon-sysfs.h - hardware monitoring chip driver sysfs defines
|
||||
*
|
||||
* Copyright (C) 2005 Yani Ioannou <yani.ioannou@gmail.com>
|
||||
*
|
||||
|
|
@ -17,8 +17,8 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
#ifndef _LINUX_I2C_SYSFS_H
|
||||
#define _LINUX_I2C_SYSFS_H
|
||||
#ifndef _LINUX_HWMON_SYSFS_H
|
||||
#define _LINUX_HWMON_SYSFS_H
|
||||
|
||||
struct sensor_device_attribute{
|
||||
struct device_attribute dev_attr;
|
||||
|
|
@ -33,4 +33,4 @@ struct sensor_device_attribute sensor_dev_attr_##_name = { \
|
|||
.index = _index, \
|
||||
}
|
||||
|
||||
#endif /* _LINUX_I2C_SYSFS_H */
|
||||
#endif /* _LINUX_HWMON_SYSFS_H */
|
||||
|
|
@ -108,6 +108,7 @@
|
|||
#define I2C_DRIVERID_TDA7313 62 /* TDA7313 audio processor */
|
||||
#define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */
|
||||
#define I2C_DRIVERID_SAA7114H 64 /* video decoder */
|
||||
#define I2C_DRIVERID_DS1374 65 /* DS1374 real time clock */
|
||||
|
||||
|
||||
#define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */
|
||||
|
|
|
|||
|
|
@ -97,3 +97,15 @@ static inline int vid_from_reg(int val, int vrm)
|
|||
2050 - (val) * 50);
|
||||
}
|
||||
}
|
||||
|
||||
static inline int vid_to_reg(int val, int vrm)
|
||||
{
|
||||
switch (vrm) {
|
||||
case 91: /* VRM 9.1 */
|
||||
case 90: /* VRM 9.0 */
|
||||
return ((val >= 1100) && (val <= 1850) ?
|
||||
((18499 - val * 10) / 25 + 5) / 10 : -1);
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -290,11 +290,8 @@ static inline void i2c_set_adapdata (struct i2c_adapter *dev, void *data)
|
|||
*/
|
||||
struct i2c_client_address_data {
|
||||
unsigned short *normal_i2c;
|
||||
unsigned short *normal_i2c_range;
|
||||
unsigned short *probe;
|
||||
unsigned short *probe_range;
|
||||
unsigned short *ignore;
|
||||
unsigned short *ignore_range;
|
||||
unsigned short *force;
|
||||
};
|
||||
|
||||
|
|
@ -563,24 +560,15 @@ union i2c_smbus_data {
|
|||
#define I2C_CLIENT_INSMOD \
|
||||
I2C_CLIENT_MODULE_PARM(probe, \
|
||||
"List of adapter,address pairs to scan additionally"); \
|
||||
I2C_CLIENT_MODULE_PARM(probe_range, \
|
||||
"List of adapter,start-addr,end-addr triples to scan " \
|
||||
"additionally"); \
|
||||
I2C_CLIENT_MODULE_PARM(ignore, \
|
||||
"List of adapter,address pairs not to scan"); \
|
||||
I2C_CLIENT_MODULE_PARM(ignore_range, \
|
||||
"List of adapter,start-addr,end-addr triples not to " \
|
||||
"scan"); \
|
||||
I2C_CLIENT_MODULE_PARM(force, \
|
||||
"List of adapter,address pairs to boldly assume " \
|
||||
"to be present"); \
|
||||
static struct i2c_client_address_data addr_data = { \
|
||||
.normal_i2c = normal_i2c, \
|
||||
.normal_i2c_range = normal_i2c_range, \
|
||||
.probe = probe, \
|
||||
.probe_range = probe_range, \
|
||||
.ignore = ignore, \
|
||||
.ignore_range = ignore_range, \
|
||||
.force = force, \
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue