Revision tags: v5.3.8 |
|
#
fc3f6ad7 |
| 27-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: fix ODR check in st_lsm6dsx_write_raw
Since st_lsm6dsx i2c master controller relies on accel device as trigger and slave devices can run at different ODRs we must select an acc
iio: imu: st_lsm6dsx: fix ODR check in st_lsm6dsx_write_raw
Since st_lsm6dsx i2c master controller relies on accel device as trigger and slave devices can run at different ODRs we must select an accel_odr >= slave_odr. Report real accel ODR in st_lsm6dsx_check_odr() in order to properly set sensor frequency in st_lsm6dsx_write_raw and avoid to report unsupported frequency
Fixes: 6ffb55e5009ff ("iio: imu: st_lsm6dsx: introduce ST_LSM6DSX_ID_EXT sensor ids") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
59af4e20 |
| 03-Nov-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: explicitly define odr table size
Introduce odr_len in st_lsm6dsx_odr_table_entry data structure in order to explicitly define odr table size and support devices with different
iio: imu: st_lsm6dsx: explicitly define odr table size
Introduce odr_len in st_lsm6dsx_odr_table_entry data structure in order to explicitly define odr table size and support devices with different odr table map
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
cf9c71b3 |
| 24-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: add support to LSM6DSRX
Add support to STM LSM6DSRX 6-axis (acc + gyro) Mems sensor https://www.st.com/resource/en/datasheet/lsm6dsrx.pdf
Signed-off-by: Lorenzo Bianconi <lore
iio: imu: st_lsm6dsx: add support to LSM6DSRX
Add support to STM LSM6DSRX 6-axis (acc + gyro) Mems sensor https://www.st.com/resource/en/datasheet/lsm6dsrx.pdf
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
Revision tags: v5.3.7, v5.3.6, v5.3.5 |
|
#
fa060a3d |
| 07-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: add support to LSM6DS0
Add support to STM LSM6DS0 6-axis (acc + gyro) Mems sensor
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonatha
iio: imu: st_lsm6dsx: add support to LSM6DS0
Add support to STM LSM6DS0 6-axis (acc + gyro) Mems sensor
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
1b375101 |
| 07-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1
Fix typos in gyro gain definitions for LSM9DS1 sensor
Fixes: 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9
iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1
Fix typos in gyro gain definitions for LSM9DS1 sensor
Fixes: 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
cb3b6b8e |
| 07-Oct-2019 |
Mario Tesi <mario.tesi@st.com> |
iio: imu: st_lsm6dsx: add odr calibration feature
On LSM6DSO/LSM6DSR/LSM6DSOX/ASM330LHH and ISH330DHCX devices it is possible to trim the hardware timestamp resolution through the FREQ_FINE[7:0] bit
iio: imu: st_lsm6dsx: add odr calibration feature
On LSM6DSO/LSM6DSR/LSM6DSOX/ASM330LHH and ISH330DHCX devices it is possible to trim the hardware timestamp resolution through the FREQ_FINE[7:0] bits of the INTERNAL_FREQ_FINE register, which contains the difference in percentage of the effective ODR (and timestamp rate) with respect to the typical value.
The formula for calculating the effective ODR reported in the application notes has been linearized to the first order to simplify the calculation (pls. see note on source code).
This change may be useful in the outcome of CTS tests regarding the SingleSensorTests and the SensorTest#testSensorTimeStamps for high ODRs
Signed-off-by: Mario Tesi <mario.tesi@st.com> Acked-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
960506ed |
| 08-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: enable drdy-mask if available
Enable drdy mask if available in order to mark invalid samples during sensor bootstrap phase
Tested-by: Mario Tesi <mario.tesi@st.com> Signed-off
iio: imu: st_lsm6dsx: enable drdy-mask if available
Enable drdy mask if available in order to mark invalid samples during sensor bootstrap phase
Tested-by: Mario Tesi <mario.tesi@st.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
3ea39d61 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: enable wake-up event for LSM6DSO
Add missing wake-up register info for LSM6DSO/LSM6DSOX sensor
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cam
iio: imu: st_lsm6dsx: enable wake-up event for LSM6DSO
Add missing wake-up register info for LSM6DSO/LSM6DSOX sensor
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
b7a73b33 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: add wakeup_source in st_sensors_platform_data
Add the possibility to enable/disable wakeup source through st_sensors_platform_data and not only through device tree
Signed-off-
iio: imu: st_lsm6dsx: add wakeup_source in st_sensors_platform_data
Add the possibility to enable/disable wakeup source through st_sensors_platform_data and not only through device tree
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
b307f495 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: fix checkpatch warning
Fix following checkpatch warnings:
CHECK: Alignment should match open parenthesis +static int st_lsm6dsx_read_event(struct iio_dev *iio_dev, + con
iio: imu: st_lsm6dsx: fix checkpatch warning
Fix following checkpatch warnings:
CHECK: Alignment should match open parenthesis +static int st_lsm6dsx_read_event(struct iio_dev *iio_dev, + const struct iio_chan_spec *chan,
CHECK: Alignment should match open parenthesis +static int st_lsm6dsx_write_event(struct iio_dev *iio_dev, + const struct iio_chan_spec *chan,
CHECK: Alignment should match open parenthesis +static int st_lsm6dsx_read_event_config(struct iio_dev *iio_dev, + const struct iio_chan_spec *chan,
CHECK: Alignment should match open parenthesis +static int st_lsm6dsx_write_event_config(struct iio_dev *iio_dev, + const struct iio_chan_spec *chan,
WARNING: line over 80 characters + if (dev->of_node && of_property_read_bool(dev->of_node, "wakeup-source"))
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
d278d447 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: grab conf mutex in st_lsm6dsx_write_event_config
Always grub conf mutex in st_lsm6dsx_write_event_config since it can run concurrently with FIFO configuration
Fixes: b5969abfa
iio: imu: st_lsm6dsx: grab conf mutex in st_lsm6dsx_write_event_config
Always grub conf mutex in st_lsm6dsx_write_event_config since it can run concurrently with FIFO configuration
Fixes: b5969abfa8b8 ("iio: imu: st_lsm6dsx: add motion events") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
04ca37d5 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: rely on st_lsm6dsx_update_bits_locked configuring events
Rely on st_lsm6dsx_update_bits_locked in st_lsm6dsx_write_event and st_lsm6dsx_event_setup routines since they can run
iio: imu: st_lsm6dsx: rely on st_lsm6dsx_update_bits_locked configuring events
Rely on st_lsm6dsx_update_bits_locked in st_lsm6dsx_write_event and st_lsm6dsx_event_setup routines since they can run concurrently with sensor hub configuration
Fixes: b5969abfa8b8 ("iio: imu: st_lsm6dsx: add motion events") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
84b2e7c3 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: always check enable_reg in st_lsm6dsx_event_setup
Check if enable_reg of event_settings data structure is defined before writing on it
Fixes: b5969abfa8b8 ("iio: imu: st_lsm6d
iio: imu: st_lsm6dsx: always check enable_reg in st_lsm6dsx_event_setup
Check if enable_reg of event_settings data structure is defined before writing on it
Fixes: b5969abfa8b8 ("iio: imu: st_lsm6dsx: add motion events") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
66b662a1 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: move bdu/boot and reset register info in hw_settings
Move bdu, boot and reset register definitions in hw_settings register map since not all supported sensors (e.g lsm9ds1) rel
iio: imu: st_lsm6dsx: move bdu/boot and reset register info in hw_settings
Move bdu, boot and reset register definitions in hw_settings register map since not all supported sensors (e.g lsm9ds1) rely on the same definitions
Fixes: 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
31fe8d4e |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: do not access active-low/open-drain regs if not supported
Move active low and open drain register definitions in hw_settings register map since not all supported sensors (e.g l
iio: imu: st_lsm6dsx: do not access active-low/open-drain regs if not supported
Move active low and open drain register definitions in hw_settings register map since not all supported sensors (e.g lsm9ds1) rely on the same definitions
Fixes: 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
7e906103 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: move irq related definitions in irq_config
Group irq related definition in irq_config structure in st_lsm6dsx_settings. This is a preliminary patch to move OpenDrain/Active low
iio: imu: st_lsm6dsx: move irq related definitions in irq_config
Group irq related definition in irq_config structure in st_lsm6dsx_settings. This is a preliminary patch to move OpenDrain/Active low registers in st_lsm6dsx_settings.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
a912ee4c |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: add sanity check for read_fifo pointer
Check read_fifo pointer before using it since we can't assume it is always set adding new sensors. This patch fixes the following crash:
iio: imu: st_lsm6dsx: add sanity check for read_fifo pointer
Check read_fifo pointer before using it since we can't assume it is always set adding new sensors. This patch fixes the following crash:
irq 277: nobody cared (try booting with the "irqpoll" option) CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.0-rc5-00322-g792b824-dirty #7 Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [<c0112750>] (unwind_backtrace) from [<c010d018>] (show_stack+0x10/0x14) [<c010d018>] (show_stack) from [<c0c2bfc8>] (dump_stack+0xd8/0x10c) [<c0c2bfc8>] (dump_stack) from [<c01923fc>] (__report_bad_irq+0x24/0xc0) [<c01923fc>] (__report_bad_irq) from [<c0192820>] (note_interrupt+0x27c/0x2dc) [<c0192820>] (note_interrupt) from [<c018f174>] (handle_irq_event_percpu+0x54/0x7c) [<c018f174>] (handle_irq_event_percpu) from [<c018f1d4>] (handle_irq_event+0x38/0x5c) [<c018f1d4>] (handle_irq_event) from [<c0193664>] (handle_level_irq+0xc8/0x154) [<c0193664>] (handle_level_irq) from [<c018df58>] (generic_handle_irq+0x20/0x34) [<c018df58>] (generic_handle_irq) from [<c053c348>] (mxc_gpio_irq_handler+0xc4/0xf8) [<c053c348>] (mxc_gpio_irq_handler) from [<c053c3e0>] (mx3_gpio_irq_handler+0x64/0xb8) [<c053c3e0>] (mx3_gpio_irq_handler) from [<c018df58>] (generic_handle_irq+0x20/0x34) [<c018df58>] (generic_handle_irq) from [<c018e550>] (__handle_domain_irq+0x64/0xe0) [<c018e550>] (__handle_domain_irq) from [<c0529610>] (gic_handle_irq+0x4c/0xa0) [<c0529610>] (gic_handle_irq) from [<c0101a70>] (__irq_svc+0x70/0x98) Exception stack(0xc1301f10 to 0xc1301f58 1f00: 00000001 00000006 00000000 c130c340 1f20: c1300000 c1308928 00000001 c1308960 00000000 c12b9db0 c1308908 00000000 1f40: 00000000 c1301f60 c0182010 c0109508 20000013 ffffffff [<c0101a70>] (__irq_svc) from [<c0109508>] (arch_cpu_idle+0x20/0x3c) [<c0109508>] (arch_cpu_idle) from [<c015ed70>] (do_idle+0x1bc/0x2bc) [<c015ed70>] (do_idle) from [<c015f204>] (cpu_startup_entry+0x18/0x1c) [<c015f204>] (cpu_startup_entry) from [<c1200e68>] (start_kernel+0x440/0x504) [<c1200e68>] (start_kernel) from [<00000000>] (0x0) handlers: [<62052c0d>] st_lsm6dsx_handler_irq threaded [<f2004b92>] st_lsm6dsx_handler_thread
Fixes: 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1") Tested-by: Bobby Jones <rjones@gateworks.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
615bd378 |
| 06-Oct-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: use st_lsm6dsx_read_locked in st_lsm6dsx_report_motion_event
Rely on st_lsm6dsx_read_locked in st_lsm6dsx_report_motion_event since it can run concurrently with sensor hub conf
iio: imu: st_lsm6dsx: use st_lsm6dsx_read_locked in st_lsm6dsx_report_motion_event
Rely on st_lsm6dsx_read_locked in st_lsm6dsx_report_motion_event since it can run concurrently with sensor hub configuration. Move event related code in st_lsm6dsx_report_motion_event
Fixes: 1aabad1fb5e9 ("iio: imu: st_lsm6dsx: add motion report function and call from interrupt") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
Revision tags: v5.3.4, v5.3.3, v5.3.2, v5.3.1 |
|
#
1aabad1f |
| 16-Sep-2019 |
Sean Nyekjaer <sean@geanix.com> |
iio: imu: st_lsm6dsx: add motion report function and call from interrupt
Report iio motion events to iio subsystem and filter motion events. Wakeup will still be on all channels as it's not possible
iio: imu: st_lsm6dsx: add motion report function and call from interrupt
Report iio motion events to iio subsystem and filter motion events. Wakeup will still be on all channels as it's not possible to do the filtering in hw.
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
a3aa17d4 |
| 16-Sep-2019 |
Sean Nyekjaer <sean@geanix.com> |
iio: imu: st_lsm6dsx: always enter interrupt thread
The interrupt source can come from multiple sources, fifo and wake interrupts. Enter interrupt thread to check which interrupt that has fired.
Si
iio: imu: st_lsm6dsx: always enter interrupt thread
The interrupt source can come from multiple sources, fifo and wake interrupts. Enter interrupt thread to check which interrupt that has fired.
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
4c997dfa |
| 16-Sep-2019 |
Sean Nyekjaer <sean@geanix.com> |
iio: imu: st_lsm6dsx: add wakeup-source option
This add ways for the SoC to wake from accelerometer wake events.
In the suspend function we skip disabling the sensor if wakeup-source and events are
iio: imu: st_lsm6dsx: add wakeup-source option
This add ways for the SoC to wake from accelerometer wake events.
In the suspend function we skip disabling the sensor if wakeup-source and events are activated.
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
b5969abf |
| 16-Sep-2019 |
Sean Nyekjaer <sean@geanix.com> |
iio: imu: st_lsm6dsx: add motion events
Add event channels that controls the creation of motion events. Tested on ISM330DLC
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Lorenzo Bianc
iio: imu: st_lsm6dsx: add motion events
Add event channels that controls the creation of motion events. Tested on ISM330DLC
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
6ee6a368 |
| 16-Sep-2019 |
Sean Nyekjaer <sean@geanix.com> |
iio: imu: st_lsm6dsx: move interrupt thread to core
This prepares the interrupt to be used for other stuff than fifo reading + event readings.
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Acked-b
iio: imu: st_lsm6dsx: move interrupt thread to core
This prepares the interrupt to be used for other stuff than fifo reading + event readings.
Signed-off-by: Sean Nyekjaer <sean@geanix.com> Acked-by: Lorenzo Bianconi <lorenzo@kernel.org> Reviewed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
Revision tags: v5.3 |
|
#
22ea5651 |
| 11-Sep-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: enable clear on read for latched interrupts
Enable clear on read feature for latched interrupts. This bit allows immediately clearing the latched interrupts of an event detecti
iio: imu: st_lsm6dsx: enable clear on read for latched interrupts
Enable clear on read feature for latched interrupts. This bit allows immediately clearing the latched interrupts of an event detection upon the read of the corresponding status register. It must be set to 1 together with LIR. This feature is available just on LSM6DS0/LSM6DSR/ASM330LHH
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
9db02d32 |
| 11-Sep-2019 |
Lorenzo Bianconi <lorenzo@kernel.org> |
iio: imu: st_lsm6dsx: enable LIR for sensor events
Enable Latched interrupt by default for sensor events
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.c
iio: imu: st_lsm6dsx: enable LIR for sensor events
Enable Latched interrupt by default for sensor events
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|