mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	Based on previous work by: Alistair Buxton <a.j.buxton@gmail.com> Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Cc: Ивайло Димитров <freemangordon@abv.bg>
		
			
				
	
	
		
			105 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 |