| Board: Nokia RX-51 aka N900 | 
|   | 
| This board definition results in a u-boot.bin which can be chainloaded | 
| from NOLO in qemu or on a real N900. It does very little hardware config | 
| because NOLO has already configured the board. Only needed is enabling | 
| internal eMMC memory via twl4030 regulator which is not enabled by NOLO. | 
|   | 
| NOLO is expecting a kernel image and will treat any image it finds in | 
| onenand as such. This u-boot is intended to be flashed to the N900 like | 
| a kernel. In order to transparently boot the original kernel, it will be | 
| appended to u-boot.bin at 0x40000. NOLO will load the entire image into | 
| (random) memory and execute u-boot, which saves hw revision, boot reason | 
| and boot mode ATAGs set by NOLO. Then the bootscripts will attempt to load | 
| uImage or boot.scr from a fat, ext2/ext3 or ext4 filesystem in external | 
| SD card or internal eMMC memory. If this fails or keyboard is closed then | 
| the appended kernel image will be booted using some generated and some | 
| stored ATAGs (see boot order). | 
|   | 
| There is support for hardware watchdog. Hardware watchdog is started by | 
| NOLO so u-boot must kick watchdog to prevent reboot device (but not very | 
| often, max every 2 seconds). There is also support for framebuffer display | 
| output with ANSI espace codes and the N900 HW keyboard input. USB tty works | 
| but is disabled because it prevents the current Maemo kernel from booting. | 
|   | 
| When U-Boot is starting it enable IBE bit in Auxiliary Control Register, | 
| which is needed for Thumb-2 ISA support. It is workaround for errata 430973. | 
|   | 
| Default boot order: | 
|   | 
|  * 0. if keyboard is closed boot automatically attached kernel image | 
|  * 1. try boot from external SD card | 
|  * 2. try boot from internal eMMC memory | 
|  * 3. try boot from attached kernel image | 
|   | 
| Boot from SD or eMMC in this order: | 
|   | 
|  * 1. | 
|    * 1.1 find boot.scr on first fat partition | 
|    * 1.2 find uImage on first fat parition | 
|    * 1.3 same order for 2. - 4. fat partition | 
|  * 2. same as 1. but for ext2/3 partition | 
|  * 3. same as 1. but for ext4 partition | 
|   | 
|   | 
| Available additional commands/variables: | 
|   | 
|  * run sercon - Use serial port for control | 
|  * run usbcon - Use usbtty for control | 
|  * run vgacon - Use framebuffer and HW keyboard for control (default) | 
|   | 
|  * run sdboot - Boot from external SD card (see boot order) | 
|  * run emmcboot - Boot from internal eMMC memory (see boot order) | 
|  * run attachboot - Boot attached kernel image (attached to U-Boot binary) | 
|   | 
|  * run scriptload - Load boot script ${mmcscriptfile} | 
|  * run scriptboot - Run loaded boot script | 
|  * run kernload - Load kernel image ${mmckernfile} | 
|  * run initrdload - Load initrd image ${mmcinitrdfile} | 
|  * run kernboot - Boot loaded kernel image | 
|  * run kerninitrdboot - Boot loaded kernel image with loaded initrd image | 
|   | 
|  * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile} | 
|  * run trymmckernboot - Try to load and boot kernel image ${mmckernfile} | 
|  * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile} | 
|                   with initrd image ${mmcinitrdfile} | 
|   | 
| Additional variables for loading files from mmc: | 
|   | 
|  * mmc ${mmcnum} (0 - external, 1 - internal) | 
|  * partition number ${mmcpart} (1 - 4) | 
|  * parition type ${mmctype} (fat, ext2) | 
|   | 
| Additional varuables for booting kernel: | 
|   | 
|  * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel) | 
|  * setup_console_atag - Enable serial console in OMAP table | 
|  * setup_boot_reason_atag - Change boot reason in OMAP table | 
|  * setup_boot_mode_atag - Change boot mode in OMAP table | 
|   | 
| USB TTY: | 
|   | 
|  Maemo kernel 2.6.28 will crash if u-boot enable usb tty. So USB TTY is disabled. | 
|  For enabling USB TTY just add this line to file include/configs/nokia_rx51.h | 
|   | 
|  #define CONFIG_USB_TTY | 
|   | 
|   | 
| ONENAND support: | 
|   | 
|  ONENAND support is disabled because not working yet and cause linux kernel to | 
|  crash or no access to mtd. For enabling ONENAND support add this line at begin | 
|  of file include/configs/nokia_rx51.h | 
|   | 
|  #define ONENAND_SUPPORT | 
|   | 
|   | 
| UBIFS support: | 
|   | 
|  UBIFS support is disabled, because U-Boot image is too big and cannot be | 
|  flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS | 
|  support first enable ONENAND support and then add this line at begin of file | 
|  include/configs/nokia_rx51.h | 
|   | 
|  #define UBIFS_SUPPORT |