SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The ROM code default settings (such as clock frequencies, EMIF, GPMC, MMCHS, or QSPI interfaces) can be tuned by the user by using the CH.
The CH can contain the following parts:
The beginning of the CH is a table of contents (TOC), which points to each item. This is described in Figure 33-33. Each TOC item is a simple structure described in Table 33-47. The complete CH (CH TOC and items) should fit in a 512-byte sector.
The ROM code identifies the presence of a CH by reading the first TOC item if it contains a known string (CHSETTINGS, CHFLASH, etc.). Next, the TOC is identified and searched until a 0xFFFF FFFF offset is found. The CH is read and parameters are executed sequentially.
For the sake of simplicity, each field represents the content of a register to be modified. Only fields required for the configuration are used; fields for status, for instance, are not modified and therefore are not shown in the tables.
Offset | Field | Size (Bytes) | Description |
---|---|---|---|
0x0000 | Start | 4 | Offset from the start address of the TOC to the actual address of item contents |
0x0004 | Size | 4 | Size of item |
0x0008 | Reserved | 4 | Unused |
0x000C | Reserved | 4 | Unused |
0x0010 | Reserved | 4 | Unused |
0x0014 | TOC Filename | 12 | 12-character name of a TOC item, including the NULL termination character. That is, this is an array where first byte accomodates the first character. |
The ROM Code recognizes sections pointed to by the TOC based on the filename as described in Table 33-48
Filename | Item Type | Usage | Description |
---|---|---|---|
MLO | Initial Software | eMMC/SD Memory Booting | “Mmc LOader” |
HLO | Initial Software | SATA Memory Booting | “Hdd LOader” |
ULO | Initial Software | USB or UART Peripheral Booting | “Usb LOader” |
2ND | Initial Software | USB or UART Peripheral Booting | “Secondary Loader” |
X-LOADER | Initial Software | Other devices | “eXternal LOADER” |
CHSETTINGS | Configuration Header | Memory and Peripheral Booting | Configuration Header General Setting Item |
CHFLASH | Configuration Header | Memory and Peripheral Booting | Configuration Header GPMC Item |
CHMMCSD | Configuration Header | Memory and Peripheral Booting | Configuration Header eMMC/SD Item |
CHQSPI | Configuration Header | Memory and Peripheral Booting | Configuration Header QSPI Item |