[lkml]   [2012]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectLIS331DLH accelerometer driver, IIO or not?
    I'm working to enable the LIS331DLH accelerometer on the Fish River
    Island II embedded atom development kit.

    This device is attached to an i2c bus implemented in a CPLD (complex
    programmable logic device) integrated on the compute module. I found an
    IIO driver for the device written for 2.6.34. I've rewritten most of the
    driver to work with the 3.2 kernel's IIO subsystem (and had planned to
    next port it all the way to git HEAD and push it upstream).

    However, I've since stumbled across a couple of things which cloud the
    issue for me.

    First, Carmine Iascone submitted a driver (driver/misc, not iio) for the
    LIS331DLH back in Nov 2010.

    It was suggested that this driver be merged with the existing lis3lv02d
    driver which listed support for a similar chip in the header, LIS331DL,
    but it also lists LIS331DLF as not supported. The current git HEAD still
    does not list LIS331DLH, and there is not a compatible register map in
    the header.

    Second, I came across the following TI document for porting the
    LIS331DLH driver for Android:

    This references a lis331dlh.c driver which I do not find in Linus' git
    repository nor in linux-next.

    So there are 3 ways I can go about this, and I'd appreciate any
    direction on which would be the most acceptable for merging upstream.

    1) Continue with my IIO version. This subsystem seems well suited to the
    accelerometer. The iio_chan_spec simplifies the task of exposing the
    event capabilities of the device, which the drivers/misc/lis3lv02d
    driver mostly glosses over. It only supports events on free-fall for
    example, while with IIO it is straight forward to enable interrupts for
    rising and/or falling thresholds for each axis independently.

    2) Attempt to merge Carmine's drivers/misc/lis331dlh driver with the
    existing lis3lv02d driver as suggested in the thread mentioned above.
    This driver isn't as fully functional.

    3) Try and dig up the lis331dlh driver referenced in the TI document and
    work to get that upstream. Like option 2, this driver is not likely to
    be as configurable as the IIO driver.

    I am more interested in enabling people to do bizarre and interesting
    things with the device, so I'm leaning toward continuing with my IIO


    Darren Hart
    Intel Open Source Technology Center
    Yocto Project - Linux Kernel

     \ /
      Last update: 2012-05-25 07:01    [W:0.033 / U:155.168 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site