On Tue, 2 Oct 2018 22:38:11 +0800 Song Qiang <songqiang1304521@xxxxxxxxx> wrote: > Signed-off-by: Song Qiang <songqiang1304521@xxxxxxxxx> > --- > .../bindings/iio/magnetometer/pni,rm3100.txt | 20 +++++++++++++++++++ > 1 file changed, 20 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt b/Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt > new file mode 100644 > index 000000000000..4677690fc5d0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt > @@ -0,0 +1,20 @@ > +* PNI RM3100 3-axis magnetometer sensor > + > +Required properties: > + > +- compatible : should be "pni,rm3100" > +- reg : the I2C address or SPI chip select number of the sensor. > + > +Optional properties: > + > +- interrupts: data ready (DRDY) from the chip. > + The interrupts can be triggered on rising edges. >From Phil's response this appears to be incorrect and it's actually a level sensitive interrupt. I haven't checked the data sheet to confirm this. That'll bring all sorts of pain if you have a host that can only do edge sensitive so I'm hoping that's not true for you (edge sensitive only interrupts on hosts are pretty unusual though it cause me a lot of problems when I started out with IIO years ago :( The docs aren't super clear on this. The subtlety is whether there is a guaranteed 'low' time between reading the data and it going high again due to another reading. This usually only matters if you are running very quickly though so may be fine here. This will only become relevant with continuous mode if you add support for that later (I think!) Jonathan > + > +Example: > + > +rm3100: rm3100@20 { > + compatible = "pni,rm3100"; > + reg = <0x20>; > + interrupt-parent = <&gpio0>; > + interrupts = <4 IRQ_TYPE_EDGE_RISING>; > +};