blob: 58723e60e356333aee48875cca2a6e48bb617710 [file] [log] [blame]
Joseph Liucf493182019-09-16 15:32:23 +08001<!-- SPDX-License-Identifier: GPL-2.0
2#
3# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
4#
5# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
6#--------------------------------------------------------------------------->
7
8<?xml version="1.0" encoding="UTF-8"?>
9
10<Bin_Ecc_Map>
11 <!-- BMC mandatory fields -->
12 <ImageProperties>
13 <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
14 <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
15 </ImageProperties>
16
17 <BinField>
18 <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
19 uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
20 <name>StartTag</name> <!-- name of field -->
21 <config>
22 <offset>0</offset> <!-- offset in the header -->
23 <size>0x8</size> <!-- size in the header -->
24 </config>
25 <content format='bytes'>0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42</content> <!-- content the user should fill -->
26 </BinField>
27
28 <BinField>
29 <!-- Code destination address, 32-bit aligned: for BootBlock should be 0xFFFD5E00 so code will run in 0xFFFD6000 as linked for -->
30 <name>DestAddr</name> <!-- name of field -->
31 <config>
32 <offset>0x140</offset> <!-- offset in the header -->
33 <size>0x4</size> <!-- size in the header -->
34 </config>
35 <content format='32bit'>0xFFFD5E00</content> <!-- content the user should fill -->
36 </BinField>
37
38 <BinField>
39 <!-- BootBlock or u-boot Code size -->
40 <name>CodeSize</name> <!-- name of field -->
41 <config>
42 <offset>0x144</offset> <!-- offset in the header -->
43 <size>0x4</size> <!-- size in the header -->
44 </config>
45 <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
46 </BinField>
47
48 <BinField>
49 <!-- The BootBlock or u-boot binary file -->
50 <name>Code</name> <!-- name of field -->
51 <config>
52 <offset>0x200</offset> <!-- offset in the header -->
53 <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
54 </config>
55 <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
56 </BinField>
57
58 <!-- BMC optional fields -->
59 <BinField>
60 <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
61 <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
62 <config>
63 <offset>0x108</offset> <!-- offset in the header -->
64 <size>0x4</size> <!-- size in the header -->
65 </config>
66 <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
67 </BinField>
68
69 <BinField>
70 <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
71 <name>FIU_Clk_Divider</name> <!-- name of field -->
72 <config>
73 <offset>0x10C</offset> <!-- offset in the header -->
74 <size>0x1</size> <!-- size in the header -->
75 </config>
76 <content format='bytes'>4</content> <!-- content the user should fill -->
77 </BinField>
78
79 <BinField>
80 <!-- Version (Major.Minor) -->
81 <name>Version</name> <!-- name of field -->
82 <config>
83 <offset>0x148</offset> <!-- offset in the header -->
84 <size>0x4</size> <!-- size in the header -->
85 </config>
86 <content format='32bit'>0x0201</content> <!-- content the user should fill -->
87 </BinField>
88
89 <BinField>
90 <!-- Board manufaturer ( Dell = 0, Nuvoton = 100, Google = 1, MS = 2) -->
91 <name>BOARD_VENDOR</name> <!-- name of field -->
92 <config>
93 <offset>0x124</offset> <!-- offset in the header -->
94 <size>0x4</size> <!-- size in the header -->
95 </config>
96 <content format='32bit'>100</content> <!--Board_manufacturer: Nuvoton-->
97 </BinField>
98 <BinField>
99 <!-- Board type ( DRB = 0, SVB = 1, EB = 2,HORIZON = 3, SANDSTORM = 4, ROCKAWAY = 100 RunBMC = 10) -->
100 <!-- WARNING: Currently this value is only printed to serial. Set BOARD_VENDOR to 1 get Dell specific customization. -->
101 <name>BOARD_TYPE</name> <!-- name of field -->
102 <config>
103 <offset>0x120</offset> <!-- offset in the header -->
104 <size>0x4</size> <!-- size in the header -->
105 </config>
106 <content format='32bit'>0x0A</content> <!--Board_type: SVB-->
107 </BinField>
108
109 <!-- the next two fields are available since version 10.7.0 -->
110 <BinField>
111 <!-- supported values: 333,444,500,600,666,700,720,750,775,787,800,825,850,900,950,1000,1060 -->
112 <name>MC_FREQ_IN_MHZ</name> <!-- name of field -->
113 <config>
114 <offset>0x128</offset> <!-- offset in the header -->
115 <size>0x2</size> <!-- size in the header -->
116 </config>
117 <content format='32bit'>800</content>
118 </BinField>
119 <BinField>
120 <!-- supporeted values: 333,500,600,666,700,720,750,800,825,850,900,950,1000,1060 -->
121 <name>CPU_FREQ_IN_MHZ</name> <!-- name of field -->
122 <config>
123 <offset>0x12A</offset> <!-- offset in the header -->
124 <size>0x2</size> <!-- size in the header -->
125 </config>
126 <content format='32bit'>800</content>
127 </BinField>
128
129 <BinField>
130 <!-- MC_CONFIG.
131 Bit 0: MC_DISABLE_CAPABILITY_INPUT_DQS_ENHANCE_TRAINING (0x01)
132 Bit 1: MC_CAPABILITY_IGNORE_ECC_DEVICE (0x02) -->
133 <name>MC_CONFIG</name> <!-- name of field -->
134 <config>
135 <offset>0x12C</offset> <!-- offset in the header -->
136 <size>0x1</size> <!-- size in the header -->
137 </config>
138 <content format='32bit'>0x01</content>
139 </BinField>
140
141 <BinField>
142 <!-- HOST_IF.
143 0xFF: LPC backward compatible
144 0x00: LPC.
145 0x01: eSPI
146 0x02: GPIOs TRIS. -->
147 <name>HOST_IF</name> <!-- name of field -->
148 <config>
149 <offset>0x12D</offset> <!-- offset in the header -->
150 <size>0x1</size> <!-- size in the header -->
151 </config>
152 <content format='32bit'>0x00</content>
153 </BinField>
154
155 <!-- reserved fields -->
156 <BinField>
157 <!-- reserved field for sample -->
158 <name>My_reserved</name> <!-- name of field -->
159 <config>
160 <offset>0x110</offset> <!-- offset in the header -->
161 <size>0x4</size> <!-- size in the header -->
162 </config>
163 <content format='bytes'>0xFF 0xFF 0xFF 0xFF</content> <!-- content the user should fill -->
164 </BinField>
165
166</Bin_Ecc_Map>