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.

Reply via email to