[beagleboard] More expansionboards supported in new kernel/u-boot combination

102 views
Skip to first unread message

Koen Kooi

unread,
May 5, 2010, 3:35:46 AM5/5/10
to Beagle Board
Hi,

If you head over to http://www.angstrom-distribution.org/demo/beagleboard/ and download the latest u-boot.bin and uImage you will get better support for various expansion boards, the most notable being TCT Zippy2[1] and TCT Trainer[2]. U-boot will detect expansion boards and try to set up the pinmux, while the kernel will try to load the drivers and setup GPIOs.

If you have a Zippy or Zippy2 the DS1307 RTC will be working again and a driver for the AT24 eeprom will get loaded. If you have a Trainer board the kernel will free some GPIOs that you can export to sysfs.

If you're updating from an older uboot (2009.X or earlier), you'll also need the new MLO from the same site. If you are having trouble getting MLO to be detected on the SD card, try flashing it to NAND, instructions are in the README.

regards,

Koen

[1] http://elinux.org/BeagleBoard_Zippy2
[2] http://elinux.org/BeagleBoard_Trainer

--
You received this message because you are subscribed to the Google Groups "Beagle Board" group.
To post to this group, send email to beagl...@googlegroups.com.
To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.

Einzig

unread,
May 6, 2010, 10:43:42 AM5/6/10
to Beagle Board
Hi Koen,

