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 <
[email protected]> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.