Initial c661x version
[keystone-rtos/ibl.git] / src / make / ibl_c661x / i2crom.map.pre
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 ;     I2C_BUS_ADDR   - The I2C bus address of the eeprom holding the ROM boot info and the layout info
5 ;         INIT_EXE_FILE  - The I2C blocked stage 1 of the ibl
6 ;     EXE_FILE_1     - The I2C blocked stage 2 of the ibl, must be the little endian version
7 ;     EXE_FILE_2         - The I2C blocked stage 2 of the ibl, must be the big endian version
8 ;     PAD_FILE_ID_1  - This pad holds the IBL configuration structure for the little endian version
9 ;     PAD_FILE_ID_2  - This pad holds the IBL configuration structure for the big endian version
10 ;
11 ;  The section statement directs the ROM boot loader to load the initial endian independent 
12 ;  portion of the IBL
13 section 
14 {
15   param_index    = 0
16   boot_mode      = 257
17   sw_pll_prediv  = 1
18   sw_pll_mult    = 16
19   sw_pll_postdiv = 2
20   options        = 1
22   core_freq_mhz    = 625
23   i2c_clk_freq_khz = 200
25   dev_addr_ext = I2C_BUS_ADDR
27   multi_i2c_id = 0
28   my_i2c_id    = 1
29   address_delay = 0
30   exe_file = INIT_EXE_FILE
31 }
33 ; The layout statement defines how the resulting I2C image is layed out. The base address
34 ; of this (given in the dev_addr) statement must be known to the initial IBL program
35 ; at compile time. The layout block is simple a group of 32 bit i2c addresses, so 
36 ; the order of the exe_file and pad_file_id statements must be configured so as to
37 ; match the definition of struct iblI2cMap_t defined in ibl.h.
38 layout
39 {
40   dev_addr     = IBL_CFG_I2C_MAP_TABLE_DATA_ADDR                ; Defined in iblcfg.h
41   dev_addr_ext = I2C_BUS_ADDR
42   file_align   = 0x80
44   exe_file    = EXE_FILE_1
45   pad_file_id = PAD_FILE_ID_1
48   exe_file    = EXE_FILE_2
49   pad_file_id = PAD_FILE_ID_2
50 }
52 ; The pad statements simply provide space for the IBL configuration structures. It is valid to
53 ; have a single configuration structure which is used for both endian values.
54 pad
55 {
56   pad_file_id  = 1
57   dev_addr     = 0x500
58   dev_addr_ext = I2C_BUS_ADDR
59   len          = 0x300
60 }
62 #if (PAD_FILE_ID_1 != PAD_FILE_ID_2)
63 pad
64 {
65   pad_file_id  = 2
66   dev_addr     = 0x800
67   dev_addr_ext = I2C_BUS_ADDR
68   len          = 0x300
69 }
70 #endif