summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJohnny Qiu <joqiu@nvidia.com>2011-12-09 16:42:03 -0800
committerSimone Willett <swillett@nvidia.com>2012-02-16 13:27:09 -0800
commitac8422116d898566c0892ce2faf32b59e76e1f33 (patch)
treef979d65a1f924fdf3806ec54e89327d0b372ace5 /include/linux
parent390fff08d6a68a562f91422f744a1d348732980f (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.h60
-rw-r--r--include/linux/lightsensor.h28
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