blob: fa8106c8b8c4d90c3c1363aaeb4c69bcf6d7e571 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glassdc926ed2016-11-25 20:16:02 -07002/*
3 * Copyright (C) 2016 Google, Inc
4 * Written by Simon Glass <sjg@chromium.org>
Simon Glassdc926ed2016-11-25 20:16:02 -07005 */
6
7#include <config.h>
8
Simon Glassff23e682019-05-02 10:52:20 -06009#ifdef CONFIG_CHROMEOS
Simon Glassdc926ed2016-11-25 20:16:02 -070010/ {
11 binman {
Simon Glassff23e682019-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 Glass771f02f2019-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 Glassdc926ed2016-11-25 20:16:02 -070031#ifdef CONFIG_HAVE_INTEL_ME
Simon Glass771f02f2019-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 Glassdc926ed2016-11-25 20:16:02 -070038#endif
Simon Glassf03c70d2019-05-02 10:52:19 -060039#ifdef CONFIG_TPL
Simon Glass3c4b98f2019-12-06 21:42:26 -070040#ifdef CONFIG_HAVE_MICROCODE
Simon Glass771f02f2019-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 Glass3c4b98f2019-12-06 21:42:26 -070046#endif
Simon Glass79c87322019-12-06 21:42:33 -070047 spl {
48 type = "section";
Simon Glass4d7a9232019-12-06 21:42:30 -070049 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glass79c87322019-12-06 21:42:33 -070050 u-boot-spl {
51 };
52 u-boot-spl-dtb {
53 };
Simon Glass771f02f2019-05-02 10:52:21 -060054 };
55 u-boot {
Simon Glass79c87322019-12-06 21:42:33 -070056 type = "section";
Simon Glass20af0ff2019-12-06 21:42:29 -070057 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass79c87322019-12-06 21:42:33 -070058 u-boot-nodtb {
59 };
60 u-boot-dtb {
61 };
Simon Glass771f02f2019-05-02 10:52:21 -060062 };
Simon Glassf03c70d2019-05-02 10:52:19 -060063#elif defined(CONFIG_SPL)
Simon Glass771f02f2019-05-02 10:52:21 -060064 u-boot-spl-with-ucode-ptr {
Simon Glass4d7a9232019-12-06 21:42:30 -070065 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glass771f02f2019-05-02 10:52:21 -060066 };
67 u-boot-dtb-with-ucode2 {
68 type = "u-boot-dtb-with-ucode";
69 };
70 u-boot {
Simon Glass20af0ff2019-12-06 21:42:29 -070071 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass771f02f2019-05-02 10:52:21 -060072 };
Simon Glass46be3c62017-01-16 07:04:23 -070073#else
Simon Glass014c66f2019-12-06 21:42:32 -070074# ifdef CONFIG_SPL
75 u-boot {
76 offset = <CONFIG_SYS_TEXT_BASE>;
77 };
Simon Glass0bd972a2020-07-19 13:56:17 -060078# elif defined(CONFIG_HAVE_MICROCODE)
Simon Glass014c66f2019-12-06 21:42:32 -070079 /* If there is no SPL then we need to put microcode in U-Boot */
Simon Glass771f02f2019-05-02 10:52:21 -060080 u-boot-with-ucode-ptr {
Simon Glass20af0ff2019-12-06 21:42:29 -070081 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass771f02f2019-05-02 10:52:21 -060082 };
Simon Glass0bd972a2020-07-19 13:56:17 -060083# else
84 u-boot-nodtb {
85 offset = <CONFIG_X86_OFFSET_U_BOOT>;
86 };
Simon Glass014c66f2019-12-06 21:42:32 -070087# endif
Simon Glass46be3c62017-01-16 07:04:23 -070088#endif
Simon Glass3c4b98f2019-12-06 21:42:26 -070089#ifdef CONFIG_HAVE_MICROCODE
Simon Glass771f02f2019-05-02 10:52:21 -060090 u-boot-dtb-with-ucode {
91 };
92 u-boot-ucode {
93 align = <16>;
94 };
Simon Glass3c4b98f2019-12-06 21:42:26 -070095#else
96 u-boot-dtb {
97 };
98#endif
Simon Glass15425952020-07-19 13:56:15 -060099 fdtmap {
100 };
Simon Glass7dbabbb2019-12-06 21:42:24 -0700101#ifdef CONFIG_HAVE_X86_FIT
102 intel-fit {
103 };
104 intel-fit-ptr {
105 };
106#endif
Simon Glassdc926ed2016-11-25 20:16:02 -0700107#ifdef CONFIG_HAVE_MRC
Simon Glass771f02f2019-05-02 10:52:21 -0600108 intel-mrc {
109 offset = <CONFIG_X86_MRC_ADDR>;
110 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700111#endif
Simon Glassf8dc7f42019-12-06 21:42:28 -0700112#ifdef CONFIG_FSP_VERSION1
Simon Glass771f02f2019-05-02 10:52:21 -0600113 intel-fsp {
114 filename = CONFIG_FSP_FILE;
115 offset = <CONFIG_FSP_ADDR>;
116 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700117#endif
Simon Glassf8dc7f42019-12-06 21:42:28 -0700118#ifdef CONFIG_FSP_VERSION2
119 intel-descriptor {
120 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
121 };
122 intel-ifwi {
123 filename = CONFIG_IFWI_INPUT_FILE;
124 convert-fit;
125
126 section {
127 size = <0x8000>;
128 ifwi-replace;
129 ifwi-subpart = "IBBP";
130 ifwi-entry = "IBBL";
131 u-boot-tpl {
132 };
133 x86-start16-tpl {
134 offset = <0x7800>;
135 };
136 x86-reset16-tpl {
137 offset = <0x7ff0>;
138 };
139 };
140 };
141 intel-fsp-m {
142 filename = CONFIG_FSP_FILE_M;
143 };
144 intel-fsp-s {
145 filename = CONFIG_FSP_FILE_S;
146 };
147#endif
Simon Glassdc926ed2016-11-25 20:16:02 -0700148#ifdef CONFIG_HAVE_CMC
Simon Glass771f02f2019-05-02 10:52:21 -0600149 intel-cmc {
150 filename = CONFIG_CMC_FILE;
151 offset = <CONFIG_CMC_ADDR>;
152 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700153#endif
154#ifdef CONFIG_HAVE_VGA_BIOS
Simon Glass771f02f2019-05-02 10:52:21 -0600155 intel-vga {
156 filename = CONFIG_VGA_BIOS_FILE;
157 offset = <CONFIG_VGA_BIOS_ADDR>;
158 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700159#endif
Bin Menga3dd11a2017-08-15 22:41:55 -0700160#ifdef CONFIG_HAVE_VBT
Simon Glass771f02f2019-05-02 10:52:21 -0600161 intel-vbt {
162 filename = CONFIG_VBT_FILE;
163 offset = <CONFIG_VBT_ADDR>;
164 };
Bin Menga3dd11a2017-08-15 22:41:55 -0700165#endif
Simon Glassdc926ed2016-11-25 20:16:02 -0700166#ifdef CONFIG_HAVE_REFCODE
Simon Glass771f02f2019-05-02 10:52:21 -0600167 intel-refcode {
168 offset = <CONFIG_X86_REFCODE_ADDR>;
169 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700170#endif
Simon Glassf03c70d2019-05-02 10:52:19 -0600171#ifdef CONFIG_TPL
Simon Glass771f02f2019-05-02 10:52:21 -0600172 x86-start16-tpl {
173 offset = <CONFIG_SYS_X86_START16>;
174 };
Simon Glassabab18c2019-08-24 07:22:49 -0600175 x86-reset16-tpl {
176 offset = <CONFIG_RESET_VEC_LOC>;
177 };
Simon Glassf03c70d2019-05-02 10:52:19 -0600178#elif defined(CONFIG_SPL)
Simon Glass771f02f2019-05-02 10:52:21 -0600179 x86-start16-spl {
180 offset = <CONFIG_SYS_X86_START16>;
181 };
Simon Glassabab18c2019-08-24 07:22:49 -0600182 x86-reset16-spl {
183 offset = <CONFIG_RESET_VEC_LOC>;
184 };
Simon Glass46be3c62017-01-16 07:04:23 -0700185#else
Simon Glass771f02f2019-05-02 10:52:21 -0600186 x86-start16 {
187 offset = <CONFIG_SYS_X86_START16>;
188 };
Simon Glassabab18c2019-08-24 07:22:49 -0600189 x86-reset16 {
190 offset = <CONFIG_RESET_VEC_LOC>;
191 };
Simon Glass46be3c62017-01-16 07:04:23 -0700192#endif
Simon Glass8d543882019-12-06 21:42:31 -0700193 image-header {
194 location = "end";
195 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700196};
197#endif