ok understood, did a little reading and I think I get it. Had a go enabling the internal pull ups and i2c0 & i2c1 look better. i2c2 is still sticky but as you say I need to go over the dts files I am using.
arch/arm/boot/dts/sun5i-a13.dtsi @@ -505,21 +505,21 @@ allwinner,pins = "PB0", "PB1"; allwinner,function = "i2c0"; allwinner,drive = <SUN4I_PINCTRL_10_MA>; - allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; }; i2c1_pins_a: i2c1@0 { allwinner,pins = "PB15", "PB16"; allwinner,function = "i2c1"; allwinner,drive = <SUN4I_PINCTRL_10_MA>; - allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; }; i2c2_pins_a: i2c2@0 { allwinner,pins = "PB17", "PB18"; allwinner,function = "i2c2"; allwinner,drive = <SUN4I_PINCTRL_10_MA>; - allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; }; mmc0_pins_a: mmc0@0 { # # i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # # i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # # i2cdetect -y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- [ 3224.743548] i2c i2c-2: mv64xxx: I2C bus locked, block: 1, time_left: 0 -- [ 3224.750339] i2c i2c-2: mv64xxx_i2c_fsm: Ctlr Error -- state: 0x2, status: 0x0, addr: 0x22, flags: 0x0 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- # Thanks for the help, much appreciated!! On Fri, Jun 19, 2015 at 11:32 AM, Maxime Ripard < maxime.rip...@free-electrons.com> wrote: > On Fri, Jun 19, 2015 at 11:08:26AM +0100, bruce bushby wrote: > > Hi Maxime > > > > > So you're using a DT for a board that is not yours. Please NEVER do > > > that, unless you're willing to take the risk of blowing your board up. > > > > I'm using the "A13-SOM" cpu module from Olimex ....which I believed > > was a close match to the "A13-OLinuXino" board minus some > > peripherals. I'm using them to learn so have a half dozen for when > > they break. ..."touch wood" so far so good. > > Unless you know for a fact that the board are exactly the same, don't > do that. > > > > Do you have pullups on that bus? > > > > Nothing is connected to the module besides the 3.3V power and a uart > > for uart0 (console) ...it's booting from sdcard. Previously I was > > using the A20-SOM ....although that was via the EVB. Would a Soc > > require pullups to scan an empty bus? ...perhaps this is my > > problem. > > Pull-ups are needed on both lines of any I2C bus. If the board doesn't > have any, you might have your problem. You can try to enable the > internal ones in the pinctrl node that each buses use. > > Maxime > > -- > Maxime Ripard, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com > -- 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.