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