Recent posts here led me to believe that it is important to have u-boot
properly configuring the board in order for DSS support in Linux (via
omapfb) to function with the S-Video port. So I've been trying to
verify that I am building the same u-boot as the C4/Bx validation
images. That u-boot (and kernel) bring up the color bars on the TV
connected to S-Video on my BeagleBoard.
But I've had no luck finding a matching u-boot source. My trials are
documented on the BeagleBox issue tracker:
http://www.graphics-muse.org/bugs/index.php?do=details&task_id=43
In summary:
Tonight I tried a variety of branches from both the gitorious and
denx.de repositories. A few booted back to the console login but none
provided any better DSS support. Results are in the issue tracker.
It appears that gitorious.org has two repositories related to the
BeagleBoard:
gitorious.org/beagleboard
gitorious.org/beagleboard-validation
Both have an omap3-dev-usb branch, with a last commit ID of
3f6a11d8a37f11bef4611345b3d3fe38cc086a17. The branch and commit are
referenced by the validation images for C4/Bx
(http://code.google.com/p/beagleboard/wiki/BeagleboardRevC3Validation),
however the validation images only mention gitorious.org/beagleboard.
Both appear to be the same repository, however, since the log for the
branch/commit ID is the same. Neither build successfully. I did:
git clone git://gitorious.org/beagleboard-validation/u-boot.git gitdir
cd gitdir
git checkout 3f6a11d8a37f11bef4611345b3d3fe38cc086a17
(Substitute beagleboard/mainline.git for
beagleboard-validation/u-boot.git as well.)
And cross compiled with a Crosstools-NG based cross toolchain. The
errors are:
arm-unknown-linux-uclibcgnueabi-gcc -g -Os -fno-strict-aliasing
-fno-common -ffixed-r8 -msoft-float -fno-strict-aliasing -fno-common
-ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x80e80000
-I/home/mjhammel/src/ximba/bb/bld/uboot-git/include -fno-builtin
-ffreestanding -nostdinc
-isystem /home/mjhammel/src/ximba/bb/bld/crosstool-ng-1.8.2.bld/install/bin/../lib/gcc/arm-unknown-linux-uclibcgnueabi/4.4.3/include -pipe -DCONFIG_ARM -D__ARM__ -march=armv5 -mno-thumb-interwork -march=armv5 -mno-thumb-interwork -Wall -Wstrict-prototypes -fno-stack-protector -c -o board.o board.c
board.c:126: error: inline function 'coloured_LED_init' cannot be
declared weak
board.c:128: error: inline function 'red_LED_on' cannot be declared weak
board.c:130: error: inline function 'red_LED_off' cannot be declared
weak
board.c:132: error: inline function 'green_LED_on' cannot be declared
weak
board.c:134: error: inline function 'green_LED_off' cannot be declared
weak
board.c:136: error: inline function 'yellow_LED_on' cannot be declared
weak
board.c:138: error: inline function 'yellow_LED_off' cannot be declared
weak
The denx.de repository is used by both the Free Electrons guide to
bringing up the BeagleBoard and the current Angstrom build
(recipes/u-boot/u-boot-git.bb). There is also the sakoman.net repository
referenced by u-boot-omap3beagleboard_1.1.4.bb and u-boot-omap3_git.bb
in Angstrom. I didn't try those.
So which repository and which branch/commit ID are recommended for each
board rev? At least from the point of view of reproducing the
validation images.
BTW, depending on which bootloader (that actually built and booted) you
trust, I either have an Ax/Bx or a C4 board. I got it in September from
Sparkfun. The box it came in says C4.