Hi

As a hobby I've been playing with an Olimex A20-SOM and trying to
attach a Drotek Invensense MPU9250 break out board.

So far my uboot is working and I can boot my build via dhcp + nfs. I
added the "i2ctools" to the build and I'm able to run "i2cdetect -y 0"
and I can see my devices on i2c0

#
# i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- 34 -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
#


The drotek breakout board:
http://www.drotek.fr/shop/en/home/466-imu-10dof-mpu9250-ms5611.html

includes ms5611 altimeter which is why you see address "0x34"


A very kind Daniel Baluta provided a patched version of the "inv_mpu"
drivers enabling them to compile for the 3.16+ kernels. (rather then
3.4)

Now I have a module  (inv_mpu_iio) that loads....but it is not
associated with my i2c0 "0x69" device, nor has it created any /sys
device files:

#
# lsmod
Module                  Size  Used by    Not tainted
inv_mpu_iio            62968  0
#
# dmesg | grep inv
[    1.187348] i2c i2c-0: client [inv_mpu_iio] registered with bus id 0-0069
[   22.452739] i2c-core: driver [inv_mpu_iio] registered
#


First question: Does my DTS child node look ok?


i2c0: i2c@01c2ac00 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";

        mpu@69 {
                compatible = "inv_mpu_iio";
                reg = <0x69>;
        };
};


Something has worked because I can cat this file:
# cat /sys/devices/soc@01c00000/1c2ac00.i2c/i2c-0/0-0069/name
inv_mpu_iio
#

This is the driver I am using:
https://github.com/BruceBushby/inv_mpu


"inv_mpu_core.c"  ...contains the probe function:

static int inv_mpu_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct inv_mpu_state *st;
struct iio_dev *indio_dev;
int result, err;
pr_debug("Invensense MPU probe started.\n");




Sadly I don't see any "module debug" messages.....even though I've
enabled various DEBUG in my kernel config:


CONFIG_I2C_DEBUG_CORE=y
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y




Any ideas?



Thanks
Bruce

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to