An error occurred fetching the project authors.
- 14 Feb, 2020 2 commits
-
-
Jean-Baptiste Maneyrol authored
Automotive certified IMU, similar to ICM20608. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
They are similar to ICM20608 chip. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 18 Jan, 2020 1 commit
-
-
Jean-Baptiste Maneyrol authored
Add support of temperature data in fifo for all chips. Enable unification of scan elements for icm20602. Add macros for generating scan elements. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 08 Dec, 2019 1 commit
-
-
Jean-Baptiste Maneyrol authored
Temperature should be reported in milli-degrees, not degrees. Fix scale and offset values to use the correct unit. This is a fix for an issue that has been present for a long time. The fixes tag reflects the point at which the code last changed in a fashion that would make this fix patch no longer apply. Backports will be necessary to fix those elements that predate that patch. Fixes: 1615fe41 ("iio: imu: mpu6050: Fix FIFO layout for ICM20602") Cc: stable@vger.kernel.org Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 10 Nov, 2019 1 commit
-
-
Stephan Gerhold authored
MPU6050 has two power supply pins: VDD and VLOGIC, but the mpu6050 driver only supports enabling one of them at the moment. In some cases, they may need to be enabled separately. Add an additional "vdd-supply" that stays enabled for as long as the driver is loaded. We cannot turn off the VDD regulator during suspend as this would cause register settings (FSR, sampling rate, ...) to be lost. Signed-off-by:
Stephan Gerhold <stephan@gerhold.net> Reviewed-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 22 Oct, 2019 1 commit
-
-
Jean-Baptiste Maneyrol authored
Some chips have a fifo overflow bit issue where the bit is always set. The result is that every data is dropped. Change fifo overflow management by checking fifo count against a maximum value. Add fifo size in chip hardware set of values. Fixes: f5057e7b ("iio: imu: inv_mpu6050: better fifo overflow handling") Cc: stable@vger.kernel.org Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 05 Oct, 2019 5 commits
-
-
Jean-Baptiste Maneyrol authored
Put read magnetometer data by mpu inside the fifo. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Add support of driving MPU9250 magnetometer connected on i2c auxiliary bus using the MPU i2c master. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Add registers defines required for driving chip i2c master ip. Add MPU9xxx magnetometer scan elements and update data bytes size. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Disable i2c mux for supported 9xxx chips. This is a pre-requesite for controling 9xxx magnetometer using the i2c master of the chip. Check in device-tree that there is no i2c-gate device declared for ensuring backward compatibility with existing setups. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 05 Jun, 2019 1 commit
-
-
Thomas Gleixner authored
Based on 1 normalized pattern(s): this software is licensed under the terms of the gnu general public license version 2 as published by the free software foundation and may be copied distributed and modified under those terms this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 285 file(s). Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Reviewed-by:
Alexios Zavras <alexios.zavras@intel.com> Reviewed-by:
Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.deSigned-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 14 Apr, 2019 1 commit
-
-
Steve Moskovchenko authored
The MPU6050 driver has recently gained support for the ICM20602 IMU, which is very similar to MPU6xxx. However, the ICM20602's FIFO data specifically includes temperature readings, which were not present on MPU6xxx parts. As a result, the driver will under-read the ICM20602's FIFO register, causing the same (partial) sample to be returned for all reads, until the FIFO overflows. Fix this by adding a table of scan elements specifically for the ICM20602, which takes the extra temperature data into consideration. While we're at it, fix the temperature offset and scaling on ICM20602, since it uses different scale/offset constants than the rest of the MPU6xxx devices. Signed-off-by:
Steve Moskovchenko <stevemo@skydio.com> Fixes: 22904bdf ("iio: imu: mpu6050: Add support for the ICM 20602 IMU") Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 02 Feb, 2019 1 commit
-
-
Randolph Maaßen authored
The Invensense ICM-20602 is a 6-axis MotionTracking device that combines a 3-axis gyroscope and an 3-axis accelerometer. It is very similar to the ICM-20608 imu which is already supported by the mpu6050 driver. The main difference is that the ICM-20602 has the i2c bus disable bit in a separate register. Signed-off-by:
Randolph Maaßen <gaireg@gaireg.de> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 18 Aug, 2018 1 commit
-
-
Brian Masney authored
This patch adds support for the regulator framework to the mpu6050 driver. Signed-off-by:
Brian Masney <masneyb@onstation.org> Signed-off-by:
Jonathan Marek <jonathan@marek.ca> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 15 Jul, 2018 1 commit
-
-
Brian Masney authored
This patch adds support for the MPU 6515 variant. Confirmed that the driver functions correctly on a LG Nexus 5 (hammerhead) phone. Signed-off-by:
Brian Masney <masneyb@onstation.org> Signed-off-by:
Jonathan Marek <jonathan@marek.ca> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 10 Jun, 2018 4 commits
-
-
Jean-Baptiste Maneyrol authored
Check validity of interrupt timestamps by computing time between 2 interrupts. If it matches the chip frequency modulo 4%, it is used as the data timestamp and also for estimating the chip frequency measured from the system. Otherwise timestamp is computed using the estimated chip frequency. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Use fifo overflow bit from int status rather than using an arbitrary threshold. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Instead of storing fifo rate in Hz, store the chip internal sample rate divider. This will be more useful for timestamping. There are both equivalent. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Using a fifo for storing timestamps is useless since the interrupt is in one-shot mode, preventing the hard irq handler to be called when the irq thread is running. Instead use the generic timestamp function iio_pollfunc_store_time. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 06 May, 2018 2 commits
-
-
Jean-Baptiste Maneyrol authored
When in spi mode, we are setting i2c disable bit in user_ctrl register. But the register is overwritten after when turning fifo on. So save user_ctrl init value and always use it when updating the register. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
Jean-Baptiste Maneyrol authored
Implement generic skip first samples mechanism and use it to filter out first sample when gyro is on. The problem for these chips is that the first sample of the gyro is out of specs, because gyro is not completely stabilized. To ensure all data are within sensor specs, we just skip the first sample when turning gyro on. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 28 Apr, 2018 1 commit
-
-
Jean-Baptiste Maneyrol authored
Use devm_* for iio_triggered_buffer_setup, iio_device_register, iio_trigger_register. Delete unneeded inv_mpu6050_remove_trigger, inv_mpu_core_remove, and inv_mpu_remove for spi driver. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 21 Apr, 2018 1 commit
-
-
Martin Kelly authored
Currently, we support only rising edge interrupts, and in fact we assume that the interrupt we're given is rising edge (and things won't work if it's not). However, the device supports rising edge, falling edge, level low, and level high interrupts. Empirically, on my system, switching to level interrupts has fixed a problem I had with significant (~40%) interrupt loss with edge interrupts. This issue is likely related to the SoC I'm using (Allwinner H3), but being able to switch the interrupt type is still a very useful workaround. I tested this with each interrupt type and verified correct behavior in a logic analyzer. Add support for these interrupt types while also eliminating the error case of the device tree and driver using different interrupt types. Signed-off-by:
Martin Kelly <mkelly@xevo.com> Acked-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 15 Apr, 2018 1 commit
-
-
Douglas Fischer authored
Added support for the mpu9255 IMU to the mpu6050 driver. The register map is the same as the other chips; the only driver difference is the compatible string and the WHOAMI register value. Signed-off-by:
Douglas Fischer <fischerdouglasc@gmail.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 30 Mar, 2018 1 commit
-
-
Jean-Baptiste Maneyrol authored
Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
- 11 Jun, 2017 1 commit
-
-
Jean-Baptiste Maneyrol authored
There are several locks issues when using buffer and direct polling data at the same time. Use our own mutex for managing locking and block simultaneous use of buffer and direct polling by using iio_device_{claim/release}_direct_mode. This makes chip_config enable bit obsolete, so delete it. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 03 Jun, 2017 1 commit
-
-
Jean-Baptiste Maneyrol authored
Starting from MPU6500, accelerometer dlpf is set in a separate register named ACCEL_CONFIG_2. Add this new register in the map and set it for the corresponding chips. Signed-off-by:
Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Cc: stable@vger.kernel.org Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 02 Apr, 2017 1 commit
-
-
Jonathan Cameron authored
The mpu9250 is a SIP containing an mpu6500 and an ak8975. If this was all there was too it there would be no need for explicit handling in the driver. Arguably the bindings would also only reflect the presence of an mpu6500 with the ak8975 hanging off it, as the kernel doesn't care that they are in one package. However, the WHOAMI value changes as well so best to add explicit support. Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 03 Jul, 2016 1 commit
-
-
Gregor Boirie authored
Introduce support for Invense ICM20608 IMU, a 6-axis motion tracking device that combines a 3-axis gyroscope and a 3-axis accelerometer: http://www.invensense.com/products/motion-tracking/6-axis/icm-20608-2Signed-off-by:
Gregor Boirie <gregor.boirie@parrot.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 25 Apr, 2016 3 commits
-
-
Crestez Dan Leonard authored
This device is a package containing a MPU6050-like sensor and an AK8975 magnetometer. The magnetometer component is supported by the existing ak8975 driver. This patch also rephrases the Kconfig descriptions. Signed-off-by:
Crestez Dan Leonard <leonard.crestez@intel.com> Acked-by:
Ge Gao <ggao@invensense.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
Crestez Dan Leonard authored
This can be used to distinguish mpu6500. This is a warning rather than an error because the differences are mostly irrelevant and it's nice to avoid breaking users with slightly incorrect ACPI/DT. Signed-off-by:
Crestez Dan Leonard <leonard.crestez@intel.com> Acked-by:
Ge Gao <ggao@invensense.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
Crestez Dan Leonard authored
This field was unused and incorrect for mpu6500. Signed-off-by:
Crestez Dan Leonard <leonard.crestez@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 23 Apr, 2016 1 commit
-
-
Gregor Boirie authored
Add a new rotation matrix sysfs attribute compliant with IIO core mounting matrix API. Matrix is retrieved from "in_anglvel_mount_matrix" and "in_accel_mount_matrix" sysfs attributes. It is declared into mpu6050 DTS entry as a "mount-matrix" property. Old interface is kept for backward userspace compatibility and may be retrieved from legacy platform_data mechanism only. Signed-off-by:
Gregor Boirie <gregor.boirie@parrot.com> Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 22 Apr, 2016 1 commit
-
-
Peter Rosin authored
Allocate an explicit i2c mux core to handle parent and child adapters etc. Update the select/deselect ops to be in terms of the i2c mux core instead of the child adapter. Acked-by:
Jonathan Cameron <jic23@kernel.org> Tested-by:
Crestez Dan Leonard <leonard.crestez@intel.com> Signed-off-by:
Peter Rosin <peda@axentia.se> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- 25 Feb, 2016 4 commits
-
-
Matt Ranostay authored
Signed-off-by:
Matt Ranostay <matt.ranostay@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
Matt Ranostay authored
Allow setting of the x/y/z axes calibration offsets for the gyroscope and accelerometer. Signed-off-by:
Matt Ranostay <matt.ranostay@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
Matt Ranostay authored
Signed-off-by:
Matt Ranostay <matt.ranostay@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
Matt Ranostay authored
replace msleep(INV_MPU6050_REG_UP_TIME) with usleep_range calls due to fact the wait time is under 20 milliseconds. Signed-off-by:
Matt Ranostay <matt.ranostay@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- 13 Feb, 2016 1 commit
-
-
Adriana Reus authored
The only difference between the MPU6000 and the MPU6050 is that the first also supports SPI. Add SPI driver for this chip. Signed-off-by:
Adriana Reus <adriana.reus@intel.com> Reviewed-by:
Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-