summaryrefslogtreecommitdiff
path: root/drivers/iio/magnetometer/inv_compass/README
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/magnetometer/inv_compass/README')
-rwxr-xr-xdrivers/iio/magnetometer/inv_compass/README176
1 files changed, 0 insertions, 176 deletions
diff --git a/drivers/iio/magnetometer/inv_compass/README b/drivers/iio/magnetometer/inv_compass/README
deleted file mode 100755
index 54f2bb8ded2..00000000000
--- a/drivers/iio/magnetometer/inv_compass/README
+++ /dev/null
@@ -1,176 +0,0 @@
-Kernel driver
-Author: Invensense <http://invensense.com>
-
-Table of Contents:
-==================
-- Description
-- Integrating the Driver in the Linux Kernel
-- Board and Platform Data
- > Platform Data
-- Board File Modifications for compass
- > AMI306
- > YAS530/532/533
-- IIO Subsystem
- > Communicating with the Driver in Userspace
-- Streaming Data to an Userspace Application
-- Test Applications
- > Running Test Applications with AMI306 or YAS53x
-
-Description
-===========
-This document describes how to install the Invensense device driver for AMI306
-and YAS53x series compass chip into a Linux kernel. The Invensense driver
-currently supports the following sensors:
-- AMI306
-- YAS530
-- YAS532
-- YAS533
-
-Please refer to the appropriate product specification
-document for further information regarding the slave address.
-
-The following files are included in this package:
-- Kconfig
-- Makefile
-- inv_ami306_core.c
-- inv_ami306_ring.c
-- inv_ami306_trigger.c
-- inv_ami306_iio.h
-- inv_yas53x_core.c
-- inv_yas53x_ring.c
-- inv_yas53x_trigger.c
-- inv_yas53x_iio.h
-
-Integrating the Driver in the Linux Kernel
-==========================================
-Please add the files as follows:
-- Add all above files to drivers/staging/iio/magnetometer/inv_compass
-(another directory is acceptable, but this is the recommended destination)
-
-In order to see the driver in menuconfig when building the kernel, please
-make modifications as shown below:
-
- modify "drivers/staging/iio/magnetometer/Kconfig" with:
- >> source "drivers/staging/iio/magnetometer/inv_compass/Kconfig"
-
- modify "drivers/staging/iio/magnetometer/Makefile" with:
- >> obj-y += inv_compass/
-
-
-Board and Platform Data
-=======================
-In order to recognize the Invensense device on the I2C bus, the board file must
-be modified.
-The i2c_board_info instance must be defined as shown below.
-
-Platform Data
--------------
-The platform data (orientation matrix and secondary bus configurations) must be
-modified as show below, according to your particular platform configuration.
-
-Board File Modifications for Secondary I2C Configuration
-========================================================
-For the Panda Board, the board file can be found at
-arch/arm/mach-omap2/board-omap4panda.c.
-Please modify the pertinent baord file in your system according to the examples
-shown below:
-
-AMI306
--------------------------------------------------
-static struct mpu_platform_data compass_data = {
- .orientation = { 0, 0, 1,
- 0, 1, 0,
- 1, 0, 0 },
-};
-
-static struct i2c_board_info __initdata chip_board_info[] = {
- {
- I2C_BOARD_INFO("ami306", 0x0E),
- .platform_data = &compass_data,
- },
-};
-
-YAS53x(Use YAS532 as an example)
--------------------------------------------------
-static struct mpu_platform_data compass_data = {
- .orientation = { 0, -1, 0,
- 1, 0, 0,
- 0, 0, 1 },
-};
-
-static struct i2c_board_info __initdata compass_board_info[] = {
- {
- I2C_BOARD_INFO("yas532", 0x2E),
- .platform_data = &compass_data,
- },
-};
-
-IIO subsystem
-=============
-A successful installation will create the following two new directories under
-/sys/bus/iio/devices:
- - iio:device0
- - trigger0
-
-Also, a new file, "iio:device0", will be created in the /dev/ diretory.
-(if you have more than one IIO device, the file will be named "iio:deviceX",
-where X is a number)
-
-
-Communicating with the Driver in Userspace
-------------------------------------------
-The driver generates several files in sysfs upon installation.
-These files are used to communicate with the driver. The files can be found
-at /sys/bus/iio/devices/iio:device0 (or ../iio:deviceX as shown above).
-
-A brief description of the pertinent files for each Invensense device is shown
-below:
-
-AMI306
---------
-compass_matrix (read-only)
---show the orientation matrix obtained from the board file.
-
-sampling_frequency(read and write)
---show and change the sampling rate of the sensor.
-
-YAS53x
----------------------
-YAS53x has all the attributes AMI306 has. It has one more additional attribute:
-
-overunderflow(read-only)
---value 1 shows an overflow or underflow happens. Need to write into it to make
- it zero.
-
-Streaming Data to an Userspace Application
-==========================================
-When streaming data to an userspace application, we recommend that you access
-compass data via /dev/iio:device0.
-
-Please follow the steps below to read data at a constant rate from the driver:
-
-1. Write the desired output rate to sampling_frequency.
-2. Write 1 to enable to turn on the event.
-3. Read /dev/iio:device0 to get a string of gyro/accel/compass data.
-4. Parse this string to obtain each compass element.
-
-Test Applications
-=================
-A test application is located under software/simple_apps/mpu_iio.
-This application is stand-alone in that it cannot be run concurrently with other
-entities trying to access the device node(s) or sysfs entries; in particular,
-the
-
-Running Test Applications
----------------------------------------------------------
-To run test applications with AMI306 or YAS53x devices,
-please use the following commands:
-
-1. for ami306:
- mpu_iio -n ami306 -c 10 -l 3
-
-2. for yas532:
- mpu_iio -n yas532 -c 10 -l 3
-
-Please use mpu_iio.c and iio_utils.h as example code for your development
-purposes.