mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 19:31:53 +00:00
5dc2db05f2
Add lis3lv02d device tree initialization code/API to take pdata from device node. Also adds device tree init matching table support to lis3lv02d_i2c driver. If the driver data is passed from device tree, then this driver picks up platform data from device node through common/generic lis3lv02d.c driver. [akpm@linux-foundation.org: fix CONFIG_OF=n build] Signed-off-by: AnilKumar Ch <anilkumar@ti.com> Cc: Eric Piel <eric.piel@tremplin-utc.net> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
113 lines
3.3 KiB
Plaintext
113 lines
3.3 KiB
Plaintext
LIS302 accelerometer devicetree bindings
|
|
|
|
This device is matched via its bus drivers, and has a number of properties
|
|
that apply in on the generic device (independent from the bus).
|
|
|
|
|
|
Required properties for the SPI bindings:
|
|
- compatible: should be set to "st,lis3lv02d_spi"
|
|
- reg: the chipselect index
|
|
- spi-max-frequency: maximal bus speed, should be set to 1000000 unless
|
|
constrained by external circuitry
|
|
- interrupts: the interrupt generated by the device
|
|
|
|
Required properties for the I2C bindings:
|
|
- compatible: should be set to "st,lis3lv02d"
|
|
- reg: i2c slave address
|
|
- Vdd-supply: The input supply for Vdd
|
|
- Vdd_IO-supply: The input supply for Vdd_IO
|
|
|
|
|
|
Optional properties for all bus drivers:
|
|
|
|
- st,click-single-{x,y,z}: if present, tells the device to issue an
|
|
interrupt on single click events on the
|
|
x/y/z axis.
|
|
- st,click-double-{x,y,z}: if present, tells the device to issue an
|
|
interrupt on double click events on the
|
|
x/y/z axis.
|
|
- st,click-thresh-{x,y,z}: set the x/y/z axis threshold
|
|
- st,click-click-time-limit: click time limit, from 0 to 127.5msec
|
|
with step of 0.5 msec
|
|
- st,click-latency: click latency, from 0 to 255 msec with
|
|
step of 1 msec.
|
|
- st,click-window: click window, from 0 to 255 msec with
|
|
step of 1 msec.
|
|
- st,irq{1,2}-disable: disable IRQ 1/2
|
|
- st,irq{1,2}-ff-wu-1: raise IRQ 1/2 on FF_WU_1 condition
|
|
- st,irq{1,2}-ff-wu-2: raise IRQ 1/2 on FF_WU_2 condition
|
|
- st,irq{1,2}-data-ready: raise IRQ 1/2 on data ready contition
|
|
- st,irq{1,2}-click: raise IRQ 1/2 on click condition
|
|
- st,irq-open-drain: consider IRQ lines open-drain
|
|
- st,irq-active-low: make IRQ lines active low
|
|
- st,wu-duration-1: duration register for Free-Fall/Wake-Up
|
|
interrupt 1
|
|
- st,wu-duration-2: duration register for Free-Fall/Wake-Up
|
|
interrupt 2
|
|
- st,wakeup-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
|
|
upper/lower limit
|
|
- st,highpass-cutoff-hz=: 1, 2, 4 or 8 for 1Hz, 2Hz, 4Hz or 8Hz of
|
|
highpass cut-off frequency
|
|
- st,hipass{1,2}-disable: disable highpass 1/2.
|
|
- st,default-rate=: set the default rate
|
|
- st,axis-{x,y,z}=: set the axis to map to the three coordinates
|
|
- st,{min,max}-limit-{x,y,z} set the min/max limits for x/y/z axis
|
|
(used by self-test)
|
|
|
|
|
|
Example for a SPI device node:
|
|
|
|
lis302@0 {
|
|
compatible = "st,lis302dl-spi";
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <104 0>;
|
|
|
|
st,click-single-x;
|
|
st,click-single-y;
|
|
st,click-single-z;
|
|
st,click-thresh-x = <10>;
|
|
st,click-thresh-y = <10>;
|
|
st,click-thresh-z = <10>;
|
|
st,irq1-click;
|
|
st,irq2-click;
|
|
st,wakeup-x-lo;
|
|
st,wakeup-x-hi;
|
|
st,wakeup-y-lo;
|
|
st,wakeup-y-hi;
|
|
st,wakeup-z-lo;
|
|
st,wakeup-z-hi;
|
|
};
|
|
|
|
Example for a I2C device node:
|
|
|
|
lis331dlh: lis331dlh@18 {
|
|
compatible = "st,lis331dlh", "st,lis3lv02d";
|
|
reg = <0x18>;
|
|
Vdd-supply = <&lis3_reg>;
|
|
Vdd_IO-supply = <&lis3_reg>;
|
|
|
|
st,click-single-x;
|
|
st,click-single-y;
|
|
st,click-single-z;
|
|
st,click-thresh-x = <10>;
|
|
st,click-thresh-y = <10>;
|
|
st,click-thresh-z = <10>;
|
|
st,irq1-click;
|
|
st,irq2-click;
|
|
st,wakeup-x-lo;
|
|
st,wakeup-x-hi;
|
|
st,wakeup-y-lo;
|
|
st,wakeup-y-hi;
|
|
st,wakeup-z-lo;
|
|
st,wakeup-z-hi;
|
|
st,min-limit-x = <120>;
|
|
st,min-limit-y = <120>;
|
|
st,min-limit-z = <140>;
|
|
st,max-limit-x = <550>;
|
|
st,max-limit-y = <550>;
|
|
st,max-limit-z = <750>;
|
|
};
|
|
|