blob: 1e0a985b43b5ab74f956cf9fca3ccc702536009c [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glassb215fbd2016-11-25 20:16:02 -07002/*
3 * Copyright (C) 2016 Google, Inc
4 * Written by Simon Glass <sjg@chromium.org>
Simon Glassb215fbd2016-11-25 20:16:02 -07005 */
6
7#include <config.h>
8
Simon Glassc5edefb2019-05-02 10:52:20 -06009#ifdef CONFIG_CHROMEOS
Simon Glassb215fbd2016-11-25 20:16:02 -070010/ {
11 binman {
Simon Glassc5edefb2019-05-02 10:52:20 -060012 multiple-images;
13 rom: rom {
14 };
15 };
16};
17#else
18/ {
19 rom: binman {
20 };
21};
22#endif
23
24#ifdef CONFIG_ROM_SIZE
25&rom {
Simon Glasse766d9f2019-05-02 10:52:21 -060026 filename = "u-boot.rom";
27 end-at-4gb;
28 sort-by-offset;
29 pad-byte = <0xff>;
30 size = <CONFIG_ROM_SIZE>;
Simon Glassb215fbd2016-11-25 20:16:02 -070031#ifdef CONFIG_HAVE_INTEL_ME
Simon Glasse766d9f2019-05-02 10:52:21 -060032 intel-descriptor {
33 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
34 };
35 intel-me {
36 filename = CONFIG_INTEL_ME_FILE;
37 };
Simon Glassb215fbd2016-11-25 20:16:02 -070038#endif
Simon Glass93c76072019-05-02 10:52:19 -060039#ifdef CONFIG_TPL
Simon Glass86a8fb32019-12-06 21:42:26 -070040#ifdef CONFIG_HAVE_MICROCODE
Simon Glasse766d9f2019-05-02 10:52:21 -060041 u-boot-tpl-with-ucode-ptr {
42 offset = <CONFIG_TPL_TEXT_BASE>;
43 };
44 u-boot-tpl-dtb {
45 };
Simon Glass86a8fb32019-12-06 21:42:26 -070046#endif
Simon Glassdf81abd2019-12-06 21:42:33 -070047 spl {
48 type = "section";
Simon Glass28d7d762019-12-06 21:42:30 -070049 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glassdf81abd2019-12-06 21:42:33 -070050 u-boot-spl {
51 };
52 u-boot-spl-dtb {
53 };
Simon Glasse766d9f2019-05-02 10:52:21 -060054 };
55 u-boot {
Simon Glassdf81abd2019-12-06 21:42:33 -070056 type = "section";
Simon Glassb3112952019-12-06 21:42:29 -070057 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glassdf81abd2019-12-06 21:42:33 -070058 u-boot-nodtb {
59 };
60 u-boot-dtb {
61 };
Simon Glasse766d9f2019-05-02 10:52:21 -060062 };
Simon Glass93c76072019-05-02 10:52:19 -060063#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -060064 u-boot-spl-with-ucode-ptr {
Simon Glass28d7d762019-12-06 21:42:30 -070065 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glasse766d9f2019-05-02 10:52:21 -060066 };
67 u-boot-dtb-with-ucode2 {
68 type = "u-boot-dtb-with-ucode";
69 };
70 u-boot {
Simon Glassb3112952019-12-06 21:42:29 -070071 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glasse766d9f2019-05-02 10:52:21 -060072 };
Simon Glass164f0412017-01-16 07:04:23 -070073#else
Simon Glass4f1f5072019-12-06 21:42:32 -070074# ifdef CONFIG_SPL
75 u-boot {
76 offset = <CONFIG_SYS_TEXT_BASE>;
77 };
78# else
79 /* If there is no SPL then we need to put microcode in U-Boot */
Simon Glasse766d9f2019-05-02 10:52:21 -060080 u-boot-with-ucode-ptr {
Simon Glassb3112952019-12-06 21:42:29 -070081 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glasse766d9f2019-05-02 10:52:21 -060082 };
Simon Glass4f1f5072019-12-06 21:42:32 -070083# endif
Simon Glass164f0412017-01-16 07:04:23 -070084#endif
Simon Glass86a8fb32019-12-06 21:42:26 -070085#ifdef CONFIG_HAVE_MICROCODE
Simon Glasse766d9f2019-05-02 10:52:21 -060086 u-boot-dtb-with-ucode {
87 };
88 u-boot-ucode {
89 align = <16>;
90 };
Simon Glass86a8fb32019-12-06 21:42:26 -070091#else
92 u-boot-dtb {
93 };
94#endif
Simon Glassa78466a2020-07-19 13:56:15 -060095 fdtmap {
96 };
Simon Glass2e2a0032019-12-06 21:42:24 -070097#ifdef CONFIG_HAVE_X86_FIT
98 intel-fit {
99 };
100 intel-fit-ptr {
101 };
102#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700103#ifdef CONFIG_HAVE_MRC
Simon Glasse766d9f2019-05-02 10:52:21 -0600104 intel-mrc {
105 offset = <CONFIG_X86_MRC_ADDR>;
106 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700107#endif
Simon Glassdda8e3e2019-12-06 21:42:28 -0700108#ifdef CONFIG_FSP_VERSION1
Simon Glasse766d9f2019-05-02 10:52:21 -0600109 intel-fsp {
110 filename = CONFIG_FSP_FILE;
111 offset = <CONFIG_FSP_ADDR>;
112 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700113#endif
Simon Glassdda8e3e2019-12-06 21:42:28 -0700114#ifdef CONFIG_FSP_VERSION2
115 intel-descriptor {
116 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
117 };
118 intel-ifwi {
119 filename = CONFIG_IFWI_INPUT_FILE;
120 convert-fit;
121
122 section {
123 size = <0x8000>;
124 ifwi-replace;
125 ifwi-subpart = "IBBP";
126 ifwi-entry = "IBBL";
127 u-boot-tpl {
128 };
129 x86-start16-tpl {
130 offset = <0x7800>;
131 };
132 x86-reset16-tpl {
133 offset = <0x7ff0>;
134 };
135 };
136 };
137 intel-fsp-m {
138 filename = CONFIG_FSP_FILE_M;
139 };
140 intel-fsp-s {
141 filename = CONFIG_FSP_FILE_S;
142 };
143#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700144#ifdef CONFIG_HAVE_CMC
Simon Glasse766d9f2019-05-02 10:52:21 -0600145 intel-cmc {
146 filename = CONFIG_CMC_FILE;
147 offset = <CONFIG_CMC_ADDR>;
148 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700149#endif
150#ifdef CONFIG_HAVE_VGA_BIOS
Simon Glasse766d9f2019-05-02 10:52:21 -0600151 intel-vga {
152 filename = CONFIG_VGA_BIOS_FILE;
153 offset = <CONFIG_VGA_BIOS_ADDR>;
154 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700155#endif
Bin Meng6c223792017-08-15 22:41:55 -0700156#ifdef CONFIG_HAVE_VBT
Simon Glasse766d9f2019-05-02 10:52:21 -0600157 intel-vbt {
158 filename = CONFIG_VBT_FILE;
159 offset = <CONFIG_VBT_ADDR>;
160 };
Bin Meng6c223792017-08-15 22:41:55 -0700161#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700162#ifdef CONFIG_HAVE_REFCODE
Simon Glasse766d9f2019-05-02 10:52:21 -0600163 intel-refcode {
164 offset = <CONFIG_X86_REFCODE_ADDR>;
165 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700166#endif
Simon Glass93c76072019-05-02 10:52:19 -0600167#ifdef CONFIG_TPL
Simon Glasse766d9f2019-05-02 10:52:21 -0600168 x86-start16-tpl {
169 offset = <CONFIG_SYS_X86_START16>;
170 };
Simon Glass5e239182019-08-24 07:22:49 -0600171 x86-reset16-tpl {
172 offset = <CONFIG_RESET_VEC_LOC>;
173 };
Simon Glass93c76072019-05-02 10:52:19 -0600174#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -0600175 x86-start16-spl {
176 offset = <CONFIG_SYS_X86_START16>;
177 };
Simon Glass5e239182019-08-24 07:22:49 -0600178 x86-reset16-spl {
179 offset = <CONFIG_RESET_VEC_LOC>;
180 };
Simon Glass164f0412017-01-16 07:04:23 -0700181#else
Simon Glasse766d9f2019-05-02 10:52:21 -0600182 x86-start16 {
183 offset = <CONFIG_SYS_X86_START16>;
184 };
Simon Glass5e239182019-08-24 07:22:49 -0600185 x86-reset16 {
186 offset = <CONFIG_RESET_VEC_LOC>;
187 };
Simon Glass164f0412017-01-16 07:04:23 -0700188#endif
Simon Glass624c70b2019-12-06 21:42:31 -0700189 image-header {
190 location = "end";
191 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700192};
193#endif