Thread (3 messages) 3 messages, 3 authors, 2015-03-20

Re: [PATCH v3] add support for Freescale's MMA8653FC 10 bit accelerometer

From: Mark Rutland <hidden>
Date: 2015-03-19 16:04:29
Also in: linux-api, linux-devicetree, lkml

quoted hunk ↗ jump to hunk
diff --git a/Documentation/devicetree/bindings/misc/fsl,mma8653fc.txt b/Documentation/devicetree/bindings/misc/fsl,mma8653fc.txt
new file mode 100644
index 0000000..3921acb
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/fsl,mma8653fc.txt
@@ -0,0 +1,96 @@
+Freescale MMA8653FC 3-axis Accelerometer
+
+Required properties:
+- compatible
+       "fsl,mma8653fc"
+- reg
+       I2C address
+
+Optional properties:
+
+- interrupt-parent
+       a phandle for the interrupt controller (see
+       Documentation/devicetree/bindings/interrupt-controller/interrupts.txt)
+- interrupts
+       interrupt line to which the chip is connected
+- int1
+       set to use interrupt line 1 instead of 2
If you have two interrupt output lines, you should have two entries in
interrupts.

You can use interrupt-names to determine which line(s) are wired up.

I don't believe that you need this property.
+- int_active_high
+       set interrupt line active high
s/_/-/ in property names please. 

What happens if this isn't set? Is it active-low, or edge-triggered?

It feels like we should be able to query when we need to set this from
the IRQ(s).
+- ir_freefall_motion_x
+       activate freefall/motion interrupts on x axis
+- ir_freefall_motion_y
+       activate freefall/motion interrupts on y axis
+- ir_freefall_motion_z
+       activate freefall/motion interrupts on z axis
+- irq_threshold
+       0 < value < 8000: threshold for motion interrupts in mg
+- ir_landscape_portrait
+       activate landscape/portrait interrupts
+- ir_data_ready:
+       activate data-ready interrupts
+       Interrupt events can be activated in any combination.
These all sounds like they would be better as runtime options. I don't
see why these should necessarily be in the DT.
+- range
+       2, 4, or 8: range in g, default: 2
Likewise.

It would be nice to have a better qualified name than "range".
+- auto_wake_sleep
+       auto sleep mode (lower frequency)
+- motion_mode
+       use motion mode instead of freefall mode (trigger if >threshold).
+       per default an interrupt occurs if motion values fall below the
+       value set in "threshold" and therefore can detect free fall on the
+       vertical axis (depending on the position of the device).
+       Setting this values inverts the behaviour and an interrupt occurs
+       above the threshold value, so usually activate horizontal axis in
+       this case.
These both sound like they would be better as runtime options.
+
+- x-offset
+       0 < value < 500: calibration offset in mg
+       this value has an offset of 250 itself:
+       0 is -250mg, 250 is 0 mg, 500 is 250mg
+- y-offset
+       see x-offset
+- z-offset
+       see x-offset
I'm unsure about these; it really depends on what the calibration is
for.

Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help