Building U-Boot
---------------
-Note: There are currently two variants of the TX53 module, that
+Note: There are currently two variants of the TX28 module, that
require slightly different U-Boot configurations. They are
distinguished through the last digit of the module name. Replace
the '?' in the following description with the corresponding
- number from your TX51 module.
- E.g. TX53-8031 => 'make tx53-xx31_config'
+ number from your TX28 module.
+ E.g. TX28-4031 => 'make tx28-40x1_config'
Unpacking the source
--------------------
cd u-boot
tar -xjf /cdrom/U-Boot/u-boot-src.tar.bz2
+Alternatively you can access the current source via the git repository:
+git://git.karo-electronics.de/karo-tx-uboot.git master
+
+
Compiling U-Boot
----------------
export ARCH=arm
-export CROSS_COMPILE=arm-cortexa8-linux-gnueabi-
-make tx28-4?xx_config (see above Note!)
+export CROSS_COMPILE=arm-926ejs-linux-gnueabi-
+make tx28-4?x?_config (see above Note!)
make
Flashing U-Boot Image
---------------------
If you want to replace a working U-Boot with a new version, you can
-load the new U-Boot image via TFTP and program it like any other flash
-partition with:
-nand erase.part u-boot;nand write.trimffs ${fileaddr} u-boot ${filesize}
+load the new U-Boot image via TFTP or SD-Card and write it to flash
+with the 'romupdate' command.
If you want to revive a bricked module, U-Boot can be downloaded via
-USB with the 'sbloader' tool in recovery boot mode (Jumper ST3
-on Starterkit-5 baseboard closed). See TX28-U-Boot.pdf for details.
+USB with the 'sbloader' tool in recovery boot mode (Bootmode jumper ST3
+on Starterkit-5 baseboard closed). See TX28_U-Boot.pdf for details.
+
+e.g.: /cdrom/Flashtools/Linux/sbloader/sbloader-x86_32 -s /cdrom/U-Boot/u-boot-tx28-4031.bin
+(This command can be used from within the ARMSK-VM)
U-Boot Features
---------------
Environment variables:
+boot_mode selects which boot script will be used by 'bootcmd' to
+ boot the application (Linux)
+ supported values:
+ nand: (default) load kernel from NAND partition 'linux'
+ and mount rootfs (fstype UBIFS)
+ from partition 'rootfs'.
+ mmc: load kernel from file 'uImage' on first
+ partition (FAT) on (first) SD/MMC card
+ and mount rootfs (fstype autodetected)
+ from second partition.
+ net: load kernel image via tftp (file uImage)
+ and mount rootfs via NFS. This requires
+ the additional variables 'nfsroot'
+ (path to rootfs on NFS server) and
+ 'nfs_server' (hostname or IP address of
+ NFS server) to be set.
+ jffs2: (legacy) load kernel from NAND partition 'linux'
+ and mount rootfs (fstype JFFS2)
+ from partition 'rootfs'.
+
+cpu_clk <CPU freq [MHz]> CPU clock frequency set after boot.
+
+touchpanel {tsc2007|edt-ft5x06|imx28-lradc} type of touchpanel.
+ No touchpanel will be enabled when unset.
+
+otg_mode [host|device|none] operation mode of the USBOTG port
+
+video_mode <one of the display names from the Glyn Family Concept or
+ a video mode as understood by Linux fb_find_mode() function
+ (e.g.: 640x480MR-24@60)>
+ LCD interface will be disabled when unset.
-cpu_clk <CPU freq [MHz]>
-touchpanel {tsc2007|edt-ft5x06}
-otg_mode [host|device|none]
-video_mode <video mode as understood by Linux fb_find_mode() function>
- e.g.: VGA-1:640x480MR-24@60
baseboard {stk5-v3|stk5-v5} selects type of baseboard
+ 'stk5-v5' setting disables USB Host mode on USBOTG port
+ and redefines the LCD0 pin as CAN transceiver control pin.
+ Strings not starting in 'stk5' prevent the STK5 specific
+ pad initialization to be done.
+
splashimage either: memory address (e.g. ${loadaddr}) of a BMP file
to be displayed instead of the built-in logo. Since NAND
flash is not accessible in a memory mapped fashion,
Note: Some variables (like 'cpu_clk' or 'splashimage') may render the
board unbootable if incorrectly set. Therefore these variables
will not be evaluated in case the board has been reset through a
- watchdog reset or a character is available on the serial console
+ watchdog reset or <CTRL-C> is detected on the serial console
during startup to give the user a chance to recover from this
- situation.
+ situation. You should press and hold <CTRL-C> before applying
+ power to the module, for this to work.