Home | History | Annotate | Download | only in doc
      1 Board: Nokia RX-51 aka N900
      2 
      3 This board definition results in a u-boot.bin which can be chainloaded
      4 from NOLO in qemu or on a real N900. It does very little hardware config
      5 because NOLO has already configured the board. Only needed is enabling
      6 internal eMMC memory via twl4030 regulator which is not enabled by NOLO.
      7 
      8 NOLO is expecting a kernel image and will treat any image it finds in
      9 onenand as such. This u-boot is intended to be flashed to the N900 like
     10 a kernel. In order to transparently boot the original kernel, it will be
     11 appended to u-boot.bin at 0x40000. NOLO will load the entire image into
     12 (random) memory and execute u-boot, which saves hw revision, boot reason
     13 and boot mode ATAGs set by NOLO. Then the bootscripts will attempt to load
     14 uImage or boot.scr from a fat, ext2/ext3 or ext4 filesystem in external
     15 SD card or internal eMMC memory. If this fails or keyboard is closed then
     16 the appended kernel image will be booted using some generated and some
     17 stored ATAGs (see boot order).
     18 
     19 There is support for hardware watchdog. Hardware watchdog is started by
     20 NOLO so u-boot must kick watchdog to prevent reboot device (but not very
     21 often, max every 2 seconds). There is also support for framebuffer display
     22 output with ANSI espace codes and the N900 HW keyboard input. USB tty works
     23 but is disabled because it prevents the current Maemo kernel from booting.
     24 
     25 When U-Boot is starting it enable IBE bit in Auxiliary Control Register,
     26 which is needed for Thumb-2 ISA support. It is workaround for errata 430973.
     27 
     28 Default boot order:
     29 
     30  * 0. if keyboard is closed boot automatically attached kernel image
     31  * 1. try boot from external SD card
     32  * 2. try boot from internal eMMC memory
     33  * 3. try boot from attached kernel image
     34 
     35 Boot from SD or eMMC in this order:
     36 
     37  * 1.
     38    * 1.1 find boot.scr on first fat partition
     39    * 1.2 find uImage on first fat parition
     40    * 1.3 same order for 2. - 4. fat partition
     41  * 2. same as 1. but for ext2/3 partition
     42  * 3. same as 1. but for ext4 partition
     43 
     44 
     45 Available additional commands/variables:
     46 
     47  * run sercon - Use serial port for control
     48  * run usbcon - Use usbtty for control
     49  * run vgacon - Use framebuffer and HW keyboard for control (default)
     50 
     51  * run sdboot - Boot from external SD card (see boot order)
     52  * run emmcboot - Boot from internal eMMC memory (see boot order)
     53  * run attachboot - Boot attached kernel image (attached to U-Boot binary)
     54 
     55  * run scriptload - Load boot script ${mmcscriptfile}
     56  * run scriptboot - Run loaded boot script
     57  * run kernload - Load kernel image ${mmckernfile}
     58  * run initrdload - Load initrd image ${mmcinitrdfile}
     59  * run kernboot - Boot loaded kernel image
     60  * run kerninitrdboot - Boot loaded kernel image with loaded initrd image
     61 
     62  * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile}
     63  * run trymmckernboot - Try to load and boot kernel image ${mmckernfile}
     64  * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile}
     65 			      with initrd image ${mmcinitrdfile}
     66 
     67 Additional variables for loading files from mmc:
     68 
     69  * mmc ${mmcnum} (0 - external, 1 - internal)
     70  * partition number ${mmcpart} (1 - 4)
     71  * parition type ${mmctype} (fat, ext2)
     72 
     73 Additional varuables for booting kernel:
     74 
     75  * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel)
     76  * setup_console_atag - Enable serial console in OMAP table
     77  * setup_boot_reason_atag - Change boot reason in OMAP table
     78  * setup_boot_mode_atag - Change boot mode in OMAP table
     79 
     80 USB TTY:
     81 
     82  Maemo kernel 2.6.28 will crash if u-boot enable usb tty. So USB TTY is disabled.
     83  For enabling USB TTY just add this line to file include/configs/nokia_rx51.h
     84 
     85  #define CONFIG_USB_TTY
     86 
     87 
     88 ONENAND support:
     89 
     90  ONENAND support is disabled because not working yet and cause linux kernel to
     91  crash or no access to mtd. For enabling ONENAND support add this line at begin
     92  of file include/configs/nokia_rx51.h
     93 
     94  #define ONENAND_SUPPORT
     95 
     96 
     97 UBIFS support:
     98 
     99  UBIFS support is disabled, because U-Boot image is too big and cannot be
    100  flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS
    101  support first enable ONENAND support and then add this line at begin of file
    102  include/configs/nokia_rx51.h
    103 
    104  #define UBIFS_SUPPORT
    105