blob: fdd28979e0b05d513edc23df172bf790d34ce3b9 [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 Glassdc926ed2016-11-25 20:16:02 -07009/ {
10 binman {
Simon Glassff23e682019-05-02 10:52:20 -060011 multiple-images;
12 rom: rom {
13 };
14 };
15};
Simon Glassff23e682019-05-02 10:52:20 -060016
17#ifdef CONFIG_ROM_SIZE
18&rom {
Simon Glass771f02f2019-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 Glassdc926ed2016-11-25 20:16:02 -070024#ifdef CONFIG_HAVE_INTEL_ME
Simon Glass771f02f2019-05-02 10:52:21 -060025 intel-descriptor {
26 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
Simon Glass347fe722024-06-23 11:55:08 -060027 assume-size = <0x1000>;
Simon Glass771f02f2019-05-02 10:52:21 -060028 };
29 intel-me {
30 filename = CONFIG_INTEL_ME_FILE;
Simon Glass347fe722024-06-23 11:55:08 -060031 assume-size = <0x1ff000>;
Simon Glass771f02f2019-05-02 10:52:21 -060032 };
Simon Glassdc926ed2016-11-25 20:16:02 -070033#endif
Simon Glassf03c70d2019-05-02 10:52:19 -060034#ifdef CONFIG_TPL
Simon Glass3c4b98f2019-12-06 21:42:26 -070035#ifdef CONFIG_HAVE_MICROCODE
Simon Glass771f02f2019-05-02 10:52:21 -060036 u-boot-tpl-with-ucode-ptr {
37 offset = <CONFIG_TPL_TEXT_BASE>;
38 };
39 u-boot-tpl-dtb {
40 };
Simon Glass3c4b98f2019-12-06 21:42:26 -070041#endif
Simon Glass9045faf2022-02-08 11:49:47 -070042 u-boot-spl {
Simon Glass2e8ec3a2021-03-18 20:25:09 +130043 type = "u-boot-spl";
Simon Glass4d7a9232019-12-06 21:42:30 -070044 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glass771f02f2019-05-02 10:52:21 -060045 };
46 u-boot {
Simon Glass20af0ff2019-12-06 21:42:29 -070047 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass771f02f2019-05-02 10:52:21 -060048 };
Simon Glassf03c70d2019-05-02 10:52:19 -060049#elif defined(CONFIG_SPL)
Simon Glass771f02f2019-05-02 10:52:21 -060050 u-boot-spl-with-ucode-ptr {
Simon Glass4d7a9232019-12-06 21:42:30 -070051 offset = <CONFIG_X86_OFFSET_SPL>;
Simon Glass771f02f2019-05-02 10:52:21 -060052 };
53 u-boot-dtb-with-ucode2 {
54 type = "u-boot-dtb-with-ucode";
55 };
56 u-boot {
Simon Glass20af0ff2019-12-06 21:42:29 -070057 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass771f02f2019-05-02 10:52:21 -060058 };
Simon Glass46be3c62017-01-16 07:04:23 -070059#else
Simon Glass842fff42021-03-18 20:25:10 +130060# ifdef CONFIG_HAVE_MICROCODE
Simon Glass014c66f2019-12-06 21:42:32 -070061 /* If there is no SPL then we need to put microcode in U-Boot */
Simon Glass771f02f2019-05-02 10:52:21 -060062 u-boot-with-ucode-ptr {
Simon Glass20af0ff2019-12-06 21:42:29 -070063 offset = <CONFIG_X86_OFFSET_U_BOOT>;
Simon Glass771f02f2019-05-02 10:52:21 -060064 };
Simon Glass0bd972a2020-07-19 13:56:17 -060065# else
66 u-boot-nodtb {
67 offset = <CONFIG_X86_OFFSET_U_BOOT>;
68 };
Simon Glass014c66f2019-12-06 21:42:32 -070069# endif
Simon Glass46be3c62017-01-16 07:04:23 -070070#endif
Simon Glass3c4b98f2019-12-06 21:42:26 -070071#ifdef CONFIG_HAVE_MICROCODE
Simon Glass771f02f2019-05-02 10:52:21 -060072 u-boot-dtb-with-ucode {
73 };
74 u-boot-ucode {
75 align = <16>;
76 };
Simon Glass3c4b98f2019-12-06 21:42:26 -070077#else
78 u-boot-dtb {
79 };
80#endif
Simon Glass15425952020-07-19 13:56:15 -060081 fdtmap {
82 };
Simon Glass7dbabbb2019-12-06 21:42:24 -070083#ifdef CONFIG_HAVE_X86_FIT
84 intel-fit {
85 };
86 intel-fit-ptr {
87 };
88#endif
Simon Glassdc926ed2016-11-25 20:16:02 -070089#ifdef CONFIG_HAVE_MRC
Simon Glass771f02f2019-05-02 10:52:21 -060090 intel-mrc {
Tom Riniaefad5d2022-12-04 10:14:07 -050091 offset = <CFG_X86_MRC_ADDR>;
Simon Glass347fe722024-06-23 11:55:08 -060092 assume-size = <0x2fc94>;
Simon Glass771f02f2019-05-02 10:52:21 -060093 };
Simon Glassdc926ed2016-11-25 20:16:02 -070094#endif
Simon Glassf8dc7f42019-12-06 21:42:28 -070095#ifdef CONFIG_FSP_VERSION1
Simon Glass771f02f2019-05-02 10:52:21 -060096 intel-fsp {
97 filename = CONFIG_FSP_FILE;
98 offset = <CONFIG_FSP_ADDR>;
99 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700100#endif
Simon Glassf8dc7f42019-12-06 21:42:28 -0700101#ifdef CONFIG_FSP_VERSION2
102 intel-descriptor {
103 filename = CONFIG_FLASH_DESCRIPTOR_FILE;
Simon Glass347fe722024-06-23 11:55:08 -0600104 assume-size = <4096>;
Simon Glassf8dc7f42019-12-06 21:42:28 -0700105 };
106 intel-ifwi {
107 filename = CONFIG_IFWI_INPUT_FILE;
108 convert-fit;
109
110 section {
111 size = <0x8000>;
112 ifwi-replace;
113 ifwi-subpart = "IBBP";
114 ifwi-entry = "IBBL";
115 u-boot-tpl {
116 };
117 x86-start16-tpl {
118 offset = <0x7800>;
119 };
120 x86-reset16-tpl {
121 offset = <0x7ff0>;
122 };
123 };
124 };
125 intel-fsp-m {
126 filename = CONFIG_FSP_FILE_M;
127 };
128 intel-fsp-s {
129 filename = CONFIG_FSP_FILE_S;
130 };
131#endif
Simon Glass28e750f2020-11-04 09:57:17 -0700132 private_files: private-files {
133 type = "files";
134 pattern = "*.dat";
135 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700136#ifdef CONFIG_HAVE_CMC
Simon Glass771f02f2019-05-02 10:52:21 -0600137 intel-cmc {
138 filename = CONFIG_CMC_FILE;
139 offset = <CONFIG_CMC_ADDR>;
140 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700141#endif
142#ifdef CONFIG_HAVE_VGA_BIOS
Simon Glass771f02f2019-05-02 10:52:21 -0600143 intel-vga {
144 filename = CONFIG_VGA_BIOS_FILE;
145 offset = <CONFIG_VGA_BIOS_ADDR>;
Simon Glass347fe722024-06-23 11:55:08 -0600146 assume-size = <0x10000>;
Simon Glass771f02f2019-05-02 10:52:21 -0600147 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700148#endif
Bin Menga3dd11a2017-08-15 22:41:55 -0700149#ifdef CONFIG_HAVE_VBT
Simon Glass771f02f2019-05-02 10:52:21 -0600150 intel-vbt {
151 filename = CONFIG_VBT_FILE;
152 offset = <CONFIG_VBT_ADDR>;
153 };
Bin Menga3dd11a2017-08-15 22:41:55 -0700154#endif
Simon Glassdc926ed2016-11-25 20:16:02 -0700155#ifdef CONFIG_HAVE_REFCODE
Simon Glass771f02f2019-05-02 10:52:21 -0600156 intel-refcode {
Tom Rini1aaf3e62022-12-04 10:14:08 -0500157 offset = <CFG_X86_REFCODE_ADDR>;
Simon Glass771f02f2019-05-02 10:52:21 -0600158 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700159#endif
Simon Glassf03c70d2019-05-02 10:52:19 -0600160#ifdef CONFIG_TPL
Simon Glass771f02f2019-05-02 10:52:21 -0600161 x86-start16-tpl {
162 offset = <CONFIG_SYS_X86_START16>;
163 };
Simon Glassabab18c2019-08-24 07:22:49 -0600164 x86-reset16-tpl {
165 offset = <CONFIG_RESET_VEC_LOC>;
166 };
Simon Glassf03c70d2019-05-02 10:52:19 -0600167#elif defined(CONFIG_SPL)
Simon Glass771f02f2019-05-02 10:52:21 -0600168 x86-start16-spl {
169 offset = <CONFIG_SYS_X86_START16>;
170 };
Simon Glassabab18c2019-08-24 07:22:49 -0600171 x86-reset16-spl {
172 offset = <CONFIG_RESET_VEC_LOC>;
173 };
Simon Glass46be3c62017-01-16 07:04:23 -0700174#else
Simon Glass771f02f2019-05-02 10:52:21 -0600175 x86-start16 {
176 offset = <CONFIG_SYS_X86_START16>;
177 };
Simon Glassabab18c2019-08-24 07:22:49 -0600178 x86-reset16 {
179 offset = <CONFIG_RESET_VEC_LOC>;
180 };
Simon Glass46be3c62017-01-16 07:04:23 -0700181#endif
Simon Glass8d543882019-12-06 21:42:31 -0700182 image-header {
183 location = "end";
184 };
Simon Glassdc926ed2016-11-25 20:16:02 -0700185};
186#endif