I just downloaded the files you mentioned (in fact I check every day
http://www.angstrom-distribution.org/demo/beagleboard/ for updates).

Could you please upload the kernel configuration file you used to
build the 2.6.32.r72 kernel?

I have problems with the Zippy2 ethernet interface. I can get it to
work and I don't know whether CONFIG_KS8851 is enabled.

No message during startup seems to indicate the driver is loaded.
(dmesg has no trace of KS8851)

thank you very much









On May 5, 9:35 am, Koen Kooi <k...@dominion.thruhere.net> wrote:
> Hi,
>
> If you head over tohttp://www.angstrom-distribution.org/demo/beagleboard/and download the latest u-boot.bin and uImage you will get better support for various expansion boards, the most notable being TCT Zippy2[1] and TCT Trainer[2]. U-boot will detect expansion boards and try to set up the pinmux, while the kernel will try to load the drivers and setup GPIOs.

Robert Nelson

unread,
May 6, 2010, 10:49:59 AM5/6/10
to beagl...@googlegroups.com
On Thu, May 6, 2010 at 9:43 AM, Einzig <e1n...@gmail.com> wrote:
> Hi Koen,
>
> I just downloaded the files you mentioned (in fact I check every day
> http://www.angstrom-distribution.org/demo/beagleboard/ for updates).
>
> Could you please upload the kernel configuration file you used to
> build the 2.6.32.r72 kernel?
>
> I have problems with the Zippy2 ethernet interface. I can get it to
> work and I don't know whether CONFIG_KS8851 is enabled.
>
> No message during startup seems to indicate the driver is loaded.
> (dmesg has no trace of KS8851)
>
> thank you very much

Make sure you pass the "buddy" variable from uboot to the kernel with
the bootargs...

something like:

setenv bootargs console=tty0 console=ttyS2,115200n8
root=/dev/mmcblk0p2 rootwait rw vram=12M
omapfb.mode=dvi:1280x720MR-16@60 buddy=${buddy}

then you should see it with

dmesg | grep zippy

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

Koen Kooi

unread,
May 6, 2010, 1:16:32 PM5/6/10
to beagl...@googlegroups.com

Op 6 mei 2010, om 16:43 heeft Einzig het volgende geschreven:

> Hi Koen,
>
> I just downloaded the files you mentioned (in fact I check every day
> http://www.angstrom-distribution.org/demo/beagleboard/ for updates).
>
> Could you please upload the kernel configuration file you used to
> build the 2.6.32.r72 kernel?

'zcat /proc/config.gz' after booting the kernel. The r70 config on the site practically identical to the r72 one.

regards,

Koen

Einzig

unread,
May 6, 2010, 1:16:46 PM5/6/10
to Beagle Board
Hi Robert,

Thank you very much.

By checking buddy variable I noticed u-boot detected a Zippy board
instead of a Zippy2 board. That's why kernel tried to load the
enc28j60 driver instead of the ks8851 one.

It looks like Zippy2 boards shipped by Digikey (5 May 2010) have
default eeprom values for Zippy.

One should update these values using i2c-tools or writeeprom.sh
(recipes/i2c-tools/omap3-writeprom.bb -- by koen).

Procedure using i2c-tools:

1.- Dump EEPROM contents using i2cdump:

#> i2cdump 2 0x50

These are the default values:

0 1 2 3 4 5 6 7 8 9 a b c d e f
0123456789abcdef
00: 00 01 00 01 01 00 00 00 ff ff ff ff ff ff ff
ff .?.??...........
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................

Meanings:

00 01 -> vendor id
00 01 -> device id (http://www.elinux.org/
BeagleBoardPinMux#Vendor_and_Device_IDs) As you can see deveideid is
0x01 (Zippy)
01-> revision
other values -> environtment variables.

2.- Byte in address 0x03 should be changed to 0x02 to indicate Zippy2.

To do so: #> i2cset 2 0x50 0x03 0x02

Then, use i2cdump again to check the new value:

0 1 2 3 4 5 6 7 8 9 a b c d e f
0123456789abcdef
00: 00 01 00 02 01 00 00 00 ff ff ff ff ff ff ff
ff .?.??...........
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ................


3.- Reboot

Now, U-boot will detect Zippy2 and will export "buddy=zippy2".

As Robert Nelson said,

Add buddy='${buddy}' to bootargs in u-boot

if you use mmc booting script, as I do:

# setenv mmcargs ${mmcargs} buddy='${buddy}'


Reboot again.

Einzig

unread,
May 6, 2010, 12:13:57 PM5/6/10
to Beagle Board
Hi Robert,

Thank you very much.

By checking what you said I noticed u-boot detected Zippy board
instead of Zippy2. That's why kernel tried to load ENC28J60 instead of
KS8851.

Problem:

Zippy2 EEPROM doesn't come with correct default values. (At least the
boards shipped Digi-key on 4 of May 2010)


For those encountering the same problem:

1.- Shortcircuit JP1 in Zippy2 (To disable EEPROM write protect)
2.- Using I2C tools package: # i2cset 2 0x50 0x03 0x02 (This changes
device id to 0x02)
3.- Use i2cdump 2 0x50 to check.

First addresses in EEPROM should have the following values:

00 01 00 02 01 00 xx xx xx

Optional: One could use the writeprom.sh to change EEPROM values.

Koen Kooi

unread,
May 6, 2010, 1:27:32 PM5/6/10
to beagl...@googlegroups.com

Op 6 mei 2010, om 19:16 heeft Einzig het volgende geschreven:
>
>
> Now, U-boot will detect Zippy2 and will export "buddy=zippy2".
>
> As Robert Nelson said,
>
> Add buddy='${buddy}' to bootargs in u-boot
>
> if you use mmc booting script, as I do:
>
> # setenv mmcargs ${mmcargs} buddy='${buddy}'

Recent uboots (e.g. 2010.03) have it in bootargs by default. Provided people haven't overwritten the default env :)

regards,

Koen

Robert Nelson

unread,
May 6, 2010, 1:30:47 PM5/6/10
to beagl...@googlegroups.com
On Thu, May 6, 2010 at 12:27 PM, Koen Kooi <ko...@beagleboard.org> wrote:
>
> Op 6 mei 2010, om 19:16 heeft Einzig het volgende geschreven:
>>
>>
>> Now, U-boot will detect Zippy2 and will export "buddy=zippy2".
>>
>> As Robert Nelson said,
>>
>> Add buddy='${buddy}' to bootargs in u-boot
>>
>> if you use mmc booting script, as I do:
>>
>> # setenv mmcargs ${mmcargs} buddy='${buddy}'
>
> Recent uboots (e.g. 2010.03) have it in bootargs by default. Provided people haven't overwritten the default env :)

and it's pretty easy to reference it from boot.scr scripts... Which
is really the only new change for people running existing
boot.scr's... ;)

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

Einzig

unread,
May 6, 2010, 2:42:43 PM5/6/10
to Beagle Board


Well I run u-boot from my mcccard and I think it takes nand flash
stored variables.

Should I erase flash variables in order to force u-boot to use its
default variables from now on?


BTW: I checked omap3-beagle.h in include/configs/ and no buddy
variable is present (u-boot-2010.03-rc1)




On May 6, 7:30 pm, Robert Nelson <robertcnel...@gmail.com> wrote:
> On Thu, May 6, 2010 at 12:27 PM, Koen Kooi <k...@beagleboard.org> wrote:
>
> > Op 6 mei 2010, om 19:16 heeft Einzig het volgende geschreven:
>
> >> Now, U-boot will detect Zippy2 and will export "buddy=zippy2".
>
> >> As Robert Nelson said,
>
> >> Add buddy='${buddy}' to bootargs in u-boot
>
> >> if you use mmc booting script, as I do:
>
> >> # setenv mmcargs ${mmcargs} buddy='${buddy}'
>
> > Recent uboots (e.g. 2010.03) have it in bootargs by default. Provided people haven't overwritten the default env :)
>
> and it's pretty easy to reference it from boot.scr scripts...  Which
> is really the only new change for people running existing
> boot.scr's... ;)
>
> Regards,
>
> --
> Robert Nelsonhttp://www.rcn-ee.com/

Koen Kooi

unread,
May 7, 2010, 2:36:46 AM5/7/10
to beagl...@googlegroups.com

Op 6 mei 2010, om 20:42 heeft Einzig het volgende geschreven:

>
>
> Well I run u-boot from my mcccard and I think it takes nand flash
> stored variables.
>
> Should I erase flash variables in order to force u-boot to use its
> default variables from now on?

Yes

>
>
> BTW: I checked omap3-beagle.h in include/configs/ and no buddy
> variable is present (u-boot-2010.03-rc1)

Have a look at http://gitorious.org/beagleboard-validation/u-boot/commits/xm

regards,

Koen

Einzig

unread,
May 7, 2010, 4:52:42 AM5/7/10
to Beagle Board
Thanks Koen


On May 7, 8:36 am, Koen Kooi <k...@beagleboard.org> wrote:
> Op 6 mei 2010, om 20:42 heeft Einzig het volgende geschreven:
>
>
>
> > Well I run u-boot from my mcccard and I think it takes nand flash
> > stored variables.
>
> > Should I erase flash variables in order to force u-boot to use its
> > default variables from now on?
>
> Yes
>
>
>
> > BTW: I checked omap3-beagle.h in include/configs/ and no buddy
> > variable is present (u-boot-2010.03-rc1)
>
> Have a look athttp://gitorious.org/beagleboard-validation/u-boot/commits/xm
Reply all
Reply to author
Forward
0 new messages