• Christoph Mair's avatar
    drivers/misc: support for the pressure sensor BMP085 from Bosch Sensortec · 5bf1d290
    Christoph Mair authored
    This driver adds support for the BMP085 digital pressure sensor from Bosch
    Sensortec.  It exposes a sysfs api to userspace where pressure and
    temperature measurement results can be read from the pressure0_input and
    temp0_input file.  The chip is able to calculate the average of up to
    eight samples to increase the accuracy.  This feature can be controlled by
    writing to the oversampling file.
    
    The BMP085 digital pressure sensor can measure ambient air pressure and
    temperature.  Both values can be obtained from sysfs files.  The pressure
    is measured by reading from pressure0_input.  Valid values range from
    30000 to 110000 pascal with a resolution of 1 pascal (=0.01 millibar).
    
    temp0_input holds the current temperature in degree celsius, multiplied by
    10.  This results in a resolution of a tenth degree celsius.  Values range
    from -400 to 850.
    
    To increase the accuracy, this chip can calculate the average of 1, 2, 4
    or 8 samples.  This behavior is controlled through the oversampling sysfs
    file.  Two to the power of the value written to that file specifies how
    many samples will be used.  Valid values: 0..3.
    
    [akpm@linux-foundation.org: fix typo]
    [shubhrajyoti@ti.com: optimize the wait time for the pressure sensor, definition of long is arch dependent so make it u32]
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: default avatarChristoph Mair <christoph.mair@gmail.com>
    Signed-off-by: default avatarShubhrajyoti D <shubhrajyoti@ti.com>
    Acked-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
    Cc: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5bf1d290
bmp085.c 12.8 KB