User`s guide
Porting U-Boot from an i.MX53 Reference Board to an i.MX53 Custom Board
i.MX53 System Development User’s Guide, Rev. 1
11-4 Freescale Semiconductor
All board initialization is executed inside this function. It starts by running through the init_sequence[]
array of function pointers.
The first board dependent function inside init_sequence[] array is board_init(). board_init() is
implemented inside board/freescale/mx53_<custom board name>.c.
At this point the most important tip is the following line of code:
...
gd->bd->bi_arch_number = MACH_TYPE_MX53_<reference board name>; /* board id for Linux */
...
To customize your board ID, go to the registration process at
http://www.arm.linux.org.uk/developer/machines/
This tutorial will continue to use MACH_TYPE_MX53_<reference board name>.
11.3.4 Customizing the Printed Board Name
To customize the printed board name, use the checkboard() function. This function is called from the
init_sequence[] array implemented inside board/freescale/mx53_<custom board name>.c. There are two
ways to use checkboard() to customize the printed board name from Board: Unknown board id1:11 to
Board: MX53 CPU3 on <custom board name>2: the brute force way or by using a more flexible identification
method if implemented on the custom board.
To customize the brute force way, delete the call to identify_board_id( ) inside checkboard() and replace
printf("Board: "); with printf("Board: MX53 CPU3 on <custom board>\n");
If this replacement is not made, the custom board may use another identification method. The
identification can be detected and printed by implementing the function __print_board_info() according
to the identification method on the custom board.
Alternatively, if the custom board provides a method to detect the board type via an external signal this
can be detected in the identify_board_id() function.
Once this has been done, recompile U-Boot and deploy u-boot.bin to the SD card. The new prompt
message should be as follows:
U-Boot 2009.08 (Jul 30 2010 - 14:44:00)
CPU: Freescale i.MX53 family 1.0V at 800 MHz
Board: MX53 CPU3 on <custom board name>
Boot Reason: [POR]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0, FSL_ESDHC: 1
Card did not respond to voltage select!
MMC init failed
In: serial
Out: serial