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

Commit 7de08dba authored by Ji Xu's avatar Ji Xu
Browse files

iio: Add new driver for icm20602



Support new IMU device of icm20602 based on I2C interface.

Icm20602 can provide accelerator or gyro and temperature data
through I2C 400 Kbps or SPI 10 Mbps interface. It can also share
the data to userspace based on the water level configured by the userspace.

Change-Id: Ibac2ce1be517eccbf1b548d88b33372637300dee
Signed-off-by: default avatarxuji <xuji@codeaurora.org>
parent 8db2427a
Loading
Loading
Loading
Loading
+28 −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.

Required properties:

 - compatible	: Should be "invensense,icm20602".
 - reg	: the I2C address which depends on the AD0 pin.
 - interrupt-parent	: should be the phandle for the interrupt controller
 - interrupts	: interrupt mapping for GPIO IRQ

Optional properties:
 - invensense,icm20602-gpio:  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 = "invensense,icm20602";
		reg = <0x68>;
		interrupt-parent = <&msm_gpio>;
		interrupts = <13 0>;
		invensense,icm20602-gpio = <&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
@@ -39,6 +39,7 @@ config KMX61
	  be called kmx61.

source "drivers/iio/imu/inv_mpu6050/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 += bmi160/
obj-y += inv_mpu6050/
obj-y += inv_icm20602/

obj-$(CONFIG_KMX61) += kmx61.o
+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