Commit 747c7cf1 authored by Jagath Jog J's avatar Jagath Jog J Committed by Jonathan Cameron

iio: accel: bma400: Fix the scale min and max macro values

Changing the scale macro values to match the bma400 sensitivity
for 1 LSB of all the available ranges.

Fixes: 465c811f ("iio: accel: Add driver for the BMA400")
Signed-off-by: default avatarJagath Jog J <jagathjog1996@gmail.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20220505133021.22362-2-jagathjog1996@gmail.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 8dc0a727
......@@ -83,8 +83,27 @@
#define BMA400_ACC_ODR_MIN_WHOLE_HZ 25
#define BMA400_ACC_ODR_MIN_HZ 12
#define BMA400_SCALE_MIN 38357
#define BMA400_SCALE_MAX 306864
/*
* BMA400_SCALE_MIN macro value represents m/s^2 for 1 LSB before
* converting to micro values for +-2g range.
*
* For +-2g - 1 LSB = 0.976562 milli g = 0.009576 m/s^2
* For +-4g - 1 LSB = 1.953125 milli g = 0.019153 m/s^2
* For +-16g - 1 LSB = 7.8125 milli g = 0.076614 m/s^2
*
* The raw value which is used to select the different ranges is determined
* by the first bit set position from the scale value, so BMA400_SCALE_MIN
* should be odd.
*
* Scale values for +-2g, +-4g, +-8g and +-16g are populated into bma400_scales
* array by left shifting BMA400_SCALE_MIN.
* e.g.:
* To select +-2g = 9577 << 0 = raw value to write is 0.
* To select +-8g = 9577 << 2 = raw value to write is 2.
* To select +-16g = 9577 << 3 = raw value to write is 3.
*/
#define BMA400_SCALE_MIN 9577
#define BMA400_SCALE_MAX 76617
#define BMA400_NUM_REGULATORS 2
#define BMA400_VDD_REGULATOR 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment