blob: 90badcc15c98d5e5f29688ded89037ac72286c3c [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 Glassb215fbd2016-11-25 20:16:02 -07009/ {
10 binman {
Simon Glassc5edefb2019-05-02 10:52:20 -060011 multiple-images;
12 rom: rom {
13 };
14 };
15};
Simon Glassc5edefb2019-05-02 10:52:20 -060016
17#ifdef CONFIG_ROM_SIZE
18&rom {
Simon Glasse766d9f2019-05-02 10:52:21 -060019 filename = "u-boot.rom";
20 end-at-4gb;
21 sort-by-offset;
22 pad-byte = <0xff>;
23 size = <CONFIG_ROM_SIZE>;
Simon Glassb215fbd2016-11-25 20:16:02 -070024#ifdef CONFIG_HAVE_INTEL_ME
Simon Glasse766d9f2019-05-02 10:52:21 -060025 intel-descriptor {
26 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
27 };
28 intel-me {
29 filename = CONFIG_INTEL_ME_FILE;
30 };
Simon Glassb215fbd2016-11-25 20:16:02 -070031#endif
Simon Glass93c76072019-05-02 10:52:19 -060032#ifdef CONFIG_TPL
Simon Glass86a8fb32019-12-06 21:42:26 -070033#ifdef CONFIG_HAVE_MICROCODE
Simon Glasse766d9f2019-05-02 10:52:21 -060034 u-boot-tpl-with-ucode-ptr {
35 offset = <CONFIG_TPL_TEXT_BASE>;
36 };
37 u-boot-tpl-dtb {
38 };
Simon Glass86a8fb32019-12-06 21:42:26 -070039#endif
Simon Glassdf81abd2019-12-06 21:42:33 -070040 spl {
41 type = "section";
Simon Glass28d7d762019-12-06 21:42:30 -070042 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glassdf81abd2019-12-06 21:42:33 -070043 u-boot-spl {
44 };
45 u-boot-spl-dtb {
46 };
Simon Glasse766d9f2019-05-02 10:52:21 -060047 };
48 u-boot {
Simon Glassdf81abd2019-12-06 21:42:33 -070049 type = "section";
Simon Glassb3112952019-12-06 21:42:29 -070050 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glassdf81abd2019-12-06 21:42:33 -070051 u-boot-nodtb {
52 };
53 u-boot-dtb {
54 };
Simon Glasse766d9f2019-05-02 10:52:21 -060055 };
Simon Glass93c76072019-05-02 10:52:19 -060056#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -060057 u-boot-spl-with-ucode-ptr {
Simon Glass28d7d762019-12-06 21:42:30 -070058 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glasse766d9f2019-05-02 10:52:21 -060059 };
60 u-boot-dtb-with-ucode2 {
61 type = "u-boot-dtb-with-ucode";
62 };
63 u-boot {
Simon Glassb3112952019-12-06 21:42:29 -070064 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glasse766d9f2019-05-02 10:52:21 -060065 };
Simon Glass164f0412017-01-16 07:04:23 -070066#else
Simon Glass4f1f5072019-12-06 21:42:32 -070067# ifdef CONFIG_SPL
68 u-boot {
69 offset = <CONFIG_SYS_TEXT_BASE>;
70 };
Simon Glass9589c442020-07-19 13:56:17 -060071# elif defined(CONFIG_HAVE_MICROCODE)
Simon Glass4f1f5072019-12-06 21:42:32 -070072 /* If there is no SPL then we need to put microcode in U-Boot */
Simon Glasse766d9f2019-05-02 10:52:21 -060073 u-boot-with-ucode-ptr {
Simon Glassb3112952019-12-06 21:42:29 -070074 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glasse766d9f2019-05-02 10:52:21 -060075 };
Simon Glass9589c442020-07-19 13:56:17 -060076# else
77 u-boot-nodtb {
78 offset = <CONFIG_X86_OFFSET_U_BOOT>;
79 };
Simon Glass4f1f5072019-12-06 21:42:32 -070080# endif
Simon Glass164f0412017-01-16 07:04:23 -070081#endif
Simon Glass86a8fb32019-12-06 21:42:26 -070082#ifdef CONFIG_HAVE_MICROCODE
Simon Glasse766d9f2019-05-02 10:52:21 -060083 u-boot-dtb-with-ucode {
84 };
85 u-boot-ucode {
86 align = <16>;
87 };
Simon Glass86a8fb32019-12-06 21:42:26 -070088#else
89 u-boot-dtb {
90 };
91#endif
Simon Glassa78466a2020-07-19 13:56:15 -060092 fdtmap {
93 };
Simon Glass2e2a0032019-12-06 21:42:24 -070094#ifdef CONFIG_HAVE_X86_FIT
95 intel-fit {
96 };
97 intel-fit-ptr {
98 };
99#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700100#ifdef CONFIG_HAVE_MRC
Simon Glasse766d9f2019-05-02 10:52:21 -0600101 intel-mrc {
102 offset = <CONFIG_X86_MRC_ADDR>;
103 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700104#endif
Simon Glassdda8e3e2019-12-06 21:42:28 -0700105#ifdef CONFIG_FSP_VERSION1
Simon Glasse766d9f2019-05-02 10:52:21 -0600106 intel-fsp {
107 filename = CONFIG_FSP_FILE;
108 offset = <CONFIG_FSP_ADDR>;
109 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700110#endif
Simon Glassdda8e3e2019-12-06 21:42:28 -0700111#ifdef CONFIG_FSP_VERSION2
112 intel-descriptor {
113 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
114 };
115 intel-ifwi {
116 filename = CONFIG_IFWI_INPUT_FILE;
117 convert-fit;
118
119 section {
120 size = <0x8000>;
121 ifwi-replace;
122 ifwi-subpart = "IBBP";
123 ifwi-entry = "IBBL";
124 u-boot-tpl {
125 };
126 x86-start16-tpl {
127 offset = <0x7800>;
128 };
129 x86-reset16-tpl {
130 offset = <0x7ff0>;
131 };
132 };
133 };
134 intel-fsp-m {
135 filename = CONFIG_FSP_FILE_M;
136 };
137 intel-fsp-s {
138 filename = CONFIG_FSP_FILE_S;
139 };
140#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700141#ifdef CONFIG_HAVE_CMC
Simon Glasse766d9f2019-05-02 10:52:21 -0600142 intel-cmc {
143 filename = CONFIG_CMC_FILE;
144 offset = <CONFIG_CMC_ADDR>;
145 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700146#endif
147#ifdef CONFIG_HAVE_VGA_BIOS
Simon Glasse766d9f2019-05-02 10:52:21 -0600148 intel-vga {
149 filename = CONFIG_VGA_BIOS_FILE;
150 offset = <CONFIG_VGA_BIOS_ADDR>;
151 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700152#endif
Bin Meng6c223792017-08-15 22:41:55 -0700153#ifdef CONFIG_HAVE_VBT
Simon Glasse766d9f2019-05-02 10:52:21 -0600154 intel-vbt {
155 filename = CONFIG_VBT_FILE;
156 offset = <CONFIG_VBT_ADDR>;
157 };
Bin Meng6c223792017-08-15 22:41:55 -0700158#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700159#ifdef CONFIG_HAVE_REFCODE
Simon Glasse766d9f2019-05-02 10:52:21 -0600160 intel-refcode {
161 offset = <CONFIG_X86_REFCODE_ADDR>;
162 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700163#endif
Simon Glass93c76072019-05-02 10:52:19 -0600164#ifdef CONFIG_TPL
Simon Glasse766d9f2019-05-02 10:52:21 -0600165 x86-start16-tpl {
166 offset = <CONFIG_SYS_X86_START16>;
167 };
Simon Glass5e239182019-08-24 07:22:49 -0600168 x86-reset16-tpl {
169 offset = <CONFIG_RESET_VEC_LOC>;
170 };
Simon Glass93c76072019-05-02 10:52:19 -0600171#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -0600172 x86-start16-spl {
173 offset = <CONFIG_SYS_X86_START16>;
174 };
Simon Glass5e239182019-08-24 07:22:49 -0600175 x86-reset16-spl {
176 offset = <CONFIG_RESET_VEC_LOC>;
177 };
Simon Glass164f0412017-01-16 07:04:23 -0700178#else
Simon Glasse766d9f2019-05-02 10:52:21 -0600179 x86-start16 {
180 offset = <CONFIG_SYS_X86_START16>;
181 };
Simon Glass5e239182019-08-24 07:22:49 -0600182 x86-reset16 {
183 offset = <CONFIG_RESET_VEC_LOC>;
184 };
Simon Glass164f0412017-01-16 07:04:23 -0700185#endif
Simon Glass624c70b2019-12-06 21:42:31 -0700186 image-header {
187 location = "end";
188 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700189};
190#endif