blob: 0e87b88e105ea96b302b414428141a3c76f4b31f [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 Glasse766d9f2019-05-02 10:52:21 -060040 u-boot-tpl-with-ucode-ptr {
41 offset = <CONFIG_TPL_TEXT_BASE>;
42 };
43 u-boot-tpl-dtb {
44 };
45 u-boot-spl {
46 offset = <CONFIG_SPL_TEXT_BASE>;
47 };
48 u-boot-spl-dtb {
49 };
50 u-boot {
51 offset = <CONFIG_SYS_TEXT_BASE>;
52 };
Simon Glass93c76072019-05-02 10:52:19 -060053#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -060054 u-boot-spl-with-ucode-ptr {
55 offset = <CONFIG_SPL_TEXT_BASE>;
56 };
57 u-boot-dtb-with-ucode2 {
58 type = "u-boot-dtb-with-ucode";
59 };
60 u-boot {
Simon Glass93c76072019-05-02 10:52:19 -060061 /*
62 * TODO(sjg@chromium.org):
63 * Normally we use CONFIG_SYS_TEXT_BASE as the flash offset. But
64 * for boards with textbase in SDRAM we cannot do this. Just use
65 * an assumed-valid value (1MB before the end of flash) here so
66 * that we can actually build an image for coreboot, etc.
67 * We need a better solution, perhaps a separate Kconfig.
68 */
69#if CONFIG_SYS_TEXT_BASE == 0x1110000
Simon Glasse766d9f2019-05-02 10:52:21 -060070 offset = <0xfff00000>;
Simon Glass93c76072019-05-02 10:52:19 -060071#else
Simon Glasse766d9f2019-05-02 10:52:21 -060072 offset = <CONFIG_SYS_TEXT_BASE>;
Simon Glass93c76072019-05-02 10:52:19 -060073#endif
Simon Glasse766d9f2019-05-02 10:52:21 -060074 };
Simon Glass164f0412017-01-16 07:04:23 -070075#else
Simon Glasse766d9f2019-05-02 10:52:21 -060076 u-boot-with-ucode-ptr {
77 offset = <CONFIG_SYS_TEXT_BASE>;
78 };
Simon Glass164f0412017-01-16 07:04:23 -070079#endif
Simon Glasse766d9f2019-05-02 10:52:21 -060080 u-boot-dtb-with-ucode {
81 };
82 u-boot-ucode {
83 align = <16>;
84 };
Simon Glassb215fbd2016-11-25 20:16:02 -070085#ifdef CONFIG_HAVE_MRC
Simon Glasse766d9f2019-05-02 10:52:21 -060086 intel-mrc {
87 offset = <CONFIG_X86_MRC_ADDR>;
88 };
Simon Glassb215fbd2016-11-25 20:16:02 -070089#endif
90#ifdef CONFIG_HAVE_FSP
Simon Glasse766d9f2019-05-02 10:52:21 -060091 intel-fsp {
92 filename = CONFIG_FSP_FILE;
93 offset = <CONFIG_FSP_ADDR>;
94 };
Simon Glassb215fbd2016-11-25 20:16:02 -070095#endif
96#ifdef CONFIG_HAVE_CMC
Simon Glasse766d9f2019-05-02 10:52:21 -060097 intel-cmc {
98 filename = CONFIG_CMC_FILE;
99 offset = <CONFIG_CMC_ADDR>;
100 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700101#endif
102#ifdef CONFIG_HAVE_VGA_BIOS
Simon Glasse766d9f2019-05-02 10:52:21 -0600103 intel-vga {
104 filename = CONFIG_VGA_BIOS_FILE;
105 offset = <CONFIG_VGA_BIOS_ADDR>;
106 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700107#endif
Bin Meng6c223792017-08-15 22:41:55 -0700108#ifdef CONFIG_HAVE_VBT
Simon Glasse766d9f2019-05-02 10:52:21 -0600109 intel-vbt {
110 filename = CONFIG_VBT_FILE;
111 offset = <CONFIG_VBT_ADDR>;
112 };
Bin Meng6c223792017-08-15 22:41:55 -0700113#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700114#ifdef CONFIG_HAVE_REFCODE
Simon Glasse766d9f2019-05-02 10:52:21 -0600115 intel-refcode {
116 offset = <CONFIG_X86_REFCODE_ADDR>;
117 };
Simon Glassb215fbd2016-11-25 20:16:02 -0700118#endif
Simon Glass93c76072019-05-02 10:52:19 -0600119#ifdef CONFIG_TPL
Simon Glasse766d9f2019-05-02 10:52:21 -0600120 x86-start16-tpl {
121 offset = <CONFIG_SYS_X86_START16>;
122 };
Simon Glass5e239182019-08-24 07:22:49 -0600123 x86-reset16-tpl {
124 offset = <CONFIG_RESET_VEC_LOC>;
125 };
Simon Glass93c76072019-05-02 10:52:19 -0600126#elif defined(CONFIG_SPL)
Simon Glasse766d9f2019-05-02 10:52:21 -0600127 x86-start16-spl {
128 offset = <CONFIG_SYS_X86_START16>;
129 };
Simon Glass5e239182019-08-24 07:22:49 -0600130 x86-reset16-spl {
131 offset = <CONFIG_RESET_VEC_LOC>;
132 };
Simon Glass164f0412017-01-16 07:04:23 -0700133#else
Simon Glasse766d9f2019-05-02 10:52:21 -0600134 x86-start16 {
135 offset = <CONFIG_SYS_X86_START16>;
136 };
Simon Glass5e239182019-08-24 07:22:49 -0600137 x86-reset16 {
138 offset = <CONFIG_RESET_VEC_LOC>;
139 };
Simon Glass164f0412017-01-16 07:04:23 -0700140#endif
Simon Glassb215fbd2016-11-25 20:16:02 -0700141};
142#endif