Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 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 |
Pali Rohár | 0a8825c | 2021-06-18 15:27:03 +0200 | [diff] [blame] | 14 | uImage, zImage or boot.scr from a fat or ext2/3/4 filesystem on external |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 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 | |
Pali Rohár | 0a8825c | 2021-06-18 15:27:03 +0200 | [diff] [blame] | 19 | For generating combined image of u-boot and kernel (either in uImage or zImage |
| 20 | format) there is a simple script called u-boot-gen-combined. It is available in |
| 21 | following repository: |
Pali Rohár | 95bb47c | 2020-06-01 00:26:32 +0200 | [diff] [blame] | 22 | |
| 23 | https://github.com/pali/u-boot-maemo |
| 24 | |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 25 | There is support for hardware watchdog. Hardware watchdog is started by |
| 26 | NOLO so u-boot must kick watchdog to prevent reboot device (but not very |
| 27 | often, max every 2 seconds). There is also support for framebuffer display |
Pali Rohár | bba0bba | 2021-02-20 11:50:15 +0100 | [diff] [blame] | 28 | output with ANSI escape codes and the N900 HW keyboard input. |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 29 | |
| 30 | When U-Boot is starting it enable IBE bit in Auxiliary Control Register, |
| 31 | which is needed for Thumb-2 ISA support. It is workaround for errata 430973. |
| 32 | |
| 33 | Default boot order: |
| 34 | |
| 35 | * 0. if keyboard is closed boot automatically attached kernel image |
| 36 | * 1. try boot from external SD card |
| 37 | * 2. try boot from internal eMMC memory |
| 38 | * 3. try boot from attached kernel image |
| 39 | |
| 40 | Boot from SD or eMMC in this order: |
| 41 | |
| 42 | * 1. |
| 43 | * 1.1 find boot.scr on first fat partition |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 44 | * 1.2 find uImage on first fat partition |
Pali Rohár | 0a8825c | 2021-06-18 15:27:03 +0200 | [diff] [blame] | 45 | * 1.3 find zImage on first fat partition |
| 46 | * 1.4 same order for 2. - 4. fat partition |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 47 | * 2. same as 1. but for ext2/3 partition |
| 48 | * 3. same as 1. but for ext4 partition |
| 49 | |
| 50 | |
| 51 | Available additional commands/variables: |
| 52 | |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 53 | * run sdboot - Boot from external SD card (see boot order) |
| 54 | * run emmcboot - Boot from internal eMMC memory (see boot order) |
| 55 | * run attachboot - Boot attached kernel image (attached to U-Boot binary) |
| 56 | |
| 57 | * run scriptload - Load boot script ${mmcscriptfile} |
| 58 | * run scriptboot - Run loaded boot script |
| 59 | * run kernload - Load kernel image ${mmckernfile} |
| 60 | * run initrdload - Load initrd image ${mmcinitrdfile} |
| 61 | * run kernboot - Boot loaded kernel image |
| 62 | * run kerninitrdboot - Boot loaded kernel image with loaded initrd image |
| 63 | |
| 64 | * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile} |
| 65 | * run trymmckernboot - Try to load and boot kernel image ${mmckernfile} |
| 66 | * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile} |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 67 | with initrd image ${mmcinitrdfile} |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 68 | |
| 69 | Additional variables for loading files from mmc: |
| 70 | |
| 71 | * mmc ${mmcnum} (0 - external, 1 - internal) |
| 72 | * partition number ${mmcpart} (1 - 4) |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 73 | * parition type ${mmctype} (fat, ext2, ext4) |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 74 | |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 75 | Additional variables for booting kernel: |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 76 | |
| 77 | * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel) |
| 78 | * setup_console_atag - Enable serial console in OMAP table |
| 79 | * setup_boot_reason_atag - Change boot reason in OMAP table |
| 80 | * setup_boot_mode_atag - Change boot mode in OMAP table |
| 81 | |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 82 | Variable setup_omap_atag is automatically set when booting attached kernel. |
| 83 | When variable setup_omap_atag is set, variable setup_console_atag is unset |
| 84 | and u-boot standard output is set to serial then setup_console_atag is |
| 85 | automatically set to 1. So output from Maemo kernel would go to serial port. |
| 86 | |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 87 | UBIFS support: |
| 88 | |
| 89 | UBIFS support is disabled, because U-Boot image is too big and cannot be |
| 90 | flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 91 | support add following lines into file configs/nokia_rx51_defconfig |
Pali Rohár | 248ef0a | 2012-10-29 07:54:01 +0000 | [diff] [blame] | 92 | |
Pali Rohár | d6d0a01 | 2020-04-01 00:35:17 +0200 | [diff] [blame] | 93 | CONFIG_CMD_UBI=y |
| 94 | CONFIG_CMD_UBIFS=y |
| 95 | CONFIG_MTD_UBI_FASTMAP=y |
| 96 | CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT=1 |