Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4076b0f3 authored by zhaochen's avatar zhaochen
Browse files

icm20602: Add new driver of icm20602



Support new IMU device icm20602 based on I2C interface

Icm20602 can provide accel/gyro and temperature data through
i2c in 400kb/s or spi 10mb/s interface.
Icm20602 driver can  push the data to userspace in a water level
which is config by the driver application.

Change-Id: I138ab362254c95a9196623fa2263f56a00f40874
Signed-off-by: default avatarzhaochen <zhaochen@codeaurora.org>
parent 2733dc20
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
The ICM20602 sensor is 6-axis gyroscope+accelerometer combo
device which is made by InvenSense Inc.

The datasheet can be found as the following link:
https://www.invensense.com/products/motion-tracking/6-axis/icm-20602/

Required properties:

 - compatible	: Should be "invn,icm20602".
 - reg		: the I2C address which depends on the AD0 pin.

Optional properties:
 - invn,icm20602-irq:  the irq gpio. This is not used if
 using SMD to trigger. this is needed only if using the
 device IRQ to trigger. Only using SMD to trigger can
 support 8K sample rate.

Example:
	icm20602-i2c@068 {
		compatible = "invn,icm20602";
		reg = <0x68>;
		interrupt-parent = <&msm_gpio>;
		interrupts = <13 0>;
		invn,icm20602-irq = <&msm_gpio 13 0x0>;
		pinctrl-names = "imu_active","imu_suspend";
		pinctrl-0 = <&imu_int_active>;
		pinctrl-1 = <&imu_int_suspend>;
		status = "okay";
	};
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ source "drivers/iio/imu/inv_mpu6050/Kconfig"
source "drivers/iio/imu/inv_icm20689/Kconfig"
source "drivers/iio/imu/bmi160/Kconfig"
source "drivers/iio/imu/inv_mpu9250/Kconfig"
source "drivers/iio/imu/inv_icm20602/Kconfig"

endmenu

+1 −0
Original line number Diff line number Diff line
@@ -15,5 +15,6 @@ obj-$(CONFIG_IIO_ADIS_LIB) += adis_lib.o

obj-y += inv_mpu6050/
obj-y += inv_icm20689/
obj-y += inv_icm20602/
obj-y += bmi160/
obj-y += inv_mpu9250/
+14 −0
Original line number Diff line number Diff line
#
# inv-icm20602 drivers for Invensense MPU devices and combos
#
config INV_ICM20602_IIO
	tristate "Invensense ICM20602 devices"
	depends on I2C && SYSFS
	select IIO_BUFFER
	select IIO_BUFFER_CB
	select IIO_TRIGGERED_BUFFER
	help
	  This driver supports the Invensense ICM20602 devices.
	  It is a gyroscope/accelerometer combo device.
	  This driver can be built as a module. The module will be called
	  inv-icm20602.
+6 −0
Original line number Diff line number Diff line
#
# Makefile for Invensense icm20602 device.
#

obj-$(CONFIG_INV_ICM20602_IIO) += inv-icm20602.o
inv-icm20602-objs := inv_icm20602_core.o inv_icm20602_ring.o inv_icm20602_trigger.o inv_icm20602_bsp.o
Loading