1 #include "iblcfg.h"
2 ; This file is run through the C preprocessor to get the build time layout information
3 ; The following values must be defined:
4 ; SPI_CSEL - The SPI chip select of the eeprom holding the ROM boot info and the layout info
5 ; SPI_ADDR_WIDTH - Number of bits in the SPI address
6 ; SPI_NPINS - Number of pins used by the interface (4 or 5)
7 ; SPI_MODE - SPI operation mode (0-3)
8 ; INIT_EXE_FILE - The SPI blocked stage 1 of the ibl
9 ; EXE_FILE_1 - The SPI blocked stage 2 of the ibl, must be the little endian version
10 ; EXE_FILE_2 - The SPI blocked stage 2 of the ibl, must be the big endian version
11 ; PAD_FILE_ID_1 - This pad holds the IBL configuration structure for the little endian version
12 ; PAD_FILE_ID_2 - This pad holds the IBL configuration structure for the big endian version
13 ;
14 ; The section statement directs the ROM boot loader to load the initial endian independent
15 ; portion of the IBL
16 section
17 {
18 param_index = 0
19 boot_mode = 50
20 sw_pll_prediv = 0
21 sw_pll_mult = 0
22 sw_pll_postdiv = 0
23 sw_pll_flags = 0
25 options = 1
26 core_freq_mhz = 800
28 bus_freq_mhz = 1
29 bus_freq_khz = 0
31 addr_width = SPI_ADDR_WIDTH
32 n_pins = SPI_NPIN
33 mode = SPI_MODE
34 csel = SPI_CSEL
36 exe_file = INIT_EXE_FILE
37 }
39 ; The layout statement defines how the resulting SPI image is layed out. The base address
40 ; of this (given in the dev_addr) statement must be known to the initial IBL program
41 ; at compile time. The layout block is simple a group of 32 bit i2c addresses, so
42 ; the order of the exe_file and pad_file_id statements must be configured so as to
43 ; match the definition of struct iblI2cMap_t defined in ibl.h.
44 layout
45 {
46 dev_addr = IBL_CFG_SPI_MAP_TABLE_DATA_ADDR_LSW ; Defined in iblcfg.h
47 dev_addr_ext = IBL_CFG_SPI_MAP_TABLE_DATA_ADDR_MSW
48 file_align = 0x80
50 exe_file = EXE_FILE_1
51 pad_file_id = PAD_FILE_ID_1
54 exe_file = EXE_FILE_2
55 pad_file_id = PAD_FILE_ID_2
56 }
58 ; The pad statements simply provide space for the IBL configuration structures. It is valid to
59 ; have a single configuration structure which is used for both endian values.
60 pad
61 {
62 pad_file_id = 1
63 dev_addr = 0x500
64 dev_addr_ext = IBL_CFG_SPI_MAP_TABLE_DATA_ADDR_MSW
65 len = 0x300
66 }
68 #if (PAD_FILE_ID_1 != PAD_FILE_ID_2)
69 pad
70 {
71 pad_file_id = 2
72 dev_addr = 0x800
73 dev_addr_ext = I2C_BUS_ADDR
74 len = IBL_CFG_SPI_MAP_TABLE_DATA_ADDR_MSW
75 }
76 #endif