summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLiu Ying <Ying.Liu@freescale.com>2011-02-22 17:11:30 +0800
committerLiu Ying <Ying.Liu@freescale.com>2011-02-25 17:02:19 +0800
commit9d051dbb41aaebc462bf88ad2931d286058b88ae (patch)
tree03842da9d253c201469fffdea0a4f09f5c949fc8 /include
parent079a6024a7369117b8f2ca8f3a905702a0175394 (diff)
ENGR00139383-1 Add ISL29023 light sensor support
This patch adds ISL29023 light sensor support. Users may control the light sensor work at different modes/ranges/resolutions or read the lux value via sysfs. A power state node is also created in sysfs. If the light sensor works at ALS once mode, users need to power down/power up the sensor before read the lux value again. Currently, IR(Infra Red) mode is not supported. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/isl29023.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/isl29023.h b/include/linux/isl29023.h
new file mode 100644
index 000000000000..c5106ae32abe
--- /dev/null
+++ b/include/linux/isl29023.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * 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.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef __ISL29023_H__
+#define __ISL29023_H__
+
+#include <linux/types.h>
+
+#define ISL29023_PD_MODE 0x0
+#define ISL29023_ALS_ONCE_MODE 0x1
+#define ISL29023_IR_ONCE_MODE 0x2
+#define ISL29023_ALS_CONT_MODE 0x5
+#define ISL29023_IR_CONT_MODE 0x6
+
+#define ISL29023_INT_PERSISTS_1 0x0
+#define ISL29023_INT_PERSISTS_4 0x1
+#define ISL29023_INT_PERSISTS_8 0x2
+#define ISL29023_INT_PERSISTS_16 0x3
+
+#define ISL29023_RES_16 0x0
+#define ISL29023_RES_12 0x1
+#define ISL29023_RES_8 0x2
+#define ISL29023_RES_4 0x3
+
+#define ISL29023_RANGE_1K 0x0
+#define ISL29023_RANGE_4K 0x1
+#define ISL29023_RANGE_16K 0x2
+#define ISL29023_RANGE_64K 0x3
+
+#endif