123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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).
- For generating combined image of u-boot and kernel there is a simple script
- called u-boot-gen-combined. It is available in following repository:
- https://github.com/pali/u-boot-maemo
- 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 escape 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 partition
- * 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, ext4)
- Additional variables 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
- Variable setup_omap_atag is automatically set when booting attached kernel.
- When variable setup_omap_atag is set, variable setup_console_atag is unset
- and u-boot standard output is set to serial then setup_console_atag is
- automatically set to 1. So output from Maemo kernel would go to serial port.
- 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
- 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 add following lines into file configs/nokia_rx51_defconfig
- CONFIG_CMD_UBI=y
- CONFIG_CMD_UBIFS=y
- CONFIG_MTD_UBI_FASTMAP=y
- CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT=1
|