diff options
author | Johnny Qiu <joqiu@nvidia.com> | 2011-12-09 16:42:03 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-02-16 13:27:09 -0800 |
commit | ac8422116d898566c0892ce2faf32b59e76e1f33 (patch) | |
tree | f979d65a1f924fdf3806ec54e89327d0b372ace5 /include/linux | |
parent | 390fff08d6a68a562f91422f744a1d348732980f (diff) |
input: misc: Add CM3217 driver
Bug 937953
Change-Id: Ieb9a941faaad0945948af806e8bc09a1e51f5772
Signed-off-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/83369
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/cm3217.h | 60 | ||||
-rw-r--r-- | include/linux/lightsensor.h | 28 |
2 files changed, 88 insertions, 0 deletions
diff --git a/include/linux/cm3217.h b/include/linux/cm3217.h new file mode 100644 index 000000000000..6fc480911012 --- /dev/null +++ b/include/linux/cm3217.h @@ -0,0 +1,60 @@ +/* include/linux/cm3217.h + * + * Copyright (C) 2011 Capella Microsystems Inc. + * Author: Frank Hsieh <pengyueh@gmail.com> + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef __LINUX_CM3217_H +#define __LINUX_CM3217_H + +#define CM3217_I2C_NAME "cm3217" + +#define ALS_W_CMD1_addr 0x20 >> 1 +#define ALS_W_CMD2_addr 0x22 >> 1 +#define ALS_R_MSB_addr 0x21 >> 1 +#define ALS_R_LSB_addr 0x23 >> 1 + +#define ALS_CALIBRATED 0x6E93 + + +/*cm3217*/ +/*for ALS command 20h*/ +#define CM3217_ALS_BIT5_Default_1 (1 << 5) +#define CM3217_ALS_IT_HALF_T (0 << 2) +#define CM3217_ALS_IT_1_T (1 << 2) +#define CM3217_ALS_IT_2_T (2 << 2) +#define CM3217_ALS_IT_4_T (4 << 2) +#define CM3217_ALS_WDM_DEFAULT_1 (1 << 1) +#define CM3217_ALS_SD (1 << 0) + +/*for ALS command 22h*/ +#define CM3217_ALS_IT_800ms (0 << 5) +#define CM3217_ALS_IT_400ms (1 << 5) +#define CM3217_ALS_IT_266ms (2 << 5) +#define CM3217_ALS_IT_200ms (3 << 5) +#define CM3217_ALS_IT_130ms (4 << 5) +#define CM3217_ALS_IT_100ms (5 << 5) +#define CM3217_ALS_IT_80ms (6 << 5) +#define CM3217_ALS_IT_66ms (7 << 5) + +struct cm3217_platform_data { + uint16_t levels[10]; + uint16_t golden_adc; + int (*power)(int, uint8_t); /* power to the chip */ + uint16_t ALS_slave_address; +}; + +/* from cm3602.h */ +#define LS_PWR_ON (1 << 0) + +#endif diff --git a/include/linux/lightsensor.h b/include/linux/lightsensor.h new file mode 100644 index 000000000000..b86ab58a642c --- /dev/null +++ b/include/linux/lightsensor.h @@ -0,0 +1,28 @@ +/* include/linux/lightsensor.h + * + * Copyright (C) 2011 Capella Microsystems Inc. + * Author: Frank Hsieh <pengyueh@gmail.com> + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef __LINUX_LIGHTSENSOR_H +#define __LINUX_LIGHTSENSOR_H + +#include <linux/types.h> +#include <linux/ioctl.h> + +#define LIGHTSENSOR_IOCTL_MAGIC 'l' + +#define LIGHTSENSOR_IOCTL_GET_ENABLED _IOR(LIGHTSENSOR_IOCTL_MAGIC, 1, int *) +#define LIGHTSENSOR_IOCTL_ENABLE _IOW(LIGHTSENSOR_IOCTL_MAGIC, 2, int *) + +#endif |