#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/sched.h>
#include <linux/mutex.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
#include <linux/iio/events.h>
#include "tsl2563.h"
Go to the source code of this file.
#define ADC_FRAC_BITS (14) |
#define CALIB_BASE_SYSFS (1000) |
#define CALIB_FRAC_BITS (10) |
#define FRAC10K |
( |
|
f | ) |
(((f) * (1L << (ADC_FRAC_BITS))) / (10000)) |
#define TSL2563_CLEARINT (0x40) |
#define TSL2563_CMD (0x80) |
#define TSL2563_CMD_POWER_OFF (0x00) |
#define TSL2563_CMD_POWER_ON (0x03) |
#define TSL2563_CTRL_POWER_MASK (0x03) |
#define TSL2563_INT_DISBLED (0x00) |
#define TSL2563_INT_LEVEL (0x10) |
#define TSL2563_INT_PERSIST |
( |
|
n | ) |
((n) & 0x0F) |
#define TSL2563_PM_OPS NULL |
#define TSL2563_REG_CTRL (0x00) |
#define TSL2563_REG_DATA0HIGH (0x0d) |
#define TSL2563_REG_DATA0LOW (0x0c) /* broadband sensor value, 2 bytes */ |
#define TSL2563_REG_DATA1HIGH (0x0f) |
#define TSL2563_REG_DATA1LOW (0x0e) /* infrared sensor value, 2 bytes */ |
#define TSL2563_REG_HIGHHIGH (0x05) |
#define TSL2563_REG_HIGHLOW (0x04) /* data0 high threshold, 2 bytes */ |
#define TSL2563_REG_ID (0x0a) |
#define TSL2563_REG_INT (0x06) |
#define TSL2563_REG_LOWHIGH (0x03) |
#define TSL2563_REG_LOWLOW (0x02) /* data0 low threshold, 2 bytes */ |
#define TSL2563_REG_TIMING (0x01) |
#define TSL2563_TIMING_100MS (0x01) |
#define TSL2563_TIMING_13MS (0x00) |
#define TSL2563_TIMING_400MS (0x02) |
#define TSL2563_TIMING_GAIN1 (0x00) |
#define TSL2563_TIMING_GAIN16 (0x10) |
#define TSL2563_TIMING_MASK (0x03) |
MODULE_AUTHOR |
( |
"Nokia Corporation" |
| ) |
|
MODULE_DEVICE_TABLE |
( |
i2c |
, |
|
|
tsl2563_id |
|
|
) |
| |
module_i2c_driver |
( |
tsl2563_i2c_driver |
| ) |
|