Compare commits

...

323 Commits

Author SHA1 Message Date
Leah Rowe 07b6bb3dbd build/release: handle nvmutil 2023-03-19 01:13:48 +00:00
Leah Rowe 653810b834 fix bug: me not being downloaded on some boards
rename board configs, and add to sources file the
t530/w530 boards

in some situations, the files weren't being downloaded
2023-03-19 00:36:34 +00:00
Leah Rowe 2bb63d8559 new board: lenovo/w530 2023-03-19 00:23:29 +00:00
Leah Rowe 896e90654f new board: lenovo/t530 2023-03-19 00:17:25 +00:00
Leah Rowe cffa567929 haswell (lenovo t440p/w541): fix S3 suspend/resume
MRC caches in a certain way, that Heads was able to work
around in their build system, for this board.

I've adapted the relevant config differences, from their project
as of heads revision 96440b928acb06de5b925ea12014c9c280b23165

The downside is that CBFS now has to be 8MB in size. The upside
is that the machine also boots much faster

See:

    https://github.com/osresearch/heads/pull/1282/commits/f0792117efa177ded19878f652c5a28e8cc62a71

    https://github.com/osresearch/heads/pull/1282#issuecomment-1400634600

I have not adapted their IFD changes, versus Libreboot, because theirs
simply has a different version string, and uses different read/write
permission bits for regions as defined in the IFD.

This affects:

    t440p_12mb_mrc

    w541_12mb_mrc

S3 suspend/resume still broken on these targets which use the libre
MRC init (replacement code by Angel Pons, recently merged in lbmk):

    t440p_12mb

    w541_12mb

With clever use of FMAP, the rest of the BIOS region might still be
used. However, for our purposes, 8MB CBFS will do just fine.

Heads's changes configure MRC so that caching is handled properly,
for when the machine returns from sleep. Setting CBFS to be any
higher will result in slower boot times, and broken S3 resume, due
to MRC cache misalignment (this is based on my understanding, reading
through the Heads project looking at their research on this).

At some point in the future, Angel's libre MRC code will probably
be finished, and merged, with more fine tuning possible to allow
bigger CBFS sizes.
2023-03-18 23:21:15 +00:00
Leah Rowe be3d7b7e69 haswell: re-add mrc.bin in separate board configs
libre mrc on haswell is quite buggy for now, but works in
a limited fashion

this patch re-adds the old configs, but as _mrc for example
t440p_12mb_mrc instead of t440p_12mb

and t440p_12mb (without _mrc) still uses the libre mrc code
2023-03-18 15:20:03 +00:00
Leah Rowe bdc39ffcc7 haswell: only use txtmod seabios configuration
i found that with libre mrc, usb was broken in grub

however, it worked nicely in seabios

for our purposes, doing seabios-only roms in text mode
is best for now

i'm going to re-add mrc.bin, but for t440p_12mb_mrc
and w541_12mb_mrc, as new config names. the regular
t440p_12mb and w541_12mb will continue to use libre
mrc, but the _mrc ones will use mrc.bin and retain the
grub payload in board.cfg
2023-03-18 12:15:35 +00:00
Leah Rowe df6b9e2840 remove t440p_12mb_cbfs4mb (retain t440_12mb) 2023-03-18 12:13:28 +00:00
Leah Rowe 04f1fe1751 remove x220_16mb (x220 with 16MB flash)
untested. removing.
2023-03-18 07:59:25 +00:00
Leah Rowe 548872ce8e haswell boards: use libre mrc.bin replacement
courtesy of Angel Pons from the coreboot project

this uses the following patch set from gerrit, as yet
unmerged (in coreboot master) on this date:

    https://review.coreboot.org/c/coreboot/+/64198/5

logic for downloading mrc blobs has been deleted from
lbmk, as this is now completely obsolete (for haswell
boards)

if other platforms are added later that need mrc.bin,
then logic will be re-added again for that
2023-03-18 00:55:10 +00:00
Leah Rowe a942bd6590 move download/gitmodule script to root directory
this fixes the build error:

Error: name not set
Usage: ./download gitmodule [name]

when running:

./download all

running "all" runs all scripts under downloads,
one of which was the gitmodule script itself, therefore
being run without argument
2023-03-17 23:13:20 +00:00
Leah Rowe 59540530bc nuke p2b_ls/p3b_f boards
they don't even boot in pcbox properly, and the real
hardware is not much to talk about

useless port

delete
2023-03-17 21:54:01 +00:00
Leah Rowe ebd9ec96c4 debian/ubuntu dependencies scripts: add gettext 2023-03-16 23:55:05 +00:00
Leah Rowe f9e20b8a1d util/nvmutil: optimise rhex() further
reduce the number of calls to read() by using
bit shifts. when rnum is zero, read again. in
most cases, a nibble will not be zero, so this
will usually result in about 13-15 of of 16
nibbles being used. this is in comparison to
8 nibbles being used before, which means that
the number of calls to read() are roughly
halved. at the same time, the extra amount of
logic is minimal (and probably less) when
compiled, outside of calls to read(), because
shifting is better optimised (on 64-bit machines,
the uint64_t will be shifted with just a single
instruction, if the compiler is decent), whereas
the alternative would be to always precisely use
exactly 16 nibbles by counting up to 16, which
would involve the use of an and mask and still
need a shift, plus...

you get the point. this is probably the most
efficient code ever written, for generating
random numbers between the value of 0 and 15
2023-03-06 21:30:33 +00:00
Leah Rowe f04855c29d fix flashrom download error 2023-03-06 11:44:54 +00:00
Leah Rowe e2945f02b7 payload/grub: force terminal_output to console 2023-03-05 21:25:35 +00:00
Leah Rowe 909d3b31db grub.cfg: set default timeout to 5 seconds 2023-03-05 19:14:24 +00:00
Leah Rowe 544737c864 scripts: build cbutils, not specific utils
some checks check for specific utils, which are
then used to indicate the existence of other utils,
which means that building them singularly, as is
currently done, may result in errors later if another
tool doesn't exist compiled yet

this is an obscure bug, fixed by this patch. more of a
workaround really. a dirty hack. when checking for any
of the coreboot utilities required, build all coreboot
utilities that are possibly required

the utilities are small enough that this does not add
much extra time to build, and in most cases, all of them
will be needed anyway
2023-03-05 14:00:06 +00:00
Leah Rowe 9398ad08db also fix data.vbt path for lenovo/w541
using the same method as the previous patch for t440p
2023-03-05 13:50:09 +00:00
Konstantinos Koukopoulos d2465e8291 Fix CONFIG_INTEL_GMA_VBT_FILE for the t440p_12mb config 2023-03-05 13:46:33 +00:00
Leah Rowe 0e34d199fb update debian dependencies (for sid) 2023-03-05 13:42:06 +00:00
Leah Rowe a5aa5bca77 ICH9M: default to 256MB VRAM, not 352MB
352MB VRAM causes stability issues, according to some reports

users can still set it to the higher level when building, if
they wish to
2023-03-04 23:58:17 +00:00
Leah Rowe 6421af5dcb bump seabios revision 2023-02-21 18:29:06 +00:00
Leah Rowe aba6307d13 bump grub revision 2023-02-21 07:39:07 +00:00
Leah Rowe 36982ab5f4 fix bad ifdtool patch from earlier commit 2023-02-19 23:21:37 +00:00
Leah Rowe 3857b4b65b build/dependencies/debian: add python3 dependency 2023-02-19 23:16:47 +00:00
Leah Rowe dac9ea86d3 build/boot/roms: fail when build cbutils fails 2023-02-19 23:16:01 +00:00
Leah Rowe 0d0f6cf3b8 coreboot: update revision of cbtree "default" 2023-02-19 19:24:01 +00:00
Leah Rowe dc1fedf920 Merge branch 'uboot-v2023.01' of alpernebbi/lbmk into master 2023-02-19 17:09:57 +00:00
Alper Nebi Yasak 7932d5fa95 u-boot: Disable environment storage
U-Boot can be configured via environment variables which can be saved to
various storage devices. This usually defaults to MMC or SPI depending
on where it boots from, but assumes the device's layout is controlled by
U-Boot.

We should store the environment in SPI flash, but we also need to
configure coreboot FMAPs to reserve the area U-Boot would use as its
environment storage. For now, disable environment storage by setting
ENV_IS_NOWHERE=y to avoid overwriting random regions of SPI or MMC if
someone tries to save the variables.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-02-14 00:58:08 +03:00
Alper Nebi Yasak 8d57468ee5 u-boot: Update to v2023.01
Set default U-Boot revision to v2023.01 and rebase patches on top of
that. Upstream kconfig status is a bit unstable, so updating configs
with `make oldconfig` would miss important upstream changes.

For each board, run `make savedefconfig` and `diffconfig -m` at the old
version to get a diff from upstream defconfigs. Fix those affected by
upstream changes, like SYS_TEXT_BASE being renamed to TEXT_BASE. Then
append those to the new version's defconfigs and run `make olddefconfig`
to get updated configs.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-02-14 00:58:08 +03:00
Leah Rowe 6b4a14ce4a util/nvmutil: tidy up variable declarations 2023-01-28 23:21:53 +00:00
Leah Rowe 031a0b553b util/nvmutil: setWord(): declare variables first 2023-01-28 22:40:01 +00:00
Leah Rowe 257eedca0c util/nvmutil: reset errno if any write attempted
the way nvmutil is designed, setWord() is only ever called
under non-error conditions. however, if one part is valid but
the other one isn't, and a command is run that touches both parts,
errno is non-zero write writeGbeFile is called

in situations where one part is valid, but the other isn't, AND the
writes to gbe (in memory) results in a non-change, writeGbeFile is
not called; in this situation, errno is not being reset, despite
non-error condition

this patch fixed the bug, resulting in zero status upon exit under
such conditions
2023-01-28 22:14:35 +00:00
Leah Rowe adc76e3814 util/nvmutil: do not write non-changes to disk 2023-01-28 21:26:36 +00:00
Leah Rowe 3e150bf303 util/nvmutil: cmd_swap(): write sequentually
the current code writes part 1 first, and part 0 next,
on the disk, due to the way the swap works.

with this change, swap still swaps the two parts of the file,
on disk, but writes the new file sequentially.

this change might speed up i/o on the file system, on HDDs.
on SSDs, this change likely makes no difference at all.
2023-01-28 20:30:34 +00:00
Leah Rowe 7e3a73558e util/nvmutil: don't use malloc() 2023-01-28 19:39:34 +00:00
Leah Rowe a924d43bdd util/nvmutil: fix clang build errors 2023-01-28 14:11:17 +00:00
Leah Rowe c822033bee util/nvmutil: simplify rhex()
don't use malloc(). instead, just load random bytes
into a uint64_t
2023-01-28 12:24:50 +00:00
Leah Rowe 0f4852450c util/nvmutil: use gbe[] in word() and setword()
this will make the code more flexible, if (when) i
add changes that allow multiple commands to be used
in a single run, on any given number of files
2023-01-27 20:13:15 +00:00
Leah Rowe b1186968e8 util/nvmutil: code cleanup 2023-01-27 19:52:11 +00:00
Leah Rowe 7a98649764 util/nvmutil: call pledge() earlier, in main() 2023-01-27 15:34:09 +00:00
Leah Rowe bb6fe263e7 util/nvmutil: remove unused #define 2023-01-27 15:28:50 +00:00
Leah Rowe 5a5a8662a6 util/nvmutil: optimised disk reads
only read the required number of bytes, per command
2023-01-27 15:09:34 +00:00
Leah Rowe 24d5645676 util/nvmutil: optimise cmd_swap()
On many Lenovo GbE regions (in factory firmware), part 0 is
invalid but part 1 is valid.

This change means part 1 is checked first. If part 1 is valid,
part 0 won't be checked at all (due to how most C compilers
optimise).

Most people are just going to extract the factory GbE file,
modify it and re-insert it into the ROM image, so this causes
a nice speedup.
2023-01-27 14:26:24 +00:00
Leah Rowe ef84329a81 util/nvmutil: optimise rhex() for speed
don't constantly open/close the file: /dev/urandom

only read 12 bytes at a time

because of this change, the readFromFile() function now only
handles gbe files
2023-01-27 14:18:46 +00:00
Leah Rowe 88a51531cf util/nvmutil: code cleanup in rhex() 2023-01-27 13:54:01 +00:00
Alexei Sorokin ac1cab288d x230edp_12mb: Correct the path to data.vbt 2023-01-26 23:57:13 +00:00
Leah Rowe afc80b89ec util/nvmutil: update copyright years 2023-01-17 12:48:14 +00:00
Leah Rowe 8242dca57b util/nvmutil: limit bytes written per command
Massive reduction in number of bytes written, if copy/swap
commands are not used.
2023-01-17 11:03:55 +00:00
Leah Rowe e398331b38 util/nvmutil: make writeGbeFile more readable 2023-01-17 10:52:45 +00:00
Leah Rowe 8dea350a62 util/nvmutil: only write parts that are modified
Old behaviour: always write both gbe sections.

New behaviour: only write back what was changed.
2023-01-17 10:23:21 +00:00
Leah Rowe d0fa08d58d blobs/inject: fix wrong nvmutil path for make 2023-01-10 03:48:46 +00:00
Leah Rowe e8072934f2 Merge branch 'veyron-uboot-dmreset' of alpernebbi/lbmk into master 2023-01-10 03:26:49 +00:00
Leah Rowe 6b10454271 Merge branch 'peach-uboot-usbehci' of alpernebbi/lbmk into master 2023-01-10 03:26:40 +00:00
Alper Nebi Yasak 80bf54b2a7 u-boot: Enable USB_EHCI_EXYNOS on peach boards
The USB 2.0 ports on Exynos boards need the relevant driver enabled by
USB_EHCI_EXYNOS. This is enabled by default depending on USB_EHCI_HCD.
It's already enabled on snow and spring, but apparently not on peach
boards, as discovered from other people's attempts to enable it [1][2].
Enable it also on the peach_pi and peach_pit.

[1] https://gitlab.com/exynos5-mainline/u-boot/-/commit/8f12e43dbfdebbd29f49c2cb8bf6e9b6ea7e70c9
[2] https://gitlab.com/exynos5-mainline/u-boot/-/commit/11cacf55ad720dfca8799561a38b1da4732a3018

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-31 21:34:01 +03:00
Alper Nebi Yasak e11650c3c7 u-boot: Enable DM_RESET for veyron boards
The display driver on the veyron boards needs reset drivers, more
specifically RESET_ROCKCHIP. This is enabled by default depending on
DM_RESET, which an upstream commit enables for veyron_jerry claiming it
fixes the display [1]. Enable it also in our configs, but for other
veyrons as well.

[1] https://lore.kernel.org/u-boot/20220928024046.2657593-1-sjg@chromium.org/

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-31 20:43:58 +03:00
Ferass 'Vitali64' EL HAFIDI 7f5dfebf7d Do not rely on bashisms and behaviour undefined by the POSIX specification. Part 2
Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
2022-12-28 18:43:49 +00:00
Ferass 'Vitali64' EL HAFIDI f787044642 Do not rely on bashisms and behaviour undefined by the POSIX specification.
By making lbmk fully POSIX-compliant, it will be easier to port lbmk to
other systems implementing POSIX such as Alpine Linux and FreeBSD.

Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
2022-12-27 15:50:41 +00:00
lbmkplaceholder d45b2e70dc util/nvmutil: use err() more consistently 2022-12-24 01:18:17 +00:00
Leah Rowe d726b16f5f util/nvmutil: more robust pointer handling
i didn't like the previous commits, they felt really hacky

running malloc and then changing the pointer directly just rubs
me the wrong way

fix that
2022-12-24 01:10:55 +00:00
lbmkplaceholder 448ee5105d util/nvmutil: optimise cmd_swap() further
don't do xor swap. we know gbe2 is always 4KB higher than
gbe in memory, so we can just set gbe2 to the value of gbe,
and OR the size in bytes of 4KB into gbe2

this is only a marginal speed boost, negligible even, but it's
done for the lulz
2022-12-23 10:42:19 +00:00
lbmkplaceholder effcb942ce util/nvmutil: greatly optimise cmd_copy()
similar to the last change by concept. we now write
individual 4KB blocks per part 0 and 1, at the end
of nvmutil, based on pointer values gbe and gbe2

instead of running memcpy, simply overwrite the pointer

this results in less I/O, thus more speed
2022-12-23 10:28:25 +00:00
lbmkplaceholder 6e5828e4a8 util/nvmutil: greatly optimise cmd_swap()
instead of XOR-swapping every byte, have pointers to the
two parts and *XOR swap the pointers*. at the end of the
program execution, when writing, pwrite the two parts into
the same file
2022-12-23 08:41:18 +00:00
lbmkplaceholder 7aafc62bf7 scripts/blobs/inject: fix bad cbfstool build check 2022-12-22 23:09:03 +00:00
lbmkplaceholder 6ebd178f28 util/nvmutil: simplified error handling in rhex() 2022-12-21 15:45:17 +00:00
lbmkplaceholder 04da953c71 util/nvmutil: return errno when calling err() 2022-12-21 15:31:02 +00:00
lbmkplaceholder 001878112a util/nvmutil: exit non-zero if close() fails 2022-12-21 15:28:15 +00:00
lbmkplaceholder c6bb4d25f3 build/release/src: don't delete .gitcheck 2022-12-14 10:46:06 +00:00
Leah Rowe 0fbf3325e1 correct a faulty if statement in build/release/src 2022-12-14 10:19:02 +00:00
lbmkplaceholder 3e266650c2 disable grub and memtest on 1MB ROM configs
due to upstream bloat, these no longer fit. it will have to be
fixed in the next libreboot release
2022-12-14 08:31:07 +00:00
lbmkplaceholder ab2cfb8639 util/nvmutil: only mask random unicast/local macs
Without this change, arbitrary MAC addresses will always be masked.

This change restores the intended behaviour.
2022-12-14 08:15:07 +00:00
lbmkplaceholder fea3e51ccd update the readme 2022-12-14 08:09:52 +00:00
lbmkplaceholder 664cdcfb36 fix ./build boot roms all 2022-12-14 06:46:41 +00:00
Leah Rowe 48c7318627 p2b_ls/p3b_f boards: Disable memtest payload
memtest can't fit in such tiny space alongside SeaBIOS
2022-12-11 06:29:39 +00:00
Leah Rowe 31111c645f build/boot roms: add exits for failing commands 2022-12-11 06:25:09 +00:00
Leah Rowe 4eba525bba p2b_ls/p3b_f boards: no payload and no vga init
The configs were enabling SeaBIOS payload, but this is to be
handled by lbmk, not coreboot.

Further, they were enabling VGA ROM execution in coreboot, but
this should be handled by SeaBIOS.

This board should not have a GRUB payload enabled either; this
will be checked and fixed if necessary in the next commit.
2022-12-11 06:20:34 +00:00
Leah Rowe c931b40e4b Merge branch 'master' of qeeg/lbmk into master 2022-12-11 06:09:06 +00:00
Leah Rowe 34a56281ac Merge branch 'cros-postmerge-fixes' of alpernebbi/lbmk into master 2022-12-11 05:30:23 +00:00
qeeg 6351a4a484 Add P2B-LS and P3B-F configs 2022-12-10 08:42:29 -06:00
Alper Nebi Yasak f079b83dd9 build/release/src: Include U-Boot sources in source archive
Add U-Boot to the source release script's modules list so that it is
included in source release tarballs. Don't include the unused upstream
source and .git directories.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 15:40:11 +03:00
Alper Nebi Yasak 70435784ec build/clean: Add helper script to clean U-Boot builds
Copy the resources/scripts/build/clean/crossgcc script and adapt it to
run "make distclean" on U-Boot build trees. Some build artifacts persist
after the run, so also run "git clean -fdx" if we can.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 15:39:33 +03:00
Alper Nebi Yasak 0bd4fdbe5b dependencies/debian: Install dependencies for U-Boot
U-Boot build dependencies are listed on their online documentation [1],
but the listed Debian packages also include test-only dependencies.
While installing dependencies, install the packages necessary to build
U-Boot, except for the test-only ones I could identify.

[1] https://u-boot.readthedocs.io/en/latest/build/gcc.html

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 3d5bd034c5 coreboot: Add qemu_arm64_12mb board
Add a build for QEMU AArch64 virtual machine using U-Boot as payload.
Coreboot config is based on the following defconfig:

    CONFIG_CBFS_SIZE=0x00c00000
    CONFIG_BOARD_EMULATION_QEMU_AARCH64=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_COREBOOT_ROMSIZE_KB_12288=y
    CONFIG_UART_PCI_ADDR=0x0

The resulting ROM can be booted with a command line like:

    qemu-system-aarch64 \
        -machine virt,secure=on,virtualization=on \
        -cpu cortex-a53 -m 1G \
        -vga none -display none -serial stdio \
        -bios bin/qemu_arm64_12mb/uboot_*.rom

However, this is little more than a proof of concept because U-Boot
upstream is missing coreboot integration on non-x86 boards, which could
have been useful for e.g. a framebuffer.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak d14731beef u-boot: Add qemu_arm64_12mb board
Add a U-Boot payload build for the QEMU AArch64 virtual machine. The
config is same as upstream "qemu-arm64" defconfig, but SYS_TEXT_BASE is
set to 0x50000000 so that it doesn't conflict with coreboot. QEMU
auto-generates and passes a device-tree file to U-Boot at runtime,
there's no compile-time canonical version, so there's no need to set
REMAKE_ELF or OF_EMBED.

It's not immediately obvious if QEMU-specific drivers are available to
support display output, but most coreboot integration is unavailable
(depends on x86) and entire video subsystem is disabled in the U-Boot
upstream defconfig.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak b5a5801f7a coreboot: qemu_x86_12mb: Enable DRIVERS_UART_8250IO
U-Boot doesn't run on this board when this SuperIO serial driver is
disabled. Enable it.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 737573cee5 u-boot: Add qemu_x86_12mb build
Add a U-Boot build for the qemu_x86_12mb board. The config is a copy of
the upstream "coreboot" defconfig, but with OF_EMBED=y.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 1c62b003ad build/roms: Support using "u-boot" ELF file as U-Boot payload
U-Boot runtime configuration is done with a device-tree file, which is
built alongside the executable in the upstream build system, and must be
available to U-Boot at runtime.

This device-tree is normally not linked into the default "u-boot" ELF
file. So far we have been handling it by re-creating a "u-boot.elf" from
the raw binary parts by setting REMAKE_ELF, and using that as the
coreboot payload. Unfortunately, that fails to build for x86 boards,
more specificly the "coreboot" boards upstream.

It's also possible (but discouraged) to set OF_EMBED to embed the
device-tree file into the U-Boot itself, in which case we could use the
"u-boot" file as the payload on the "coreboot" boards. Add support for
using the "u-boot" file as the payload if "u-boot.elf" doesn't exist.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 6cabcec51d u-boot: Add video damage tracking patch series
Add a series posted to upstream mailing lists that makes the GRUB
text-mode console faster by implementing video damage tracking [1].
Refresh the config files to include its new VIDEO_DAMAGE Kconfig.

Patch 7/7 upstream has a tiny conflict with "Improve UEFI experience"
series we already have, but it's only in the diff context. No changes
other than fixing that.

[1] https://lore.kernel.org/u-boot/20220609225921.62462-1-agraf@csgraf.de/

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 38328b9394 u-boot: Set default revision to v2022.10
Set revision to the commit hash of the v2022.10 release, and run "make
olddefconfig" for all boards to refresh the configs.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak c798975de6 u-boot: Use a common tree
Merge all boards into a common "default" tree, currently for v2022.07.
This ends up applying the "Improve UEFI experience on DM_VIDEO" series
to everything, so refresh the configs for the new options.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 5b6bf2a826 build/roms: Don't rebuild crossgcc if it was already built
The roms_helper script skips building crossgcc-i386 if its target
directory exists. Skip it for other architectures as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak bee5054077 build/roms: Make coreboot crossgcc usable for payloads and modules
Add the coreboot-built cross-architecture toolchains to the PATH so that
modules and payloads can use them. When building for a foreign-arch
board, also export CROSS_COMPILE pointing to the appropriate prefix.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak a586356164 build/roms: Build 32-bit crossgcc for AArch64 as well
This re-applies commit a69855f7e4 ("Build 32-bit crossgcc for AArch64
as well") which was inexplicably reverted along with unrelated changes.
Mention in a comment that building crossgcc-arm is necessary for
AArch64.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 9fb4ecec62 build/roms: Don't build Memtest86+ when not specified by cmdline
When overriding which payloads will be built with the -p command line
argument, the roms_helper script builds the Memtest86+ payload before
checking if it should be disabled. Move the build command after the
command line override.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 4e3097b5e7 build/roms: Disable U-Boot when not in payloads specified by cmdline
When overriding which payloads will be built with the -p command line
argument, the roms_helper script doesn't disable the U-Boot payload.
Disable it in this case.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10 14:19:00 +03:00
Alper Nebi Yasak 584210bd1f download/u-boot: Change to download target before running extra.sh
The U-Boot download script does its work from the repository root
instead going into the newly created dirs, unlike the coreboot
counterpart. It should run the board-specific extra.sh files with the
downloaded paths as their working directory. Do so by a subshell.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09 16:50:29 +03:00
Alper Nebi Yasak 2b761f2f8a download/u-boot: Re-add usage text for no-argument form
The no-argument form of the U-Boot download script prepare trees for all
boards when run with no arguments, like the corresponding script for
coreboot. The usage text for this case was removed without any changes
to the corresponding code, assume it was by mistake and add it back.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09 16:50:29 +03:00
Alper Nebi Yasak 71cf7f9db1 download/u-boot: Remove support for deleting git folders
Removing the git dirs was part of deblobbing, which Libreboot no longer
cares about. The variable that triggers it is no more. Remove the dead
code.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09 16:50:29 +03:00
Leah Rowe b495aa0987 util/nvmutil: consistent parentheses on comparison 2022-12-08 21:34:19 +00:00
Leah Rowe 17fa25e5af util/nvmutil file reads: skip reading if errno!=0
*This condition will probably never be met, but it is theoretically
possible that the code could still fail at this point. Catch all errors,
and exit, ruthlessly.
2022-12-08 21:29:36 +00:00
Leah Rowe 27876c6421 util/nvmutil: return error when fstat() is -1
Another oversight in my error handling.
2022-12-08 21:20:53 +00:00
Leah Rowe 960af2d6e8 util/nvmutil: rhex(): fail if errno not zero
The code was only checking whether all of the bytes were read,
but there are other errors that can be caught via errno.

Enforce strict errno handling, when generating random
numbers for command `setmac`.
2022-12-07 22:30:55 +00:00
Leah Rowe 3d01cf28d6 util/nvmutil: minor code formatting cleanup 2022-12-05 03:26:18 +00:00
Leah Rowe a7ea70c77a build/release/roms: delete ME/MRC firmware in ROMs 2022-12-05 02:21:28 +00:00
Leah Rowe 0c33438063 build/boot/roms: remove errant code 2022-12-05 00:40:58 +00:00
Leah Rowe 33bbb36dc4 remove errant detail from comment 2022-12-05 00:19:21 +00:00
Leah Rowe 5586947499 delete build/release/u-boot-libre
this is a hangover from pre-osboot-merge libreboot. the idea
was to distribute fsdg uboot archives

lbmk has uboot support, and releases will simply
include uboot in the main src archive like with everything else
2022-12-05 00:14:53 +00:00
Leah Rowe 137b5434d7 remove logic for avoiding nonredistributable blobs
the --nuke option in ifdtool will be used instead, to nuke
the ME regions in specific rom sets (and cbfstool will be
used to delete mrc.bin files from rom sets)

the new method being implemented is heavier on disk io, but
simplifies lbmk, and disk io could still be optimised in
the following ways:

* when copying roms from boards with ME in them, use
  ifdtool --nuke to get filename.rom.new, and *move* (not copy)
  filename.rom.new to the new destination (for use with tar)

* possibly modify ifdtool to make efficient use of mmap for
  disk i/o; it currently loads entire roms into an allocated
  buffer in memory
2022-12-05 00:10:07 +00:00
Leah Rowe 7679c8e0f0 coreboot/default: add --nuke flag to ifdtool
e.g.

./ifdtool --nuke me coreboot.rom

this will be used by rom release build scripts, to scrub
stuff like intel me from the rom
2022-12-04 23:47:29 +00:00
Leah Rowe a5e4416a14 util/nvmutil: remove errant line break 2022-12-03 12:43:13 +00:00
Leah Rowe c100dd1f81 util/nvmutil: missing paretheses on if statement 2022-12-03 12:30:13 +00:00
Leah Rowe 036d710776 util/nvmutil: don't initialise rbuf unless needed
previously, it was always initialised, but now it's only
initialised if '?' is used on a mac address character in
command `setmac`

this is done by simply moving mac address character
randomisation to a separate function
2022-12-03 12:28:20 +00:00
Leah Rowe 851892b464 util/nvmutil: rename variable in hextonum 2022-12-03 12:17:16 +00:00
Leah Rowe 0bf3f1ed61 util/nvmutil: don't reallocate memory in hextonum 2022-12-03 12:11:15 +00:00
Leah Rowe e5a46b464d util/nvmutil: dont report bad size if /dev/urandom 2022-12-03 12:00:25 +00:00
Leah Rowe ededa5ddda util/nvmutil: rename variables in hextonum 2022-12-03 11:58:07 +00:00
Leah Rowe e2e321fc20 util/nvmutil: use BUFSIZ for rmac size in hextonum
I will be using this function elsewhere, and in general
I want this to be usable for lots of programs.
2022-12-03 11:55:38 +00:00
Leah Rowe a6d0112d86 util/nvtutil: fix out of bounds error
the error would have never been triggered, because it never
went over 11, but if this code were to be copied elsewhere,
it would be problematic
2022-12-03 11:49:52 +00:00
Leah Rowe 04ced693e8 update the README 2022-12-02 21:38:10 +00:00
Leah Rowe 85937f3f4c util/nvmutil: reset errno on cmd_swap
If one of the checksums was valid, but the other was not,
errno would be set to E_CANCELED, but then the buffer would
be modified anyway; this is acceptable behaviour, and errno
would later be reset writing the GBE file, which is done
only on the condition that the buffer was modified, but
it's also a good idea to reset it here just in case.

This is not a bugfix, and no behavioural changes will be
observed by the user, but this may *prevent* a bug in the
future, so let's pre-fix that bug now.
2022-12-01 13:16:05 +00:00
Alexei Sorokin ec082429ab scripts: avoid relying on spaces from sha1sum output 2022-11-29 20:26:35 +00:00
Leah Rowe 7c5334ca0e Merge branch 'hide-mei' of XRevan86/lbmk into master 2022-11-29 19:45:24 +00:00
Alexei Sorokin 69eaca2c6d coreboot: hide MEI on neutered-ME targets 2022-11-29 13:57:54 +03:00
Leah Rowe cf0522203d Merge branch 'master' of Arsen/lbmk into master 2022-11-29 01:24:30 +00:00
Leah Rowe 0c5dfddd64 Merge branch 'x230edp' of XRevan86/lbmk into master 2022-11-29 00:11:00 +00:00
Arsen Arsenović a40ba4ad11 t430_12mb: Add, based on x230_12mb
These boards are near-identical, this appears to suffice.
2022-11-28 22:38:20 +01:00
Alexei Sorokin a33e842908 coreboot: add x230edp_12mb, remove x230fhd_12mb
New x230edp_12mb target uses the
https://review.coreboot.org/c/coreboot/+/28950 patchset to add an
X230_EDP target to the default coreboot branch.
Consequently the "fhd" coreboot branch is no longer needed and has
been safely removed.
2022-11-28 23:33:58 +03:00
Leah Rowe e8eee6dd8a util/nvmutil: mild refactoring 2022-11-27 09:43:47 +00:00
Leah Rowe 342e5abe5e util/nvmutil: improved errno handling in main 2022-11-27 09:36:18 +00:00
Leah Rowe d7465efbb0 util/nvmutil: put hextonum in its own function 2022-11-27 09:29:37 +00:00
Leah Rowe 9e5ff5e4e6 util/nvmutil: move ENOTDIR check to function 2022-11-27 09:01:57 +00:00
Leah Rowe ff88cb1ac3 util/nvmutil: further improved errno handling 2022-11-27 00:48:37 +00:00
Leah Rowe b81b51f98b util/nvmutil: remove errant code 2022-11-27 00:39:06 +00:00
Leah Rowe a94bac81f3 util/nvmutil: improved error handling 2022-11-27 00:27:07 +00:00
Leah Rowe 55a951a718 util/nvmutil: fix off by one bug 2022-11-26 23:50:04 +00:00
Leah Rowe 0108615f37 nvmutil copy/swap: actually set nvmPartModified 2022-11-26 23:48:01 +00:00
Leah Rowe 82300f4f1e util/nvmutil: move cmd copy to own function 2022-11-26 23:42:45 +00:00
Leah Rowe ddf3b76c83 util/nvmutil: move cmd swap to own function 2022-11-26 23:34:13 +00:00
Leah Rowe c2ed251ca6 util/nvmutil: move cmd brick to own function 2022-11-26 23:29:41 +00:00
Leah Rowe eaad16edad util/nvmutil: cmd setchecksum in own function 2022-11-26 23:25:23 +00:00
Leah Rowe cea1beeac5 util/nvmutil: split "dump" into smaller functions 2022-11-26 23:19:57 +00:00
Leah Rowe 59e4f560d6 Merge branch 'dev' of shmalebx9/lbmk into master 2022-11-26 21:22:06 +00:00
shmalebx9 99652baa96 fix injection script 2022-11-26 12:56:31 -07:00
shmalebx9 175b48a4e0 added more checks and optimised extraction script 2022-11-26 12:56:31 -07:00
Leah Rowe 0ae00e881e util/nvmutil: re-factor to reduce code indentation 2022-11-26 11:26:07 +00:00
Leah Rowe 0bbd4f1f26 util/nvmutil: write gbe files in a function
in any C program, main() should not contain detailed logic.

ideally, the main() function should only be a skeleton, showing
the overall logic flow of the program. split writing gbe files
into a separate function, to satisfy this criteria.
2022-11-26 11:03:04 +00:00
Leah Rowe b0f9f47e9a util/nvmutil: human-friendly exit messages, part 2 2022-11-26 10:35:10 +00:00
Leah Rowe e35a33d562 Merge branch 'qemu' of shmalebx9/lbmk into master 2022-11-24 19:10:29 +00:00
Leah Rowe e1bbdadc95 build/roms: remove seabios_grubfirst logic
the intended use-case scenario was one in which vga rom initialisation
would be used, on desktop configurations, but without coreboot itself
handling vga rom initialisation, instead leaving that task to seabios

it was assumed that grub, when running on the bare metal with
build option "--with-platform=coreboot" would be able to display
like this, but it is not so when tested

in such setups (add-on gpu with grub payload), it is necessary to
extract the video bios and insert it into the coreboot rom, having
coreboot handle such execution. this is beyond the scope of lbmk,
in context of automated building, because we cannot reliably predict
things such as PCI IDs

do away with this build option entirely, for it does not serve the
intended purpose. it will be necessary to run PC GRUB instead (build
option --with-platform=i386-pc). PC GRUB can still read from CBFS,
and you could provide it as a floppy image file inside CBFS for
SeaBIOS to execute. in this setup, GRUB would function as originally
intended by the seabios_withgrub option; such a configuration is
referred to as "SeaGRUB" by the libreboot project, and experimentation
was done with it in the past, to no avail

it's better to keep things simple, in the libreboot project. simpler
for users, that is
2022-11-22 22:45:18 +00:00
shmalebx9 b2c71747cd make gitcheck verify coreboot subdir 2022-11-20 19:42:31 -07:00
shmalebx9 1246c3adb9 add smort failures to blob download script 2022-11-20 14:32:25 -07:00
shmalebx9 da155b3d12 added x86 qemu board based on x230 coreboot config 2022-11-19 13:41:18 -07:00
Leah Rowe 7629dfb8af remove duplicate patch causing build error 2022-11-19 20:11:35 +00:00
Leah Rowe ca45a60ff2 bump grub revision to latest upstream
gnulib too

gnulib...
2022-11-19 16:54:16 +00:00
Leah Rowe c1c76a05f5 dependencies/arch: notice about unifont dependency 2022-11-19 15:31:25 +00:00
Leah Rowe 43196abc5d also fix crossgcc on cros/fhd coreboot trees 2022-11-19 14:56:54 +00:00
Leah Rowe f063190889 cros devices: use a common coreboot tree 2022-11-19 05:07:54 +00:00
Leah Rowe 24a866baea remove kfsn4-dre, kcma-d8 and kgpe-d16
buggy, buggy, buggy, buggy, buggy, buggy, buggy

full of bugs, these boards never worked properly. i got ripped
off with these.

now i'm ripping off the band aid

use dasharo if you want d16 stuff. i'm done with it.
2022-11-19 03:51:59 +00:00
Leah Rowe f5b4eb3f1e update gitignore 2022-11-19 03:49:24 +00:00
Leah Rowe 60793c552f fix gnat build issue on coreboot repositories
backported from newer coreboot revisions, see patch

coreboot/default/patches/0014-coreboot-default-fix-crossgcc-build.patch
2022-11-19 03:33:38 +00:00
Leah Rowe 6114c34988 add innoextract to federa dependency script 2022-11-19 03:29:40 +00:00
Leah Rowe 5ec5d0eae3 ditto others 2022-11-19 03:28:58 +00:00
Leah Rowe 551e845e56 ditto debian script 2022-11-19 03:28:33 +00:00
Leah Rowe f896bb8431 remove stupid flags from arch dependency script 2022-11-19 03:28:09 +00:00
Leah Rowe 5a01e98d3c build/dependencies/*: remove python2
python2 is eol and the only thing that needed it was build scripts
inside tianocore, back in osbmk days when tianocore was supported
in the (osboot) build system. nothing else requires it, so chuck it
2022-11-19 00:45:00 +00:00
Leah Rowe 6c12afa996 util/nvmutil: more human-friendly exit messages 2022-11-18 20:07:13 +00:00
Leah Rowe 501745630b fix part 1 checksum in t440p gbe.bin
i used "copy 0" in nvmutil to do this

the error people saw in nvmutil was benign. i'm literally
doing this just to prevent more errant user reports.
2022-11-18 19:42:26 +00:00
Leah Rowe a7b8d0cf0d update .gitignore 2022-11-17 12:08:06 +00:00
Leah Rowe b3b3642fe2 assimilate nvmutil 2022-11-17 12:07:09 +00:00
Leah Rowe 8740404e4e make background splash screen purple
to match the assimilated osboot, which had purple colours
2022-11-16 00:02:03 +00:00
Leah Rowe 3f12ef8530 bonerfix 2022-11-15 10:21:57 +00:00
Leah Rowe cf945dda0c blobs/inject: use nvmutil, not nvmutils 2022-11-14 10:26:46 +00:00
Leah Rowe 2589d367cc update the README 2022-11-14 10:11:54 +00:00
Leah Rowe 7af9953463 pragmatic system distribution guideline compliance
osboot is now part of libreboot, and will soon shut down.
libreboot now conforms to osboot policy.
2022-11-14 00:51:12 +00:00
Leah Rowe b5c25efed4 Merge branch 'u-boot-chromebooks' of alpernebbi/lbmk into master 2022-11-11 21:38:12 +00:00
Alper Nebi Yasak 61ac6c3f0b u-boot: Add peach pi chromebook configs
This adds U-Boot configuration for the Samsung Chromebook 2 13", also
known as "peach-pi" in the U-Boot upstream defconfigs. It uses the
shared tree for the "peach" baseboard. The config is almost the same as
upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT
enabled.

Untested since I don't have the peach pi chromebook. Note the there
doesn't seem to be any coreboot support for this chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:49:07 +03:00
Alper Nebi Yasak f848eb81e8 coreboot: Add peach pit chromebook configs
This adds coreboot configuration for the Samsung Chromebook 2 11", which
is based on the "google/peach_pit" mainboard in upstream coreboot. Also
adds a shared "peach" board directory to share with others having the
same baseboard.

The config is based on the following defconfig:

    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x00400000
    CONFIG_UART_FOR_CONSOLE=3
    CONFIG_BOARD_GOOGLE_PEACH_PIT=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the peach pit chromebook. This also fails
without a non-free 3rdparty/blobs/cpu/samsung/exynos5420/bl1.bin blob.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:48:37 +03:00
Alper Nebi Yasak e08e3da244 u-boot: Add peach pit chromebook configs
This adds U-Boot configuration for the Samsung Chromebook 2 11", also
known as "peach-pit" in the U-Boot upstream defconfigs. Also adds a
shared "peach" board directory to share with others having the same
baseboard. The config is almost the same as upstream defconfig, but with
REMAKE_ELF and POSITION_INDEPENDENT enabled.

Untested since I don't have the peach pit chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:48:37 +03:00
Alper Nebi Yasak 8584fcc1ea coreboot: Add spring chromebook configs
This adds coreboot configuration for the HP Chromebook 11 G1, which is
part of the "google/daisy" mainboard in upstream coreboot. It uses the
shared tree for the "daisy" baseboard.

The config is based on the following defconfig:

    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x00400000
    CONFIG_UART_FOR_CONSOLE=3
    CONFIG_BOARD_GOOGLE_DAISY=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the spring chromebook. This also fails
without a non-free 3rdparty/blobs/cpu/samsung/exynos5250/bl1.bin blob.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:48:21 +03:00
Alper Nebi Yasak f9f5d5fcbd u-boot: Add spring chromebook configs
This adds U-Boot configuration for the HP Chromebook 11 G1, also known
as "spring" in the U-Boot upstream defconfigs. It uses the shared tree
for the "daisy" baseboard. The config is almost the same as upstream
defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled.

Untested since I don't have the spring chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:48:21 +03:00
Alper Nebi Yasak 2dcb7cab72 coreboot: Add snow chromebook configs
This adds coreboot configuration for the Samsung Chromebook - XE303,
which is based on the "google/daisy" mainboard in upstream coreboot.
Also adds a shared "daisy" board directory to share with others having
the same baseboard.

The config is based on the following defconfig:

    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x00400000
    CONFIG_UART_FOR_CONSOLE=3
    CONFIG_BOARD_GOOGLE_DAISY=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the snow chromebook. This also fails without
a non-free 3rdparty/blobs/cpu/samsung/exynos5250/bl1.bin blob.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:47:45 +03:00
Alper Nebi Yasak be8bebaa38 u-boot: Add snow chromebook configs
This adds U-Boot configuration for the Samsung Chromebook - XE303, also
known as "snow" in the U-Boot upstream defconfigs. Also adds a shared
"daisy" board directory to share with others having the same baseboard.
The config is almost the same as upstream defconfig, but with REMAKE_ELF
and POSITION_INDEPENDENT enabled.

Untested since I don't have the snow chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:11:09 +03:00
Alper Nebi Yasak c97f8e5c62 coreboot: Add nyan blaze chromebook configs
This adds coreboot configuration for the HP Chromebook 14 G3, which is
based on the "google/nyan_blaze" mainboard in upstream coreboot. It uses
the shared tree for the "nyan" baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=4
    CONFIG_BOARD_GOOGLE_NYAN_BLAZE=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_DRIVERS_AS3722_RTC_BUS=4
    CONFIG_DRIVERS_AS3722_RTC_ADDR=0x40
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the nyan blaze chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:53 +03:00
Alper Nebi Yasak 330f985da6 u-boot: Add nyan blaze chromebook configs
This adds U-Boot configuration for the HP Chromebook 14 G3, also known
as "nyan-blaze" but not in the U-Boot upstream defconfigs. Apparently
the "nyan-big" defconfig can also work for this version. It uses the
shared tree for the "nyan" baseboard. The config is almost the same as
upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT
enabled.

Untested since I don't have the nyan blaze chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:53 +03:00
Alper Nebi Yasak ddc695a296 coreboot: Add nyan big chromebook configs
This adds coreboot configuration for the Acer Chromebook 13 (CB5-311,
C810), which is based on the "google/nyan_big" mainboard in upstream
coreboot. Also adds a shared "nyan" board directory to share with
others having the same baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=4
    CONFIG_BOARD_GOOGLE_NYAN_BIG=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_DRIVERS_AS3722_RTC_BUS=4
    CONFIG_DRIVERS_AS3722_RTC_ADDR=0x40
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the nyan big chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:39 +03:00
Alper Nebi Yasak 0d696ee36f u-boot: Add nyan big chromebook configs
This adds U-Boot configuration for the Acer Chromebook 13 (CB5-311,
C810), also known as "nyan_big" in the U-Boot upstream defconfigs. Also
adds a shared "nyan" board directory to share with others having the
same baseboard. The config is almost the same as upstream defconfig, but
with REMAKE_ELF and POSITION_INDEPENDENT enabled.

Untested since I don't have the nyan big chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:39 +03:00
Alper Nebi Yasak 2e0f13d92a coreboot: Add veyron mickey chromebit configs
This adds coreboot configuration for the ASUS Chromebit CS10, which is
based on the "google/veyron_mickey" mainboard in upstream coreboot. It
uses the shared tree for the "veyron" baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOARD_GOOGLE_VEYRON_MICKEY=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the veyron mickey chromebit.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:30 +03:00
Alper Nebi Yasak 330c62ae10 u-boot: Add veyron mickey chromebit configs
This adds U-Boot configuration for the ASUS Chromebit CS10, also known
as "chromebit_mickey" in the U-Boot upstream defconfigs. It uses the
shared tree for the "veyron" baseboard. The config is almost the same as
upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT
enabled.

Untested since I don't have the veyron mickey chromebit.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:30 +03:00
Alper Nebi Yasak f84209ceeb coreboot: Add veyron jerry chromebook configs
This adds coreboot configuration for a few white-label chromebooks which
are based on the "google/veyron" mainboard in upstream coreboot. It uses
the shared tree for the "veyron" baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOARD_GOOGLE_VEYRON_JERRY=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have any of the veyron jerry chromebooks.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:21 +03:00
Alper Nebi Yasak fc7794a12c u-boot: Add veyron jerry chromebook configs
This adds U-Boot configuration for a few white-label chromebooks, known
as "chromebook_jerry" in the U-Boot upstream defconfigs. It uses the
shared tree for the "veyron" baseboard. The config is almost the same as
upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT
enabled.

Untested since I don't have any of the veyron jerry chromebooks.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:21 +03:00
Alper Nebi Yasak bbba94ed8f coreboot: Add veyron minnie chromebook configs
This adds coreboot configuration for the ASUS Chromebook Flip C100PA,
which is based on the "google/veyron" mainboard in upstream coreboot. It
uses the shared tree for the "veyron" baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOARD_GOOGLE_VEYRON_MINNIE=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the veyron minnie chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:11 +03:00
Alper Nebi Yasak bc47f8cc25 u-boot: Add veyron minnie chromebook configs
This adds U-Boot configuration for the ASUS Chromebook Flip C100PA, also
known as "chromebook_minnie" in the U-Boot upstream defconfigs. It uses
the shared tree for the "veyron" baseboard. The config is almost the
same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT
enabled.

Untested since I don't have the veyron minnie chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:10:11 +03:00
Alper Nebi Yasak 2ed1111d83 coreboot: Add veyron speedy chromebook configs
This adds coreboot configuration for the ASUS Chromebook C201PA, which
is based on the "google/veyron" mainboard in upstream coreboot. Also
adds a shared "veyron" board directory to share with others having the
same baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x400000
    CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000

Untested since I don't have the veyron speedy chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:09:57 +03:00
Alper Nebi Yasak fa5535660b u-boot: Add veyron speedy chromebook configs
This adds U-Boot configuration for the ASUS Chromebook C201PA, also
known as "chromebook_speedy" in the U-Boot upstream defconfigs. Also
adds a shared "veyron" board directory to share with others having the
same baseboard. The config is almost the same as upstream defconfig, but
with REMAKE_ELF and POSITION_INDEPENDENT enabled.

Untested since I don't have the veyron speedy chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:09:57 +03:00
Alper Nebi Yasak 0ae2398061 coreboot: Add bob chromebook configs
This adds coreboot configuration for the ASUS Chromebook Flip C101,
which is based on the "google/gru" mainboard in upstream coreboot. It
uses the shared tree for the "gru" baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x00800000
    CONFIG_BOARD_GOOGLE_BOB=y
    CONFIG_DRIVER_TPM_SPI_BUS=0x0
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
    CONFIG_PAYLOAD_FIT_SUPPORT=y

Untested since I don't have the bob chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:09:39 +03:00
Alper Nebi Yasak ff39bba2fa u-boot: Add bob chromebook configs
This adds U-Boot configuration for the ASUS Chromebook Flip C101,
also known as "chromebook_bob" in the U-Boot upstream defconfigs. It
uses the shared tree for the "gru" baseboard.

The config has the following diffconfig from kevin:

    # chromebook_bob instead of chromebook_kevin
     DEFAULT_DEVICE_TREE "rk3399-gru-kevin" -> "rk3399-gru-bob"
     DEFAULT_FDT_FILE "rockchip/rk3399-gru-kevin.dtb" -> "rockchip/rk3399-gru-bob.dtb"
     OF_LIST "rk3399-gru-kevin" -> "rk3399-gru-bob"
     SPL_OF_LIST "rk3399-gru-kevin" -> "rk3399-gru-bob"
     TARGET_CHROMEBOOK_BOB n -> y
     TARGET_CHROMEBOOK_KEVIN y -> n

    # Display resolution is 1280x800, and no need for the big font
     VIDEO_FONT_8X16 n -> y
     VIDEO_FONT_TER16X32 y -> n
     VIDEO_ROCKCHIP_MAX_XRES 2400 -> 1280
     VIDEO_ROCKCHIP_MAX_YRES 1600 -> 800

Untested since I don't have the bob chromebook.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:09:39 +03:00
Alper Nebi Yasak af46cbffe8 coreboot: Add kevin chromebook configs
This adds coreboot configuration for the Samsung Chromebook Plus (v1),
which is based on the "google/gru" mainboard in upstream coreboot. Also
adds a shared "gru" board directory to share with others having the same
baseboard.

The config is based on the following defconfig:

    # CONFIG_USE_BLOBS is not set
    CONFIG_VENDOR_GOOGLE=y
    CONFIG_CBFS_SIZE=0x00800000
    CONFIG_BOARD_GOOGLE_KEVIN=y
    CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
    CONFIG_UART_PCI_ADDR=0x0
    CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
    CONFIG_PAYLOAD_FIT_SUPPORT=y

Most things work, but one significant problem is that the board can't power
off properly. It also happens with my manual U-Boot-only builds, but not
when I manually build coreboot with a U-Boot payload. Not sure why it is
happening here as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29 12:09:18 +03:00
Alper Nebi Yasak 3865563551 u-boot: Add kevin chromebook configs
This adds U-Boot configuration for the Samsung Chromebook Plus (v1),
also known as "chromebook_kevin" in the U-Boot upstream defconfigs. Also
adds a shared "gru" board directory to share with others having the same
baseboard.

It uses v2022.07 with some quality-of-life patches. The first one is a
clock adjustment to match coreboot clocks for the video output, the
second one is a series about text cursor support and larger fonts. These
are because the display has a high resolution of 2400x1600 at 12.3".

The config has the following diffconfig from the upstream defconfig for
this board:

    # For chainloading from depthcharge like a payload (RW_LEGACY).
    # Not everything might be necessary, but didn't test without these.
     INIT_SP_RELATIVE n -> y
     LNX_KRNL_IMG_TEXT_OFFSET_BASE 0x00200000 -> 0x18000000
     POSITION_INDEPENDENT n -> y
     SYS_TEXT_BASE 0x00200000 -> 0x18000000
    +SYS_INIT_SP_BSS_OFFSET 524288

    # Higher speeds for eMMC
     MMC_HS200_SUPPORT n -> y
     MMC_HS400_ES_SUPPORT n -> y
     MMC_HS400_SUPPORT n -> y
     MMC_IO_VOLTAGE n -> y
     MMC_SDHCI_SDMA n -> y
     MMC_SPEED_MODE_SET n -> y
    +MMC_UHS_SUPPORT y

    # Build the u-boot.elf to use as a payload
     REMAKE_ELF n -> y

    # Slightly faster video output
     VIDEO_COPY n -> y

    # Larger fonts per the applied series
     VIDEO_FONT_8X16 y -> n
     VIDEO_FONT_TER16X32 n -> y

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 17:42:15 +03:00
Alper Nebi Yasak 6d6bd5eee0 build/roms: Rebuild cbutils module before starting coreboot build
In recent coreboot versions, running distclean started to erase the
cbfstool binary we built earlier in the util/cbfstool dir via the
cbutils build script call. The coreboot build puts it in a different
directory, and the roms build script can't find it when trying to add
payloads to the roms. This doesn't make the script fail (because set -e
is stupid like that), and the build appears to succeed if you don't look
close enough to see the "cbfsutil not found" error.

Build the coreboot utils we want at the places we want them after
calling distclean, so that we can actually use cbfsutil and avoid
silently-broken roms with newer coreboot versions.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 61ede99832 build/roms: Support using U-Boot as a coreboot payload
This enables embedding U-Boot into the coreboot roms as the payload. For
now, the ELF file generated by enabling CONFIG_REMAKE_ELF is used, which
includes the U-Boot binary and the board-specific device-tree file. It
might be better to use the FIT payload support for U-Boot, but that was
reportedly broken and is not tested yet.

Coreboot boards can specify payload_uboot="y" in their board.cfg to
enable building a rom with U-Boot as the payload, which is built from
the U-Boot board with the same name. Boards can further specify a
uboot_config option, to choose which board-specific config file U-Boot
should be built with.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak a69855f7e4 build/roms: Build 32-bit crossgcc for AArch64 as well
The 32-bit ARM cross compiler toolchain is used to build parts of
arm-trusted-firmware needed by AArch64 boards, compile the toolchain for
those boards as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 769f18f2f6 build/roms: Fix building for ARMv7 and AArch64 boards
The code that compiles coreboot crossgcc changes the working directory
to the coreboot directory, and the following code cannot find the lbmk
scripts that it needs to run. Compile ARMv7 and AArch64 cross compilers
in a subshell like in the x86 case so the rest of the script can work.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 9bfbdb598d scripts: Add helpers to modify and update U-Boot configs
These are almost verbatim copies of coreboot versions, but using
'u-boot' instead of 'coreboot' and 'ub*' instead of 'cb*'.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak 1dc05e4066 build/payload: Add helper script to build U-Boot as payload
This enables building U-Boot for boards which have config files in
resources/u-boot, and copying built files that could be usable to make
coreboot payloads. Right now, there is no such board in this repo.

The most important file here is "u-boot.elf", which is a combination of
the U-Boot binary and the appropriate device-tree file for the board.
Building this needs CONFIG_REMAKE_ELF=y on the U-Boot part, and using
this with CONFIG_PAYLOAD_ELF=y on the coreboot build works fine.

Note that this isn't enough to make U-Boot-only releases, since
low-level prerequisites like arm-trusted-firmware aren't passed in to
the U-Boot build system. Coreboot builds its own copy of TF-A and sets
it up on the board, so using these U-Boot builds as payloads should
still work.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28 13:09:52 +03:00
Alper Nebi Yasak cf29574165 download: Use shallow clones for big projects
Downloading coreboot and U-Boot takes quite the disk space and bandwith.
We don't need to download entire repos, only the revisions that we are
interested in.

Use the --depth=1 option to only download the files we need. Since the
initial clones may not have our target revision, always try to fetch it.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak ef39e05bb5 download: Allow keeping .git dirs with NODELETE=git
Keeping the git repositories is useful while development, e.g. to avoid
git cloning repositories over and over again while debugging download
scripts. Setting the NODELETE environment variable keeps the blobs and
the git repositories. Allow a slightly finer-tuned version of this where
we can keep only the git-related files by setting the variable to "git".

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 764a439a8c u-boot-libre: Add support for deblobbing U-Boot v2022.07
Add a 'v2022.07' pseudo-board for the U-Boot download script with the
default blobs list, and mark the version as supported in u-boot-libre
release script.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 270272eb61 download/u-boot: Remove .git folders as well
The coreboot download removes .git folders as they still contain the
removed blobs, remove those in the U-Boot version as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 820b8e706e download/u-boot: Support running extra commands from board dirs
Although it's unlikely, boards might want to run extra commands after
the board-specific U-Boot directories are prepared. Copy the existing
mechanism for that from the coreboot download script to the U-Boot one.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak eae6b35dab download/u-boot: Support applying patches from board dirs
Boards may need different sets of patches to be applied to their U-Boot
builds, copy the existing mechanism from the coreboot download script to
the U-Boot download script.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 454364ccb8 download/u-boot: Try to update submodules as in coreboot script
The coreboot download script tries to update submodules, since coreboot
does use git submodules to retrieve and compile the projects it depends
on. Although U-Boot doesn't use submodules, try to update them anyway to
match the coreboot download script.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 0aeb69b5ad download/u-boot: Use GitHub mirror as fallback
The coreboot download script uses GitHub as a fallback if the upstream
coreboot is unavailable, use a similar fallback for U-Boot as well.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 7b552bd299 download/u-boot: Support reading tree and revision from board.cfg
Boards may want to specify a board-specific U-Boot revision. At the very
least, pseudo-boards for u-boot-libre releases will need to specify their
U-Boot versions somehow.

Copy the existing mechanism from download/coreboot for specifying
build info with board.cfg files. Specify the commit hash for the
'v2021.07' pseudo-board, and 'master' as the default.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 8dd1a24504 download/u-boot: Prepare files per board instead of per revision
The U-Boot download script is designed to help with releasing
u-boot-libre and it can only prepare a generic U-Boot v2021.07 tree.
However, we will need to build board-specific versions of U-Boot to be
able to use it as a coreboot payload effectively.

As a first step toward that, make the download script prepare per-board
copies of U-Boot v2021.07. Then, add a 'v2021.07' pseudo-board for the
u-boot-libre release script to work on.

The u-boot-libre deblob script hash ends up chaning due to copying my
author attribution from the download script, update its hash.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak d8da9b51e2 .gitignore: Ignore u-boot directory
The "u-boot" directory and its contents are created at build-time,
ignore it in git.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-27 17:35:55 +03:00
Alper Nebi Yasak 22b1db6980 u-boot-libre: Set tar mtime to SOURCE_DATE_EPOCH or @0
The u-boot-libre tarball contents' mtimes are an unconventional value
due to timezone confusion. For reproducibility, timestamps like these
are usually set by a SOURCE_DATE_EPOCH which is respected by both
coreboot and U-Boot. Use it in the u-boot-libre release script as well,
and properly set the mtimes to the Unix epoch when it's not defined.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-25 21:38:05 +03:00
Alper Nebi Yasak 01f61263f8 u-boot-libre: Fix releasing blob list as deblob script
The u-boot-libre release script copies the blobs list into the release
as the deblob script, presumably due to a copy-paste error. Fix it to
correctly copy the generated deblob script.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-25 21:22:04 +03:00
Denis 'GNUtoo' Carikli 89a4c2c61f u-boot-libre: remove nonfree firmware in drivers/dma/MCD_tasks.c
This firmware lack corresponding source code.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-08-25 21:09:01 +03:00
Alper Nebi Yasak f679fbd359 u-boot-libre: Fix reproducability issue due to timezone
The checksums in tests/u-boot-libre.sha512 do not match the tarballs
generated by this script when ran on a different timezone, e.g. UTC+3.
Explicitly specify a timezone for the tar command that makes the
tarballs match the checksums.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-25 21:08:54 +03:00
Leah Rowe fbbb5bc616 Libreboot 20220710 2022-07-10 08:33:31 +01:00
Leah Rowe f8183e187b say the name libreboot, in grub menus 2022-03-20 00:44:45 +00:00
shmalebx9 0b3b7f93b7 added workaround for git credentials
this is cherry-picked from osbmk. the cherry-pick was
performed by i, leah rowe. this is adapted from shmalebx's
patch there, in osboot

specifically, these patches from osbmk are being imported:

327a39ef058d5385bf8c1a1b09bac8db6a51b016

5139ad4be4df1835ce154f39161eef4f7c31ee1a
2022-03-16 04:40:59 +00:00
Leah Rowe 8ca0761fb0 specifically call python3, in scripts
with this change, it's unlikely we'll hit errors again. previously,
some projects used were calling "python" which in context was
python3, but on some setups, the user only has python2 and python3
but no symlink for "python" (which if exists, we assumed linked to
python3)

now it's unambiguous. docs/build/ can probably be updated now, as
a result of this change, to remove the advice about that
2022-03-13 18:17:09 +00:00
Leah Rowe 61e48acf67 Merge branch 'seabios-race' of xloem/lbmk into master 2022-03-12 22:13:23 +00:00
John Doe 676eb110c7 Perform the silentoldconfig step of seabios before full make
I was running into a race condition when rebuilding seabios with a high cpu count,
resulting in failure with this error message:

cc1: fatal error: can't open 'out/src/asm-offsets.s' for writing: No such file or directory

Performing the silentoldconfig step before the full make step seems to resolve the failure.
2022-03-11 19:52:47 -05:00
Leah Rowe 33a43ffc07 update flashrom 2022-03-07 04:58:11 +00:00
Leah Rowe 9557da45df Merge branch 'master' of GNUtoo/lbmk into master 2022-03-06 17:07:45 +00:00
Leah Rowe 89aac5393a Merge branch 'submodule-version' of xloem/lbmk into master 2022-03-06 17:07:33 +00:00
Denis 'GNUtoo' Carikli 3b80a42aa0 scripts: download: coreboot: fix ./download all
When running ./download all, we have the following error:
    resources/scripts/download/coreboot: Line 52: $1 is not set.

The ./download all command was broken by the following commit:
2bb805e2e0 (download: Add --help in the
individual download scripts).

Reported-by: madbehaviorus[m] on #libreboot on liberachat
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-03-06 18:02:16 +01:00
John Doe acc57bda6d scripts: process git versions when lbmk is a worktree or submodule
git worktrees have plaintext .git files which contain the gitdir in their content.
2022-03-04 14:14:05 -05:00
Leah Rowe fd41399961 Merge branch 'master' of GNUtoo/lbmk into master 2022-02-19 12:38:48 +00:00
Denis 'GNUtoo' Carikli 8833be159b scripts: download: u-boot: fix u-boot repository URL
Without that fix we have the following warning during the download:
    Cloning into 'u-boot/u-boot'...
    warning: redirecting to https://source.denx.de/u-boot/u-boot.git/

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 19:33:53 +01:00
Denis 'GNUtoo' Carikli 425162db93 boot-libre: add --gen-blob-script to generate a deblob script
This should enable various distributions and build system to reuse
the generated script to deblob u-boot releases themselves.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 19:11:14 +01:00
Denis 'GNUtoo' Carikli ee2731af44 boot-libre: ship the blob list too
This should enable various distributions and build system to reuse
that blob to deblob u-boot releases themselves.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 19:11:12 +01:00
Denis 'GNUtoo' Carikli 414aa56287 u-boot-libre: Add help and support for multiple versions
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 19:10:30 +01:00
Denis 'GNUtoo' Carikli 1afdbaad1a u-boot-libre: Add reproducible builds and tests
The tar options come from the tutorial to remove archives metadata at
reproducible-builds.org[1].

[1]https://reproducible-builds.org/docs/archives/

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 19:10:26 +01:00
Denis 'GNUtoo' Carikli 2bb805e2e0 download: Add --help in the individual download scripts
This doesn't change the existing usage of the scripts:
- For the Coreboot script, before this change, all arguments that were
  passed were considered as board to download the Coreboot source code
  for.

  Here we added the '--help' and '--list-boards' arguments, so it
  should not be an issue as it is extremely unlikely that a board
  would be called '--help' or '--list-boards'.

- All the other scripts don't use any arguments so passing --help
  should not conflict with the existing usage.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 18:00:31 +01:00
Denis 'GNUtoo' Carikli 4b2d426a20 scripts: download: u-boot: Add help and support for multiple revisions
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 18:00:30 +01:00
Denis 'GNUtoo' Carikli f955248044 u-boot-stable-src-release: rename to u-boot-libre
If the script is named u-boot-stable-src-release and that users see an
u-boot-libre tarball they will not make the link between both unless
we rename the script.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 17:58:53 +01:00
Denis 'GNUtoo' Carikli 354e9bd187 u-boot-stable-src-release: follow u-boot and linux-libre naming conventions
Many people using FSDG compliant distributions or wanting to use one
are already familiar with linux-libre. This change renames the
resulting tarball to u-boot-libre to make it easier for people to
understand the goal of this tarball.

In addition we also rename the version from v2021.07 (which is the git
tag corresponding to the release) to 2021.07 as u-boot upstream
tarballs use that.

The revision wasn't bumped as we didn't have any releases of
u-boot-libre yet.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-16 17:58:28 +01:00
Leah Rowe cceffff659 Merge branch 'master' of GNUtoo/lbmk into master 2022-02-10 13:28:45 +00:00
Denis 'GNUtoo' Carikli 7422411b24 Add support for releasing deblobbed u-boot 2020.07 source tarballs
Once the tarball are released, it will enable distributions to use
these tarballs to produce deblobbed u-boot packages.

Note that the produced tarball is not reproducible yet. Because of
that it has to be trusted.

During a release, it's a good idea to sign the uncompressed tarball as
the various compression formats and associated tools make different
tradeoffs.

For instance with xz, xz -9e tends to compress really well with the
the most used xz[1] implementation, and most GNU/Linux users probably
already have it installed, but and the drawbacks is that the format is
very fragile[2].

The lzip format is more suited for long term archiving but its most
packaged implementation[3] is less likely to be already installed by
users than more well known formats like xz, bzip2 or gzip.

Being able to add more compression formats after the release is also
useful, for instance to accommodate different build systems or use
cases (like being able to build u-boot with less dependencies in
distributions like Guix, or building u-boot directly on devices which
don't have enough RAM for xz for instance).

[1]https://tukaani.org/xz/
[2]https://www.nongnu.org/lzip/xz_inadequate.html
[3]https://www.nongnu.org/lzip/

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-10 10:55:03 +01:00
Denis 'GNUtoo' Carikli ae0be6f8b4 scripts: download: coreboot: Fix check for build error
build_error is supposed to be a file since it's created with touch.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-02-10 10:55:03 +01:00
Leah Rowe 37b4500513 memtest86+: fix build error (patch from Félicien Pillot) 2022-02-08 07:45:41 +00:00
Leah Rowe 937590d2b1 optimize grub modules: pre-load ones that will likely be used 2021-12-30 06:50:53 +00:00
Leah Rowe 2701555582 build/boot/roms: fix wrong variable name 2021-12-29 07:37:11 +00:00
Leah Rowe babce03fbd coreboot/*: set grub_scan_disk to ahci on most boards
on ga-g41m-es2l, set it to ata
2021-12-29 07:18:21 +00:00
Leah Rowe 5d65d6c3d3 apple/macbook21: set grub_scan_disk to ahci 2021-12-29 07:14:22 +00:00
Leah Rowe 6b4b49cf8f build/boot/roms: substitute grub_scan_disk according to board.cfg 2021-12-29 07:10:56 +00:00
Leah Rowe 835ff5ec83 grub.cfg: skip ata/ahci according to grub_scan_disk
logic for setting it in grub.cfg will be done in the next commit
2021-12-29 06:55:07 +00:00
Leah Rowe 9b1499fd1e grub.cfg: clean up messages, be less verbose 2021-12-29 06:26:48 +00:00
Leah Rowe 86d4ca9b50 grub.cfg: add isolinux menuentry for ata* (replace broken cd/dvd menuentry) 2021-12-29 06:10:45 +00:00
Leah Rowe 7cebee25ff grub.cfg: delete option to boot from CD/DVD
it's confusing, broken and most people nowadays don't use optical drives

it's not even possible in most setups anyway
2021-12-29 06:05:36 +00:00
Leah Rowe bbdb9512f3 grub.cfg: clean up comments 2021-12-29 06:04:42 +00:00
Leah Rowe c98308c499 grub.cfg: don't use */? wildcards. they slow down the boot
hardcode everything. in practise, the new logic will work just the same in
almost all cases, for most people, but it works around performance issues in
grub. cleanup of grub.cfg will be done in the next commit
2021-12-29 05:58:03 +00:00
Leah Rowe 0ea263129a grub.cfg: optimize search_isolinux
GRUB is slow at device enumeration. This patch works around it in the same way
as vitali64's recent patch.
2021-12-29 02:37:05 +00:00
Leah Rowe 56698000fa remove entry in .gitignore from the last commit 2021-12-29 01:04:18 +00:00
Vitali64 cff081c6db Fix grub's slow boot
On many boards, grub takes a very long time to
search for a grub.cfg file on the disk.
The problem is the search_grub function which
takes a long time to complete.
I (vitali64) studied the grub.cfg from 2016 and
the grub.cfg from 2021 and optimized the
grub.cfg. It should be faster now.
2021-12-29 01:03:18 +00:00
Leah Rowe 7221782940 lenovo/r400: disable death beeps 2021-12-20 02:46:25 +00:00
Leah Rowe c3a66c3275 fix usb keyboards in grub 2021-12-19 23:15:32 +00:00
Leah Rowe cae73ff493 Revert "grub.cfg: enable USB keyboards"
This reverts commit ed63e94914.
2021-12-12 02:24:50 +00:00
Leah Rowe dbe4a0c6a3 coreboot configs: don't enable wifi during early init 2021-12-11 15:24:42 +00:00
Leah Rowe ed63e94914 grub.cfg: enable USB keyboards 2021-12-11 15:02:41 +00:00
Leah Rowe fd583308aa grub.cfg: disable serial output 2021-12-11 15:02:15 +00:00
Leah Rowe f20160f3bb coreboot configs: disable serial output during coreboot initialization 2021-12-11 15:00:17 +00:00
Leah Rowe c771aad44f add scripts for modifying coreboot configs 2021-12-11 14:25:26 +00:00
Vitali64 7e6691e999 Add ARMv7 and AArch64 support 2021-12-11 13:38:43 +00:00
Vitali64 dec2d7206e add myself in the build/roms_helper script 2021-12-09 06:46:18 +00:00
Leah Rowe 7db63c2685 macbook21_16mb: always clear DRAM on regular boot 2021-12-07 21:36:32 +00:00
Vitali64 4c8518899a Add macbook*1 16mb configs 2021-12-07 18:51:49 +00:00
Leah Rowe 91f5cb7e2f Merge branch 'master' of weimzh/lbmk into master 2021-12-04 20:42:39 +00:00
Wei Mingzhi 4dff61eb32 Add script for installing dependencies on Fedora 35. Based on work done by qeeg. 2021-12-02 08:12:42 +08:00
Wei Mingzhi 15209c3895 Do not treat warnings as errors when building flashrom. This fixes build failure with newer versions of GCC. 2021-12-02 08:12:01 +08:00
Leah Rowe 9938fa14b1 Fix broken SpeedStep on GM45 laptops such as ThinkPad X200, T400, T500, W500
Coreboot is enabling PECI on these CPUs which, according to Intel erratum, must
only be done after loading microcode updates, otherwise the CPUID feature set
becomes corrupted. That's my understanding, and I think this is why SpeedStep
is broken. To be specific, it could but but operating systems no longer detect
that the feature is supported. In any case, belgin on IRC found the commit in
coreboot, after a bisect, enabling PECI. This commit in Libreboot adds a patch,
reverting coreboot's PECI patch.
2021-12-01 04:32:02 +00:00
Leah Rowe 4b64e34fc2 build/roms: warn if grub_scan_disk is not set at all 2021-11-30 18:44:08 +00:00
Leah Rowe c7944c0e01 build/roms: warn when grub_scan_disk is set incorrectly 2021-11-30 18:40:27 +00:00
Leah Rowe c87b6f6369 build/boot/roms: don't error out if grub_scan_disk is invalid
just set it to the default, instead
2021-11-30 18:35:52 +00:00
Leah Rowe 9a0677eafd fix incorrect logic on recent grub optimization patch
or was used, instead of and
2021-11-30 18:31:19 +00:00
Vitali64 b74056563f Workaround for grub's slow boot 2021-11-28 17:16:18 +00:00
Leah Rowe eed25bd220 update coreboot and nuke tianocore
tianocore is a liability for the libreboot project. it's a bloated mess, and
unreliable, broken on many boards, and basically impossible to audit.

i don't trust tianocore, so i'm removing it.
2021-11-22 10:03:50 +00:00
Leah Rowe fd586c8f30 Merge branch 'master' of shmalebx9/lbmk into master 2021-11-21 16:15:36 +00:00
shmalebx9 12eceb6a67 added dependency script for void 2021-11-20 12:51:56 -07:00
Leah Rowe bc7243f1e1 build/boot/roms: fix wrong filename for pike2008 option roms 2021-11-18 17:02:36 +00:00
Leah Rowe 8a79f7b163 Fix https://notabug.org/libreboot/lbmk/issues/59 2021-11-18 07:18:53 +00:00
Leah Rowe 4e8c8930cf remove pandoc from dependencies scripts
the static site generator was forked into https://untitled.vimuser.org/
2021-11-18 07:07:51 +00:00
Leah Rowe 4e4f4146d7 download backup seabios repo if the main one is down 2021-11-11 11:36:45 +00:00
Leah Rowe 5957c685a2 fix broken seabios download 2021-11-11 11:30:52 +00:00
Leah Rowe 8888b2b777 bump seabios to the latest version in seabios.git 2021-11-03 15:56:47 +00:00
Leah Rowe 7e6bec17ef build/roms: add g43t-am3_16mb config 2021-11-01 09:53:34 +00:00
Leah Rowe b1fba0e103 roll back memtest86+ revision
works around a build error with gcc 7.5. the patches being removed
from memtest86+ aren't really necessary for the average user anyway
2021-11-01 08:10:32 +00:00
Leah Rowe 71ebf7e863 build/roms: add d945gclf_16mb 2021-11-01 07:15:27 +00:00
Leah Rowe 93c957ddb6 build/roms: add 16mb d510mo config
you must de-solder the default chip and install the new one.
winbond w25q128fvsig is a nice choice of 16MB (128Mbit) IC
2021-11-01 06:45:15 +00:00
Leah Rowe 40202d1286 download/memtest: delete .git* afterwards 2021-11-01 05:59:50 +00:00
Leah Rowe 240eb6da23 memtest86plus: use coreboot's fork of it
it is superior
2021-11-01 05:26:26 +00:00
Leah Rowe 6d23b3fe55 Include memtest86+ on setups where this is practical 2021-11-01 04:04:56 +00:00
Leah Rowe 68d3c9372a Revert "nuke memtest86+"
This reverts commit 84a1bc502b.
2021-11-01 02:51:10 +00:00
Leah Rowe cca23ac713 nuke d8/d16 configs for 4mb/8mb setups. only have 2mb and 16mb configs
4mb and 8mb users can just pad their roms to 16mb, using the instructions on
<https://libreboot.org/faq.html#how-do-i-pad-a-rom-before-flashing>

maintaining them in lbmk is a waste of time, and also a hazard because it's a
lot of duplicated labour when making any changes, which could result in awful
mistakes being made
2021-11-01 02:37:55 +00:00
Leah Rowe f89d85dd90 build/boot/roms: add t60_16mb_intelgpu configs 2021-11-01 01:56:32 +00:00
Leah Rowe b4fa5cdd01 build/boot/roms: add x60_16mb configs 2021-11-01 01:52:35 +00:00
Leah Rowe c2720c58e7 lenovo/t400: Enable all SATA ports (add persmule's patch)
See:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/msg00063.html>

This enables all SATA ports, allowing full T400s compatibility. T400s already
works just fine, when flashing a T400 ROM, but not all SATA ports were usable.

The specific patch is here:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/txtgT_L8DC94R.txt>

There was also this patch, which coreboot actually adapted upstream:
<https://lists.nongnu.org/archive/html/libreboot/2016-08/txtMXyws85Q_P.txt>

Yes, this patch was submitted in 2016. I overlooked it, during all this time.
2021-10-31 23:36:47 +00:00
Leah Rowe 84a1bc502b nuke memtest86+ 2021-10-31 20:52:01 +00:00
Leah Rowe eec4dcd97e grub.cfg: scan grub.cfg on lvm first, before crypto volumes
In most LUKS setups, the user configured LVM, so doing this check first will
increase boot speeds.
2021-10-31 18:10:34 +00:00
Leah Rowe 3364d90edd grub.cfg: attempt cryptomount on raid volumes 2021-10-31 18:08:13 +00:00
Leah Rowe de9dabe43d grub.cfg: replace spaces with tabs 2021-10-31 17:55:49 +00:00
Leah Rowe 37ebccb8a8 grub.cfg: don't handle usb at all in the main menuentry
usb support is extremely buggy in grub, and can cause boot delay issues
2021-10-31 17:21:14 +00:00
Leah Rowe ebeeff6969 grub.cfg: don't run search_grub usb in the main menuentry
There is literally an entire other menuentry just for this purpose.
2021-10-31 17:17:05 +00:00
Leah Rowe 7c998b4538 grub.cfg: search usb *last*, in the main menuentry
There is already a separate menuentry for USB, and most people don't boot their
installed system from USB anyway. This will result in faster boot speeds.
2021-10-31 17:14:41 +00:00
Leah Rowe 62fa042a17 re-add grub backgrounds and update grub. mitigate missing characters
mitigate missing characters in unifont for border/arrow characters. this saves
space because now it is no longer necessary to add a custom font

the background added has the libreboot logo on it, and it's 10kb in size unlike
the old gnulove background that was hundreds of KB
2021-10-31 07:13:46 +00:00
Leah Rowe 49198fe3d1 Disable PIKE2008 option ROM loading on KGPE-D16/KCMA-D8
These option ROMs are known to cause a system hang. If you insert an empty
option ROM into CBFS, it disables any option ROM loading for those devices
when using SeaBIOS.
2021-10-30 21:22:27 +01:00
Leah Rowe 651a3f05fd update to coreboot master on macbook21, and add vitali64's cstate 3 patch
improved battery life on macbook21
2021-10-30 19:19:31 +01:00
Leah Rowe 4e093b3ecc grub.cfg: increase default timeout to 10 seconds
this is a compromise. i was going to do 30 for desktops, 1 for laptops.
however, some laptop users complain about the 1 second timeout being too fast.
10 seconds should just about please everyone.
2021-10-30 18:23:18 +01:00
Leah Rowe ad87e84ae1 grub.cfg: also unroll the list of usb devices 2021-10-30 16:13:27 +01:00
Leah Rowe f195282d90 grub.cfg patch from shmalebx9: reverse search order for encrypted partitions
Also, when a cryptomount is successful, break from the loop and boot from that.
In most cases, this will work just fine, and this change improves the boot
speed in the vast majority of cases.

From <https://notabug.org/libreboot/lbmk/issues/53>

This is based on commit 5767489cadc4a9a1f2e7bffe03457e29e1c9a101 from
https://github.com/shmalebx9/Bleeding-Libreboot/
2021-10-30 16:03:10 +01:00
Leah Rowe 777316eb4f coreboot/default: Fix Werror when building ThinkPad T400 images 2021-08-23 10:34:56 +01:00
Leah Rowe 4b7be66596 coreboot: revert cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR
This fixes issue 3:
https://notabug.org/libreboot/lbmk/issues/3

In this issue, GM45 laptops such as X200/T400 will hang on reboot (normal boot
works, and shutting down works too).
2021-08-23 09:31:56 +01:00
Leah Rowe d3ede9ae5e Merge branch 'master' of madbehaviorus/lbmk into master 2021-06-29 06:54:03 +00:00
madbehaviorus b152f3ae01 The tianocore build script fails, because there are no coreboot-version file are available. So I set it as commit and the script works like a charm 2021-06-06 11:31:05 +02:00
Leah Rowe 67e2365a6d also change the build and update scripts to env bash 2021-06-03 12:59:22 +01:00
Leah Rowe 2f9b8b1507 Merge branch 'master' of noisytoot/lbmk into master 2021-06-03 11:56:54 +00:00
Ron Nazarov 0fadeed493 replace #!/bin/bash with #!/usr/bin/env bash 2021-06-03 12:47:08 +01:00
Leah Rowe 02009fdb34 Merge branch 'master' of canberkturan/lbmk into master 2021-05-23 15:02:17 +00:00
Canberk TURAN 0e2459270d Turkish Q Keyboard Layout Added 2021-05-23 16:30:08 +00:00
392 changed files with 97179 additions and 32672 deletions
Executable
+38
View File
@@ -0,0 +1,38 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only
Set_placeholder(){
# Check if username and or email is set.
if ! git config user.name || git config user.email ; then
git config user.name || git config user.name 'lbmkplaceholder'
git config user.email || git config user.email 'placeholder@lbmkplaceholder.com'
fi
}
Clean(){
if [ "$(git config user.name)" = "lbmkplaceholder" ]; then
git config --unset user.name
fi
if [ "$(git config user.email)" = "placeholder@lbmkplaceholder.com" ]; then
git config --unset user.email
fi
}
Run(){
if [ "${1}" = "clean" ]; then
Clean
else
Set_placeholder
# Check coreboot as well to prevent errors during building
if [ -d coreboot ]; then
cd coreboot
Set_placeholder
cd -
fi
fi
}
Run >/dev/null
+8 -1
View File
@@ -1,7 +1,6 @@
*~ *~
/TODO /TODO
/ich9utils/ /ich9utils/
/tianocore/
/tmp/ /tmp/
/payload/ /payload/
/me_cleaner/ /me_cleaner/
@@ -22,6 +21,7 @@
/grub/ /grub/
/memtest86plus/ /memtest86plus/
/seabios/ /seabios/
/u-boot/
/bin/ /bin/
/release/ /release/
/descriptors/ /descriptors/
@@ -29,3 +29,10 @@
/push /push
/version /version
/versiondate /versiondate
/blobs/app/
/blobs/me.exe
/blobs/t440p/me.bin
/blobs/xx20/me.bin
/blobs/xx30/me.bin
/mrc/
/util/nvmutil/nvm
+16 -3
View File
@@ -5,6 +5,7 @@
# See docs/maintain/ and docs/git/ for information about the build system # See docs/maintain/ and docs/git/ for information about the build system
# #
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -20,8 +21,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
.PHONY: all download modules ich9m-descriptors payloads roms release clean \ .POSIX:
crossgcc-clean install-dependencies-ubuntu
#.PHONY: all check download modules ich9m-descriptors payloads roms release \
# clean crossgcc-clean install-dependencies-ubuntu \
# install-dependencies-debian install-dependencies-arch \
# install-dependencies-void
all: roms all: roms
@@ -53,10 +58,18 @@ clean:
./build clean grub ./build clean grub
./build clean memtest86plus ./build clean memtest86plus
./build clean rom_images ./build clean rom_images
./build clean tianocore
crossgcc-clean: crossgcc-clean:
./build clean crossgcc ./build clean crossgcc
install-dependencies-ubuntu: install-dependencies-ubuntu:
./build dependencies ubuntu2004 ./build dependencies ubuntu2004
install-dependencies-debian:
./build dependencies debian
install-dependencies-arch:
./build dependencies arch
install-dependencies-void:
./build dependencies void
+77 -115
View File
@@ -1,109 +1,85 @@
Free your BIOS today! GNU GPL style Libreboot
=================================== =========
Find libreboot documentation at <https://libreboot.org/> Find libreboot documentation at <https://libreboot.org/>
Libreboot is The `libreboot` project provides
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html) [libre](https://en.wikipedia.org/wiki/Open_source) *boot
*boot firmware* that initializes the hardware (e.g. firmware* that initializes the hardware (e.g. memory controller, CPU,
memory controller, CPU, peripherals) in your computer so that software can run. peripherals) on specific Intel/AMD x86 and ARM targets, which
Libreboot then starts a bootloader to load your operating system. It replaces the then starts a bootloader for your operating system. Linux/BSD are
proprietary BIOS/UEFI firmware typically found on a computer. Libreboot is well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
compatible with specific computer models that use the Intel/AMD x86 via [\#libreboot IRC](https://web.libera.chat/#libreboot)
architecture. Libreboot works well with GNU+Linux and BSD on [Libera](https://libera.chat/) IRC.
operating systems. User support is available
at [\#libreboot](https://webchat.freenode.net/?channels=libreboot) on Freenode
IRC.
Libreboot is a *Free Software* project, but can be considered Open Source.
[The GNU website](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html)
teaches why you should call it Free Software instead; alternatively, you may
call it libre software.
Libreboot uses [coreboot](https://www.coreboot.org/) for hardware initialization.
However, *coreboot* is notoriously difficult to compile and install for most
non-technical users. There are many complicated configuration steps required,
and coreboot by itself is useless; coreboot only handles basic hardware
initialization, and then jumps to a separate *payload* program. The payload
program can be anything, for example a Linux kernel, bootloader (such as
GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
(such as SeaBIOS). While not quite as complicated as building a GNU+Linux
distribution from scratch, it may aswell be as far as most non-technical users
are concerned.
Libreboot solves this problem in a novel way:
Libreboot is a *coreboot distribution* much like Debian is a *GNU+Linux
distribution*. Libreboot provides an *automated build system* that downloads,
patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and
all other software components needed to build a complete, working *ROM image*
that you can install to replace your current BIOS/UEFI firmware, much like a
GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to
replace your current operating system (e.g. Windows).
Information about who works on Libreboot, and who runs the project, can be
found on the [who page](https://libreboot.org/who.html) page.
Why use Libreboot? Why use Libreboot?
================== ==================
[Free software](https://www.gnu.org/philosophy/free-sw.html) is important for Why should you use *libreboot*?
the same reason that education is important. ----------------------------
All children and adults alike should be entitled to a good education.
Knowledge begs to be free! In the context of computing, this means that the
source code should be fully available to study, and use in whatever way you
see fit. In the context of computer hardware, this means that
[Right to Repair](https://yewtu.be/watch?v=Npd_xDuNi9k)
should be universal, with full access to documents such as the schematics and
boardview files.
**[The four freedoms are paramount!](https://www.gnu.org/philosophy/free-sw.html)** Libreboot gives you freedoms that you otherwise can't get with most other
boot firmware. It's extremely powerful and configurable for many use cases.
You have rights. The right to privacy, freedom of thought, freedom You have rights. The right to privacy, freedom of thought, freedom of speech
of speech and the right to read. In the context of computing, that means anyone and the right to read. In this context, Libreboot gives you these rights.
can use [free software](https://www.gnu.org/philosophy/free-sw.html). Simply Your freedom matters.
speaking, free software is software that is under the direct sovereignty of the [Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
user and, more importantly, the collective that is the *community*. Libreboot Many people use proprietary (non-libre)
is dedicated to the Free Software community, with the aim of making free software boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
at a *low level* more accessible to non-technical people. Proprietary firmware often contains backdoors (more info on the FAQ), and it
and can be buggy. The libreboot project was founded in in December 2013,
with the express purpose of making coreboot firmware accessible for
non-technical users.
Many people use [proprietary](https://www.gnu.org/philosophy/proprietary.html) The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
boot firmware, even if they use GNU+Linux. Non-free boot firmware often initialisation](https://doc.coreboot.org/getting_started/architecture.html).
contains backdoors, can be slow and have severe Coreboot is notoriously difficult to install for most non-technical users; it
bugs. Development and support can be abandoned at any time. By contrast, handles only basic initialization and jumps to a separate
Libreboot is a free software project, where anyone can contribute or inspect [payload](https://doc.coreboot.org/payloads.html) program (e.g.
its code. [GRUB](https://www.gnu.org/software/grub/),
[Tianocore](https://www.tianocore.org/)), which must also be configured.
*The libreboot software solves this problem*; it is a *coreboot distribution* with
an automated build system (named *lbmk*) that builds complete *ROM images*, for
more robust installation. Documentation is provided.
Libreboot is faster, more secure and more reliable than most non-free How does Libreboot differ from coreboot?
firmware. Libreboot provides many advanced features, like encrypted ========================================
/boot/, GPG signature checking before booting a Linux kernel and more!
Libreboot gives *you* control over *your* computing. In the same way that *Debian* is a GNU+Linux distribution, `libreboot` is
a *coreboot distribution*. If you want to build a ROM image from scratch, you
otherwise have to perform expert-level configuration of coreboot, GRUB and
whatever other software you need, to prepare the ROM image. With *libreboot*,
you can literally download from Git or a source archive, and run `make`, and it
will build entire ROM images. An automated build system, named `lbmk`
(Libreboot MaKe), builds these ROM images automatically, without any user input
or intervention required. Configuration has already been performed in advance.
If you were to build regular coreboot, without using libreboot's automated
build system, it would require a lot more intervention and decent technical
knowledge to produce a working configuration.
Regular binary releases of `libreboot` provide these
ROM images pre-compiled, and you can simply install them, with no special
knowledge or skill except the ability to follow installation instructions
and run commands BSD/Linux.
Project goals Project goals
------------- =============
- *Recommend and distribute only free software*. Coreboot - *Support as much hardware as possible!* Libreboot aims to eventually
distributes certain pieces of proprietary software which is needed have *maintainers* for every board supported by coreboot, at every
on some systems. Examples can include things like CPU microcode point in time.
updates, memory initialization blobs and so on. The coreboot project
sometimes recommends adding more blobs which it does not distribute,
such as the Video BIOS or Intel's *Management Engine*. However, a
lot of dedicated and talented individuals in coreboot work hard to
replace these blobs whenever possible.
- *Support as much hardware as possible!* Libreboot supports less
hardware than coreboot, because most systems from coreboot still
require certain proprietary software to work properly. Libreboot is
an attempt to support as much hardware as possible, without any
proprietary software.
- *Make coreboot easy to use*. Coreboot is notoriously difficult - *Make coreboot easy to use*. Coreboot is notoriously difficult
to install, due to an overall lack of user-focused documentation to install, due to an overall lack of user-focused documentation
and support. Most people will simply give up before attempting to and support. Most people will simply give up before attempting to
install coreboot. install coreboot. Libreboot's automated build system and user-friendly
installation instructions solves this problem.
Libreboot attempts to bridge this divide by providing a build system Libreboot attempts to bridge this divide by providing a build system
automating much of the coreboot image creation and customization. automating much of the coreboot image creation and customization.
Secondly, the project produces documentation aimed at non-technical users. Secondly, the project produces documentation aimed at non-technical users.
Thirdly, the project attempts to provide excellent user support via mailing Thirdly, the project attempts to provide excellent user support via IRC.
lists and IRC.
Libreboot already comes with a payload (GRUB), flashrom and other Libreboot already comes with a payload (GRUB), flashrom and other
needed parts. Everything is fully integrated, in a way where most of needed parts. Everything is fully integrated, in a way where most of
@@ -123,39 +99,25 @@ re-bases on the latest version of coreboot, with the number of custom
patches in use minimized. Tested, *stable* (static) releases are then provided patches in use minimized. Tested, *stable* (static) releases are then provided
in Libreboot, based on specific coreboot revisions. in Libreboot, based on specific coreboot revisions.
Coreboot is not entirely free software. It has binary blobs in it for some How to help
platforms. What Libreboot does is download several revisions of coreboot, for ===========
different boards, and *de-blob* those coreboot revisions. This is done using
the *linux-libre* deblob scripts, to find binary blobs in coreboot.
All new coreboot development should be done in coreboot (upstream), not You can check bugs listed on
libreboot! Libreboot is about deblobbing and packaging coreboot in a the [bug tracker](https://notabug.org/libreboot/lbmk/issues).
user-friendly way, where most work is already done for the user.
For example, if you wanted to add a new board to libreboot, you should If you spot a bug and have a fix, the website has instructions for how to send
add it to coreboot first. Libreboot will automatically receive your code patches, and you can also report it. Also, this entire website is
at a later date, when it updates itself. written in Markdown and hosted in a [separate
repository](https://notabug.org/libreboot/lbwww) where you can send patches.
The deblobbed coreboot tree used in libreboot is referred to as Any and all development discussion and user support are all done on the IRC
*coreboot-libre*, to distinguish it as a component of *libreboot*. channel. More information is on the contact page of libreboot.org.
A coreboot *fork* is planned for the future. Nowadays, coreboot drops support LICENSE FOR THIS README
for boards that are "unmaintained", which in some cases just means that nobody =======================
submitted a new status update (to the *board-status* repository), so nowadays
Libreboot must maintain multiple versions of coreboot. This is unsustainable,
so a fork is planned, re-adding all of the deleted boards, backporting newer
coreboot features and, possibly, having support for those boards re-merged
upstream, where coreboot and the fork will share code back and forth. As of
27 April 2021, work on this fork has not yet begun.
LICENSE FOR THIS README: It's just a README file. This README file is released under the terms of the
GNU Free Documentation License 1.3 as published by the Free Software Foundation, Creative Commons Zero license, version 1.0 of the license, which you can
with no invariant sections, no front cover texts and no back cover texts. If read here:
you wish it, you may use a later version of the GNU Free Documentation License
as published by the Free Software Foundation.
Copy of the GNU Free Documentation License v1.3 here: <https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt>
<https://www.gnu.org/licenses/fdl-1.3.en.html>
Info about Free Software Foundation:
<https://www.fsf.org/>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+44
View File
@@ -0,0 +1,44 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only
./.gitcheck
script_dir="resources/scripts/blobs"
modes=$(ls -1 ${script_dir})
Print_help(){
cat <<- EOF
Usage: ./blobutil [mode] <options>
Example: ./blobutil download x230_12mb
Possible options for mode are
${modes}
Mode descriptions:
download: Try to automatically generate blobs for specified board
inject: Inject blobs for specified board into specified rom
extract: Extract blobs from specified rom for specified board
EOF
}
if [ $# -gt 0 ]; then
mode="${1}"
shift
args="$@"
if [ ! -f "${script_dir}/${mode}" ]; then
printf "Error: No mode ${mode}\n"
Print_help
exit 1
else
./${script_dir}/${mode} ${args}
fi
else
printf 'Error: You must specify a mode\n'
Print_help
fi
./.gitcheck clean
+4
View File
@@ -5,6 +5,7 @@
# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> # Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net>
# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> # Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org>
# Copyright (C) 2022, Caleb La Grange <thonkpeasant@protonmail.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -19,6 +20,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
./.gitcheck
[ "x${DEBUG+set}" = 'xset' ] && set -v [ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e set -u -e
@@ -105,3 +107,5 @@ else
help help
exit 0 exit 0
fi fi
./.gitcheck clean
+13 -24
View File
@@ -1,10 +1,12 @@
#!/bin/bash #!/bin/sh
# Generic script for downloading programs used by the build system # Generic script for downloading programs used by the build system
# #
# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org> # Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net> # Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net>
# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org> # Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org>
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -20,17 +22,13 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
./.gitcheck
[ "x${DEBUG+set}" = 'xset' ] && set -v [ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e set -u -e
./resources/scripts/misc/versioncheck ./resources/scripts/misc/versioncheck
# set this when you want to modify each coreboot tree
# for example, you want to test custom patches
# NODELETE= ./download coreboot
deleteblobs="true"
[ "x${NODELETE+set}" = 'xset' ] && deleteblobs="false"
rm -f "build_error" rm -f "build_error"
download=resources/scripts/download download=resources/scripts/download
@@ -60,6 +58,9 @@ help() {
coreboot trees by default, but './download coreboot x60' will only download coreboot trees by default, but './download coreboot x60' will only download
the coreboot tree required for the target: x60 the coreboot tree required for the target: x60
Each program download script should also accept the --help parameter to
display the usage of the script.
Refer to the documentation for more information. Refer to the documentation for more information.
EOF EOF
} }
@@ -80,13 +81,7 @@ shift 1
if [ "${program}" = "all" ]; then if [ "${program}" = "all" ]; then
for downloadProgram in ${download}/*; do for downloadProgram in ${download}/*; do
if [ -f "${downloadProgram}" ]; then "${downloadProgram}"
if [ "${deleteblobs}" = "false" ]; then
NODELETE= "${downloadProgram}"
else
"${downloadProgram}"
fi
fi
done done
exit 0 exit 0
elif [ ! -f "${download}/${program}" ]; then elif [ ! -f "${download}/${program}" ]; then
@@ -95,17 +90,11 @@ elif [ ! -f "${download}/${program}" ]; then
fi fi
if [ $# -lt 1 ]; then if [ $# -lt 1 ]; then
if [ "${deleteblobs}" = "false" ]; then "${download}/${program}"
NODELETE= "${download}/${program}"
else
"${download}/${program}"
fi
else else
if [ "${deleteblobs}" = "false" ]; then "${download}/${program}" $@
NODELETE= "${download}/${program}" $@
else
"${download}/${program}" $@
fi
fi fi
exit 0 exit 0
./.gitcheck clean
Executable
+90
View File
@@ -0,0 +1,90 @@
#!/usr/bin/env sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only
Print_help(){
cat <<- EOF
Usage: ./gitclone [name]
Options:
name: The name of the module as specified in resources/git/revisions file
EOF
}
Fail(){
printf "${@}\n"
Print_help
exit 1
}
Check_vars(){
if [ -z "${revision+x}" ]; then
Fail 'Error: revision not set'
fi
if [ -z "${location+x}" ]; then
Fail 'Error: location not set'
fi
if [ -z "${url+x}" ]; then
Fail 'Error: url not set'
fi
}
Patch(){
for patchfile in ${PWD}/${patchdir}/*.patch ; do
( cd ${tmp_dir}
git am ${patchfile} || return 1
)
done
}
Run(){
git clone ${url} ${tmp_dir} || git clone ${bkup_url} ${tmp_dir} || Fail "ERROR: couldn't download ${name}\n Check Network connection"
( cd ${tmp_dir} && git reset --hard ${revision} )
patchdir="resources/${name}/patches"
if [ -d "${patchdir}" ]; then
Patch || Fail "ERROR: Faild to patch ${name}"
fi
mv ${tmp_dir} ${location} || Fail "ERROR: couldn't copy temp to destination\n ${tmp_dir} > ${location} check permissions"
}
if [ -z "${1+x}" ]; then
Fail 'Error: name not set'
else
name=${1}
fi
while read -r line ; do
set ${line} >/dev/null 2>&1
case ${line} in
rev:*)
revision=${2}
;;
loc:*)
location=${2}
;;
url:*)
url=${2}
;;
bkup_url:*)
bkup_url=${2}
;;
esac
done << EOF
$(eval "awk ' /\{.*${name}.*}{/ {flag=1;next} /\}/{flag=0} flag { print }' resources/git/revisions")
EOF
Check_vars
tmp_dir=$(mktemp -dt "${name}_XXXXX")
# clean out old version just in case
if [ -d "${location}" ]; then
rm -rf ${location}
fi
Run
# clean in case of failure
rm -rf ${tmp_dir} >/dev/null 2>&1
Executable
+102
View File
@@ -0,0 +1,102 @@
#!/bin/sh
# generic scripts for modifying configs and such
#
# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org>
# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net>
# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e
projectname="$(cat projectname)"
./resources/scripts/misc/versioncheck
modify=./resources/scripts/modify
listmodes() {
for mode in "${modify}"/*; do
printf '%s\n' "${mode##*/}"
done
}
# Takes exactly one mode as parameter
listoptions() {
for option in "${modify}"/"${1}"/*; do
printf '%s\n' "${option##*/}"
done
}
help() {
cat <<- EOF
USAGE: ./modify <MODE> <OPTION>
possible values for 'mode':
$(listmodes)
Example: ./modify coreboot configs
Example: ./modify coreboot configs x60
Refer to the ${projectname} documentation for more information.
EOF
}
die() {
printf 'Error: %s\n' "${@}" 1>&2
exit 1
}
if [ $# -lt 1 ]; then
die "Wrong number of arguments specified. See './modify help'."
fi
mode="${1}"
[ "${mode}" = help ] && help && exit 0
if [ $# -gt 1 ]; then
option="${2}"
shift 2
case "${option}" in
list)
printf "Available options for mode '%s':\n\n" "${mode}"
listoptions "${mode}"
;;
all)
for option in $(listoptions "${mode}"); do
"${modify}"/"${mode}"/"${option}" $@
done
;;
*)
if [ -d "${modify}"/"${mode}"/ ]; then
if [ -f "${modify}"/"${mode}"/"${option}" ]; then
"${modify}"/"${mode}"/"${option}" $@
else
help
die "Invalid option for '${mode}'. See './modify ${mode} list'."
fi
else
help
die "Invalid mode '${mode}'. See './modify help'."
fi
esac
else
help
exit 0
fi
+616
View File
@@ -0,0 +1,616 @@
#!/usr/bin/env python3
"""ME7 Update binary parser."""
# Copyright (C) 2020 Tom Hiller <thrilleratplay@gmail.com>
# Copyright (C) 2016-2018 Nicola Corna <nicola@corna.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# Based on the amazing me_cleaner, https://github.com/corna/me_cleaner, parses
# the required signed partition from an ME update file to generate a valid
# flashable ME binary.
#
# This was written for Heads ROM, https://github.com/osresearch/heads
# to allow continuous integration reproducible builds for Lenovo xx20 models
# (X220, T420, T520, etc).
#
# A full model list can be found:
# https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.txt
from struct import pack, unpack
from typing import List
import argparse
import sys
import hashlib
import binascii
import os.path
#############################################################################
FTPR_END = 0x76000
MINIFIED_FTPR_OFFSET = 0x400 # offset start of Factory Partition (FTPR)
ORIG_FTPR_OFFSET = 0xCC000
PARTITION_HEADER_OFFSET = 0x30 # size of partition header
DEFAULT_OUTPUT_FILE_NAME = "flashregion_2_intel_me.bin"
#############################################################################
class EntryFlags:
"""EntryFlag bitmap values."""
ExclBlockUse = 8192
WOPDisable = 4096
Logical = 2048
Execute = 1024
Write = 512
Read = 256
DirectAccess = 128
Type = 64
def generateHeader() -> bytes:
"""Generate Header."""
ROM_BYPASS_INSTR_0 = binascii.unhexlify("2020800F")
ROM_BYPASS_INSTR_1 = binascii.unhexlify("40000010")
ROM_BYPASS_INSTR_2 = pack("<I", 0)
ROM_BYPASS_INSTR_3 = pack("<I", 0)
# $FPT Partition table header
HEADER_TAG = "$FPT".encode()
HEADER_NUM_PARTITIONS = pack("<I", 1)
HEADER_VERSION = b"\x20" # version 2.0
HEADER_ENTRY_TYPE = b"\x10"
HEADER_LENGTH = b"\x30"
HEADER_CHECKSUM = pack("<B", 0)
HEADER_FLASH_CYCLE_LIFE = pack("<H", 7)
HEADER_FLASH_CYCLE_LIMIT = pack("<H", 100)
HEADER_UMA_SIZE = pack("<H", 32)
HEADER_FLAGS = binascii.unhexlify("000000FCFFFF")
HEADER_FITMAJOR = pack("<H", 0)
HEADER_FITMINOR = pack("<H", 0)
HEADER_FITHOTFIX = pack("<H", 0)
HEADER_FITBUILD = pack("<H", 0)
FTPR_header_layout = bytearray(
ROM_BYPASS_INSTR_0
+ ROM_BYPASS_INSTR_1
+ ROM_BYPASS_INSTR_2
+ ROM_BYPASS_INSTR_3
+ HEADER_TAG
+ HEADER_NUM_PARTITIONS
+ HEADER_VERSION
+ HEADER_ENTRY_TYPE
+ HEADER_LENGTH
+ HEADER_CHECKSUM
+ HEADER_FLASH_CYCLE_LIFE
+ HEADER_FLASH_CYCLE_LIMIT
+ HEADER_UMA_SIZE
+ HEADER_FLAGS
+ HEADER_FITMAJOR
+ HEADER_FITMINOR
+ HEADER_FITHOTFIX
+ HEADER_FITBUILD
)
# Update checksum
FTPR_header_layout[27] = (0x100 - sum(FTPR_header_layout) & 0xFF) & 0xFF
return FTPR_header_layout
def generateFtpPartition() -> bytes:
"""Partition table entry."""
ENTRY_NAME = binascii.unhexlify("46545052")
ENTRY_OWNER = binascii.unhexlify("FFFFFFFF") # "None"
ENTRY_OFFSET = binascii.unhexlify("00040000")
ENTRY_LENGTH = binascii.unhexlify("00600700")
ENTRY_START_TOKENS = pack("<I", 1)
ENTRY_MAX_TOKENS = pack("<I", 1)
ENTRY_SCRATCH_SECTORS = pack("<I", 0)
ENTRY_FLAGS = pack(
"<I",
(
EntryFlags.ExclBlockUse
+ EntryFlags.Execute
+ EntryFlags.Write
+ EntryFlags.Read
+ EntryFlags.DirectAccess
),
)
partition = (
ENTRY_NAME
+ ENTRY_OWNER
+ ENTRY_OFFSET
+ ENTRY_LENGTH
+ ENTRY_START_TOKENS
+ ENTRY_MAX_TOKENS
+ ENTRY_SCRATCH_SECTORS
+ ENTRY_FLAGS
)
# offset of the partition - length of partition entry -length of header
pad_len = MINIFIED_FTPR_OFFSET - (len(partition) + PARTITION_HEADER_OFFSET)
padding = b""
for i in range(0, pad_len):
padding += b"\xFF"
return partition + padding
############################################################################
class OutOfRegionException(Exception):
"""Out of Region Exception."""
pass
class clean_ftpr:
"""Clean Factory Parition (FTPR)."""
UNREMOVABLE_MODULES = ("ROMP", "BUP")
COMPRESSION_TYPE_NAME = ("uncomp.", "Huffman", "LZMA")
def __init__(self, ftpr: bytes):
"""Init."""
self.orig_ftpr = ftpr
self.ftpr = ftpr
self.mod_headers: List[bytes] = []
self.check_and_clean_ftpr()
#####################################################################
# tilities
#####################################################################
def slice(self, offset: int, size: int) -> bytes:
"""Copy data of a given size from FTPR starting from offset."""
offset_end = offset + size
return self.ftpr[offset:offset_end]
def unpack_next_int(self, offset: int) -> int:
"""Sugar syntax for unpacking a little-endian UINT at offset."""
return self.unpack_val(self.slice(offset, 4))
def unpack_val(self, data: bytes) -> int:
"""Sugar syntax for unpacking a little-endian unsigned integer."""
return unpack("<I", data)[0]
def bytes_to_ascii(self, data: bytes) -> str:
"""Decode bytes into ASCII."""
return data.rstrip(b"\x00").decode("ascii")
def clear_ftpr_data(self, start: int, end: int) -> None:
"""Replace values in range with 0xFF."""
empty_data = bytes()
for i in range(0, end - start):
empty_data += b"\xff"
self.write_ftpr_data(start, empty_data)
def write_ftpr_data(self, start: int, data: bytes) -> None:
"""Replace data in FTPR starting at a given offset."""
end = len(data) + start
new_partition = self.ftpr[:start]
new_partition += data
if end != FTPR_END:
new_partition += self.ftpr[end:]
self.ftpr = new_partition
######################################################################
# FTPR cleanig/checking functions
######################################################################
def get_chunks_offsets(self, llut: bytes):
"""Calculate Chunk offsets from LLUT."""
chunk_count = self.unpack_val(llut[0x04:0x08])
huffman_stream_end = sum(unpack("<II", llut[0x10:0x18]))
nonzero_offsets = [huffman_stream_end]
offsets = []
for i in range(0, chunk_count):
llut_start = 0x40 + (i * 4)
llut_end = 0x44 + (i * 4)
chunk = llut[llut_start:llut_end]
offset = 0
if chunk[3] != 0x80:
offset = self.unpack_val(chunk[0:3] + b"\x00")
offsets.append([offset, 0])
if offset != 0:
nonzero_offsets.append(offset)
nonzero_offsets.sort()
for i in offsets:
if i[0] != 0:
i[1] = nonzero_offsets[nonzero_offsets.index(i[0]) + 1]
return offsets
def relocate_partition(self) -> int:
"""Relocate partition."""
new_offset = MINIFIED_FTPR_OFFSET
name = self.bytes_to_ascii(self.slice(PARTITION_HEADER_OFFSET, 4))
old_offset, partition_size = unpack(
"<II", self.slice(PARTITION_HEADER_OFFSET + 0x8, 0x8)
)
llut_start = 0
for mod_header in self.mod_headers:
if (self.unpack_val(mod_header[0x50:0x54]) >> 4) & 7 == 0x01:
llut_start = self.unpack_val(mod_header[0x38:0x3C])
llut_start += old_offset
break
if self.mod_headers and llut_start != 0:
# Bytes 0x9:0xb of the LLUT (bytes 0x1:0x3 of the AddrBase) are
# added to the SpiBase (bytes 0xc:0x10 of the LLUT) to compute the
# final start of the LLUT. Since AddrBase is not modifiable, we can
# act only on SpiBase and here we compute the minimum allowed
# new_offset.
llut_start_corr = unpack("<H", self.slice(llut_start + 0x9, 2))[0]
new_offset = max(
new_offset, llut_start_corr - llut_start - 0x40 + old_offset
)
new_offset = ((new_offset + 0x1F) // 0x20) * 0x20
offset_diff = new_offset - old_offset
print(
"Relocating {} from {:#x} - {:#x} to {:#x} - {:#x}...".format(
name,
old_offset,
old_offset + partition_size,
new_offset,
new_offset + partition_size,
)
)
print(" Adjusting FPT entry...")
self.write_ftpr_data(
PARTITION_HEADER_OFFSET + 0x08,
pack("<I", new_offset),
)
if self.mod_headers:
if llut_start != 0:
if self.slice(llut_start, 4) == b"LLUT":
print(" Adjusting LUT start offset...")
llut_offset = pack(
"<I", llut_start + offset_diff + 0x40 - llut_start_corr
)
self.write_ftpr_data(llut_start + 0x0C, llut_offset)
print(" Adjusting Huffman start offset...")
old_huff_offset = self.unpack_next_int(llut_start + 0x14)
ftpr_offset_diff = MINIFIED_FTPR_OFFSET - ORIG_FTPR_OFFSET
self.write_ftpr_data(
llut_start + 0x14,
pack("<I", old_huff_offset + ftpr_offset_diff),
)
print(" Adjusting chunks offsets...")
chunk_count = self.unpack_next_int(llut_start + 0x4)
offset = llut_start + 0x40
offset_end = chunk_count * 4
chunks = bytearray(self.slice(offset, offset_end))
for i in range(0, offset_end, 4):
i_plus_3 = i + 3
if chunks[i_plus_3] != 0x80:
chunks[i:i_plus_3] = pack(
"<I",
self.unpack_val(chunks[i:i_plus_3] + b"\x00")
+ (MINIFIED_FTPR_OFFSET - ORIG_FTPR_OFFSET),
)[0:3]
self.write_ftpr_data(offset, bytes(chunks))
else:
sys.exit("Huffman modules present but no LLUT found!")
else:
print(" No Huffman modules found")
print(" Moving data...")
partition_size = min(partition_size, FTPR_END - old_offset)
if (
old_offset + partition_size <= FTPR_END
and new_offset + partition_size <= FTPR_END
):
for i in range(0, partition_size, 4096):
block_length = min(partition_size - i, 4096)
block = self.slice(old_offset + i, block_length)
self.clear_ftpr_data(old_offset + i, len(block))
self.write_ftpr_data(new_offset + i, block)
else:
raise OutOfRegionException()
return new_offset
def remove_modules(self) -> int:
"""Remove modules."""
unremovable_huff_chunks = []
chunks_offsets = []
base = 0
chunk_size = 0
end_addr = 0
for mod_header in self.mod_headers:
name = self.bytes_to_ascii(mod_header[0x04:0x14])
offset = self.unpack_val(mod_header[0x38:0x3C])
size = self.unpack_val(mod_header[0x40:0x44])
flags = self.unpack_val(mod_header[0x50:0x54])
comp_type = (flags >> 4) & 7
comp_type_name = self.COMPRESSION_TYPE_NAME[comp_type]
print(" {:<16} ({:<7}, ".format(name, comp_type_name), end="")
# If compresion type uncompressed or LZMA
if comp_type == 0x00 or comp_type == 0x02:
offset_end = offset + size
range_msg = "0x{:06x} - 0x{:06x} ): "
print(range_msg.format(offset, offset_end), end="")
if name in self.UNREMOVABLE_MODULES:
end_addr = max(end_addr, offset + size)
print("NOT removed, essential")
else:
offset_end = min(offset + size, FTPR_END)
self.clear_ftpr_data(offset, offset_end)
print("removed")
# Else if compression type huffman
elif comp_type == 0x01:
if not chunks_offsets:
# Check if Local Look Up Table (LLUT) is present
if self.slice(offset, 4) == b"LLUT":
llut = self.slice(offset, 0x40)
chunk_count = self.unpack_val(llut[0x4:0x8])
base = self.unpack_val(llut[0x8:0xC]) + 0x10000000
chunk_size = self.unpack_val(llut[0x30:0x34])
llut = self.slice(offset, (chunk_count * 4) + 0x40)
# calculate offsets of chunks from LLUT
chunks_offsets = self.get_chunks_offsets(llut)
else:
no_llut_msg = "Huffman modules found,"
no_llut_msg += "but LLUT is not present."
sys.exit(no_llut_msg)
module_base = self.unpack_val(mod_header[0x34:0x38])
module_size = self.unpack_val(mod_header[0x3C:0x40])
first_chunk_num = (module_base - base) // chunk_size
last_chunk_num = first_chunk_num + module_size // chunk_size
huff_size = 0
chunk_length = last_chunk_num + 1
for chunk in chunks_offsets[first_chunk_num:chunk_length]:
huff_size += chunk[1] - chunk[0]
size_in_kiB = "~" + str(int(round(huff_size / 1024))) + " KiB"
print(
"fragmented data, {:<9}): ".format(size_in_kiB),
end="",
)
# Check if module is in the unremovable list
if name in self.UNREMOVABLE_MODULES:
print("NOT removed, essential")
# add to list of unremovable chunks
for x in chunks_offsets[first_chunk_num:chunk_length]:
if x[0] != 0:
unremovable_huff_chunks.append(x)
else:
print("removed")
# Else unknown compression type
else:
unkwn_comp_msg = " 0x{:06x} - 0x{:06x}): "
unkwn_comp_msg += "unknown compression, skipping"
print(unkwn_comp_msg.format(offset, offset + size), end="")
if chunks_offsets:
removable_huff_chunks = []
for chunk in chunks_offsets:
# if chunk is not in a unremovable chunk, it must be removable
if all(
not (
unremovable_chk[0] <= chunk[0] < unremovable_chk[1]
or unremovable_chk[0] < chunk[1] <= unremovable_chk[1]
)
for unremovable_chk in unremovable_huff_chunks
):
removable_huff_chunks.append(chunk)
for removable_chunk in removable_huff_chunks:
if removable_chunk[1] > removable_chunk[0]:
chunk_start = removable_chunk[0] - ORIG_FTPR_OFFSET
chunk_end = removable_chunk[1] - ORIG_FTPR_OFFSET
self.clear_ftpr_data(chunk_start, chunk_end)
end_addr = max(
end_addr, max(unremovable_huff_chunks, key=lambda x: x[1])[1]
)
end_addr -= ORIG_FTPR_OFFSET
return end_addr
def find_mod_header_size(self) -> None:
"""Find module header size."""
self.mod_header_size = 0
data = self.slice(0x290, 0x84)
# check header size
if data[0x0:0x4] == b"$MME":
if data[0x60:0x64] == b"$MME" or self.num_modules == 1:
self.mod_header_size = 0x60
elif data[0x80:0x84] == b"$MME":
self.mod_header_size = 0x80
def find_mod_headers(self) -> None:
"""Find module headers."""
data = self.slice(0x290, self.mod_header_size * self.num_modules)
for i in range(0, self.num_modules):
header_start = i * self.mod_header_size
header_end = (i + 1) * self.mod_header_size
self.mod_headers.append(data[header_start:header_end])
def resize_partition(self, end_addr: int) -> None:
"""Resize partition."""
spared_blocks = 4
if end_addr > 0:
end_addr = (end_addr // 0x1000 + 1) * 0x1000
end_addr += spared_blocks * 0x1000
# partition header not added yet
# remove trailing data the same size as the header.
end_addr -= MINIFIED_FTPR_OFFSET
me_size_msg = "The ME minimum size should be {0} "
me_size_msg += "bytes ({0:#x} bytes)"
print(me_size_msg.format(end_addr))
print("Truncating file at {:#x}...".format(end_addr))
self.ftpr = self.ftpr[:end_addr]
def check_and_clean_ftpr(self) -> None:
"""Check and clean FTPR (factory partition)."""
self.num_modules = self.unpack_next_int(0x20)
self.find_mod_header_size()
if self.mod_header_size != 0:
self.find_mod_headers()
# ensure all of the headers begin with b'$MME'
if all(hdr.startswith(b"$MME") for hdr in self.mod_headers):
end_addr = self.remove_modules()
new_offset = self.relocate_partition()
end_addr += new_offset
self.resize_partition(end_addr)
# flip bit
# XXX: I have no idea why this works and passes RSA signiture
self.write_ftpr_data(0x39, b"\x00")
else:
sys.exit(
"Found less modules than expected in the FTPR "
"partition; skipping modules removal and exiting."
)
else:
sys.exit(
"Can't find the module header size; skipping modules"
"removal and exiting."
)
##########################################################################
def check_partition_signature(f, offset) -> bool:
"""check_partition_signature copied/shamelessly stolen from me_cleaner."""
f.seek(offset)
header = f.read(0x80)
modulus = int(binascii.hexlify(f.read(0x100)[::-1]), 16)
public_exponent = unpack("<I", f.read(4))[0]
signature = int(binascii.hexlify(f.read(0x100)[::-1]), 16)
header_len = unpack("<I", header[0x4:0x8])[0] * 4
manifest_len = unpack("<I", header[0x18:0x1C])[0] * 4
f.seek(offset + header_len)
sha256 = hashlib.sha256()
sha256.update(header)
tmp = f.read(manifest_len - header_len)
sha256.update(tmp)
decrypted_sig = pow(signature, public_exponent, modulus)
return "{:#x}".format(decrypted_sig).endswith(sha256.hexdigest()) # FIXME
##########################################################################
def generate_me_blob(input_file: str, output_file: str) -> None:
"""Generate ME blob."""
print("Starting ME 7.x Update parser.")
orig_f = open(input_file, "rb")
cleaned_ftpr = clean_ftpr(orig_f.read(FTPR_END))
orig_f.close()
fo = open(output_file, "wb")
fo.write(generateHeader())
fo.write(generateFtpPartition())
fo.write(cleaned_ftpr.ftpr)
fo.close()
def verify_output(output_file: str) -> None:
"""Verify Generated ME file."""
file_verifiy = open(output_file, "rb")
if check_partition_signature(file_verifiy, MINIFIED_FTPR_OFFSET):
print(output_file + " is VALID")
file_verifiy.close()
else:
print(output_file + " is INVALID!!")
file_verifiy.close()
sys.exit("The FTPR partition signature is not valid.")
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Tool to remove as much code "
"as possible from Intel ME/TXE 7.x firmware "
"update and create paratition for a flashable ME parition."
)
parser.add_argument("file", help="ME/TXE image or full dump")
parser.add_argument(
"-O",
"--output",
metavar="output_file",
help="save "
"save file name other than the default '" + DEFAULT_OUTPUT_FILE_NAME + "'",
)
args = parser.parse_args()
output_file_name = DEFAULT_OUTPUT_FILE_NAME if not args.output else args.output
# Check if output file exists, ask to overwrite or exit
if os.path.isfile(output_file_name):
input_msg = output_file_name
input_msg += " exists. Do you want to overwrite? [y/N]: "
if not str(input(input_msg)).lower().startswith("y"):
sys.exit("Not overwriting file. Exiting.")
generate_me_blob(args.file, output_file_name)
verify_output(output_file_name)
+24
View File
@@ -0,0 +1,24 @@
# This file holds the download sources for various intel blobs
# board shortnames are listed and enclosed by '{}' followed by an opening
# and closing '{}' for all blobs available for the board.
# The board shortname must be the name of the board minus the trailing rom size.
# If you want to make additions, try to add a backup url for download links and
# list hashes as sha1 sums.
{x230 x230t x230i x230edp t430 t530 w530}{
ME_hash 039c89c6d44ae11ae2510cbd5fed756e97ed9a31
ME_dl https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
ME_bkup_dl https://web.archive.org/web/20210706183911/https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
}
{x220 x220t t420 t520 t420s}{
ME_hash fa0f96c8f36646492fb8c57ad3296bf5f647d9c5
ME_dl https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
ME_bkup_dl https://web.archive.org/web/20220202201637/https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf46ww.exe
}
{t440pmrc w541mrc t440p w541}{
ME_hash b2f2a1baa1f0c8139e46b0d3e206386ff197bed5
ME_dl https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe
ME_bkup_dl https://web.archive.org/web/20211120031520/https://download.lenovo.com/pccbbs/mobiles/glrg22ww.exe
}
+4
View File
@@ -0,0 +1,4 @@
cbtree="cros"
arch="spaghettimonster"
cbrevision="8da4bfe5b573f395057fbfb5a9d99b376e25c2a4" # 4.17
romtype="normal"
@@ -0,0 +1,55 @@
From 0d5a5f3ee1ee5d6f757d5877b7adbe9839487ccf Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 19 Nov 2022 14:55:01 +0000
Subject: [PATCH 1/1] fix crossgcc build error
---
util/crossgcc/patches/gcc-11.2.0_gnat.patch | 32 ++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/util/crossgcc/patches/gcc-11.2.0_gnat.patch b/util/crossgcc/patches/gcc-11.2.0_gnat.patch
index 2d7cecee24..c22cec45d0 100644
--- a/util/crossgcc/patches/gcc-11.2.0_gnat.patch
+++ b/util/crossgcc/patches/gcc-11.2.0_gnat.patch
@@ -5,7 +5,37 @@
# Extra flags to pass to recursive makes.
-COMMON_ADAFLAGS= -gnatpg
-+COMMON_ADAFLAGS= -gnatpg -gnatwGUR
++COMMON_ADAFLAGS= -gnatpg -gnatwn
ifeq ($(TREECHECKING),)
CHECKING_ADAFLAGS=
else
+diff -Nurp gcc-11.2.0/gcc/ada/gcc-interface/Make-lang.in gcc-11.2.0.new/gcc/ada/gcc-interface/Make-lang.in
+--- gcc-11.2.0/gcc/ada/gcc-interface/Make-lang.in 2022-06-03 00:31:57.993273717 +0200
++++ gcc-11.2.0.new/gcc/ada/gcc-interface/Make-lang.in 2022-06-03 00:30:50.214166847 +0200
+@@ -334,6 +334,7 @@ GNAT_ADA_OBJS = \
+ ada/hostparm.o \
+ ada/impunit.o \
+ ada/inline.o \
++ ada/libgnat/i-c.o \
+ ada/libgnat/interfac.o \
+ ada/itypes.o \
+ ada/krunch.o \
+@@ -364,7 +365,10 @@ GNAT_ADA_OBJS = \
+ ada/rtsfind.o \
+ ada/libgnat/s-addope.o \
+ ada/libgnat/s-addima.o \
++ ada/libgnat/s-aotase.o \
+ ada/libgnat/s-assert.o \
++ ada/libgnat/s-atoope.o \
++ ada/libgnat/s-atopri.o \
+ ada/libgnat/s-bitops.o \
+ ada/libgnat/s-carun8.o \
+ ada/libgnat/s-casuti.o \
+@@ -548,6 +552,7 @@ GNATBIND_OBJS = \
+ ada/hostparm.o \
+ ada/init.o \
+ ada/initialize.o \
++ ada/libgnat/i-c.o \
+ ada/libgnat/interfac.o \
+ ada/krunch.o \
+ ada/lib.o \
--
2.25.1
+2 -4
View File
@@ -1,8 +1,6 @@
cbtree="default" cbtree="default"
romtype="normal" romtype="normal"
arch="x86_64" arch="x86_64"
payload_grub="y" payload_grub="n"
payload_grub_withseabios="y" payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n"
@@ -11,13 +11,17 @@ CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback" CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set # CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set # CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set # CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set # CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set # CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set # CONFIG_TIMESTAMPS_ON_CONSOLE is not set
@@ -26,10 +30,7 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set # CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set # CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set # CONFIG_UBSAN is not set
# CONFIG_HAVE_ASAN_IN_ROMSTAGE is not set
# CONFIG_ASAN_IN_ROMSTAGE is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN_IN_RAMSTAGE is not set
# CONFIG_ASAN is not set # CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set # CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y CONFIG_TSEG_STAGE_CACHE=y
@@ -37,6 +38,13 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_BOOTSPLASH_IMAGE is not set # CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set # CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
# #
# Mainboard # Mainboard
# #
@@ -52,30 +60,25 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_VENDOR_APPLE is not set # CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set # CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set # CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set # CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set # CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set # CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set # CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set # CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set # CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set # CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set # CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set # CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set # CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set # CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set # CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
# CONFIG_VENDOR_GOOGLE is not set # CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set # CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set # CONFIG_VENDOR_IBASE is not set
CONFIG_VENDOR_INTEL=y CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set # CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set # CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set # CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set # CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set # CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set # CONFIG_VENDOR_OPENCELLULAR is not set
@@ -90,9 +93,9 @@ CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_RODA is not set # CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set # CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set # CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set # CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set # CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set # CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set # CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set # CONFIG_VENDOR_TI is not set
@@ -108,46 +111,41 @@ CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set # CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Intel" CONFIG_MAINBOARD_VENDOR="Intel"
CONFIG_CBFS_SIZE=0x00100000 CONFIG_CBFS_SIZE=0x00100000
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_MAX_CPUS=4 CONFIG_MAX_CPUS=4
# CONFIG_VBOOT is not set # CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb" CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set # CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel" CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt" CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_POST_IO=y CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_OVERRIDE_DEVICETREE="" CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_CONSOLE_POST is not set # CONFIG_CONSOLE_POST is not set
CONFIG_POST_DEVICE=y
# CONFIG_BOARD_EMULATION_QEMU_AARCH64 is not set
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set
# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV32 is not set
# CONFIG_BOARD_EMULATION_SPIKE_RISCV is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfefc0000 CONFIG_DCACHE_RAM_BASE=0xfefc0000
CONFIG_DCACHE_RAM_SIZE=0x4000 CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000 CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000 CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_MMCONF_BASE_ADDRESS=0xe0000000 CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
CONFIG_MMCONF_BUS_NUMBER=256 CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DRIVERS_INTEL_WIFI=y # CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CONSOLE_SERIAL=y
# CONFIG_PCIEXP_HOTPLUG is not set
# CONFIG_BOARD_INTEL_ADLRVP_P is not set # CONFIG_BOARD_INTEL_ADLRVP_P is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set # CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
# CONFIG_BOARD_INTEL_ADLRVP_M is not set # CONFIG_BOARD_INTEL_ADLRVP_M is not set
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set # CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set # CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set # CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set # CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
@@ -171,8 +169,6 @@ CONFIG_BOARD_INTEL_D510MO=y
# CONFIG_BOARD_INTEL_GALILEO is not set # CONFIG_BOARD_INTEL_GALILEO is not set
# CONFIG_BOARD_INTEL_GLKRVP is not set # CONFIG_BOARD_INTEL_GLKRVP is not set
# CONFIG_BOARD_INTEL_HARCUVAR is not set # CONFIG_BOARD_INTEL_HARCUVAR is not set
# CONFIG_BOARD_INTEL_ICELAKE_RVPU is not set
# CONFIG_BOARD_INTEL_ICELAKE_RVPY is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set # CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set # CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set
# CONFIG_BOARD_INTEL_KBLRVP3 is not set # CONFIG_BOARD_INTEL_KBLRVP3 is not set
@@ -182,22 +178,26 @@ CONFIG_BOARD_INTEL_D510MO=y
# CONFIG_BOARD_INTEL_KUNIMITSU is not set # CONFIG_BOARD_INTEL_KUNIMITSU is not set
# CONFIG_BOARD_INTEL_LEAFHILL is not set # CONFIG_BOARD_INTEL_LEAFHILL is not set
# CONFIG_BOARD_INTEL_MINNOW3 is not set # CONFIG_BOARD_INTEL_MINNOW3 is not set
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set # CONFIG_BOARD_INTEL_SKLSDLBRK is not set
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set # CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
# CONFIG_BOARD_INTEL_STRAGO is not set # CONFIG_BOARD_INTEL_STRAGO is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set # CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set # CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
# CONFIG_BOARD_INTEL_WTM2 is not set # CONFIG_BOARD_INTEL_WTM2 is not set
# CONFIG_ADL_CHROME_EC is not set
# CONFIG_ADL_INTEL_EC is not set
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO" CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO"
# CONFIG_BOARD_INTEL_BASEBOARD_GLKRVP is not set CONFIG_PCIEXP_HOTPLUG_BUSES=32
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13" CONFIG_PS2M_EISAID="PNP0F13"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set # CONFIG_PCIEXP_L1_SUB_STATE is not set
# CONFIG_PCIEXP_CLK_PM is not set # CONFIG_PCIEXP_CLK_PM is not set
CONFIG_DRIVERS_UART_8250IO=y # CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_HEAP_SIZE=0x4000 CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_1024=y CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set # CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set # CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -220,11 +220,7 @@ CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set # CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set # CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0 CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# CONFIG_SYSTEM_TYPE_LAPTOP is not set # end of Mainboard
# CONFIG_SYSTEM_TYPE_TABLET is not set
# CONFIG_SYSTEM_TYPE_DETACHABLE is not set
# CONFIG_SYSTEM_TYPE_CONVERTIBLE is not set
# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set
# #
# Chipset # Chipset
@@ -234,66 +230,38 @@ CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# SoC # SoC
# #
CONFIG_CHIPSET_DEVICETREE="" CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_RAMBASE=0xe00000
CONFIG_CPU_ADDR_BITS=32
CONFIG_SMM_RESERVED_SIZE=0x80000 CONFIG_SMM_RESERVED_SIZE=0x80000
CONFIG_SMM_MODULE_STACK_SIZE=0x400 CONFIG_SMM_MODULE_STACK_SIZE=0x400
# CONFIG_CHECK_REV_IN_OPROM_NAME is not set CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
CONFIG_EHCI_BAR=0xfef00000 CONFIG_EHCI_BAR=0xfef00000
# CONFIG_SOC_CAVIUM_CN81XX is not set CONFIG_STACK_SIZE=0x2000
CONFIG_STACK_SIZE=0x1000
# CONFIG_SOC_CAVIUM_COMMON is not set
CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_VBT_DATA_SIZE_KB=8
# CONFIG_SOC_INTEL_GEMINILAKE is not set
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254 CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16 CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256 CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16 CONFIG_INTEL_GMA_BCLM_WIDTH=16
# CONFIG_PCIEXP_ASPM is not set CONFIG_BOOTBLOCK_IN_CBFS=y
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
CONFIG_TTYS0_BASE=0x3f8 # CONFIG_PCIEXP_ASPM is not set
CONFIG_TTYS0_LCS=3 # CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_UART_PCI_ADDR=0x0 CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_AZALIA_MAX_CODECS=3 CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_INTEL_HAS_TOP_SWAP=y CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set # CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000 CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
# CONFIG_SOC_MEDIATEK_MT8173 is not set
# CONFIG_SOC_MEDIATEK_MT8183 is not set
# CONFIG_SOC_MEDIATEK_MT8192 is not set
# CONFIG_SOC_MEDIATEK_MT8195 is not set
# CONFIG_SOC_NVIDIA_TEGRA124 is not set
# CONFIG_SOC_NVIDIA_TEGRA210 is not set
# CONFIG_SOC_QUALCOMM_COMMON is not set
# CONFIG_SOC_QC_IPQ40XX is not set
# CONFIG_SOC_QC_IPQ806X is not set
# CONFIG_SOC_QUALCOMM_QCS405 is not set
# CONFIG_SOC_ROCKCHIP_RK3288 is not set
# CONFIG_SOC_ROCKCHIP_RK3399 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set
# CONFIG_SOC_TI_AM335X is not set
# CONFIG_SOC_UCB_RISCV is not set
# #
# CPU # CPU
# #
# CONFIG_CPU_AMD_AGESA is not set
# CONFIG_CPU_AMD_PI is not set
# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set
CONFIG_CPU_INTEL_MODEL_106CX=y CONFIG_CPU_INTEL_MODEL_106CX=y
CONFIG_CPU_INTEL_SOCKET_FCBGA559=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_SSE2=y CONFIG_CPU_INTEL_SOCKET_FCBGA559=y
# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set
CONFIG_CPU_INTEL_COMMON=y CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y CONFIG_SET_IA32_FC_LOCK_BIT=y
@@ -302,104 +270,70 @@ CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_CPU_HAS_L2_ENABLE_MSR=y CONFIG_CPU_HAS_L2_ENABLE_MSR=y
# CONFIG_CPU_QEMU_X86_LAPIC_INIT is not set
# CONFIG_CPU_QEMU_X86_PARALLEL_MP is not set
# CONFIG_PARALLEL_CPU_INIT is not set
CONFIG_PARALLEL_MP=y CONFIG_PARALLEL_MP=y
# CONFIG_PARALLEL_MP_AP_WORK is not set CONFIG_XAPIC_ONLY=y
# CONFIG_UDELAY_LAPIC is not set # CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_MONOTONIC_TIMER=y
# CONFIG_TSC_SYNC_LFENCE is not set
CONFIG_TSC_SYNC_MFENCE=y CONFIG_TSC_SYNC_MFENCE=y
CONFIG_LOGICAL_CPUS=y CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_NO_SMM is not set
# CONFIG_SMM_ASEG is not set
CONFIG_SMM_TSEG=y CONFIG_SMM_TSEG=y
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000 CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_SMM_STUB_STACK_SIZE=0x400 CONFIG_AP_STACK_SIZE=0x800
# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set
CONFIG_SERIALIZED_SMM_INITIALIZATION=y
# CONFIG_X86_AMD_FIXED_MTRRS is not set
# CONFIG_X86_AMD_INIT_SIPI is not set
# CONFIG_SOC_SETS_MSRS is not set
# CONFIG_RESERVE_MTRRS_FOR_OS is not set
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_MMX=y CONFIG_MMX=y
CONFIG_SSE=y CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
# CONFIG_USES_MICROCODE_HEADER_FILES is not set CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS is not set CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
CONFIG_CPU_MICROCODE_CBFS_NONE=y # CONFIG_CPU_MICROCODE_CBFS_NONE is not set
# #
# Northbridge # Northbridge
# #
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_NORTHBRIDGE_AMD_PI is not set
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
CONFIG_NORTHBRIDGE_INTEL_PINEVIEW=y CONFIG_NORTHBRIDGE_INTEL_PINEVIEW=y
# #
# Southbridge # Southbridge
# #
# CONFIG_AMD_SB_CIMX is not set CONFIG_PCIEXP_HOTPLUG=y
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9 is not set
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_SILVERMONT is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
# CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE is not set
CONFIG_INTEL_CHIPSET_LOCKDOWN=y CONFIG_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000 CONFIG_RCBA_LENGTH=0x4000
CONFIG_FIXED_SMBUS_IO_BASE=0x400
# #
# Super I/O # Super I/O
# #
# CONFIG_SUPERIO_ASPEED_AST2400 is not set
# CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM is not set
# CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND is not set
# CONFIG_SUPERIO_FINTEK_FAN_CONTROL is not set
CONFIG_SUPERIO_WINBOND_COMMON_PRE_RAM=y CONFIG_SUPERIO_WINBOND_COMMON_PRE_RAM=y
CONFIG_SUPERIO_WINBOND_W83627THG=y CONFIG_SUPERIO_WINBOND_W83627THG=y
# #
# Embedded Controllers # Embedded Controllers
# #
# CONFIG_EC_51NB_NPCE985LA0DX is not set
# CONFIG_EC_GOOGLE_CHROMEEC_SKUID is not set
# CONFIG_EC_GOOGLE_WILCO is not set
# CONFIG_CAVIUM_BDK is not set
# CONFIG_MAINBOARD_HAS_CHROMEOS is not set
# CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION is not set
# CONFIG_UEFI_2_4_BINDING is not set
# CONFIG_UDK_2015_BINDING is not set
# CONFIG_UDK_2017_BINDING is not set
# CONFIG_UDK_202005_BINDING is not set
# CONFIG_USE_SIEMENS_HWILIB is not set
# CONFIG_ARM_LPAE is not set
CONFIG_ARCH_X86=y CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -407,94 +341,77 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y CONFIG_ARCH_ALL_STAGES_X86_32=y
# CONFIG_ARCH_POSTCAR_X86_64 is not set
# CONFIG_USE_MARCH_586 is not set
CONFIG_AP_IN_SIPI_WAIT=y CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_RAMTOP=0x1000000 CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_PC80_SYSTEM=y CONFIG_PC80_SYSTEM=y
# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set
CONFIG_HAVE_CMOS_DEFAULT=y CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_HPET_ADDRESS_OVERRIDE is not set
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_POSTCAR_STAGE=y CONFIG_POSTCAR_STAGE=y
# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set
# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set
CONFIG_BOOTBLOCK_SIMPLE=y CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set # CONFIG_BOOTBLOCK_NORMAL is not set
# CONFIG_COLLECT_TIMESTAMPS_NO_TSC is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y CONFIG_COLLECT_TIMESTAMPS_TSC=y
# CONFIG_PAGING_IN_CACHE_AS_RAM is not set
# CONFIG_IDT_IN_EVERY_STAGE is not set
CONFIG_HAVE_CF9_RESET=y CONFIG_HAVE_CF9_RESET=y
# CONFIG_PIRQ_ROUTE is not set CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
# #
# Devices # Devices
# #
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
# CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT is not set
# CONFIG_VGA_ROM_RUN_DEFAULT is not set
# CONFIG_MAINBOARD_HAS_LIBGFXINIT is not set
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
# CONFIG_VGA_ROM_RUN is not set # CONFIG_VGA_ROM_RUN is not set
# CONFIG_RUN_FSP_GOP is not set
# CONFIG_NO_GFX_INIT is not set # CONFIG_NO_GFX_INIT is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set CONFIG_NO_EARLY_GFX_INIT=y
# #
# Display # Display
# #
CONFIG_VGA_TEXT_FRAMEBUFFER=y CONFIG_VGA_TEXT_FRAMEBUFFER=y
# end of Display
CONFIG_PCI=y CONFIG_PCI=y
# CONFIG_NO_MMCONF_SUPPORT is not set CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y
# CONFIG_AZALIA_LOCK_DOWN_R_WO_GCAP is not set
CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_MMCONF_LENGTH=0x10000000 CONFIG_ECAM_MMCONF_LENGTH=0x10000000
CONFIG_PCI_ALLOW_BUS_MASTER=y CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set # CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set # CONFIG_SOFTWARE_I2C is not set
# CONFIG_RESOURCE_ALLOCATOR_V3 is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y # CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
# CONFIG_XHCI_UTILS is not set CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_USE_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
# #
# Generic Drivers # Generic Drivers
# #
# CONFIG_DRIVERS_AS3722_RTC is not set
# CONFIG_CHROMEOS_CAMERA is not set
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_MAINBOARD_HAS_CRB_TPM is not set
# CONFIG_ELOG is not set # CONFIG_ELOG is not set
# CONFIG_GIC is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_DRIVERS_LENOVO_WACOM is not set
# CONFIG_RT8168_GET_MAC_FROM_VPD is not set
# CONFIG_RT8168_SUPPORT_LEGACY_VPD_MAC is not set
# CONFIG_RT8168_SET_LED_MODE is not set
# CONFIG_SMMSTORE is not set # CONFIG_SMMSTORE is not set
# CONFIG_SMMSTORE_IN_CBFS is not set
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
# CONFIG_SPI_SDCARD is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
# CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS is not set
# CONFIG_SPI_FLASH_NO_FAST_READ is not set # CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y CONFIG_SPI_FLASH_AMIC=y
@@ -505,120 +422,71 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_HAS_VOLATILE_GROUP is not set
# CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT is not set
CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_8250IO_SKIP_INIT is not set
# CONFIG_NO_UART_ON_SUPERIO is not set
# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set
# CONFIG_UART_OVERRIDE_REFCLK is not set
# CONFIG_DRIVERS_UART_8250MEM is not set
# CONFIG_DRIVERS_UART_8250MEM_32 is not set
# CONFIG_HAVE_UART_SPECIAL is not set
# CONFIG_DRIVERS_UART_OXPCIE is not set # CONFIG_DRIVERS_UART_OXPCIE is not set
# CONFIG_DRIVERS_UART_PL011 is not set
# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set
CONFIG_HAVE_USBDEBUG=y CONFIG_HAVE_USBDEBUG=y
# CONFIG_HAVE_USBDEBUG_OPTIONS is not set
# CONFIG_USBDEBUG is not set # CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set # CONFIG_VPD is not set
# CONFIG_DRIVERS_AMD_PI is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set # CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GFX_GENERIC is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_CK505=y CONFIG_DRIVERS_I2C_CK505=y
# CONFIG_DRIVERS_I2C_GPIO_MUX is not set # CONFIG_DRIVERS_I2C_MAX98396 is not set
# CONFIG_DRIVERS_I2C_MAX98373 is not set
# CONFIG_DRIVERS_I2C_MAX98390 is not set
# CONFIG_DRIVERS_I2C_MAX98927 is not set
# CONFIG_DRIVERS_I2C_PCA9538 is not set
# CONFIG_DRIVERS_I2C_PCF8523 is not set
# CONFIG_DRIVERS_I2C_PTN3460 is not set
# CONFIG_DRIVERS_I2C_RT1011 is not set
# CONFIG_DRIVERS_I2C_RT5663 is not set
# CONFIG_DRIVERS_I2C_RTD2132 is not set
# CONFIG_DRIVERS_I2C_RX6110SA is not set
# CONFIG_DRIVERS_I2C_SX9310 is not set
# CONFIG_DRIVERS_I2C_SX9324 is not set
# CONFIG_DRIVERS_I2C_TAS5825M is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_CR50 is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC is not set
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVERS_INTEL_DPTF is not set
# CONFIG_PLATFORM_USES_FSP2_0 is not set
# CONFIG_PLATFORM_USES_FSP2_1 is not set
# CONFIG_PLATFORM_USES_FSP2_2 is not set
# CONFIG_INTEL_DDI is not set
CONFIG_INTEL_EDID=y CONFIG_INTEL_EDID=y
CONFIG_INTEL_INT15=y CONFIG_INTEL_INT15=y
CONFIG_INTEL_GMA_ACPI=y CONFIG_INTEL_GMA_ACPI=y
# CONFIG_INTEL_GMA_SSC_ALTERNATE_REF is not set CONFIG_INTEL_GMA_OPREGION_2_0=y
# CONFIG_INTEL_GMA_SWSMISCI is not set # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVER_INTEL_I210 is not set
# CONFIG_DRIVERS_INTEL_ISH is not set
# CONFIG_DRIVERS_INTEL_MIPI_CAMERA is not set
# CONFIG_DRIVERS_INTEL_PMC is not set
# CONFIG_HAVE_INTEL_PTT is not set
# CONFIG_IPMI_OCP is not set
# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set
# CONFIG_DRIVER_MAXIM_MAX77686 is not set
# CONFIG_DRIVER_PARADE_PS8625 is not set
# CONFIG_DRIVER_PARADE_PS8640 is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set # CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y CONFIG_DRIVERS_MC146818=y
# CONFIG_MAINBOARD_HAS_LPC_TPM is not set # CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y CONFIG_VGA=y
# CONFIG_DRIVERS_RICOH_RCE822 is not set
# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set
# CONFIG_NC_FPGA_NOTIFY_CB_READY is not set
# CONFIG_DRIVERS_SIL_3114 is not set # CONFIG_DRIVERS_SIL_3114 is not set
# CONFIG_MAINBOARD_HAS_SPI_TPM_CR50 is not set # end of Generic Drivers
# CONFIG_MAINBOARD_HAS_SPI_TPM is not set
# CONFIG_DRIVERS_TI_SN65DSI86BRIDGE is not set
# CONFIG_DRIVER_TI_TPS65090 is not set
# CONFIG_DRIVERS_TI_TPS65913_RTC is not set
# CONFIG_DRIVERS_USB_ACPI is not set
# CONFIG_DRIVERS_USB_PCI_XHCI is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
# CONFIG_USE_SAR is not set
# CONFIG_MP_SERVICES_PPI_V1 is not set
# CONFIG_MP_SERVICES_PPI_V2 is not set
# CONFIG_COMMONLIB_STORAGE is not set
# #
# Security # Security
# #
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
# #
# Verified Boot (vboot) # Verified Boot (vboot)
# #
# end of Verified Boot (vboot)
# #
# Trusted Platform Module # Trusted Platform Module
# #
CONFIG_USER_NO_TPM=y CONFIG_NO_TPM=y
# end of Trusted Platform Module
# #
# Memory initialization # Memory initialization
# #
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set # CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set # CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set # CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_ACPI_AMD_HARDWARE_SLEEP_VALUES is not set # CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y CONFIG_ACPI_SOC_NVS=y
# CONFIG_ACPI_EINJ is not set
CONFIG_HAVE_ACPI_TABLES=y CONFIG_HAVE_ACPI_TABLES=y
# CONFIG_BOOT_DEVICE_NOT_SPI_FLASH is not set
CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
# CONFIG_RTC is not set
# #
# Console # Console
@@ -626,27 +494,12 @@ CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_BOOTBLOCK_CONSOLE=y CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y CONFIG_SQUELCH_EARLY_SMP=y
#
# I/O mapped, 8250-compatible
#
#
# Serial port base address = 0x3f8
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
# CONFIG_SPKMODEM is not set # CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set # CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set # CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
@@ -657,69 +510,35 @@ CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0 CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set # CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set # CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set # CONFIG_POST_DEVICE_PCI_PCIE is not set
# CONFIG_DEFAULT_POST_ON_LPC is not set
CONFIG_POST_IO_PORT=0x80 CONFIG_POST_IO_PORT=0x80
# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set
# CONFIG_HWBASE_DEBUG_CB is not set
CONFIG_HWBASE_DEBUG_NULL=y CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_DISABLE_ACPI_HIBERNATE is not set
CONFIG_RESUME_PATH_SAME_AS_BOOT=y CONFIG_RESUME_PATH_SAME_AS_BOOT=y
# CONFIG_NO_MONOTONIC_TIMER is not set
CONFIG_HAVE_MONOTONIC_TIMER=y CONFIG_HAVE_MONOTONIC_TIMER=y
# CONFIG_TIMER_QUEUE is not set
CONFIG_HAVE_OPTION_TABLE=y CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_IOAPIC=y CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_GFXUMA is not set
# CONFIG_ACPI_NHLT is not set
# #
# System tables # System tables
# #
# CONFIG_GENERATE_MP_TABLE is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_GENERATE_SMBIOS_TABLES=y CONFIG_GENERATE_SMBIOS_TABLES=y
# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
# #
# Payload # Payload
# #
CONFIG_PAYLOAD_NONE=y CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set # end of Payload
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_SEABIOS is not set
# CONFIG_PAYLOAD_UBOOT is not set
# CONFIG_PAYLOAD_YABITS is not set
# CONFIG_PAYLOAD_LINUX is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
# CONFIG_SEABIOS_STABLE is not set
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
# CONFIG_COMPRESSED_PAYLOAD_NONE is not set
# CONFIG_COMPRESSED_PAYLOAD_LZMA is not set
# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set
# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
# #
# Debugging # Debugging
@@ -728,6 +547,7 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# CPU Debug Settings # CPU Debug Settings
# #
# CONFIG_DISPLAY_MTRRS is not set
# #
# BLOB Debug Settings # BLOB Debug Settings
@@ -736,34 +556,21 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# General Debug Settings # General Debug Settings
# #
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set # CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set # CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set # CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set # CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_RESOURCES is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set # CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set # CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_FUNC is not set
# CONFIG_DEBUG_BOOT_STATE is not set # CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set # CONFIG_DEBUG_ADA_CODE is not set
# CONFIG_HAVE_EM100_SUPPORT is not set # end of Debugging
# CONFIG_SPD_CACHE_IN_FMAP is not set
CONFIG_NO_CBFS_MCACHE=y CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
# CONFIG_REG_SCRIPT is not set
CONFIG_MAX_REBOOT_CNT=3 CONFIG_MAX_REBOOT_CNT=3
# CONFIG_NO_XIP_EARLY_STAGES is not set
# CONFIG_EARLY_CBMEM_LIST is not set
CONFIG_RELOCATABLE_MODULES=y CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y CONFIG_HAVE_ROMSTAGE=y
@@ -1,8 +1,7 @@
cbtree="fam15h_rdimm" cbtree="default"
romtype="normal" romtype="normal"
arch="x86_64" arch="x86_64"
payload_grub="y" payload_grub="y"
payload_grub_withseabios="y" payload_grub_withseabios="y"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n" payload_memtest="y"
@@ -0,0 +1,577 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
CONFIG_USE_BLOBS=y
# CONFIG_USE_AMD_BLOBS is not set
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="D510MO"
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_MAINBOARD_DIR="intel/d510mo"
CONFIG_VGA_BIOS_ID="8086,a001"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Intel"
CONFIG_CBFS_SIZE=0x01000000
CONFIG_MAX_CPUS=4
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfefc0000
CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
# CONFIG_BOARD_INTEL_ADLRVP_P is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
# CONFIG_BOARD_INTEL_ADLRVP_M is not set
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
# CONFIG_BOARD_INTEL_CEDARISLAND_CRB is not set
#
# Coffeelake RVP
#
# CONFIG_BOARD_INTEL_COFFEELAKE_RVPU is not set
# CONFIG_BOARD_INTEL_COFFEELAKE_RVP11 is not set
# CONFIG_BOARD_INTEL_WHISKEYLAKE_RVP is not set
# CONFIG_BOARD_INTEL_COFFEELAKE_RVP8 is not set
# CONFIG_BOARD_INTEL_COMETLAKE_RVPU is not set
CONFIG_BOARD_INTEL_D510MO=y
# CONFIG_BOARD_INTEL_D945GCLF is not set
# CONFIG_BOARD_INTEL_DCP847SKE is not set
# CONFIG_BOARD_INTEL_DG41WV is not set
# CONFIG_BOARD_INTEL_DG43GT is not set
# CONFIG_BOARD_INTEL_ELKHARTLAKE_CRB is not set
# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set
# CONFIG_BOARD_INTEL_GALILEO is not set
# CONFIG_BOARD_INTEL_GLKRVP is not set
# CONFIG_BOARD_INTEL_HARCUVAR is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set
# CONFIG_BOARD_INTEL_KBLRVP3 is not set
# CONFIG_BOARD_INTEL_KBLRVP7 is not set
# CONFIG_BOARD_INTEL_KBLRVP8 is not set
# CONFIG_BOARD_INTEL_KBLRVP11 is not set
# CONFIG_BOARD_INTEL_KUNIMITSU is not set
# CONFIG_BOARD_INTEL_LEAFHILL is not set
# CONFIG_BOARD_INTEL_MINNOW3 is not set
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
# CONFIG_BOARD_INTEL_STRAGO is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
# CONFIG_BOARD_INTEL_WTM2 is not set
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO"
CONFIG_PCIEXP_HOTPLUG_BUSES=32
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set
# CONFIG_PCIEXP_CLK_PM is not set
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
CONFIG_COREBOOT_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=16384
CONFIG_ROM_SIZE=0x01000000
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_SMM_RESERVED_SIZE=0x80000
CONFIG_SMM_MODULE_STACK_SIZE=0x400
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_EHCI_BAR=0xfef00000
CONFIG_STACK_SIZE=0x2000
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_BOOTBLOCK_IN_CBFS=y
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
# CONFIG_PCIEXP_ASPM is not set
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
#
# CPU
#
CONFIG_CPU_INTEL_MODEL_106CX=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_CPU_INTEL_SOCKET_FCBGA559=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_CPU_HAS_L2_ENABLE_MSR=y
CONFIG_PARALLEL_MP=y
CONFIG_XAPIC_ONLY=y
# CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_AP_STACK_SIZE=0x800
CONFIG_SMP=y
CONFIG_MMX=y
CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
#
# Northbridge
#
CONFIG_NORTHBRIDGE_INTEL_PINEVIEW=y
#
# Southbridge
#
CONFIG_PCIEXP_HOTPLUG=y
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
CONFIG_SUPERIO_WINBOND_COMMON_PRE_RAM=y
CONFIG_SUPERIO_WINBOND_W83627THG=y
#
# Embedded Controllers
#
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y
CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_PC80_SYSTEM=y
CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_POSTCAR_STAGE=y
CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y
CONFIG_HAVE_CF9_RESET=y
CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
# CONFIG_VGA_ROM_RUN is not set
# CONFIG_NO_GFX_INIT is not set
CONFIG_NO_EARLY_GFX_INIT=y
#
# Display
#
CONFIG_VGA_TEXT_FRAMEBUFFER=y
# end of Display
CONFIG_PCI=y
CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_ECAM_MMCONF_LENGTH=0x10000000
CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_USE_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_ELOG is not set
# CONFIG_SMMSTORE is not set
CONFIG_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y
CONFIG_SPI_FLASH_ATMEL=y
CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
CONFIG_HAVE_USBDEBUG=y
# CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_CK505=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_INTEL_EDID=y
CONFIG_INTEL_INT15=y
CONFIG_INTEL_GMA_ACPI=y
CONFIG_INTEL_GMA_OPREGION_2_0=y
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y
# CONFIG_DRIVERS_SIL_3114 is not set
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
CONFIG_NO_TPM=y
# end of Trusted Platform Module
#
# Memory initialization
#
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
# CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set
CONFIG_POST_IO_PORT=0x80
CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
# CONFIG_DISPLAY_MTRRS is not set
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
+1 -2
View File
@@ -3,6 +3,5 @@ romtype="normal"
arch="x86_32" arch="x86_32"
payload_grub="n" payload_grub="n"
payload_grub_withseabios="n" payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n" payload_memtest="n"
@@ -11,13 +11,17 @@ CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback" CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set # CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set # CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set # CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set # CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set # CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set # CONFIG_TIMESTAMPS_ON_CONSOLE is not set
@@ -26,10 +30,7 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set # CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set # CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set # CONFIG_UBSAN is not set
# CONFIG_HAVE_ASAN_IN_ROMSTAGE is not set
# CONFIG_ASAN_IN_ROMSTAGE is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN_IN_RAMSTAGE is not set
# CONFIG_ASAN is not set # CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set # CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y CONFIG_TSEG_STAGE_CACHE=y
@@ -37,6 +38,13 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_BOOTSPLASH_IMAGE is not set # CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set # CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
# #
# Mainboard # Mainboard
# #
@@ -52,30 +60,25 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_VENDOR_APPLE is not set # CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set # CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set # CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set # CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set # CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set # CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set # CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set # CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set # CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set # CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set # CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set # CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set # CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set # CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set # CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
# CONFIG_VENDOR_GOOGLE is not set # CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set # CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set # CONFIG_VENDOR_IBASE is not set
CONFIG_VENDOR_INTEL=y CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set # CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set # CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set # CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set # CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set # CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set # CONFIG_VENDOR_OPENCELLULAR is not set
@@ -90,9 +93,9 @@ CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_RODA is not set # CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set # CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set # CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set # CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set # CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set # CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set # CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set # CONFIG_VENDOR_TI is not set
@@ -108,48 +111,42 @@ CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set # CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Intel" CONFIG_MAINBOARD_VENDOR="Intel"
CONFIG_CBFS_SIZE=0x00080000 CONFIG_CBFS_SIZE=0x00080000
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_MAX_CPUS=4 CONFIG_MAX_CPUS=4
CONFIG_IRQ_SLOT_COUNT=18 # CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
# CONFIG_VBOOT is not set CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb" CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_IRQ_SLOT_COUNT=18
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set # CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel" CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt" CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_POST_IO=y CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_OVERRIDE_DEVICETREE="" CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_CONSOLE_POST is not set # CONFIG_CONSOLE_POST is not set
CONFIG_POST_DEVICE=y
# CONFIG_BOARD_EMULATION_QEMU_AARCH64 is not set
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set
# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV32 is not set
# CONFIG_BOARD_EMULATION_SPIKE_RISCV is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfefc0000 CONFIG_DCACHE_RAM_BASE=0xfefc0000
CONFIG_DCACHE_RAM_SIZE=0x8000 CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000 CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000 CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_MMCONF_BUS_NUMBER=64 CONFIG_ECAM_MMCONF_BUS_NUMBER=64
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DRIVERS_INTEL_WIFI=y # CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CONSOLE_SERIAL=y
# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_CBFS_MCACHE_SIZE=0x2000
# CONFIG_BOARD_INTEL_ADLRVP_P is not set # CONFIG_BOARD_INTEL_ADLRVP_P is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set # CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
# CONFIG_BOARD_INTEL_ADLRVP_M is not set # CONFIG_BOARD_INTEL_ADLRVP_M is not set
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set # CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set # CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set # CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set # CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
@@ -173,8 +170,6 @@ CONFIG_BOARD_INTEL_D945GCLF=y
# CONFIG_BOARD_INTEL_GALILEO is not set # CONFIG_BOARD_INTEL_GALILEO is not set
# CONFIG_BOARD_INTEL_GLKRVP is not set # CONFIG_BOARD_INTEL_GLKRVP is not set
# CONFIG_BOARD_INTEL_HARCUVAR is not set # CONFIG_BOARD_INTEL_HARCUVAR is not set
# CONFIG_BOARD_INTEL_ICELAKE_RVPU is not set
# CONFIG_BOARD_INTEL_ICELAKE_RVPY is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set # CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set # CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set
# CONFIG_BOARD_INTEL_KBLRVP3 is not set # CONFIG_BOARD_INTEL_KBLRVP3 is not set
@@ -184,23 +179,27 @@ CONFIG_BOARD_INTEL_D945GCLF=y
# CONFIG_BOARD_INTEL_KUNIMITSU is not set # CONFIG_BOARD_INTEL_KUNIMITSU is not set
# CONFIG_BOARD_INTEL_LEAFHILL is not set # CONFIG_BOARD_INTEL_LEAFHILL is not set
# CONFIG_BOARD_INTEL_MINNOW3 is not set # CONFIG_BOARD_INTEL_MINNOW3 is not set
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set # CONFIG_BOARD_INTEL_SKLSDLBRK is not set
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set # CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
# CONFIG_BOARD_INTEL_STRAGO is not set # CONFIG_BOARD_INTEL_STRAGO is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set # CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set # CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
# CONFIG_BOARD_INTEL_WTM2 is not set # CONFIG_BOARD_INTEL_WTM2 is not set
# CONFIG_ADL_CHROME_EC is not set
# CONFIG_ADL_INTEL_EC is not set
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D945GCLF" CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D945GCLF"
# CONFIG_BOARD_INTEL_BASEBOARD_GLKRVP is not set CONFIG_PCIEXP_HOTPLUG_BUSES=8
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13" CONFIG_PS2M_EISAID="PNP0F13"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set # CONFIG_PCIEXP_L1_SUB_STATE is not set
# CONFIG_PCIEXP_CLK_PM is not set # CONFIG_PCIEXP_CLK_PM is not set
CONFIG_DRIVERS_UART_8250IO=y # CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0 CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x4000 CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_512=y CONFIG_BOARD_ROMSIZE_KB_512=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set # CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
CONFIG_COREBOOT_ROMSIZE_KB_512=y CONFIG_COREBOOT_ROMSIZE_KB_512=y
@@ -223,11 +222,7 @@ CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set # CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set # CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0 CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# CONFIG_SYSTEM_TYPE_LAPTOP is not set # end of Mainboard
# CONFIG_SYSTEM_TYPE_TABLET is not set
# CONFIG_SYSTEM_TYPE_DETACHABLE is not set
# CONFIG_SYSTEM_TYPE_CONVERTIBLE is not set
# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set
# #
# Chipset # Chipset
@@ -237,66 +232,38 @@ CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# SoC # SoC
# #
CONFIG_CHIPSET_DEVICETREE="" CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_RAMBASE=0xe00000
CONFIG_CPU_ADDR_BITS=32
CONFIG_SMM_RESERVED_SIZE=0x100000 CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400 CONFIG_SMM_MODULE_STACK_SIZE=0x400
# CONFIG_CHECK_REV_IN_OPROM_NAME is not set CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
CONFIG_EHCI_BAR=0xfef00000 CONFIG_EHCI_BAR=0xfef00000
# CONFIG_SOC_CAVIUM_CN81XX is not set CONFIG_STACK_SIZE=0x2000
CONFIG_STACK_SIZE=0x1000
# CONFIG_SOC_CAVIUM_COMMON is not set
CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_VBT_DATA_SIZE_KB=8
# CONFIG_SOC_INTEL_GEMINILAKE is not set
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254 CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16 CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256 CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16 CONFIG_INTEL_GMA_BCLM_WIDTH=16
# CONFIG_PCIEXP_ASPM is not set CONFIG_BOOTBLOCK_IN_CBFS=y
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
CONFIG_TTYS0_BASE=0x3f8 # CONFIG_PCIEXP_ASPM is not set
CONFIG_TTYS0_LCS=3 # CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_UART_PCI_ADDR=0x0 CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_AZALIA_MAX_CODECS=3 CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_INTEL_HAS_TOP_SWAP=y CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set # CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000 CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
# CONFIG_SOC_MEDIATEK_MT8173 is not set
# CONFIG_SOC_MEDIATEK_MT8183 is not set
# CONFIG_SOC_MEDIATEK_MT8192 is not set
# CONFIG_SOC_MEDIATEK_MT8195 is not set
# CONFIG_SOC_NVIDIA_TEGRA124 is not set
# CONFIG_SOC_NVIDIA_TEGRA210 is not set
# CONFIG_SOC_QUALCOMM_COMMON is not set
# CONFIG_SOC_QC_IPQ40XX is not set
# CONFIG_SOC_QC_IPQ806X is not set
# CONFIG_SOC_QUALCOMM_QCS405 is not set
# CONFIG_SOC_ROCKCHIP_RK3288 is not set
# CONFIG_SOC_ROCKCHIP_RK3399 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set
# CONFIG_SOC_TI_AM335X is not set
# CONFIG_SOC_UCB_RISCV is not set
# #
# CPU # CPU
# #
# CONFIG_CPU_AMD_AGESA is not set
# CONFIG_CPU_AMD_PI is not set
# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set
CONFIG_CPU_INTEL_MODEL_106CX=y CONFIG_CPU_INTEL_MODEL_106CX=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_SSE2=y
CONFIG_CPU_INTEL_SOCKET_441=y CONFIG_CPU_INTEL_SOCKET_441=y
# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set
CONFIG_CPU_INTEL_COMMON=y CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y CONFIG_SET_IA32_FC_LOCK_BIT=y
@@ -304,109 +271,71 @@ CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y CONFIG_MICROCODE_UPDATE_PRE_RAM=y
# CONFIG_CPU_QEMU_X86_LAPIC_INIT is not set
# CONFIG_CPU_QEMU_X86_PARALLEL_MP is not set
# CONFIG_PARALLEL_CPU_INIT is not set
CONFIG_PARALLEL_MP=y CONFIG_PARALLEL_MP=y
# CONFIG_PARALLEL_MP_AP_WORK is not set CONFIG_XAPIC_ONLY=y
# CONFIG_UDELAY_LAPIC is not set # CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_MONOTONIC_TIMER=y
# CONFIG_TSC_SYNC_LFENCE is not set
CONFIG_TSC_SYNC_MFENCE=y CONFIG_TSC_SYNC_MFENCE=y
CONFIG_SETUP_XIP_CACHE=y CONFIG_SETUP_XIP_CACHE=y
CONFIG_LOGICAL_CPUS=y CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_NO_SMM is not set
# CONFIG_SMM_ASEG is not set
CONFIG_SMM_TSEG=y CONFIG_SMM_TSEG=y
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000
CONFIG_SMM_STUB_STACK_SIZE=0x400
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_SERIALIZED_SMM_INITIALIZATION=y CONFIG_AP_STACK_SIZE=0x800
# CONFIG_X86_AMD_FIXED_MTRRS is not set
# CONFIG_X86_AMD_INIT_SIPI is not set
# CONFIG_SOC_SETS_MSRS is not set
# CONFIG_RESERVE_MTRRS_FOR_OS is not set
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_MMX=y CONFIG_MMX=y
CONFIG_SSE=y CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
# CONFIG_USES_MICROCODE_HEADER_FILES is not set CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS is not set CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
CONFIG_CPU_MICROCODE_CBFS_NONE=y # CONFIG_CPU_MICROCODE_CBFS_NONE is not set
# #
# Northbridge # Northbridge
# #
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_NORTHBRIDGE_AMD_PI is not set
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
CONFIG_NORTHBRIDGE_INTEL_I945=y CONFIG_NORTHBRIDGE_INTEL_I945=y
CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC=y CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC=y
# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM is not set
# CONFIG_I945_LVDS is not set
# CONFIG_OVERRIDE_CLOCK_DISABLE is not set
# CONFIG_CHECK_SLFRCS_ON_RESUME is not set
# #
# Southbridge # Southbridge
# #
# CONFIG_AMD_SB_CIMX is not set CONFIG_PCIEXP_HOTPLUG=y
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9 is not set
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_SILVERMONT is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
# CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE is not set
CONFIG_INTEL_CHIPSET_LOCKDOWN=y CONFIG_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000 CONFIG_RCBA_LENGTH=0x4000
CONFIG_FIXED_SMBUS_IO_BASE=0x400
# #
# Super I/O # Super I/O
# #
# CONFIG_SUPERIO_ASPEED_AST2400 is not set
# CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM is not set
# CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND is not set
# CONFIG_SUPERIO_FINTEK_FAN_CONTROL is not set
CONFIG_SUPERIO_SMSC_LPC47M15X=y CONFIG_SUPERIO_SMSC_LPC47M15X=y
# #
# Embedded Controllers # Embedded Controllers
# #
# CONFIG_EC_51NB_NPCE985LA0DX is not set
# CONFIG_EC_GOOGLE_CHROMEEC_SKUID is not set
# CONFIG_EC_GOOGLE_WILCO is not set
# CONFIG_CAVIUM_BDK is not set
# CONFIG_MAINBOARD_HAS_CHROMEOS is not set
# CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION is not set
# CONFIG_UEFI_2_4_BINDING is not set
# CONFIG_UDK_2015_BINDING is not set
# CONFIG_UDK_2017_BINDING is not set
# CONFIG_UDK_202005_BINDING is not set
# CONFIG_USE_SIEMENS_HWILIB is not set
# CONFIG_ARM_LPAE is not set
CONFIG_ARCH_X86=y CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -414,94 +343,77 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y CONFIG_ARCH_ALL_STAGES_X86_32=y
# CONFIG_ARCH_POSTCAR_X86_64 is not set
# CONFIG_USE_MARCH_586 is not set
CONFIG_AP_IN_SIPI_WAIT=y CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_RAMTOP=0x1000000 CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_PC80_SYSTEM=y CONFIG_PC80_SYSTEM=y
# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set
CONFIG_HAVE_CMOS_DEFAULT=y CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_HPET_ADDRESS_OVERRIDE is not set
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_POSTCAR_STAGE=y CONFIG_POSTCAR_STAGE=y
# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set
# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set
CONFIG_BOOTBLOCK_SIMPLE=y CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set # CONFIG_BOOTBLOCK_NORMAL is not set
# CONFIG_COLLECT_TIMESTAMPS_NO_TSC is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y CONFIG_COLLECT_TIMESTAMPS_TSC=y
# CONFIG_PAGING_IN_CACHE_AS_RAM is not set
# CONFIG_IDT_IN_EVERY_STAGE is not set
CONFIG_HAVE_CF9_RESET=y CONFIG_HAVE_CF9_RESET=y
# CONFIG_PIRQ_ROUTE is not set CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
# #
# Devices # Devices
# #
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
# CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT is not set
# CONFIG_VGA_ROM_RUN_DEFAULT is not set
# CONFIG_MAINBOARD_HAS_LIBGFXINIT is not set
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
# CONFIG_VGA_ROM_RUN is not set # CONFIG_VGA_ROM_RUN is not set
# CONFIG_RUN_FSP_GOP is not set
# CONFIG_NO_GFX_INIT is not set # CONFIG_NO_GFX_INIT is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set CONFIG_NO_EARLY_GFX_INIT=y
# #
# Display # Display
# #
CONFIG_VGA_TEXT_FRAMEBUFFER=y CONFIG_VGA_TEXT_FRAMEBUFFER=y
# end of Display
CONFIG_PCI=y CONFIG_PCI=y
# CONFIG_NO_MMCONF_SUPPORT is not set CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y
# CONFIG_AZALIA_LOCK_DOWN_R_WO_GCAP is not set
CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_MMCONF_LENGTH=0x04000000 CONFIG_ECAM_MMCONF_LENGTH=0x04000000
CONFIG_PCI_ALLOW_BUS_MASTER=y CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set # CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set # CONFIG_SOFTWARE_I2C is not set
# CONFIG_RESOURCE_ALLOCATOR_V3 is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y # CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
# CONFIG_XHCI_UTILS is not set CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_NO_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
# #
# Generic Drivers # Generic Drivers
# #
# CONFIG_DRIVERS_AS3722_RTC is not set
# CONFIG_CHROMEOS_CAMERA is not set
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_MAINBOARD_HAS_CRB_TPM is not set
# CONFIG_ELOG is not set # CONFIG_ELOG is not set
# CONFIG_GIC is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_DRIVERS_LENOVO_WACOM is not set
# CONFIG_RT8168_GET_MAC_FROM_VPD is not set
# CONFIG_RT8168_SUPPORT_LEGACY_VPD_MAC is not set
# CONFIG_RT8168_SET_LED_MODE is not set
# CONFIG_SMMSTORE is not set # CONFIG_SMMSTORE is not set
# CONFIG_SMMSTORE_IN_CBFS is not set
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
# CONFIG_SPI_SDCARD is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
# CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS is not set
# CONFIG_SPI_FLASH_NO_FAST_READ is not set # CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y CONFIG_SPI_FLASH_AMIC=y
@@ -512,119 +424,70 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_HAS_VOLATILE_GROUP is not set
# CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT is not set
CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_8250IO_SKIP_INIT is not set
# CONFIG_NO_UART_ON_SUPERIO is not set
# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set
# CONFIG_UART_OVERRIDE_REFCLK is not set
# CONFIG_DRIVERS_UART_8250MEM is not set
# CONFIG_DRIVERS_UART_8250MEM_32 is not set
# CONFIG_HAVE_UART_SPECIAL is not set
# CONFIG_DRIVERS_UART_OXPCIE is not set # CONFIG_DRIVERS_UART_OXPCIE is not set
# CONFIG_DRIVERS_UART_PL011 is not set
# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set
CONFIG_HAVE_USBDEBUG=y CONFIG_HAVE_USBDEBUG=y
# CONFIG_HAVE_USBDEBUG_OPTIONS is not set
# CONFIG_USBDEBUG is not set # CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set # CONFIG_VPD is not set
# CONFIG_DRIVERS_AMD_PI is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set # CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GFX_GENERIC is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
# CONFIG_DRIVERS_I2C_GPIO_MUX is not set # CONFIG_DRIVERS_I2C_MAX98396 is not set
# CONFIG_DRIVERS_I2C_MAX98373 is not set
# CONFIG_DRIVERS_I2C_MAX98390 is not set
# CONFIG_DRIVERS_I2C_MAX98927 is not set
# CONFIG_DRIVERS_I2C_PCA9538 is not set
# CONFIG_DRIVERS_I2C_PCF8523 is not set
# CONFIG_DRIVERS_I2C_PTN3460 is not set
# CONFIG_DRIVERS_I2C_RT1011 is not set
# CONFIG_DRIVERS_I2C_RT5663 is not set
# CONFIG_DRIVERS_I2C_RTD2132 is not set
# CONFIG_DRIVERS_I2C_RX6110SA is not set
# CONFIG_DRIVERS_I2C_SX9310 is not set
# CONFIG_DRIVERS_I2C_SX9324 is not set
# CONFIG_DRIVERS_I2C_TAS5825M is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_CR50 is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC is not set
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVERS_INTEL_DPTF is not set
# CONFIG_PLATFORM_USES_FSP2_0 is not set
# CONFIG_PLATFORM_USES_FSP2_1 is not set
# CONFIG_PLATFORM_USES_FSP2_2 is not set
# CONFIG_INTEL_DDI is not set
CONFIG_INTEL_EDID=y CONFIG_INTEL_EDID=y
# CONFIG_INTEL_INT15 is not set
CONFIG_INTEL_GMA_ACPI=y CONFIG_INTEL_GMA_ACPI=y
CONFIG_INTEL_GMA_SSC_ALTERNATE_REF=y CONFIG_INTEL_GMA_SSC_ALTERNATE_REF=y
# CONFIG_INTEL_GMA_SWSMISCI is not set CONFIG_INTEL_GMA_OPREGION_2_0=y
# CONFIG_DRIVER_INTEL_I210 is not set # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_INTEL_ISH is not set
# CONFIG_DRIVERS_INTEL_MIPI_CAMERA is not set
# CONFIG_DRIVERS_INTEL_PMC is not set
# CONFIG_HAVE_INTEL_PTT is not set
# CONFIG_IPMI_OCP is not set
# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set
# CONFIG_DRIVER_MAXIM_MAX77686 is not set
# CONFIG_DRIVER_PARADE_PS8625 is not set
# CONFIG_DRIVER_PARADE_PS8640 is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set # CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y CONFIG_DRIVERS_MC146818=y
# CONFIG_MAINBOARD_HAS_LPC_TPM is not set # CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y CONFIG_VGA=y
# CONFIG_DRIVERS_RICOH_RCE822 is not set
# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set
# CONFIG_NC_FPGA_NOTIFY_CB_READY is not set
# CONFIG_DRIVERS_SIL_3114 is not set # CONFIG_DRIVERS_SIL_3114 is not set
# CONFIG_MAINBOARD_HAS_SPI_TPM_CR50 is not set # end of Generic Drivers
# CONFIG_MAINBOARD_HAS_SPI_TPM is not set
# CONFIG_DRIVERS_TI_SN65DSI86BRIDGE is not set
# CONFIG_DRIVER_TI_TPS65090 is not set
# CONFIG_DRIVERS_TI_TPS65913_RTC is not set
# CONFIG_DRIVERS_USB_ACPI is not set
# CONFIG_DRIVERS_USB_PCI_XHCI is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
# CONFIG_USE_SAR is not set
# CONFIG_MP_SERVICES_PPI_V1 is not set
# CONFIG_MP_SERVICES_PPI_V2 is not set
# CONFIG_COMMONLIB_STORAGE is not set
# #
# Security # Security
# #
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
# #
# Verified Boot (vboot) # Verified Boot (vboot)
# #
# end of Verified Boot (vboot)
# #
# Trusted Platform Module # Trusted Platform Module
# #
CONFIG_USER_NO_TPM=y CONFIG_NO_TPM=y
# end of Trusted Platform Module
# #
# Memory initialization # Memory initialization
# #
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set # CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set # CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set # CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_ACPI_AMD_HARDWARE_SLEEP_VALUES is not set # CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y CONFIG_ACPI_SOC_NVS=y
# CONFIG_ACPI_EINJ is not set
CONFIG_HAVE_ACPI_TABLES=y CONFIG_HAVE_ACPI_TABLES=y
# CONFIG_BOOT_DEVICE_NOT_SPI_FLASH is not set
CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
# CONFIG_RTC is not set
# #
# Console # Console
@@ -632,27 +495,12 @@ CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_BOOTBLOCK_CONSOLE=y CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y CONFIG_SQUELCH_EARLY_SMP=y
#
# I/O mapped, 8250-compatible
#
#
# Serial port base address = 0x3f8
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
# CONFIG_SPKMODEM is not set # CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set # CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set # CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
@@ -663,29 +511,24 @@ CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0 CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set # CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set # CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set # CONFIG_POST_DEVICE_PCI_PCIE is not set
# CONFIG_DEFAULT_POST_ON_LPC is not set
CONFIG_POST_IO_PORT=0x80 CONFIG_POST_IO_PORT=0x80
# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set
# CONFIG_HWBASE_DEBUG_CB is not set
CONFIG_HWBASE_DEBUG_NULL=y CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_DISABLE_ACPI_HIBERNATE is not set
CONFIG_RESUME_PATH_SAME_AS_BOOT=y CONFIG_RESUME_PATH_SAME_AS_BOOT=y
# CONFIG_NO_MONOTONIC_TIMER is not set
CONFIG_HAVE_MONOTONIC_TIMER=y CONFIG_HAVE_MONOTONIC_TIMER=y
# CONFIG_TIMER_QUEUE is not set
CONFIG_HAVE_OPTION_TABLE=y CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_IOAPIC=y CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_GFXUMA is not set
CONFIG_HAVE_MP_TABLE=y CONFIG_HAVE_MP_TABLE=y
CONFIG_HAVE_PIRQ_TABLE=y CONFIG_HAVE_PIRQ_TABLE=y
# CONFIG_ACPI_NHLT is not set
# #
# System tables # System tables
@@ -693,41 +536,14 @@ CONFIG_HAVE_PIRQ_TABLE=y
CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_MP_TABLE=y
CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_SMBIOS_TABLES=y CONFIG_GENERATE_SMBIOS_TABLES=y
# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
# #
# Payload # Payload
# #
CONFIG_PAYLOAD_NONE=y CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set # end of Payload
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_SEABIOS is not set
# CONFIG_PAYLOAD_UBOOT is not set
# CONFIG_PAYLOAD_YABITS is not set
# CONFIG_PAYLOAD_LINUX is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
# CONFIG_SEABIOS_STABLE is not set
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
# CONFIG_COMPRESSED_PAYLOAD_NONE is not set
# CONFIG_COMPRESSED_PAYLOAD_LZMA is not set
# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set
# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
# #
# Debugging # Debugging
@@ -736,6 +552,7 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# CPU Debug Settings # CPU Debug Settings
# #
# CONFIG_DISPLAY_MTRRS is not set
# #
# BLOB Debug Settings # BLOB Debug Settings
@@ -744,7 +561,6 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# General Debug Settings # General Debug Settings
# #
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set # CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set # CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y CONFIG_HAVE_DEBUG_RAM_SETUP=y
@@ -752,26 +568,15 @@ CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_PIRQ is not set # CONFIG_DEBUG_PIRQ is not set
CONFIG_HAVE_DEBUG_SMBUS=y CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set # CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_RESOURCES is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set # CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set # CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_FUNC is not set
# CONFIG_DEBUG_BOOT_STATE is not set # CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set # CONFIG_DEBUG_ADA_CODE is not set
# CONFIG_HAVE_EM100_SUPPORT is not set # end of Debugging
# CONFIG_SPD_CACHE_IN_FMAP is not set
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
# CONFIG_REG_SCRIPT is not set
CONFIG_MAX_REBOOT_CNT=3 CONFIG_MAX_REBOOT_CNT=3
# CONFIG_NO_XIP_EARLY_STAGES is not set
# CONFIG_EARLY_CBMEM_LIST is not set
CONFIG_RELOCATABLE_MODULES=y CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y CONFIG_HAVE_ROMSTAGE=y
@@ -0,0 +1,7 @@
cbtree="default"
romtype="normal"
arch="x86_32"
payload_grub="y"
payload_grub_withseabios="y"
payload_seabios="y"
payload_memtest="y"
@@ -0,0 +1,583 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
CONFIG_USE_BLOBS=y
# CONFIG_USE_AMD_BLOBS is not set
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
CONFIG_VENDOR_INTEL=y
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="D945GCLF"
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_MAINBOARD_DIR="intel/d945gclf"
CONFIG_VGA_BIOS_ID="8086,2772"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Intel"
CONFIG_CBFS_SIZE=0x01000000
CONFIG_MAX_CPUS=4
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_IRQ_SLOT_COUNT=18
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfefc0000
CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_ECAM_MMCONF_BUS_NUMBER=64
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
# CONFIG_BOARD_INTEL_ADLRVP_P is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
# CONFIG_BOARD_INTEL_ADLRVP_M is not set
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
# CONFIG_BOARD_INTEL_CEDARISLAND_CRB is not set
#
# Coffeelake RVP
#
# CONFIG_BOARD_INTEL_COFFEELAKE_RVPU is not set
# CONFIG_BOARD_INTEL_COFFEELAKE_RVP11 is not set
# CONFIG_BOARD_INTEL_WHISKEYLAKE_RVP is not set
# CONFIG_BOARD_INTEL_COFFEELAKE_RVP8 is not set
# CONFIG_BOARD_INTEL_COMETLAKE_RVPU is not set
# CONFIG_BOARD_INTEL_D510MO is not set
CONFIG_BOARD_INTEL_D945GCLF=y
# CONFIG_BOARD_INTEL_DCP847SKE is not set
# CONFIG_BOARD_INTEL_DG41WV is not set
# CONFIG_BOARD_INTEL_DG43GT is not set
# CONFIG_BOARD_INTEL_ELKHARTLAKE_CRB is not set
# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set
# CONFIG_BOARD_INTEL_GALILEO is not set
# CONFIG_BOARD_INTEL_GLKRVP is not set
# CONFIG_BOARD_INTEL_HARCUVAR is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP_EXT_EC is not set
# CONFIG_BOARD_INTEL_KBLRVP3 is not set
# CONFIG_BOARD_INTEL_KBLRVP7 is not set
# CONFIG_BOARD_INTEL_KBLRVP8 is not set
# CONFIG_BOARD_INTEL_KBLRVP11 is not set
# CONFIG_BOARD_INTEL_KUNIMITSU is not set
# CONFIG_BOARD_INTEL_LEAFHILL is not set
# CONFIG_BOARD_INTEL_MINNOW3 is not set
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
# CONFIG_BOARD_INTEL_STRAGO is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
# CONFIG_BOARD_INTEL_WTM2 is not set
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D945GCLF"
CONFIG_PCIEXP_HOTPLUG_BUSES=8
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set
# CONFIG_PCIEXP_CLK_PM is not set
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_512=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
CONFIG_COREBOOT_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=16384
CONFIG_ROM_SIZE=0x01000000
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_EHCI_BAR=0xfef00000
CONFIG_STACK_SIZE=0x2000
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_BOOTBLOCK_IN_CBFS=y
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
# CONFIG_PCIEXP_ASPM is not set
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
#
# CPU
#
CONFIG_CPU_INTEL_MODEL_106CX=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_CPU_INTEL_SOCKET_441=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_PARALLEL_MP=y
CONFIG_XAPIC_ONLY=y
# CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_SETUP_XIP_CACHE=y
CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_AP_STACK_SIZE=0x800
CONFIG_SMP=y
CONFIG_MMX=y
CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
#
# Northbridge
#
CONFIG_NORTHBRIDGE_INTEL_I945=y
CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC=y
#
# Southbridge
#
CONFIG_PCIEXP_HOTPLUG=y
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
CONFIG_SUPERIO_SMSC_LPC47M15X=y
#
# Embedded Controllers
#
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y
CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_PC80_SYSTEM=y
CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_POSTCAR_STAGE=y
CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y
CONFIG_HAVE_CF9_RESET=y
CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
# CONFIG_VGA_ROM_RUN is not set
# CONFIG_NO_GFX_INIT is not set
CONFIG_NO_EARLY_GFX_INIT=y
#
# Display
#
CONFIG_VGA_TEXT_FRAMEBUFFER=y
# end of Display
CONFIG_PCI=y
CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_ECAM_MMCONF_LENGTH=0x04000000
CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_NO_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_ELOG is not set
# CONFIG_SMMSTORE is not set
CONFIG_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y
CONFIG_SPI_FLASH_ATMEL=y
CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
CONFIG_HAVE_USBDEBUG=y
# CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_INTEL_EDID=y
CONFIG_INTEL_GMA_ACPI=y
CONFIG_INTEL_GMA_SSC_ALTERNATE_REF=y
CONFIG_INTEL_GMA_OPREGION_2_0=y
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y
# CONFIG_DRIVERS_SIL_3114 is not set
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
CONFIG_NO_TPM=y
# end of Trusted Platform Module
#
# Memory initialization
#
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
# CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set
CONFIG_POST_IO_PORT=0x80
CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
CONFIG_HAVE_MP_TABLE=y
CONFIG_HAVE_PIRQ_TABLE=y
#
# System tables
#
CONFIG_GENERATE_MP_TABLE=y
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
# CONFIG_DISPLAY_MTRRS is not set
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set
# CONFIG_DEBUG_PIRQ is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
+4
View File
@@ -0,0 +1,4 @@
cbtree="cros"
romtype="normal"
arch="ARMv7"
payload_uboot="y"
@@ -0,0 +1,849 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_ALLOW_EXPERIMENTAL_CLANG is not set
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_COMPRESS_PRERAM_STAGES=y
CONFIG_INCLUDE_CONFIG_FILE=y
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_USE_BLOBS=y
# CONFIG_USE_AMD_BLOBS is not set
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
# CONFIG_ASAN is not set
CONFIG_NO_STAGE_CACHE=y
# CONFIG_CBMEM_STAGE_CACHE is not set
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
CONFIG_VENDOR_GOOGLE=y
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="Daisy"
CONFIG_MAINBOARD_DIR="google/daisy"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Google"
CONFIG_CBFS_SIZE=0x00400000
CONFIG_CONSOLE_SERIAL=y
CONFIG_MAX_CPUS=2
CONFIG_POST_DEVICE=y
CONFIG_UART_FOR_CONSOLE=3
# CONFIG_VBOOT is not set
# CONFIG_CHROMEOS is not set
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_OVERRIDE_DEVICETREE=""
CONFIG_DRAM_SIZE_MB=2048
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/soc/samsung/exynos5250/memlayout.ld"
#
# Asurada
#
# CONFIG_BOARD_GOOGLE_ASURADA is not set
# CONFIG_BOARD_GOOGLE_HAYATO is not set
# CONFIG_BOARD_GOOGLE_SPHERION is not set
#
# Auron
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
# CONFIG_BOARD_GOOGLE_BUDDY is not set
# CONFIG_BOARD_GOOGLE_GANDOF is not set
# CONFIG_BOARD_GOOGLE_LULU is not set
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
# Beltino
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
# CONFIG_BOARD_GOOGLE_PANTHER is not set
# CONFIG_BOARD_GOOGLE_TRICKY is not set
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
# Brya
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
# CONFIG_BOARD_GOOGLE_ANAHERA4ES is not set
# CONFIG_BOARD_GOOGLE_BRASK is not set
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
# CONFIG_BOARD_GOOGLE_BRYA4ES is not set
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
# CONFIG_BOARD_GOOGLE_KANO is not set
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
# CONFIG_BOARD_GOOGLE_NEREID is not set
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
# CONFIG_BOARD_GOOGLE_REDRIX is not set
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
# CONFIG_BOARD_GOOGLE_SKOLAS4ES is not set
# CONFIG_BOARD_GOOGLE_TAEKO is not set
# CONFIG_BOARD_GOOGLE_TAEKO4ES is not set
# CONFIG_BOARD_GOOGLE_TANIKS is not set
# CONFIG_BOARD_GOOGLE_VELL is not set
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
# CONFIG_BOARD_GOOGLE_CROTA is not set
# CONFIG_BOARD_GOOGLE_MOLI is not set
# CONFIG_BOARD_GOOGLE_KINOX is not set
# CONFIG_BOARD_GOOGLE_CRAASK is not set
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
# CONFIG_BOARD_GOOGLE_KULDAX is not set
#
# Butterfly
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
# Cherry
#
# CONFIG_BOARD_GOOGLE_CHERRY is not set
# CONFIG_BOARD_GOOGLE_DOJO is not set
# CONFIG_BOARD_GOOGLE_TOMATO is not set
#
# Kingler
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_STEELIX is not set
#
# Krabby
#
# CONFIG_BOARD_GOOGLE_KRABBY is not set
#
# Cyan
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
# CONFIG_BOARD_GOOGLE_CYAN is not set
# CONFIG_BOARD_GOOGLE_EDGAR is not set
# CONFIG_BOARD_GOOGLE_KEFKA is not set
# CONFIG_BOARD_GOOGLE_REKS is not set
# CONFIG_BOARD_GOOGLE_RELM is not set
# CONFIG_BOARD_GOOGLE_SETZER is not set
# CONFIG_BOARD_GOOGLE_TERRA is not set
# CONFIG_BOARD_GOOGLE_ULTIMA is not set
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
# Daisy
#
CONFIG_BOARD_GOOGLE_DAISY=y
#
# Dedede
#
# CONFIG_BOARD_GOOGLE_BOTEN is not set
# CONFIG_BOARD_GOOGLE_DEDEDE is not set
# CONFIG_BOARD_GOOGLE_DRAWCIA is not set
# CONFIG_BOARD_GOOGLE_HABOKI is not set
# CONFIG_BOARD_GOOGLE_MADOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDEE is not set
# CONFIG_BOARD_GOOGLE_LALALA is not set
# CONFIG_BOARD_GOOGLE_MAGOLOR is not set
# CONFIG_BOARD_GOOGLE_METAKNIGHT is not set
# CONFIG_BOARD_GOOGLE_LANTIS is not set
# CONFIG_BOARD_GOOGLE_GALTIC is not set
# CONFIG_BOARD_GOOGLE_SASUKE is not set
# CONFIG_BOARD_GOOGLE_STORO is not set
# CONFIG_BOARD_GOOGLE_SASUKETTE is not set
# CONFIG_BOARD_GOOGLE_KRACKO is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
# CONFIG_BOARD_GOOGLE_CRET is not set
# CONFIG_BOARD_GOOGLE_PIRIKA is not set
# CONFIG_BOARD_GOOGLE_CAPPY2 is not set
# CONFIG_BOARD_GOOGLE_BUGZZY is not set
# CONFIG_BOARD_GOOGLE_CORORI is not set
# CONFIG_BOARD_GOOGLE_DRIBLEE is not set
# CONFIG_BOARD_GOOGLE_GOOEY is not set
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
#
# Drallion
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
# Eve
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
# Fizz
#
# CONFIG_BOARD_GOOGLE_FIZZ is not set
# CONFIG_BOARD_GOOGLE_KARMA is not set
# CONFIG_BOARD_GOOGLE_ENDEAVOUR is not set
#
# Foster
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
# Gale
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
# Glados
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
# CONFIG_BOARD_GOOGLE_CAVE is not set
# CONFIG_BOARD_GOOGLE_CHELL is not set
# CONFIG_BOARD_GOOGLE_GLADOS is not set
# CONFIG_BOARD_GOOGLE_LARS is not set
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
# Gru
#
# CONFIG_BOARD_GOOGLE_KEVIN is not set
# CONFIG_BOARD_GOOGLE_GRU is not set
# CONFIG_BOARD_GOOGLE_BOB is not set
# CONFIG_BOARD_GOOGLE_SCARLET is not set
# CONFIG_BOARD_GOOGLE_NEFARIO is not set
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
# Guybrush
#
# CONFIG_BOARD_GOOGLE_GUYBRUSH is not set
# CONFIG_BOARD_GOOGLE_NIPPERKIN is not set
# CONFIG_BOARD_GOOGLE_DEWATT is not set
#
# Hatch
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
# CONFIG_BOARD_GOOGLE_DUFFY_LEGACY is not set
# CONFIG_BOARD_GOOGLE_DUFFY is not set
# CONFIG_BOARD_GOOGLE_FAFFY is not set
# CONFIG_BOARD_GOOGLE_GENESIS is not set
# CONFIG_BOARD_GOOGLE_HATCH is not set
# CONFIG_BOARD_GOOGLE_HELIOS is not set
# CONFIG_BOARD_GOOGLE_HELIOS_DISKSWAP is not set
# CONFIG_BOARD_GOOGLE_JINLON is not set
# CONFIG_BOARD_GOOGLE_KAISA_LEGACY is not set
# CONFIG_BOARD_GOOGLE_KAISA is not set
# CONFIG_BOARD_GOOGLE_KINDRED is not set
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
# CONFIG_BOARD_GOOGLE_MUSHU is not set
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
# CONFIG_BOARD_GOOGLE_PALKIA is not set
# CONFIG_BOARD_GOOGLE_PUFF is not set
# CONFIG_BOARD_GOOGLE_SCOUT is not set
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
# Herobrine
#
#
# (Herobrine requires 'Allow QC blobs repository')
#
#
# Jecht
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
# CONFIG_BOARD_GOOGLE_RIKKU is not set
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
# Kahlee
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
# CONFIG_BOARD_GOOGLE_GRUNT is not set
# CONFIG_BOARD_GOOGLE_LIARA is not set
# CONFIG_BOARD_GOOGLE_NUWANI is not set
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
# Kukui
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
# CONFIG_BOARD_GOOGLE_KODAMA is not set
# CONFIG_BOARD_GOOGLE_KAKADU is not set
# CONFIG_BOARD_GOOGLE_FLAPJACK is not set
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
# Jacuzzi
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
# CONFIG_BOARD_GOOGLE_KAPPA is not set
# CONFIG_BOARD_GOOGLE_DAMU is not set
# CONFIG_BOARD_GOOGLE_CERISE is not set
# CONFIG_BOARD_GOOGLE_STERN is not set
# CONFIG_BOARD_GOOGLE_WILLOW is not set
# CONFIG_BOARD_GOOGLE_ESCHE is not set
# CONFIG_BOARD_GOOGLE_BURNET is not set
# CONFIG_BOARD_GOOGLE_FENNEL is not set
# CONFIG_BOARD_GOOGLE_COZMO is not set
# CONFIG_BOARD_GOOGLE_MAKOMO is not set
# CONFIG_BOARD_GOOGLE_MUNNA is not set
# CONFIG_BOARD_GOOGLE_PICO is not set
#
# Link
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
# Mistral
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
# Nyan
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
# Nyan Big
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
# Nyan Blaze
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
# Oak
#
# CONFIG_BOARD_GOOGLE_OAK is not set
# CONFIG_BOARD_GOOGLE_ELM is not set
# CONFIG_BOARD_GOOGLE_HANA is not set
#
# Octopus
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
# CONFIG_BOARD_GOOGLE_BOBBA is not set
# CONFIG_BOARD_GOOGLE_CASTA is not set
# CONFIG_BOARD_GOOGLE_DOOD is not set
# CONFIG_BOARD_GOOGLE_FLEEX is not set
# CONFIG_BOARD_GOOGLE_FOOB is not set
# CONFIG_BOARD_GOOGLE_GARG is not set
# CONFIG_BOARD_GOOGLE_LICK is not set
# CONFIG_BOARD_GOOGLE_MEEP is not set
# CONFIG_BOARD_GOOGLE_OCTOPUS is not set
# CONFIG_BOARD_GOOGLE_PHASER is not set
# CONFIG_BOARD_GOOGLE_YORP is not set
#
# Parrot
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
# Peach Pit
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
# Poppy
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
# CONFIG_BOARD_GOOGLE_NAMI is not set
# CONFIG_BOARD_GOOGLE_NAUTILUS is not set
# CONFIG_BOARD_GOOGLE_NOCTURNE is not set
# CONFIG_BOARD_GOOGLE_RAMMUS is not set
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
# Rambi
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
# CONFIG_BOARD_GOOGLE_CLAPPER is not set
# CONFIG_BOARD_GOOGLE_ENGUARDE is not set
# CONFIG_BOARD_GOOGLE_GLIMMER is not set
# CONFIG_BOARD_GOOGLE_GNAWTY is not set
# CONFIG_BOARD_GOOGLE_HELI is not set
# CONFIG_BOARD_GOOGLE_KIP is not set
# CONFIG_BOARD_GOOGLE_NINJA is not set
# CONFIG_BOARD_GOOGLE_ORCO is not set
# CONFIG_BOARD_GOOGLE_QUAWKS is not set
# CONFIG_BOARD_GOOGLE_SQUAWKS is not set
# CONFIG_BOARD_GOOGLE_RAMBI is not set
# CONFIG_BOARD_GOOGLE_SUMO is not set
# CONFIG_BOARD_GOOGLE_SWANKY is not set
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
# Reef
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
# CONFIG_BOARD_GOOGLE_SAND is not set
# CONFIG_BOARD_GOOGLE_SNAPPY is not set
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
# Sarien
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
# Skyrim
#
# CONFIG_BOARD_GOOGLE_SKYRIM is not set
#
# Slippy
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
# CONFIG_BOARD_GOOGLE_PEPPY is not set
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
# Smaug
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
# Storm
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
# Stout
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
# Trogdor
#
#
# (Trogdor requires 'Allow QC blobs repository')
#
#
# Veyron
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MIGHTY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MINNIE is not set
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
# Veyron Mickey
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
# Veyron Rialto
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
# Volteer
#
# CONFIG_BOARD_GOOGLE_DELBIN is not set
# CONFIG_BOARD_GOOGLE_ELDRID is not set
# CONFIG_BOARD_GOOGLE_HALVOR is not set
# CONFIG_BOARD_GOOGLE_LINDAR is not set
# CONFIG_BOARD_GOOGLE_MALEFOR is not set
# CONFIG_BOARD_GOOGLE_TERRADOR is not set
# CONFIG_BOARD_GOOGLE_TODOR is not set
# CONFIG_BOARD_GOOGLE_TRONDO is not set
# CONFIG_BOARD_GOOGLE_VOLTEER is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2 is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2_TI50 is not set
# CONFIG_BOARD_GOOGLE_VOXEL is not set
# CONFIG_BOARD_GOOGLE_ELEMI is not set
# CONFIG_BOARD_GOOGLE_VOEMA is not set
# CONFIG_BOARD_GOOGLE_DROBIT is not set
# CONFIG_BOARD_GOOGLE_COPANO is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
# CONFIG_BOARD_GOOGLE_VOLET is not set
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
#
# Zork
#
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
# CONFIG_BOARD_GOOGLE_VILBOZ is not set
# CONFIG_BOARD_GOOGLE_EZKINIL is not set
# CONFIG_BOARD_GOOGLE_MORPHIUS is not set
# CONFIG_BOARD_GOOGLE_TREMBYLE is not set
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_WOOMAX is not set
# CONFIG_BOARD_GOOGLE_DIRINBOZ is not set
# CONFIG_BOARD_GOOGLE_SHUBOZ is not set
# CONFIG_BOARD_GOOGLE_GUMBOZ is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_DRIVER_TPM_I2C_BUS=0x9
CONFIG_DRIVER_TPM_I2C_ADDR=0x2
CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4
CONFIG_PMIC_BUS=0
CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME=""
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
CONFIG_COREBOOT_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=4096
CONFIG_ROM_SIZE=0x00400000
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_STACK_SIZE=0x0
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_TTYS0_BASE=0x2e8
CONFIG_UART_PCI_ADDR=0x0
CONFIG_GENERIC_UDELAY=y
CONFIG_CPU_SAMSUNG_EXYNOS5250=y
#
# CPU
#
#
# Northbridge
#
#
# Southbridge
#
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
#
# Embedded Controllers
#
CONFIG_EC_SUPPORTS_DPTF_TEVT=y
CONFIG_EC_GOOGLE_CHROMEEC=y
CONFIG_EC_GOOGLE_CHROMEEC_I2C=y
CONFIG_EC_GOOGLE_CHROMEEC_I2C_CHIP=0x1e
# CONFIG_EC_GOOGLE_CHROMEEC_RTC is not set
CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL is not set
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
# ChromeOS
#
# end of ChromeOS
CONFIG_ARCH_ARM=y
CONFIG_ARCH_BOOTBLOCK_ARM=y
CONFIG_ARCH_VERSTAGE_ARM=y
CONFIG_ARCH_ROMSTAGE_ARM=y
CONFIG_ARCH_RAMSTAGE_ARM=y
CONFIG_ARCH_BOOTBLOCK_ARMV7=y
CONFIG_ARCH_VERSTAGE_ARMV7=y
CONFIG_ARCH_ROMSTAGE_ARMV7=y
CONFIG_ARCH_RAMSTAGE_ARMV7=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
#
# Display
#
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
# end of Display
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
CONFIG_TPM_INIT_RAMSTAGE=y
CONFIG_DRIVERS_UART=y
CONFIG_HAVE_UART_SPECIAL=y
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_I2C_TPM=y
CONFIG_DRIVER_TIS_DEFAULT=y
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVER_TPM_DISPLAY_TIS_BYTES is not set
CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_DRIVER_MAXIM_MAX77686=y
CONFIG_DRIVER_TI_TPS65090=y
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
# CONFIG_NO_TPM is not set
CONFIG_TPM1=y
CONFIG_TPM=y
CONFIG_MAINBOARD_HAS_TPM1=y
# CONFIG_TPM_DEACTIVATE is not set
# CONFIG_DEBUG_TPM is not set
# CONFIG_TPM_MEASURED_BOOT is not set
# end of Trusted Platform Module
#
# Memory initialization
#
# end of Memory initialization
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_BOOT_DEVICE_NOT_SPI_FLASH=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
#
# device-specific UART
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
CONFIG_POST_DEVICE_NONE=y
CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_MONOTONIC_TIMER=y
#
# System tables
#
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set
# CONFIG_PAYLOAD_FIT is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUX is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PAYLOAD_FIT_SUPPORT is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set
# end of Secondary Payloads
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_NO_XIP_EARLY_STAGES=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
@@ -0,0 +1,4 @@
cbtree="cros"
romtype="normal"
arch="ARMv7"
payload_uboot="y"
@@ -0,0 +1,849 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_ALLOW_EXPERIMENTAL_CLANG is not set
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_COMPRESS_PRERAM_STAGES=y
CONFIG_INCLUDE_CONFIG_FILE=y
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_USE_BLOBS=y
# CONFIG_USE_AMD_BLOBS is not set
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
# CONFIG_ASAN is not set
CONFIG_NO_STAGE_CACHE=y
# CONFIG_CBMEM_STAGE_CACHE is not set
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
CONFIG_VENDOR_GOOGLE=y
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="Daisy"
CONFIG_MAINBOARD_DIR="google/daisy"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Google"
CONFIG_CBFS_SIZE=0x00400000
CONFIG_CONSOLE_SERIAL=y
CONFIG_MAX_CPUS=2
CONFIG_POST_DEVICE=y
CONFIG_UART_FOR_CONSOLE=3
# CONFIG_VBOOT is not set
# CONFIG_CHROMEOS is not set
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_OVERRIDE_DEVICETREE=""
CONFIG_DRAM_SIZE_MB=2048
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/soc/samsung/exynos5250/memlayout.ld"
#
# Asurada
#
# CONFIG_BOARD_GOOGLE_ASURADA is not set
# CONFIG_BOARD_GOOGLE_HAYATO is not set
# CONFIG_BOARD_GOOGLE_SPHERION is not set
#
# Auron
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
# CONFIG_BOARD_GOOGLE_BUDDY is not set
# CONFIG_BOARD_GOOGLE_GANDOF is not set
# CONFIG_BOARD_GOOGLE_LULU is not set
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
# Beltino
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
# CONFIG_BOARD_GOOGLE_PANTHER is not set
# CONFIG_BOARD_GOOGLE_TRICKY is not set
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
# Brya
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
# CONFIG_BOARD_GOOGLE_ANAHERA4ES is not set
# CONFIG_BOARD_GOOGLE_BRASK is not set
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
# CONFIG_BOARD_GOOGLE_BRYA4ES is not set
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
# CONFIG_BOARD_GOOGLE_KANO is not set
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
# CONFIG_BOARD_GOOGLE_NEREID is not set
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
# CONFIG_BOARD_GOOGLE_REDRIX is not set
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
# CONFIG_BOARD_GOOGLE_SKOLAS4ES is not set
# CONFIG_BOARD_GOOGLE_TAEKO is not set
# CONFIG_BOARD_GOOGLE_TAEKO4ES is not set
# CONFIG_BOARD_GOOGLE_TANIKS is not set
# CONFIG_BOARD_GOOGLE_VELL is not set
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
# CONFIG_BOARD_GOOGLE_CROTA is not set
# CONFIG_BOARD_GOOGLE_MOLI is not set
# CONFIG_BOARD_GOOGLE_KINOX is not set
# CONFIG_BOARD_GOOGLE_CRAASK is not set
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
# CONFIG_BOARD_GOOGLE_KULDAX is not set
#
# Butterfly
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
# Cherry
#
# CONFIG_BOARD_GOOGLE_CHERRY is not set
# CONFIG_BOARD_GOOGLE_DOJO is not set
# CONFIG_BOARD_GOOGLE_TOMATO is not set
#
# Kingler
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_STEELIX is not set
#
# Krabby
#
# CONFIG_BOARD_GOOGLE_KRABBY is not set
#
# Cyan
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
# CONFIG_BOARD_GOOGLE_CYAN is not set
# CONFIG_BOARD_GOOGLE_EDGAR is not set
# CONFIG_BOARD_GOOGLE_KEFKA is not set
# CONFIG_BOARD_GOOGLE_REKS is not set
# CONFIG_BOARD_GOOGLE_RELM is not set
# CONFIG_BOARD_GOOGLE_SETZER is not set
# CONFIG_BOARD_GOOGLE_TERRA is not set
# CONFIG_BOARD_GOOGLE_ULTIMA is not set
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
# Daisy
#
CONFIG_BOARD_GOOGLE_DAISY=y
#
# Dedede
#
# CONFIG_BOARD_GOOGLE_BOTEN is not set
# CONFIG_BOARD_GOOGLE_DEDEDE is not set
# CONFIG_BOARD_GOOGLE_DRAWCIA is not set
# CONFIG_BOARD_GOOGLE_HABOKI is not set
# CONFIG_BOARD_GOOGLE_MADOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDEE is not set
# CONFIG_BOARD_GOOGLE_LALALA is not set
# CONFIG_BOARD_GOOGLE_MAGOLOR is not set
# CONFIG_BOARD_GOOGLE_METAKNIGHT is not set
# CONFIG_BOARD_GOOGLE_LANTIS is not set
# CONFIG_BOARD_GOOGLE_GALTIC is not set
# CONFIG_BOARD_GOOGLE_SASUKE is not set
# CONFIG_BOARD_GOOGLE_STORO is not set
# CONFIG_BOARD_GOOGLE_SASUKETTE is not set
# CONFIG_BOARD_GOOGLE_KRACKO is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
# CONFIG_BOARD_GOOGLE_CRET is not set
# CONFIG_BOARD_GOOGLE_PIRIKA is not set
# CONFIG_BOARD_GOOGLE_CAPPY2 is not set
# CONFIG_BOARD_GOOGLE_BUGZZY is not set
# CONFIG_BOARD_GOOGLE_CORORI is not set
# CONFIG_BOARD_GOOGLE_DRIBLEE is not set
# CONFIG_BOARD_GOOGLE_GOOEY is not set
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
#
# Drallion
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
# Eve
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
# Fizz
#
# CONFIG_BOARD_GOOGLE_FIZZ is not set
# CONFIG_BOARD_GOOGLE_KARMA is not set
# CONFIG_BOARD_GOOGLE_ENDEAVOUR is not set
#
# Foster
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
# Gale
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
# Glados
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
# CONFIG_BOARD_GOOGLE_CAVE is not set
# CONFIG_BOARD_GOOGLE_CHELL is not set
# CONFIG_BOARD_GOOGLE_GLADOS is not set
# CONFIG_BOARD_GOOGLE_LARS is not set
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
# Gru
#
# CONFIG_BOARD_GOOGLE_KEVIN is not set
# CONFIG_BOARD_GOOGLE_GRU is not set
# CONFIG_BOARD_GOOGLE_BOB is not set
# CONFIG_BOARD_GOOGLE_SCARLET is not set
# CONFIG_BOARD_GOOGLE_NEFARIO is not set
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
# Guybrush
#
# CONFIG_BOARD_GOOGLE_GUYBRUSH is not set
# CONFIG_BOARD_GOOGLE_NIPPERKIN is not set
# CONFIG_BOARD_GOOGLE_DEWATT is not set
#
# Hatch
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
# CONFIG_BOARD_GOOGLE_DUFFY_LEGACY is not set
# CONFIG_BOARD_GOOGLE_DUFFY is not set
# CONFIG_BOARD_GOOGLE_FAFFY is not set
# CONFIG_BOARD_GOOGLE_GENESIS is not set
# CONFIG_BOARD_GOOGLE_HATCH is not set
# CONFIG_BOARD_GOOGLE_HELIOS is not set
# CONFIG_BOARD_GOOGLE_HELIOS_DISKSWAP is not set
# CONFIG_BOARD_GOOGLE_JINLON is not set
# CONFIG_BOARD_GOOGLE_KAISA_LEGACY is not set
# CONFIG_BOARD_GOOGLE_KAISA is not set
# CONFIG_BOARD_GOOGLE_KINDRED is not set
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
# CONFIG_BOARD_GOOGLE_MUSHU is not set
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
# CONFIG_BOARD_GOOGLE_PALKIA is not set
# CONFIG_BOARD_GOOGLE_PUFF is not set
# CONFIG_BOARD_GOOGLE_SCOUT is not set
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
# Herobrine
#
#
# (Herobrine requires 'Allow QC blobs repository')
#
#
# Jecht
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
# CONFIG_BOARD_GOOGLE_RIKKU is not set
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
# Kahlee
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
# CONFIG_BOARD_GOOGLE_GRUNT is not set
# CONFIG_BOARD_GOOGLE_LIARA is not set
# CONFIG_BOARD_GOOGLE_NUWANI is not set
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
# Kukui
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
# CONFIG_BOARD_GOOGLE_KODAMA is not set
# CONFIG_BOARD_GOOGLE_KAKADU is not set
# CONFIG_BOARD_GOOGLE_FLAPJACK is not set
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
# Jacuzzi
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
# CONFIG_BOARD_GOOGLE_KAPPA is not set
# CONFIG_BOARD_GOOGLE_DAMU is not set
# CONFIG_BOARD_GOOGLE_CERISE is not set
# CONFIG_BOARD_GOOGLE_STERN is not set
# CONFIG_BOARD_GOOGLE_WILLOW is not set
# CONFIG_BOARD_GOOGLE_ESCHE is not set
# CONFIG_BOARD_GOOGLE_BURNET is not set
# CONFIG_BOARD_GOOGLE_FENNEL is not set
# CONFIG_BOARD_GOOGLE_COZMO is not set
# CONFIG_BOARD_GOOGLE_MAKOMO is not set
# CONFIG_BOARD_GOOGLE_MUNNA is not set
# CONFIG_BOARD_GOOGLE_PICO is not set
#
# Link
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
# Mistral
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
# Nyan
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
# Nyan Big
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
# Nyan Blaze
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
# Oak
#
# CONFIG_BOARD_GOOGLE_OAK is not set
# CONFIG_BOARD_GOOGLE_ELM is not set
# CONFIG_BOARD_GOOGLE_HANA is not set
#
# Octopus
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
# CONFIG_BOARD_GOOGLE_BOBBA is not set
# CONFIG_BOARD_GOOGLE_CASTA is not set
# CONFIG_BOARD_GOOGLE_DOOD is not set
# CONFIG_BOARD_GOOGLE_FLEEX is not set
# CONFIG_BOARD_GOOGLE_FOOB is not set
# CONFIG_BOARD_GOOGLE_GARG is not set
# CONFIG_BOARD_GOOGLE_LICK is not set
# CONFIG_BOARD_GOOGLE_MEEP is not set
# CONFIG_BOARD_GOOGLE_OCTOPUS is not set
# CONFIG_BOARD_GOOGLE_PHASER is not set
# CONFIG_BOARD_GOOGLE_YORP is not set
#
# Parrot
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
# Peach Pit
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
# Poppy
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
# CONFIG_BOARD_GOOGLE_NAMI is not set
# CONFIG_BOARD_GOOGLE_NAUTILUS is not set
# CONFIG_BOARD_GOOGLE_NOCTURNE is not set
# CONFIG_BOARD_GOOGLE_RAMMUS is not set
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
# Rambi
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
# CONFIG_BOARD_GOOGLE_CLAPPER is not set
# CONFIG_BOARD_GOOGLE_ENGUARDE is not set
# CONFIG_BOARD_GOOGLE_GLIMMER is not set
# CONFIG_BOARD_GOOGLE_GNAWTY is not set
# CONFIG_BOARD_GOOGLE_HELI is not set
# CONFIG_BOARD_GOOGLE_KIP is not set
# CONFIG_BOARD_GOOGLE_NINJA is not set
# CONFIG_BOARD_GOOGLE_ORCO is not set
# CONFIG_BOARD_GOOGLE_QUAWKS is not set
# CONFIG_BOARD_GOOGLE_SQUAWKS is not set
# CONFIG_BOARD_GOOGLE_RAMBI is not set
# CONFIG_BOARD_GOOGLE_SUMO is not set
# CONFIG_BOARD_GOOGLE_SWANKY is not set
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
# Reef
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
# CONFIG_BOARD_GOOGLE_SAND is not set
# CONFIG_BOARD_GOOGLE_SNAPPY is not set
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
# Sarien
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
# Skyrim
#
# CONFIG_BOARD_GOOGLE_SKYRIM is not set
#
# Slippy
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
# CONFIG_BOARD_GOOGLE_PEPPY is not set
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
# Smaug
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
# Storm
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
# Stout
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
# Trogdor
#
#
# (Trogdor requires 'Allow QC blobs repository')
#
#
# Veyron
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MIGHTY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MINNIE is not set
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
# Veyron Mickey
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
# Veyron Rialto
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
# Volteer
#
# CONFIG_BOARD_GOOGLE_DELBIN is not set
# CONFIG_BOARD_GOOGLE_ELDRID is not set
# CONFIG_BOARD_GOOGLE_HALVOR is not set
# CONFIG_BOARD_GOOGLE_LINDAR is not set
# CONFIG_BOARD_GOOGLE_MALEFOR is not set
# CONFIG_BOARD_GOOGLE_TERRADOR is not set
# CONFIG_BOARD_GOOGLE_TODOR is not set
# CONFIG_BOARD_GOOGLE_TRONDO is not set
# CONFIG_BOARD_GOOGLE_VOLTEER is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2 is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2_TI50 is not set
# CONFIG_BOARD_GOOGLE_VOXEL is not set
# CONFIG_BOARD_GOOGLE_ELEMI is not set
# CONFIG_BOARD_GOOGLE_VOEMA is not set
# CONFIG_BOARD_GOOGLE_DROBIT is not set
# CONFIG_BOARD_GOOGLE_COPANO is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
# CONFIG_BOARD_GOOGLE_VOLET is not set
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
#
# Zork
#
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
# CONFIG_BOARD_GOOGLE_VILBOZ is not set
# CONFIG_BOARD_GOOGLE_EZKINIL is not set
# CONFIG_BOARD_GOOGLE_MORPHIUS is not set
# CONFIG_BOARD_GOOGLE_TREMBYLE is not set
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_WOOMAX is not set
# CONFIG_BOARD_GOOGLE_DIRINBOZ is not set
# CONFIG_BOARD_GOOGLE_SHUBOZ is not set
# CONFIG_BOARD_GOOGLE_GUMBOZ is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_DRIVER_TPM_I2C_BUS=0x9
CONFIG_DRIVER_TPM_I2C_ADDR=0x2
CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4
CONFIG_PMIC_BUS=0
CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME=""
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
CONFIG_COREBOOT_ROMSIZE_KB_4096=y
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=4096
CONFIG_ROM_SIZE=0x00400000
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_STACK_SIZE=0x0
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_TTYS0_BASE=0x2e8
CONFIG_UART_PCI_ADDR=0x0
CONFIG_GENERIC_UDELAY=y
CONFIG_CPU_SAMSUNG_EXYNOS5250=y
#
# CPU
#
#
# Northbridge
#
#
# Southbridge
#
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
#
# Embedded Controllers
#
CONFIG_EC_SUPPORTS_DPTF_TEVT=y
CONFIG_EC_GOOGLE_CHROMEEC=y
CONFIG_EC_GOOGLE_CHROMEEC_I2C=y
CONFIG_EC_GOOGLE_CHROMEEC_I2C_CHIP=0x1e
# CONFIG_EC_GOOGLE_CHROMEEC_RTC is not set
CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL is not set
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
# ChromeOS
#
# end of ChromeOS
CONFIG_ARCH_ARM=y
CONFIG_ARCH_BOOTBLOCK_ARM=y
CONFIG_ARCH_VERSTAGE_ARM=y
CONFIG_ARCH_ROMSTAGE_ARM=y
CONFIG_ARCH_RAMSTAGE_ARM=y
CONFIG_ARCH_BOOTBLOCK_ARMV7=y
CONFIG_ARCH_VERSTAGE_ARMV7=y
CONFIG_ARCH_ROMSTAGE_ARMV7=y
CONFIG_ARCH_RAMSTAGE_ARMV7=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
#
# Display
#
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
# end of Display
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
CONFIG_TPM_INIT_RAMSTAGE=y
CONFIG_DRIVERS_UART=y
CONFIG_HAVE_UART_SPECIAL=y
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_I2C_TPM=y
CONFIG_DRIVER_TIS_DEFAULT=y
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVER_TPM_DISPLAY_TIS_BYTES is not set
CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_DRIVER_MAXIM_MAX77686=y
CONFIG_DRIVER_TI_TPS65090=y
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
# CONFIG_NO_TPM is not set
CONFIG_TPM1=y
CONFIG_TPM=y
CONFIG_MAINBOARD_HAS_TPM1=y
# CONFIG_TPM_DEACTIVATE is not set
# CONFIG_DEBUG_TPM is not set
# CONFIG_TPM_MEASURED_BOOT is not set
# end of Trusted Platform Module
#
# Memory initialization
#
# end of Memory initialization
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_BOOT_DEVICE_NOT_SPI_FLASH=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
#
# device-specific UART
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
CONFIG_POST_DEVICE_NONE=y
CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_MONOTONIC_TIMER=y
#
# System tables
#
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set
# CONFIG_PAYLOAD_FIT is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUX is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PAYLOAD_FIT_SUPPORT is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set
# end of Secondary Payloads
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_NO_XIP_EARLY_STAGES=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
-22
View File
@@ -1,22 +0,0 @@
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
3rdparty/chromeec/test/legacy_nvmem_dump.h
3rdparty/vboot/tests/futility/data/bios_link_mp.bin
3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
3rdparty/chromeec/third_party/bmi260/accelgyro_bmi260_config_tbin.h
+1 -29
View File
@@ -1,32 +1,4 @@
cbtree="default" cbtree="default"
romtype="normal" romtype="normal"
cbrevision="a0aee78c8261804e498b3c31bf4b855fb7e7d1cd" cbrevision="e70bc423f9a2e1d13827f2703efe1f9c72549f20"
arch="x86_64" arch="x86_64"
payload_grub="n"
payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="n"
payload_tianocore="n"
# NOTE: 1b242b6618d4cbb80d5b4268ba2b39ae363d96f9 is the last revision checked.
# Right now, coreboot 4.14 is being used, and specific patches being
# Backported. Check commits after the above commit ID
# NOTE: for de-blob purposes, 4.14 was used. next time deblobbing, compare
# files between 4.14 and whatever new version of coreboot is used
# The following patches from coreboot are currently backported to 4.14:
# 99973d29af774c54e8859d967b2b9617abebeeb0 <-- and this is the last one
# 40b8f01697d6f26f86de7fbda1d0a160dcd4d5df
# 5c3b05ecf4dbb89da3dd7bc514875b53e3a8ce1c
# f963a0f8e5ac5d68b17bb1f703cab617260a3fa6
# 0afb90a73ba007b3f6dc135ec8105def00182c5f
# de0fd07ca7f5ca404d1a13c036766c561fd26cd8
# 6318f1f500b69bbba156ec78598406cf30fd5e02 <-- then this, going all the way up
# b403da65cddff557da67cabd1a66e1053b8967c7 <-- then this
# 9a056013411a79ca7973c6a141d78e22949d4553 <-- this first
# Watch this. It may cause some mayhem:
# https://review.coreboot.org/c/coreboot/+/54301
# https://review.coreboot.org/c/coreboot/+/54298
# keep an eye on avph's changes to postcar stage (on various platforms)
@@ -1,849 +0,0 @@
./3rdparty/arm-trusted-firmware/docs/components/secure-partition-manager.rst
./3rdparty/arm-trusted-firmware/docs/design/firmware-design.rst
./3rdparty/arm-trusted-firmware/docs/plat/arm/fvp/index.rst
./3rdparty/arm-trusted-firmware/drivers/marvell/comphy/phy-comphy-3700.c
./3rdparty/arm-trusted-firmware/drivers/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
./3rdparty/arm-trusted-firmware/drivers/st/pmic/stpmic1.c
./3rdparty/arm-trusted-firmware/lib/debugfs/blobs.h
./3rdparty/arm-trusted-firmware/lib/debugfs/devfip.c
./3rdparty/arm-trusted-firmware/lib/romlib/gen_combined_bl1_romlib.sh
./3rdparty/arm-trusted-firmware/lib/zlib/crc32.h
./3rdparty/arm-trusted-firmware/lib/zlib/inffixed.h
./3rdparty/arm-trusted-firmware/lib/zlib/inftrees.c
./3rdparty/arm-trusted-firmware/plat/arm/board/fvp/fvp_io_storage.c
./3rdparty/arm-trusted-firmware/plat/arm/board/rde1edge/rde1edge_topology.c
./3rdparty/arm-trusted-firmware/plat/common/plat_bl_common.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/hikey/hisi_dvfs.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/platform_def.h
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/poplar_layout.h
./3rdparty/arm-trusted-firmware/plat/intel/soc/agilex/soc/agilex_pinmux.c
./3rdparty/arm-trusted-firmware/plat/intel/soc/stratix10/soc/s10_pinmux.c
./3rdparty/arm-trusted-firmware/plat/marvell/armada/a8k/a70x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/armada/a8k/a70x0_amc/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/armada/a8k/a80x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/armada/a8k/a80x0_mcbin/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/armada/a8k/a80x0_puzzle/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/octeontx/otx2/t91/t9130/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
./3rdparty/arm-trusted-firmware/plat/qemu/common/qemu_io_storage.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/ddr_rk3368.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/dram/dfs.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/m0/src/startup.c
./3rdparty/arm-trusted-firmware/plat/rpi/common/rpi3_io_storage.c
./3rdparty/arm-trusted-firmware/plat/socionext/synquacer/sq_spm.c
./3rdparty/arm-trusted-firmware/plat/st/stm32mp1/platform.mk
./3rdparty/arm-trusted-firmware/tools/amlogic/doimage.c
./3rdparty/arm-trusted-firmware/tools/fiptool/fiptool.c
./3rdparty/arm-trusted-firmware/tools/sptool/sp_mk_generator.py
./3rdparty/chromeec/board/bloog/board.c
./3rdparty/chromeec/board/coffeecake/board.c
./3rdparty/chromeec/board/cr50/tpm2/ecc.c
./3rdparty/chromeec/board/cr50/tpm2/endorsement.c
./3rdparty/chromeec/board/cr50/tpm2/rsa.c
./3rdparty/chromeec/board/dingdong/board.c
./3rdparty/chromeec/board/flapjack/battery.c
./3rdparty/chromeec/board/hoho/board.c
./3rdparty/chromeec/board/kukui_scp/update_scp
./3rdparty/chromeec/board/meep/board.c
./3rdparty/chromeec/chip/g/dcrypto/bn.c
./3rdparty/chromeec/chip/g/dcrypto/hmac_drbg.c
./3rdparty/chromeec/chip/mchp/util/pack_ec.py
./3rdparty/chromeec/chip/mec1322/util/pack_ec.py
./3rdparty/chromeec/chip/stm32/usb_hid_keyboard.c
./3rdparty/chromeec/chip/stm32/usb_hid_touchpad.c
./3rdparty/chromeec/common/crc.c
./3rdparty/chromeec/common/ctz.c
./3rdparty/chromeec/common/keyboard_8042_sharedlib.c
./3rdparty/chromeec/common/lightbar.c
./3rdparty/chromeec/common/mock/rollback_mock.c
./3rdparty/chromeec/common/sha256.c
./3rdparty/chromeec/core/riscv-rv32i/init.S
./3rdparty/chromeec/driver/als_tcs3400.c
./3rdparty/chromeec/driver/led/lm3509.c
./3rdparty/chromeec/driver/regulator_ir357x.c
./3rdparty/chromeec/driver/touchpad_elan.c
./3rdparty/chromeec/extra/rma_reset/rma_reset.c
./3rdparty/chromeec/extra/touchpad_updater/touchpad_updater.c
./3rdparty/chromeec/extra/usb_updater/fw_update.py
./3rdparty/chromeec/extra/usb_updater/servo_updater.py
./3rdparty/chromeec/fuzz/nvmem_tpm2_mock.c
./3rdparty/chromeec/setup.py
./3rdparty/chromeec/test/aes.c
./3rdparty/chromeec/test/fpsensor.c
./3rdparty/chromeec/test/legacy_nvmem_dump.h
./3rdparty/chromeec/test/nvmem_tpm2_mock.c
./3rdparty/chromeec/test/pinweaver.c
./3rdparty/chromeec/test/rsa2048-3.h
./3rdparty/chromeec/test/rsa2048-F4.h
./3rdparty/chromeec/test/sha256.c
./3rdparty/chromeec/test/test_config.h
./3rdparty/chromeec/test/thermal.c
./3rdparty/chromeec/test/tpm_test/rsa_test.py
./3rdparty/chromeec/test/usb_prl.c
./3rdparty/chromeec/test/x25519.c
./3rdparty/chromeec/third_party/boringssl/common/aes.c
./3rdparty/chromeec/third_party/boringssl/core/cortex-m/aes.S
./3rdparty/chromeec/util/ec_sb_firmware_update.c
./3rdparty/chromeec/util/ectool_keyscan.c
./3rdparty/chromeec/util/flash_ec
./3rdparty/chromeec/util/flash_fp_mcu
./3rdparty/chromeec/util/flash_pd.py
./3rdparty/chromeec/util/signer/create_released_image.sh
./3rdparty/chromeec/util/uut/lib_crc.c
./3rdparty/intel-sec-tools/cmd/txt-prov/README.md
./3rdparty/intel-sec-tools/pkg/hwapi/mock_pc.go
./3rdparty/intel-sec-tools/pkg/provisioning/structures.go
./3rdparty/intel-sec-tools/pkg/test/tpm.go
./3rdparty/intel-sec-tools/pkg/tools/acm_test.go
./3rdparty/intel-sec-tools/pkg/tools/lcp_test.go
./3rdparty/libgfxinit/common/skylake/hw-gfx-gma-plls-dpll.adb
./3rdparty/opensbi/Makefile
./3rdparty/stm/Stm/StmPkg/Core/CMakeLists.txt
./3rdparty/stm/Stm/StmPkg/EdkII/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py
./3rdparty/stm/Stm/StmPkg/EdkII/BaseTools/Source/Python/Common/VpdInfoFile.py
./3rdparty/vboot/cgpt/cgpt_wrapper.c
./3rdparty/vboot/firmware/2lib/2sha256.c
./3rdparty/vboot/firmware/2lib/2sha512.c
./3rdparty/vboot/firmware/lib/cgptlib/crc32.c
./3rdparty/vboot/firmware/lib/tpm_lite/include/tlcl_structures.h
./3rdparty/vboot/futility/cmd_gbb_utility.c
./3rdparty/vboot/futility/file_type_rwsig.c
./3rdparty/vboot/futility/updater.c
./3rdparty/vboot/futility/updater_archive.c
./3rdparty/vboot/scripts/image_signing/make_dev_firmware.sh
./3rdparty/vboot/scripts/image_signing/make_dev_ssd.sh
./3rdparty/vboot/scripts/image_signing/sign_android_image.sh
./3rdparty/vboot/scripts/image_signing/sign_cr50_firmware.sh
./3rdparty/vboot/scripts/image_signing/sign_official_build.sh
./3rdparty/vboot/scripts/image_signing/strip_boot_from_image.sh
./3rdparty/vboot/scripts/image_signing/tag_image.sh
./3rdparty/vboot/tests/cgptlib_test.c
./3rdparty/vboot/tests/crc32_test.c
./3rdparty/vboot/tests/futility/data/bios_link_mp.bin
./3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
./3rdparty/vboot/tests/futility/link_bios.manifest.json
./3rdparty/vboot/tests/futility/link_image.manifest.json
./3rdparty/vboot/tests/futility/models/link/setvars.sh
./3rdparty/vboot/tests/futility/models/peppy/setvars.sh
./3rdparty/vboot/tests/futility/models/whitetip/setvars.sh
./3rdparty/vboot/tests/futility/test_dump_fmap.sh
./3rdparty/vboot/tests/futility/test_file_types.c
./3rdparty/vboot/tests/futility/test_file_types.sh
./3rdparty/vboot/tests/futility/test_rwsig.sh
./3rdparty/vboot/tests/futility/test_sign_firmware.sh
./3rdparty/vboot/tests/futility/test_update.sh
./3rdparty/vboot/tests/gen_preamble_testdata.sh
./3rdparty/vboot/tests/load_kernel_tests.sh
./3rdparty/vboot/tests/rsa_padding_test.h
./3rdparty/vboot/tests/run_vbutil_kernel_arg_tests.sh
./3rdparty/vboot/tests/sha_test_vectors.h
./3rdparty/vboot/tests/testcases/padding_test_vectors.inc
./3rdparty/vboot/tests/tlcl_tests.c
./3rdparty/vboot/tests/vb21_host_misc_tests.c
./3rdparty/vboot/tests/vb2_api_tests.c
./3rdparty/vboot/tests/vb2_sha_tests.c
./3rdparty/vboot/utility/chromeos-tpm-recovery
./3rdparty/vboot/utility/vbutil_what_keys
./Documentation/Intel/SoC/soc.html
./Documentation/releases/coreboot-4.13-relnotes.md
./Documentation/releases/coreboot-4.2-relnotes.md
./Documentation/soc/intel/fit.md
./Documentation/soc/intel/index.md
./Documentation/soc/intel/microcode.md
./Documentation/tutorial/part1.md
./Documentation/codeflow.svg
./Documentation/hypertransport.svg
./configs/builder/config.intel.cpx.crb
./configs/builder/config.lenovo_t420
./configs/builder/config.lenovo_t420s
./configs/builder/config.lenovo_t430s
./configs/builder/config.lenovo_t520
./configs/builder/config.lenovo_t530
./configs/builder/config.lenovo_x220
./configs/builder/config.lenovo_x220i
./configs/builder/config.lenovo_x230
./configs/builder/config.ocp.deltalake
./configs/builder/config.ocp.tiogapass
./configs/config.asrock_b85m_pro4.tpm2_txt_placeholder_acms
./configs/config.intel_coffeelake_rvp11.fsp_car
./configs/config.purism_librem15_v4.txt_build_test
./payloads/external/BOOTBOOT/Kconfig
./payloads/external/FILO/Kconfig
./payloads/external/GRUB2/Kconfig
./payloads/external/SeaBIOS/Kconfig
./payloads/external/U-Boot/Kconfig
./payloads/external/Yabits/Kconfig
./payloads/external/depthcharge/Kconfig
./payloads/libpayload/curses/PDCurses/demos/worm.c
./payloads/libpayload/curses/PDCurses/sdl1/deffont.h
./payloads/libpayload/curses/PDCurses/sdl1/deficon.h
./payloads/libpayload/curses/PDCurses/win32/pdckbd.c
./payloads/libpayload/curses/PDCurses/x11/big_icon.xbm
./payloads/libpayload/curses/PDCurses/x11/little_icon.xbm
./payloads/libpayload/curses/pdcurses-backend/pdcdisp.c
./payloads/libpayload/curses/tinycurses.c
./payloads/libpayload/drivers/i8042/keyboard.c
./payloads/libpayload/drivers/usb/usbmsc.c
./payloads/libpayload/libc/fpmath.c
./payloads/libpayload/tests/cbfs-x86-test.c
./payloads/nvramcui/payload.sh
./payloads/Kconfig
./src/cpu/amd/pi/00730F01/Makefile.inc
./src/cpu/amd/pi/00730F01/model_16_init.c
./src/cpu/amd/pi/00730F01/update_microcode.c
./src/cpu/intel/car/non-evict/cache_as_ram.S
./src/cpu/intel/car/p4-netburst/cache_as_ram.S
./src/cpu/intel/haswell/acpi.c
./src/cpu/intel/microcode/Kconfig
./src/cpu/intel/microcode/microcode.c
./src/cpu/intel/microcode/microcode_asm.S
./src/cpu/intel/model_2065x/acpi.c
./src/cpu/intel/model_206ax/acpi.c
./src/cpu/intel/model_65x/model_65x_init.c
./src/cpu/intel/model_67x/model_67x_init.c
./src/cpu/intel/model_68x/model_68x_init.c
./src/cpu/intel/model_6bx/model_6bx_init.c
./src/cpu/intel/model_6xx/model_6xx_init.c
./src/cpu/intel/model_f2x/model_f2x_init.c
./src/cpu/intel/model_f3x/model_f3x_init.c
./src/cpu/Kconfig
./src/cpu/Makefile.inc
./src/device/oprom/yabel/interrupt.c
./src/device/Kconfig
./src/drivers/aspeed/common/ast_dram_tables.h
./src/drivers/aspeed/common/ast_tables.h
./src/drivers/i2c/ww_ring/ww_ring_programs.c
./src/drivers/intel/fsp1_1/cache_as_ram.S
./src/drivers/intel/fsp1_1/car.c
./src/drivers/intel/fsp1_1/ramstage.c
./src/drivers/intel/fsp1_1/romstage.c
./src/drivers/intel/fsp1_1/temp_ram_exit.c
./src/drivers/intel/fsp2_0/Kconfig
./src/drivers/intel/gma/opregion.c
./src/drivers/intel/gma/opregion.h
./src/drivers/pc80/rtc/option.c
./src/drivers/pc80/vga/vga_palette.c
./src/drivers/siemens/nc_fpga/nc_fpga.c
./src/drivers/wifi/generic/Kconfig
./src/ec/51nb/npce985la0dx/Kconfig
./src/ec/hp/kbc1126/Kconfig
./src/include/cpu/amd/microcode.h
./src/include/cpu/intel/microcode.h
./src/include/spd_bin.h
./src/lib/coreboot_table.c
./src/lib/jpeg.c
./src/lib/spd_bin.c
./src/mainboard/amd/gardenia/bootblock/OemCustomize.c
./src/mainboard/amd/inagua/Kconfig
./src/mainboard/amd/majolica/Kconfig
./src/mainboard/amd/mandolin/Kconfig
./src/mainboard/amd/olivehill/mptable.c
./src/mainboard/amd/parmer/mptable.c
./src/mainboard/amd/persimmon/Kconfig
./src/mainboard/amd/south_station/Kconfig
./src/mainboard/amd/south_station/mptable.c
./src/mainboard/amd/thatcher/mptable.c
./src/mainboard/amd/union_station/Kconfig
./src/mainboard/amd/union_station/mptable.c
./src/mainboard/apple/macbookair4_2/early_init.c
./src/mainboard/asrock/b75pro3-m/early_init.c
./src/mainboard/asrock/e350m1/mptable.c
./src/mainboard/asrock/imb-a180/mptable.c
./src/mainboard/asus/a88xm-e/mainboard.c
./src/mainboard/asus/f2a85-m/mptable.c
./src/mainboard/asus/h61m-cs/early_init.c
./src/mainboard/asus/maximus_iv_gene-z/early_init.c
./src/mainboard/asus/p8h61-m_lx/early_init.c
./src/mainboard/asus/p8h61-m_lx3_r2_0/early_init.c
./src/mainboard/asus/p8h61-m_pro/early_init.c
./src/mainboard/asus/p8z77-v_lx2/early_init.c
./src/mainboard/bap/ode_e20XX/spd/BAP_Q7_1066.spd.hex
./src/mainboard/bap/ode_e20XX/spd/BAP_Q7_800.spd.hex
./src/mainboard/biostar/a68n_5200/mptable.c
./src/mainboard/biostar/th61-itx/early_init.c
./src/mainboard/clevo/cml-u/spd/samsung-K4AAG165WA-BCTD.spd.hex
./src/mainboard/compulab/intense_pc/early_init.c
./src/mainboard/dell/optiplex_9010/early_init.c
./src/mainboard/dell/optiplex_9010/sch5545_ec.c
./src/mainboard/dell/optiplex_9010/sch5545_ec_early.c
./src/mainboard/facebook/fbg1701/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/facebook/fbg1701/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/facebook/fbg1701/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/facebook/fbg1701/Kconfig
./src/mainboard/facebook/fbg1701/board_mboot.h
./src/mainboard/facebook/fbg1701/board_verified_boot.c
./src/mainboard/facebook/fbg1701/board_verified_boot.h
./src/mainboard/facebook/fbg1701/ramstage.c
./src/mainboard/facebook/monolith/Kconfig
./src/mainboard/gigabyte/ga-b75m-d3h/early_init.c
./src/mainboard/gigabyte/ga-h61m-series/early_init.c
./src/mainboard/gizmosphere/gizmo/mptable.c
./src/mainboard/gizmosphere/gizmo2/spd/Micron_MT41J128M16JT.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/spd.c
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/spd.c
./src/mainboard/google/auron/variants/buddy/variant.c
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Samsung_M471B5674EB0-YK0.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/empty.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/spd.c
./src/mainboard/google/auron/variants/lulu/spd/empty.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_4GiB_dimm_H5TC8G63CMR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_4GiB_dimm_MT41K512M16TNA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_4GiB_dimm_K4B8G1646Q-MYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/spd.c
./src/mainboard/google/auron/variants/samus/spd/elpida_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/empty.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/spd.c
./src/mainboard/google/beltino/lan.c
./src/mainboard/google/butterfly/hda_verb.c
./src/mainboard/google/butterfly/mainboard.c
./src/mainboard/google/cyan/spd/empty.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-GD-F-R.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-JD-F.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF-107WT.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/cyan/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/cyan/spd/nanya_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/spd.c
./src/mainboard/google/dedede/variants/drawcia/variant.c
./src/mainboard/google/dedede/variants/madoo/variant.c
./src/mainboard/google/dedede/variants/magolor/variant.c
./src/mainboard/google/drallion/spd/empty_ddr4.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5AN8G6NDJR-XNC.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KD-062EE.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4A8G165WC-BCWE.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4AAG165WA-BCWE.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/drallion/variants/drallion/devicetree.cb
./src/mainboard/google/drallion/variants/drallion/memory.c
./src/mainboard/google/eve/spd/empty.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E6E304EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E8E324EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4EBE304EB.spd.hex
./src/mainboard/google/eve/spd/spd.c
./src/mainboard/google/glados/spd/empty.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLGALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/glados/spd/micron_16GiB_dimm_MT52L1G32D4PG.spd.hex
./src/mainboard/google/glados/spd/micron_4GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/glados/spd/micron_8GiB_dimm_MT52L512M32D2PF.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L256M32D1PF-107-1G-1866.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L512M32D2PF-107-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF-1G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/glados/spd/spd.c
./src/mainboard/google/hatch/spd/16G_2400.spd.hex
./src/mainboard/google/hatch/spd/16G_2666.spd.hex
./src/mainboard/google/hatch/spd/16G_2666_2bg.spd.hex
./src/mainboard/google/hatch/spd/16G_3200.spd.hex
./src/mainboard/google/hatch/spd/16G_3200_4bg.spd.hex
./src/mainboard/google/hatch/spd/4G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2666.spd.hex
./src/mainboard/google/hatch/spd/8G_3200.spd.hex
./src/mainboard/google/hatch/spd/LP_16G_2133.spd.hex
./src/mainboard/google/hatch/spd/LP_4G_2133.spd.hex
./src/mainboard/google/hatch/spd/LP_8G_2133.spd.hex
./src/mainboard/google/hatch/spd/empty_ddr4.spd.hex
./src/mainboard/google/hatch/variants/dratini/variant.c
./src/mainboard/google/hatch/variants/kindred/variant.c
./src/mainboard/google/hatch/variants/nightfury/variant.c
./src/mainboard/google/jecht/lan.c
./src/mainboard/google/kahlee/spd/empty.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NAFR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NAMR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16KNR-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16RC-062E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16JY-083E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16LY-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16TB-062E-J.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/kahlee/variants/baseboard/mainboard.c
./src/mainboard/google/kahlee/variants/nuwani/mainboard.c
./src/mainboard/google/kahlee/variants/treeya/mainboard.c
./src/mainboard/google/kahlee/Kconfig
./src/mainboard/google/link/spd/elpida_4Gb_1600_x16.spd.hex
./src/mainboard/google/link/spd/micron_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/link/spd/samsung_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/link/early_init.c
./src/mainboard/google/link/hda_verb.c
./src/mainboard/google/octopus/variants/bloog/variant.c
./src/mainboard/google/octopus/variants/bobba/variant.c
./src/mainboard/google/octopus/variants/casta/variant.c
./src/mainboard/google/octopus/variants/fleex/variant.c
./src/mainboard/google/octopus/variants/foob/variant.c
./src/mainboard/google/octopus/variants/garg/variant.c
./src/mainboard/google/octopus/variants/meep/variant.c
./src/mainboard/google/octopus/variants/phaser/mainboard.c
./src/mainboard/google/peach_pit/mainboard.c
./src/mainboard/google/poppy/spd/empty.spd.hex
./src/mainboard/google/poppy/spd/empty_ddr4.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NBJR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NAMR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBJTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBKTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NVD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCPTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNFAGMLLR-NUD.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16GE-083E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16LY-075F.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G64D8QC-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M64D2PP-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M64D4PQ-107.spd.hex
./src/mainboard/google/poppy/spd/nayna_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF3F30BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF4F40BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QFAFA0CM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A4G165WE-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304ED-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E8E324ED-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304ED-EGCG.spd.hex
./src/mainboard/google/poppy/variants/nami/mainboard.c
./src/mainboard/google/poppy/romstage.c
./src/mainboard/google/rambi/spd/HT_micron_HTTC4G63CFR-PBA_x16_4Gb.spd.hex
./src/mainboard/google/rambi/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_M471B5674QH0.spd.hex
./src/mainboard/google/rambi/spd/elpida_2GiB_dimm_EDJ4216EFBG-GNL-F.spd.hex
./src/mainboard/google/rambi/spd/empty.spd.hex
./src/mainboard/google/rambi/spd/hynix_1GiB_dimm_H5TC2G63FFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63CFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63MFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/micron_1GiB_dimm_MT41K128M16JT-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125a.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/rambi/spd/samsung_1GiB_dimm_K4B2G1646Q-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/variants/ninja/lan.c
./src/mainboard/google/rambi/variants/sumo/lan.c
./src/mainboard/google/rambi/romstage.c
./src/mainboard/google/reef/variants/coral/mainboard.c
./src/mainboard/google/sarien/variants/arcada/devicetree.cb
./src/mainboard/google/slippy/variants/falco/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Samsung_M471B5674QH0.spd.hex
./src/mainboard/google/slippy/variants/falco/romstage.c
./src/mainboard/google/slippy/variants/leon/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Samsung_K4B4G1646Q.spd.hex
./src/mainboard/google/slippy/variants/leon/romstage.c
./src/mainboard/google/slippy/variants/peppy/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Hynix_HMT425S6CFR6A.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/peppy/romstage.c
./src/mainboard/google/slippy/variants/wolf/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Samsung_K4B4G1646B.spd.hex
./src/mainboard/google/slippy/variants/wolf/romstage.c
./src/mainboard/google/zork/spd/ddr4-spd-1.hex
./src/mainboard/google/zork/spd/ddr4-spd-2.hex
./src/mainboard/google/zork/spd/ddr4-spd-3.hex
./src/mainboard/google/zork/spd/ddr4-spd-4.hex
./src/mainboard/google/zork/spd/ddr4-spd-5.hex
./src/mainboard/google/zork/spd/ddr4-spd-6.hex
./src/mainboard/google/zork/spd/ddr4-spd-7.hex
./src/mainboard/google/zork/spd/ddr4-spd-8.hex
./src/mainboard/google/zork/spd/ddr4-spd-9.hex
./src/mainboard/google/zork/spd/ddr4-spd-empty.hex
./src/mainboard/hp/abm/mptable.c
./src/mainboard/hp/folio_9480m/hda_verb.c
./src/mainboard/hp/pavilion_m6_1035dx/mptable.c
./src/mainboard/hp/snb_ivb_laptops/spd/hynix_4g.spd.hex
./src/mainboard/hp/snb_ivb_laptops/variants/2760p/early_init.c
./src/mainboard/hp/snb_ivb_laptops/variants/8470p/early_init.c
./src/mainboard/hp/snb_ivb_laptops/variants/revolve_810_g1/early_init.c
./src/mainboard/hp/z220_sff_workstation/early_init.c
./src/mainboard/ibase/mb899/cmos.layout
./src/mainboard/ibase/mb899/superio_hwm.c
./src/mainboard/intel/adlrvp/spd/adlrvp_lp4.spd.hex
./src/mainboard/intel/adlrvp/spd/adlrvp_lp5.spd.hex
./src/mainboard/intel/adlrvp/spd/empty.spd.hex
./src/mainboard/intel/adlrvp/memory.c
./src/mainboard/intel/apollolake_rvp/romstage.c
./src/mainboard/intel/coffeelake_rvp/variants/cml_u/hda_verb.c
./src/mainboard/intel/coffeelake_rvp/variants/whl_u/hda_verb.c
./src/mainboard/intel/elkhartlake_crb/spd/ehlcrb.spd.hex
./src/mainboard/intel/elkhartlake_crb/spd/empty.spd.hex
./src/mainboard/intel/glkrvp/romstage.c
./src/mainboard/intel/harcuvar/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex
./src/mainboard/intel/harcuvar/spd/spd.c
./src/mainboard/intel/icelake_rvp/spd/empty.spd.hex
./src/mainboard/intel/icelake_rvp/spd/samsung_K4F6E304HBMGCJ.spd.hex
./src/mainboard/intel/icelake_rvp/variants/baseboard/include/baseboard/hda_verb.h
./src/mainboard/intel/jasperlake_rvp/spd/empty.spd.hex
./src/mainboard/intel/jasperlake_rvp/spd/jslrvp.spd.hex
./src/mainboard/intel/kblrvp/spd/empty.spd.hex
./src/mainboard/intel/kblrvp/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/intel/kblrvp/spd/rvp3.spd.hex
./src/mainboard/intel/kblrvp/variants/rvp11/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp3/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp7/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/Kconfig
./src/mainboard/intel/kunimitsu/spd/empty.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTALAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTALAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/mic_dimm_EDF8132A3MA-JD-F-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E6E304EE-EGCF-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCF-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/spd_util.c
./src/mainboard/intel/leafhill/Kconfig
./src/mainboard/intel/leafhill/romstage.c
./src/mainboard/intel/minnow3/Kconfig
./src/mainboard/intel/minnow3/romstage.c
./src/mainboard/intel/strago/Kconfig
./src/mainboard/intel/tglrvp/spd/Hynix-H9HKNNNEBMAV-4267.spd.hex
./src/mainboard/intel/tglrvp/spd/Micron-MT53D1G64D8SQ-046.spd.hex
./src/mainboard/intel/tglrvp/spd/Samsung-K4UBE3D4AA-MGCL.spd.hex
./src/mainboard/intel/tglrvp/spd/empty.spd.hex
./src/mainboard/intel/tglrvp/variants/tglrvp_up3/devicetree.cb
./src/mainboard/intel/tglrvp/variants/tglrvp_up4/devicetree.cb
./src/mainboard/intel/cannonlake_rvp/spd/empty.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_lpddr4_8GB.spd.hex
./src/mainboard/jetway/nf81-t56n-lf/Kconfig
./src/mainboard/kontron/986lcd-m/cmos.layout
./src/mainboard/kontron/986lcd-m/mainboard.c
./src/mainboard/lenovo/g505s/mptable.c
./src/mainboard/lenovo/s230u/spd/elpida_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_8gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/s230u/early_init.c
./src/mainboard/lenovo/t430s/variants/t431s/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/t430s/variants/t431s/romstage.c
./src/mainboard/lenovo/t440p/hda_verb.c
./src/mainboard/lenovo/x1_carbon_gen1/spd/elpida.spd.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/hynix.spd.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/samsung.spd.hex
./src/mainboard/lenovo/x1_carbon_gen1/early_init.c
./src/mainboard/lenovo/x220/variants/x1/romstage.c
./src/mainboard/lenovo/x220/early_init.c
./src/mainboard/lippert/frontrunner-af/mptable.c
./src/mainboard/msi/ms7707/early_init.c
./src/mainboard/msi/ms7721/mptable.c
./src/mainboard/opencellular/elgon/gbcv2.dts
./src/mainboard/packardbell/ms2290/mainboard.c
./src/mainboard/pcengines/apu1/Kconfig
./src/mainboard/pcengines/apu2/Kconfig
./src/mainboard/portwell/m107/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/portwell/m107/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/portwell/m107/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/protectli/vault_bsw/Kconfig
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/samsung/lumpy/spd/lumpy.spd.hex
./src/mainboard/samsung/lumpy/early_init.c
./src/mainboard/sapphire/pureplatinumh61/early_init.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl1/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl4/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl5/lcd_panel.c
./src/mainboard/siemens/mc_apl1/mainboard.c
./src/mainboard/siemens/mc_apl1/romstage.c
./src/mainboard/system76/lemp9/spd/samsung-K4AAG165WA-BCTD.spd.hex
./src/mainboard/up/squared/romstage.c
./src/northbridge/amd/pi/00630F01/Kconfig
./src/northbridge/amd/pi/00730F01/Kconfig
./src/northbridge/intel/gm45/raminit_rcomp_calibration.c
./src/northbridge/intel/gm45/raminit_read_write_training.c
./src/northbridge/intel/haswell/Kconfig
./src/northbridge/intel/haswell/raminit.c
./src/northbridge/intel/i945/raminit.c
./src/northbridge/intel/ironlake/raminit.c
./src/northbridge/intel/ironlake/raminit_tables.c
./src/northbridge/intel/pineview/raminit.c
./src/northbridge/intel/sandybridge/Kconfig
./src/northbridge/intel/sandybridge/gma.c
./src/northbridge/intel/sandybridge/raminit.c
./src/northbridge/intel/sandybridge/raminit_mrc.c
./src/northbridge/intel/sandybridge/raminit_tables.c
./src/northbridge/intel/x4x/dq_dqs.c
./src/northbridge/intel/x4x/raminit_ddr23.c
./src/northbridge/intel/x4x/raminit_tables.c
./src/security/intel/stm/Kconfig
./src/security/intel/stm/StmPlatformSmm.c
./src/security/intel/txt/Kconfig
./src/security/tpm/tss/tcg-1.2/tss_commands.h
./src/security/vboot/secdata_tpm.c
./src/soc/amd/picasso/Kconfig
./src/soc/amd/picasso/Makefile.inc
./src/soc/amd/picasso/cpu.c
./src/soc/amd/picasso/update_microcode.c
./src/soc/amd/stoneyridge/Kconfig
./src/soc/cavium/cn81xx/Kconfig
./src/soc/cavium/common/rom_clib_s_nbl1fw.bin.hex
./src/soc/cavium/common/rom_csib_s_nbl1fw.bin.hex
./src/soc/intel/apollolake/Kconfig
./src/soc/intel/apollolake/nhlt.c
./src/soc/intel/baytrail/romstage/raminit.c
./src/soc/intel/baytrail/Kconfig
./src/soc/intel/baytrail/acpi.c
./src/soc/intel/baytrail/modphy_table.c
./src/soc/intel/braswell/acpi.c
./src/soc/intel/braswell/gpio.c
./src/soc/intel/broadwell/Kconfig
./src/soc/intel/broadwell/cpu/acpi.c
./src/soc/intel/broadwell/raminit.c
./src/soc/intel/cannonlake/nhlt.c
./src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
./src/soc/intel/common/block/cse/cse_rw_metadata.c
./src/soc/intel/common/mma.c
./src/soc/intel/denverton_ns/acpi.c
./src/soc/intel/denverton_ns/chip.c
./src/soc/intel/jasperlake/spd/lp4x-spd-1.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-2.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-3.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-4.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-5.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-6.hex
./src/soc/intel/jasperlake/spd/lp4x-spd-7.hex
./src/soc/intel/jasperlake/spd/placeholder.spd.hex
./src/soc/intel/quark/romstage/romstage.c
./src/soc/intel/quark/Kconfig
./src/soc/intel/skylake/nhlt/da7219.c
./src/soc/intel/skylake/nhlt/dmic.c
./src/soc/intel/skylake/nhlt/max98357.c
./src/soc/intel/skylake/nhlt/max98373.c
./src/soc/intel/skylake/nhlt/max98927.c
./src/soc/intel/skylake/nhlt/nau88l25.c
./src/soc/intel/skylake/nhlt/rt5514.c
./src/soc/intel/skylake/nhlt/rt5663.c
./src/soc/intel/skylake/nhlt/ssm4567.c
./src/soc/intel/tigerlake/spd/ddr4-spd-1.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-2.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-3.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-4.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-5.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-6.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-7.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-8.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-9.hex
./src/soc/intel/tigerlake/spd/ddr4-spd-empty.hex
./src/soc/intel/tigerlake/spd/lp4x-spd-1.hex
./src/soc/intel/tigerlake/spd/lp4x-spd-2.hex
./src/soc/intel/tigerlake/spd/lp4x-spd-3.hex
./src/soc/intel/tigerlake/spd/lp4x-spd-4.hex
./src/soc/intel/tigerlake/spd/lp4x-spd-5.hex
./src/soc/intel/tigerlake/spd/placeholder.spd.hex
./src/soc/intel/xeon_sp/skx/chip.c
./src/soc/mediatek/mt8183/Kconfig
./src/soc/mediatek/mt8183/spm.c
./src/soc/mediatek/mt8192/Kconfig
./src/soc/mediatek/mt8192/mt6315.c
./src/soc/mediatek/mt8192/mt6359p.c
./src/soc/nvidia/tegra210/Kconfig
./src/soc/nvidia/tegra210/mtc.c
./src/soc/qualcomm/ipq40xx/Kconfig
./src/soc/qualcomm/ipq40xx/lcc.c
./src/soc/qualcomm/ipq806x/Kconfig
./src/soc/qualcomm/ipq806x/blobs_init.c
./src/soc/qualcomm/ipq806x/lcc.c
./src/soc/qualcomm/sc7180/display/dsi_phy.c
./src/soc/samsung/exynos5250/clock.c
./src/soc/samsung/exynos5420/clock.c
./src/southbridge/amd/agesa/hudson/Kconfig
./src/southbridge/amd/cimx/sb800/Kconfig
./src/southbridge/amd/pi/hudson/Kconfig
./src/southbridge/intel/bd82x6x/lpc.c
./src/southbridge/intel/common/firmware/Kconfig
./src/southbridge/intel/i82801ix/dmi_setup.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/ON/F14OnInitEarlyTable.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
./src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
./src/vendorcode/amd/agesa/f14/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnInitEarlyTable.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/cpuF15WheaInitDataTables.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxIntegratedInfoTableTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxLibTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbCacWeightsTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/mptn3.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Tech/DDR3/mtlrdimm3.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbInitEarlyTable.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/cpuF16WheaInitDataTables.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbGfxIntTableV3/GfxLibV3.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Ps/KB/mpkb3.c
./src/vendorcode/amd/cimx/sb800/SATA.c
./src/vendorcode/amd/fsp/picasso/bl_uapp/bl_uapp_end.S
./src/vendorcode/amd/fsp/picasso/bl_uapp/bl_uapp_header.inc
./src/vendorcode/amd/pi/Kconfig
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-8514.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-xfi.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse.c
./src/vendorcode/cavium/bdk/libdram/lib_octeon_shared.c
./src/vendorcode/eltan/security/verified_boot/vboot_check.c
./src/vendorcode/google/chromeos/build-snow.sh
./src/vendorcode/google/chromeos/sar.c
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/IndustryStandard/Tpm12.h
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/Protocol/HiiConfigAccess.h
./src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/IndustryStandard/Tpm12.h
./src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Protocol/HiiConfigAccess.h
./src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Register/Intel/ArchitecturalMsr.h
./src/vendorcode/intel/fsp/fsp2_0/cannonlake/FspmUpd.h
./util/amdtools/example_input/lspci-cb-48G-667MHz-18.2-20090909e
./util/amdtools/example_input/lspci-prop-48G-667MHz-18.2
./util/autoport/readme.md
./util/bincfg/bincfg.lex.c_shipped
./util/bincfg/bincfg.tab.c_shipped
./util/cbfstool/lz4/lib/lz4.c
./util/cbfstool/fit.c
./util/cbfstool/fmd_parser.c_shipped
./util/cbfstool/fmd_scanner.c_shipped
./util/cbfstool/linux_trampoline.c
./util/ifdtool/ifdtool.c
./util/intelmetool/intelmetool.c
./util/kbc1126/kbc1126_ec_dump.c
./util/kconfig/zconf.hash.c_shipped
./util/kconfig/zconf.lex.c_shipped
./util/kconfig/zconf.tab.c_shipped
./util/mma/mma_automated_test.sh
./util/mtkheader/gen-bl-img.py
./util/nvidia/cbootimage/samples/sign.sh
./util/nvidia/cbootimage/src/aes_ref.c
./util/nvramtool/accessors/layout-bin.c
./util/qualcomm/scripts/cmm/debug_cb_common.cmm
./util/qualcomm/scripts/cmm/debug_chroot_common.cmm
./util/qualcomm/createxbl.py
./util/riscv/make-spike-elf.sh
./util/riscv/sifive-gpt.py
./util/rockchip/make_idb.py
./util/sconfig/lex.yy.c_shipped
./util/sconfig/sconfig.tab.c_shipped
./util/spd_tools/ddr4/gen_part_id.go
./util/spd_tools/ddr4/gen_spd.go
./util/spd_tools/lp4x/gen_spd.go
./util/spdtool/spdtool.py
./util/superiotool/fintek.c
./util/superiotool/ite.c
./util/superiotool/nuvoton.c
./util/superiotool/smsc.c
./util/superiotool/winbond.c
./util/xcompile/xcompile
./Makefile.inc
@@ -1,7 +1,7 @@
From d2da9e70f608016c20976623a6ca9916da13e647 Mon Sep 17 00:00:00 2001 From 4c5971a6fcf7e948f7df4d0ce2ab0751060cb2ca Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@retroboot.org> From: Leah Rowe <leah@retroboot.org>
Date: Fri, 19 Mar 2021 05:54:58 +0000 Date: Fri, 19 Mar 2021 05:54:58 +0000
Subject: [PATCH 04/17] apple/macbook21: Set default VRAM to 64MiB instead of Subject: [PATCH 01/18] apple/macbook21: Set default VRAM to 64MiB instead of
8MiB 8MiB
--- ---
@@ -19,5 +19,5 @@ index cf1bc4566e..dc0df3b6d6 100644
-gfx_uma_size=8M -gfx_uma_size=8M
+gfx_uma_size=64M +gfx_uma_size=64M
-- --
2.25.1 2.39.2
@@ -1,128 +0,0 @@
From 91b073efaca57d455e2f25370918b9796cbc1a15 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 13 May 2021 23:52:08 +0100
Subject: [PATCH 01/17] hardcode tianocore revisions, and don't automatically
download
---
Makefile | 2 +-
payloads/external/tianocore/Makefile | 57 ++++++++--------------------
2 files changed, 17 insertions(+), 42 deletions(-)
diff --git a/Makefile b/Makefile
index 02c6288f15..8290b45e89 100644
--- a/Makefile
+++ b/Makefile
@@ -486,7 +486,7 @@ distclean-utils:
$(MAKE) -C util/$(tool) distclean MFLAGS= MAKEFLAGS= ; \
rm -f /util/$(tool)/junit.xml;)
-distclean: clean clean-ctags clean-cscope distclean-payloads distclean-utils
+distclean: clean clean-ctags clean-cscope distclean-utils
rm -f .config .config.old ..config.tmp* .kconfig.d .tmpconfig* .ccwrap .xcompile
rm -rf coreboot-builds coreboot-builds-chromeos
rm -f abuild*.xml junit.xml* util/lint/junit.xml
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 7cd34f1732..3527b7a2ad 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -1,5 +1,8 @@
## SPDX-License-Identifier: GPL-2.0-only
+# This file has been modified for libreboot/osboot/osboot-libre.
+# The tianocore repo/branch/revision has been hardcoded, as have some options
+
# force the shell to bash - the edksetup.sh script doesn't work with dash
export SHELL := env bash
@@ -9,51 +12,31 @@ project_git_repo=https://github.com/mrchromebox/edk2
project_git_branch=coreboot_fb
upstream_git_repo=https://github.com/tianocore/edk2
-ifeq ($(CONFIG_TIANOCORE_UEFIPAYLOAD),y)
-bootloader=UefiPayloadPkg
-logo_pkg=MdeModulePkg
-build_flavor=-D BOOTLOADER=COREBOOT -D PCIE_BASE=$(CONFIG_MMCONF_BASE_ADDRESS) -DPS2_KEYBOARD_ENABLE
-TAG=upstream/master
-else
bootloader=CorebootPayloadPkg
logo_pkg=CorebootPayloadPkg
# STABLE revision is MrChromebox's coreboot framebuffer (coreboot_fb) branch
-TAG=origin/$(project_git_branch)
-endif
-
-ifneq ($(CONFIG_TIANOCORE_REVISION_ID),)
-TAG=$(CONFIG_TIANOCORE_REVISION_ID)
-endif
+TAG=ca08920ded1649921a12105d1959df423733431f
+# above is a commit ID in MrChromebox's coreboot_fb branch
export EDK_TOOLS_PATH=$(project_dir)/BaseTools
-ifeq ($(CONFIG_TIANOCORE_DEBUG),y)
-BUILD_TYPE=DEBUG
-else
BUILD_TYPE=RELEASE
-endif
-ifneq ($(CONFIG_TIANOCORE_USE_8254_TIMER), y)
TIMER=-DUSE_HPET_TIMER
-endif
-TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT)
+# see coreboot 61a3c8a005922d46425c84f847c0ad26e9c3cdca
+# "2 seconds for board with internal display"
+# "5 seconds for board without internal display"
+# libreboot takes the shotgun approach. 5 seconds for all
+TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=5
-ifeq ($(CONFIG_TIANOCORE_COREBOOTPAYLOAD),y)
-ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y)
-ARCH=-a IA32 -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
-else
ARCH=-a IA32 -a X64 -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc
-endif
-else
-ARCH=-a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc
-endif
-BUILD_STR=-q $(ARCH) -t COREBOOT -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
+BUILD_STR=-q $(ARCH) -t COREBOOT -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT)
all: clean build
-$(project_dir):
+download:
echo " Cloning $(project_name) from Git"
git clone --branch $(project_git_branch) $(project_git_repo) $(project_dir); \
cd $(project_dir); \
@@ -76,17 +59,9 @@ update: $(project_dir)
git submodule update --init
checktools:
- echo "Checking uuid-dev..."
- echo "#include <uuid/uuid.h>" > libtest.c
- echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" >> libtest.c
- $(HOSTCC) $(HOSTCCFLAGS) libtest.c -o libtest >/dev/null 2>&1 && echo " found uuid-dev." || \
- ( echo " Not found."; echo "ERROR: please_install uuid-dev (libuuid-devel)"; exit 1 )
- rm -rf libtest.c libtest
- echo "Checking nasm..."
- type nasm > /dev/null 2>&1 && echo " found nasm." || \
- ( echo " Not found."; echo "Error: Please install nasm."; exit 1 )
-
-build: update checktools
+ echo "tianocore tool check disabled"
+
+build: checktools
unset CC; $(MAKE) -C $(project_dir)/BaseTools
echo " build $(project_name) $(TAG)"
if [ -n "$(CONFIG_TIANOCORE_BOOTSPLASH_FILE)" ]; then \
@@ -116,4 +91,4 @@ clean:
distclean:
rm -rf $(project_dir)
-.PHONY: all update checktools config build clean distclean
+.PHONY: all update checktools config build clean distclean download
--
2.25.1
@@ -0,0 +1,68 @@
From ff523fd40649b72512b0f1253701509d83ca4a8d Mon Sep 17 00:00:00 2001
From: Vitali64 <5405891-vitali64yt@users.noreply.gitlab.com>
Date: Wed, 27 Oct 2021 13:36:01 +0200
Subject: [PATCH 02/18] add c3 and clockgen to apple/macbook21
---
src/mainboard/apple/macbook21/Kconfig | 1 +
src/mainboard/apple/macbook21/cstates.c | 13 +++++++++++++
src/mainboard/apple/macbook21/devicetree.cb | 6 ++++++
3 files changed, 20 insertions(+)
diff --git a/src/mainboard/apple/macbook21/Kconfig b/src/mainboard/apple/macbook21/Kconfig
index 5f5ffde588..27377b737c 100644
--- a/src/mainboard/apple/macbook21/Kconfig
+++ b/src/mainboard/apple/macbook21/Kconfig
@@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS
select HAVE_ACPI_TABLES
select HAVE_ACPI_RESUME
select I945_LVDS
+ select DRIVERS_I2C_CK505
config MAINBOARD_DIR
default "apple/macbook21"
diff --git a/src/mainboard/apple/macbook21/cstates.c b/src/mainboard/apple/macbook21/cstates.c
index 13d06f0839..88b8669c61 100644
--- a/src/mainboard/apple/macbook21/cstates.c
+++ b/src/mainboard/apple/macbook21/cstates.c
@@ -29,6 +29,19 @@ static const acpi_cstate_t cst_entries[] = {
.addrh = 0,
}
},
+ {
+ .ctype = 3,
+ .latency = 17,
+ .power = 250,
+ .resource = {
+ .space_id = ACPI_ADDRESS_SPACE_FIXED,
+ .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL,
+ .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT,
+ .access_size = ACPI_ACCESS_SIZE_UNDEFINED,
+ .addrl = 0x20,
+ .addrh = 0,
+ }
+ },
};
int get_cst_entries(const acpi_cstate_t **entries)
diff --git a/src/mainboard/apple/macbook21/devicetree.cb b/src/mainboard/apple/macbook21/devicetree.cb
index dd701da7ed..5587c48d1f 100644
--- a/src/mainboard/apple/macbook21/devicetree.cb
+++ b/src/mainboard/apple/macbook21/devicetree.cb
@@ -100,7 +100,13 @@ chip northbridge/intel/i945
end
device pci 1f.3 on # SMBUS
subsystemid 0x8086 0x7270
+ chip drivers/i2c/ck505
+ register "mask" = "{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }"
+ register "regs" = "{ 0x77, 0x77, 0x2d, 0x00, 0x21, 0x10, 0x3b, 0x06, 0x07, 0x0f, 0xf0, 0x01, 0x1e, 0x7f, 0x80, 0x80, 0x10, 0x08, 0x04, 0x01 }"
+ device i2c 69 on end
+ end
end
+
end
end
end
--
2.39.2
@@ -1,7 +1,7 @@
From 2ca1b655f0421fb9ed971f6e815bdd9dadc61a32 Mon Sep 17 00:00:00 2001 From fe79712702002bf2044227d6c3cef7ae022e3539 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@osboot.org> From: Leah Rowe <leah@osboot.org>
Date: Sun, 3 Jan 2021 03:34:01 +0000 Date: Sun, 3 Jan 2021 03:34:01 +0000
Subject: [PATCH 02/17] lenovo/x60: 64MiB Video RAM changed to default Subject: [PATCH 03/18] lenovo/x60: 64MiB Video RAM changed to default
(previously it was 8MiB) (previously it was 8MiB)
--- ---
@@ -19,5 +19,5 @@ index 5c3576d1f3..88170a1aab 100644
-gfx_uma_size=8M -gfx_uma_size=8M
+gfx_uma_size=64M +gfx_uma_size=64M
-- --
2.25.1 2.39.2
@@ -1,7 +1,7 @@
From 86bf61b803e116e9037d74a1166e64c7b6d85c7a Mon Sep 17 00:00:00 2001 From 79440902866bdafeec651476a5a0e51d42b43b21 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@osboot.org> From: Leah Rowe <leah@osboot.org>
Date: Mon, 22 Feb 2021 22:16:59 +0000 Date: Mon, 22 Feb 2021 22:16:59 +0000
Subject: [PATCH 03/17] lenovo/t60: make 64MiB VRAM the default in cmos.default Subject: [PATCH 04/18] lenovo/t60: make 64MiB VRAM the default in cmos.default
--- ---
src/mainboard/lenovo/t60/cmos.default | 2 +- src/mainboard/lenovo/t60/cmos.default | 2 +-
@@ -18,5 +18,5 @@ index af865f16da..7f03157df7 100644
-gfx_uma_size=8M -gfx_uma_size=8M
+gfx_uma_size=64M +gfx_uma_size=64M
-- --
2.25.1 2.39.2
@@ -1,7 +1,7 @@
From cff1ab192e04ca9c90b03bf4aa74d54db078d4d2 Mon Sep 17 00:00:00 2001 From 73ca2562e77c971c2e581a414dc57b4b9aa544d7 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org> From: Leah Rowe <leah@libreboot.org>
Date: Fri, 14 May 2021 13:10:33 +0100 Date: Fri, 14 May 2021 13:10:33 +0100
Subject: [PATCH 14/17] lenovo/t400: set VRAM to 352MiB VRAM by default Subject: [PATCH 05/18] lenovo/t400: set VRAM to 352MiB VRAM by default
In the past, this caused stability issues so we set it to 256MiB. Nowadays, In the past, this caused stability issues so we set it to 256MiB. Nowadays,
coreboot has fixed the issue preventing this. See: coreboot has fixed the issue preventing this. See:
@@ -23,5 +23,5 @@ index a326e315b1..e74d15d030 100644
-gfx_uma_size=32M -gfx_uma_size=32M
+gfx_uma_size=352M +gfx_uma_size=352M
-- --
2.25.1 2.39.2
@@ -1,46 +0,0 @@
From f0c8276fe364d4773f9f305f2678a0b8e8f84830 Mon Sep 17 00:00:00 2001
From: Idwer Vollering <vidwer@gmail.com>
Date: Sun, 9 May 2021 18:16:26 +0200
Subject: [PATCH 05/17] util/cbfstool: Do not set -D_XOPEN_SOURCE on FreeBSD
Fixes compilation on FreeBSD CURRENT, and possibly other releases.
The compiler, clang, complained about:
util/cbfstool/cbfstool.c:181:40: error: implicit declaration of function 'memmem' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
util/cbfstool/cbfstool.c:181:31: error: incompatible integer to pointer conversion initializing 'struct metadata_hash_anchor *' with an expression of type 'int' [-Werror,-Wint-conversion]
Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Change-Id: I45c02a21709160df44fc8da329f6c4a9bad24478
Reviewed-on: https://review.coreboot.org/c/coreboot/+/53996
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
util/cbfstool/Makefile.inc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/util/cbfstool/Makefile.inc b/util/cbfstool/Makefile.inc
index 5b49fe80ad..47b89e57b0 100644
--- a/util/cbfstool/Makefile.inc
+++ b/util/cbfstool/Makefile.inc
@@ -95,7 +95,6 @@ TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
TOOLCFLAGS += -O2
TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
TOOLCPPFLAGS += -D_BSD_SOURCE -D_SVID_SOURCE # _DEFAULT_SOURCE for older glibc
-TOOLCPPFLAGS += -D_XOPEN_SOURCE=700 # strdup() from string.h
TOOLCPPFLAGS += -D_GNU_SOURCE # memmem() from string.h
TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
TOOLCPPFLAGS += -I$(top)/util/cbfstool
@@ -113,6 +112,10 @@ TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
TOOLLDFLAGS ?=
HOSTCFLAGS += -fms-extensions
+ifneq ($(shell uname -o 2>/dev/null), FreeBSD)
+TOOLCPPFLAGS += -D_XOPEN_SOURCE=700 # strdup() from string.h
+endif
+
ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
TOOLCFLAGS += -mno-ms-bitfields
endif
--
2.25.1
@@ -1,7 +1,7 @@
From 0daea37502732d3cc19404c2be7cb5b7be095456 Mon Sep 17 00:00:00 2001 From badcbb2f07ac0e3d8b53a23e324f709bf93c3dd5 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org> From: Leah Rowe <leah@libreboot.org>
Date: Fri, 14 May 2021 13:11:59 +0100 Date: Fri, 14 May 2021 13:11:59 +0100
Subject: [PATCH 15/17] lenovo/x200: set VRAM to 352MiB by default Subject: [PATCH 06/18] lenovo/x200: set VRAM to 352MiB by default
This fix makes it possible: This fix makes it possible:
https://review.coreboot.org/c/coreboot/+/16831 https://review.coreboot.org/c/coreboot/+/16831
@@ -20,5 +20,5 @@ index bb4323836e..33a6a69f59 100644
-gfx_uma_size=32M -gfx_uma_size=32M
+gfx_uma_size=352M +gfx_uma_size=352M
-- --
2.25.1 2.39.2
@@ -1,35 +0,0 @@
From 8a687e2efd7199a06cd6bdd85fa1a1b17bca53cc Mon Sep 17 00:00:00 2001
From: Martin Roth <martin@coreboot.org>
Date: Mon, 10 May 2021 11:28:45 -0600
Subject: [PATCH 06/17] src/security/intel/stm: Add warning for
non-reproducible build
Because the STM build doesn't use the coreboot toolchain it's not
reproducible. Make sure that's displayed during the build.
Signed-off-by: Martin Roth <martin@coreboot.org>
Change-Id: I3f0101400dc221eca09c928705f30d30492f171f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54020
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
---
src/security/intel/stm/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/security/intel/stm/Makefile b/src/security/intel/stm/Makefile
index 1493869e80..31e5bdd88a 100644
--- a/src/security/intel/stm/Makefile
+++ b/src/security/intel/stm/Makefile
@@ -18,6 +18,8 @@ all: build
build:
echo "STM - Build"
+ echo "-- WARNING: This uses the system toolchain instead of"
+ echo " the coreboot toolchain, so is not reproducible."
cd $(project_dir)/Stm; \
mkdir -p build; \
cd build; \
--
2.25.1
@@ -1,36 +0,0 @@
From 710301b4e80325012e86cdec3c0c4bcca03be551 Mon Sep 17 00:00:00 2001
From: Martin Roth <martin@coreboot.org>
Date: Sun, 9 May 2021 10:26:10 -0600
Subject: [PATCH 07/17] Makefile: Don't run genbuild_h if not doing a build
genbuild_h was being run on every make invocation - clean, distclean,
etc. to get the source date epoch value. This value isn't used unless
a build is being done, so don't run it on non-compile make invocations.
Signed-off-by: Martin Roth <martin@coreboot.org>
Change-Id: I2afc0affc17116e0db849ea968474bc19dbb0ae1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/53997
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 8290b45e89..1e6cca44b3 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,9 @@ COREBOOT_EXPORTS += top src srck obj objutil objk
LANG:=C
LC_ALL:=C
TZ:=UTC0
+ifneq ($(NOCOMPILE),1)
SOURCE_DATE_EPOCH := $(shell $(top)/util/genbuild_h/genbuild_h.sh . | sed -n 's/^.define COREBOOT_BUILD_EPOCH\>.*"\(.*\)".*/\1/p')
+endif
# don't use COREBOOT_EXPORTS to ensure build steps outside the coreboot build system
# are reproducible
export LANG LC_ALL TZ SOURCE_DATE_EPOCH
--
2.25.1
@@ -1,7 +1,7 @@
From 264ea6cfabe553059c888dea09046e6eac393d1b Mon Sep 17 00:00:00 2001 From 59e14decddd3a3d0eb9905196df045e34b7ce035 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org> From: Leah Rowe <leah@libreboot.org>
Date: Fri, 14 May 2021 13:18:26 +0100 Date: Fri, 14 May 2021 13:18:26 +0100
Subject: [PATCH 16/17] gigabyte/ga-g41m-es2l: set VRAM to 352MiB by default Subject: [PATCH 07/18] gigabyte/ga-g41m-es2l: set VRAM to 352MiB by default
--- ---
src/mainboard/gigabyte/ga-g41m-es2l/cmos.default | 2 +- src/mainboard/gigabyte/ga-g41m-es2l/cmos.default | 2 +-
@@ -18,5 +18,5 @@ index 8372032119..3a9a8e2d72 100644
-gfx_uma_size=64M -gfx_uma_size=64M
+gfx_uma_size=352M +gfx_uma_size=352M
-- --
2.25.1 2.39.2
@@ -1,7 +1,7 @@
From a40d461be382e3897b4365f34b5e5872baf72334 Mon Sep 17 00:00:00 2001 From 794e082e64558678fe245c86a2c81b4edc582795 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org> From: Leah Rowe <leah@libreboot.org>
Date: Fri, 14 May 2021 13:21:39 +0100 Date: Fri, 14 May 2021 13:21:39 +0100
Subject: [PATCH 17/17] acer/g43t-am3: set VRAM to 352MiB by default Subject: [PATCH 08/18] acer/g43t-am3: set VRAM to 352MiB by default
--- ---
src/mainboard/acer/g43t-am3/cmos.default | 2 +- src/mainboard/acer/g43t-am3/cmos.default | 2 +-
@@ -18,5 +18,5 @@ index 706f5dd551..98899e8bf5 100644
-gfx_uma_size=64M -gfx_uma_size=64M
+gfx_uma_size=352M +gfx_uma_size=352M
-- --
2.25.1 2.39.2
@@ -1,74 +0,0 @@
From 5c4c5cdc3110bf02b93be9d5eb744235c8f49e33 Mon Sep 17 00:00:00 2001
From: Martin Roth <martin@coreboot.org>
Date: Sun, 9 May 2021 11:44:15 -0600
Subject: [PATCH 08/17] util/genbuild_h: Update IASL location finding code
Update the iasl path finding code to use XGCCPATH if it's set, and to
look for iasl on the path if it's not set and not under util/crossgcc.
On the jenkins builders, iasl is in the path, not in util/crossgcc/xgcc.
On the systems of people who have multiple copies of coreboot, it makes
sense to just have a single copy of the toolchain and define XGCCPATH in
the environment to point to it.
Previously, either of these situations resulted in a warning from the
genbuild_h tool that iasl was not found under util/crossgcc, which was
true, but not particularly relevant, and generated confusion.
If xcompile already existed before make was run, the correct path would
be found, but on an initial build, this check couldn't find iasl.
BUG=None
TEST=Build with iasl in /util/crossgcc/xgcc/bin, in the path and in a
directory pointed to with XGCCPATH.
Signed-off-by: Martin Roth <martin@coreboot.org>
Change-Id: Ic2f8dca0be8bfb54d3c672fab6cf6f005bb394c3
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54001
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
---
util/genbuild_h/genbuild_h.sh | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/util/genbuild_h/genbuild_h.sh b/util/genbuild_h/genbuild_h.sh
index 10ca0c5fa3..c898fb6e3f 100755
--- a/util/genbuild_h/genbuild_h.sh
+++ b/util/genbuild_h/genbuild_h.sh
@@ -5,6 +5,7 @@
DATE=""
GITREV=""
TIMESOURCE=""
+XGCCPATH="${XGCCPATH:-util/crossgcc/xgcc/bin/}"
export LANG=C
export LC_ALL=C
@@ -47,8 +48,15 @@ NetBSD|OpenBSD|DragonFly|FreeBSD|Darwin)
esac
}
-IASL=util/crossgcc/xgcc/bin/iasl
+# Look for IASL in XGCCPATH and xcompile. Unfortunately,
+# xcompile isn't available on the first build.
+# If neither of those gives a valid iasl, check the path.
+IASL="${XGCCPATH}iasl"
eval $(grep ^IASL:= "$XCOMPILE" 2>/dev/null | sed s,:=,=,)
+if [ ! -x "${IASL}" ]; then
+ IASL=$(command -v iasl)
+fi
+IASLVERSION="$(${IASL} -v | grep version | sed 's/.*version //')" >/dev/null
#Print out the information that goes into build.h
printf "/* build system definitions (autogenerated) */\n"
@@ -72,5 +80,5 @@ printf "#define COREBOOT_BUILD_EPOCH \"$(our_date "$DATE" +%s)\"\n"
printf "#define COREBOOT_DMI_DATE \"$(our_date "$DATE" +%m/%d/%Y)\"\n"
printf "\n"
printf "#define COREBOOT_COMPILE_TIME \"$(our_date "$DATE" +%T)\"\n"
-printf "#define ASL_VERSION 0x%d\n" `$IASL -v | grep version | sed 's/.*version //'`
+printf "#define ASL_VERSION 0x%d\n" "${IASLVERSION}"
printf "#endif\n"
--
2.25.1
@@ -0,0 +1,34 @@
From 62121b837771b0b05f6490943ff9f1ccaba45bdb Mon Sep 17 00:00:00 2001
From: persmule <persmule@gmail.com>
Date: Sun, 31 Oct 2021 23:33:26 +0000
Subject: [PATCH 09/18] lenovo/t400: Enable all SATA ports
There are 2 SATA ports on the chassis of t400(s), but at least one dock for
t400 contains a port for (P/S)ATA device, and t400s has a eSATA port on its
chassis, and another one on its dock.
They have to be unmasked via device tree to use.
This patch unmasked all SATA ports found within t400s with factory firmware.
---
src/mainboard/lenovo/t400/devicetree.cb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/lenovo/t400/devicetree.cb b/src/mainboard/lenovo/t400/devicetree.cb
index 1df350ab67..21c8e2c9a1 100644
--- a/src/mainboard/lenovo/t400/devicetree.cb
+++ b/src/mainboard/lenovo/t400/devicetree.cb
@@ -46,8 +46,8 @@ chip northbridge/intel/gm45
register "gpe0_en" = "0x01000000"
register "gpi1_routing" = "2"
- # Set AHCI mode, enable ports 1 and 2.
- register "sata_port_map" = "0x03"
+ # Set AHCI mode, enable ports 1, 2, 5 and 6.
+ register "sata_port_map" = "0x33"
register "sata_clock_request" = "0"
register "sata_traffic_monitor" = "0"
--
2.39.2
@@ -1,54 +0,0 @@
From 86af2659583125b2891ad57bde30a33adff91c03 Mon Sep 17 00:00:00 2001
From: Patrick Georgi <pgeorgi@google.com>
Date: Mon, 10 May 2021 23:34:18 +0200
Subject: [PATCH 09/17] util/crossgcc: Update gmp to 6.2.1
Change-Id: I871942f66e8fc496ebe523fdab539ea20950a202
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54047
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
---
util/crossgcc/buildgcc | 2 +-
...-6.2.0_generic-build.patch => gmp-6.2.1_generic-build.patch} | 0
util/crossgcc/sum/gmp-6.2.0.tar.xz.cksum | 1 -
util/crossgcc/sum/gmp-6.2.1.tar.xz.cksum | 1 +
4 files changed, 2 insertions(+), 2 deletions(-)
rename util/crossgcc/patches/{gmp-6.2.0_generic-build.patch => gmp-6.2.1_generic-build.patch} (100%)
delete mode 100644 util/crossgcc/sum/gmp-6.2.0.tar.xz.cksum
create mode 100644 util/crossgcc/sum/gmp-6.2.1.tar.xz.cksum
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index c947dd45ab..d8f25dbbb8 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -32,7 +32,7 @@ BOOTSTRAP=0
THREADS=1
# GCC toolchain version numbers
-GMP_VERSION=6.2.0
+GMP_VERSION=6.2.1
MPFR_VERSION=4.1.0
MPC_VERSION=1.2.0
GCC_VERSION=8.3.0
diff --git a/util/crossgcc/patches/gmp-6.2.0_generic-build.patch b/util/crossgcc/patches/gmp-6.2.1_generic-build.patch
similarity index 100%
rename from util/crossgcc/patches/gmp-6.2.0_generic-build.patch
rename to util/crossgcc/patches/gmp-6.2.1_generic-build.patch
diff --git a/util/crossgcc/sum/gmp-6.2.0.tar.xz.cksum b/util/crossgcc/sum/gmp-6.2.0.tar.xz.cksum
deleted file mode 100644
index b00b669fe7..0000000000
--- a/util/crossgcc/sum/gmp-6.2.0.tar.xz.cksum
+++ /dev/null
@@ -1 +0,0 @@
-052a5411dc74054240eec58132d2cf41211d0ff6 tarballs/gmp-6.2.0.tar.xz
diff --git a/util/crossgcc/sum/gmp-6.2.1.tar.xz.cksum b/util/crossgcc/sum/gmp-6.2.1.tar.xz.cksum
new file mode 100644
index 0000000000..3ea4232e59
--- /dev/null
+++ b/util/crossgcc/sum/gmp-6.2.1.tar.xz.cksum
@@ -0,0 +1 @@
+0578d48607ec0e272177d175fd1807c30b00fdf2 tarballs/gmp-6.2.1.tar.xz
--
2.25.1
@@ -0,0 +1,22 @@
From 13d95d2bf44e1c950e317e7c6fbbe5d96174c48a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 20 Dec 2021 01:29:31 +0000
Subject: [PATCH 10/18] coreboot: Add Lenovo X230 patch: gfx_uma_size 224M by
default
---
src/mainboard/lenovo/x230/cmos.default | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mainboard/lenovo/x230/cmos.default b/src/mainboard/lenovo/x230/cmos.default
index 7314066c2b..2e315d4521 100644
--- a/src/mainboard/lenovo/x230/cmos.default
+++ b/src/mainboard/lenovo/x230/cmos.default
@@ -16,3 +16,4 @@ backlight=Both
usb_always_on=Disable
f1_to_f12_as_primary=Enable
me_state=Normal
+gfx_uma_size=224M
--
2.39.2
@@ -1,48 +0,0 @@
From b1533d4dca6b9c88f9e0418d5a93dd9a3c4cd7f3 Mon Sep 17 00:00:00 2001
From: Patrick Georgi <pgeorgi@google.com>
Date: Mon, 10 May 2021 23:35:51 +0200
Subject: [PATCH 10/17] util/crossgcc: Update mpc to 1.2.1
Change-Id: Ic1422464d0a95c9cba1c417aaa05e4f1fe799d26
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54048
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
---
util/crossgcc/buildgcc | 2 +-
util/crossgcc/sum/mpc-1.2.0.tar.gz.cksum | 1 -
util/crossgcc/sum/mpc-1.2.1.tar.gz.cksum | 1 +
3 files changed, 2 insertions(+), 2 deletions(-)
delete mode 100644 util/crossgcc/sum/mpc-1.2.0.tar.gz.cksum
create mode 100644 util/crossgcc/sum/mpc-1.2.1.tar.gz.cksum
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index d8f25dbbb8..abe602c821 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -34,7 +34,7 @@ THREADS=1
# GCC toolchain version numbers
GMP_VERSION=6.2.1
MPFR_VERSION=4.1.0
-MPC_VERSION=1.2.0
+MPC_VERSION=1.2.1
GCC_VERSION=8.3.0
GCC_AUTOCONF_VERSION=2.69
BINUTILS_VERSION=2.35.1
diff --git a/util/crossgcc/sum/mpc-1.2.0.tar.gz.cksum b/util/crossgcc/sum/mpc-1.2.0.tar.gz.cksum
deleted file mode 100644
index ed98cc0298..0000000000
--- a/util/crossgcc/sum/mpc-1.2.0.tar.gz.cksum
+++ /dev/null
@@ -1 +0,0 @@
-0abdc94acab0c9bfdaa391347cdfd7bbdb1cf017 tarballs/mpc-1.2.0.tar.gz
diff --git a/util/crossgcc/sum/mpc-1.2.1.tar.gz.cksum b/util/crossgcc/sum/mpc-1.2.1.tar.gz.cksum
new file mode 100644
index 0000000000..84254eb5af
--- /dev/null
+++ b/util/crossgcc/sum/mpc-1.2.1.tar.gz.cksum
@@ -0,0 +1 @@
+2a4919abf445c6eda4e120cd669b8733ce337227 tarballs/mpc-1.2.1.tar.gz
--
2.25.1
@@ -0,0 +1,38 @@
From fa8113f64fe320e0e75f3e53ccfa9037d3bdd074 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 3 Jan 2022 19:06:22 +0000
Subject: [PATCH 11/18] lenovo/x230: set me_state=Disabled in cmos.default
I only recently found out about this. It's possible to use me_cleaner to
do the same thing, but some people might just flash coreboot and not do
anything with the ME region
With this change, the ME is set to disabled. It's my understanding that this
will accomplish more or less the same thing as me_cleaner, without actually
using that. Of course, I still recommend using me_cleaner
I saw this when I audited coreboot's git history, and saw this:
commit 833e9bad4762e0dca6c867d3a18dbaf6d5166be8
Author: Evgeny Zinoviev <me@ch1p.io>
Date: Thu Nov 21 21:47:31 2019 +0300
sb/intel/bd82x6x: Support ME Soft Temporary Disable Mode
---
src/mainboard/lenovo/x230/cmos.default | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/lenovo/x230/cmos.default b/src/mainboard/lenovo/x230/cmos.default
index 2e315d4521..3585cbd58b 100644
--- a/src/mainboard/lenovo/x230/cmos.default
+++ b/src/mainboard/lenovo/x230/cmos.default
@@ -15,5 +15,5 @@ trackpoint=Enable
backlight=Both
usb_always_on=Disable
f1_to_f12_as_primary=Enable
-me_state=Normal
+me_state=Disabled
gfx_uma_size=224M
--
2.39.2
@@ -1,76 +0,0 @@
From 89236c7c44797cd8306d9509552bf0115ffe928a Mon Sep 17 00:00:00 2001
From: Jakub Czapiga <jacz@semihalf.com>
Date: Wed, 28 Apr 2021 16:50:51 +0200
Subject: [PATCH 11/17] tests: Enable config override for tests
Some tests require to change kconfig symbols values to cover the code.
This patch enables one to set these vaues using <test-name>-config
variable.
Example for integer values.
timestamp-test-config += CONFIG_HAVE_MONOTONIC_TIMER=1
Example for string values. Notice escaped quotes.
spd_cache-test-config += CONFIG_SPD_CACHE_FMAP_NAME=\"SPD_CACHE_FMAP_NAME\"
Signed-off-by: Jakub Czapiga <jacz@semihalf.com>
Change-Id: I1aeb78362c2609fbefbfd91c0f58ec19ed258ee1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52937
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
---
tests/Makefile.inc | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/tests/Makefile.inc b/tests/Makefile.inc
index 44e3c69618..cd25e0f809 100644
--- a/tests/Makefile.inc
+++ b/tests/Makefile.inc
@@ -11,7 +11,7 @@ CMAKE:= cmake
TEST_DEFAULT_CONFIG = $(top)/configs/config.emulation_qemu_x86_i440fx
TEST_DOTCONFIG = $(testobj)/.config
-TEST_KCONFIG_AUTOHEADER := $(testobj)/config.h
+TEST_KCONFIG_AUTOHEADER := $(testobj)/config.src.h
TEST_KCONFIG_AUTOCONFIG := $(testobj)/auto.conf
TEST_KCONFIG_DEPENDENCIES := $(testobj)/auto.conf.cmd
TEST_KCONFIG_SPLITCONFIG := $(testobj)/config
@@ -52,7 +52,7 @@ TEST_CFLAGS += -fno-pie -fno-pic
TEST_LDFLAGS += -no-pie
# Extra attributes for unit tests, declared per test
-attributes:= srcs cflags mocks stage
+attributes:= srcs cflags config mocks stage
stages:= decompressor bootblock romstage smm verstage
stages+= ramstage rmodule postcar libagesa
@@ -83,9 +83,23 @@ $(call evaluate_subdirs)
# Create actual targets for unit test binaries
# $1 - test name
define TEST_CC_template
-$($(1)-objs): TEST_CFLAGS+= \
+
+# Generate custom config.h redefining given symbols
+$(1)-config-file := $(obj)/$(1)/config.h
+$$($(1)-config-file): $(TEST_KCONFIG_AUTOHEADER)
+ mkdir -p $$(dir $$@)
+ printf '// File generated by tests/Makefile.inc\n// Do not change\n' > $$@
+ printf '#include <%s>\n\n' "$(notdir $(TEST_KCONFIG_AUTOHEADER))" >> $$@
+ for kv in $$($(1)-config); do \
+ key="`echo $$$$kv | cut -d '=' -f -1`"; \
+ value="`echo $$$$kv | cut -d '=' -f 2-`"; \
+ printf '#undef %s\n' "$$$$key" >> $$@; \
+ printf '#define %s %s\n\n' "$$$$key" "$$$$value" >> $$@; \
+ done
+
+$($(1)-objs): TEST_CFLAGS += -I$$(dir $$($(1)-config-file)) \
-D__$$(shell echo $$($(1)-stage) | tr '[:lower:]' '[:upper:]')__
-$($(1)-objs): $(obj)/$(1)/%.o: $$$$*.c $(TEST_KCONFIG_AUTOHEADER)
+$($(1)-objs): $(obj)/$(1)/%.o: $$$$*.c $$($(1)-config-file)
mkdir -p $$(dir $$@)
$(HOSTCC) $(HOSTCFLAGS) $$(TEST_CFLAGS) $($(1)-cflags) -MMD \
-MT $$@ -c $$< -o $$@
--
2.25.1
@@ -0,0 +1,100 @@
From 4bb3d60a1a1dfb2dac6320cef491a99b728ed25a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Wed, 2 Mar 2022 21:50:01 +0000
Subject: [PATCH 12/18] set me_state=Disabled on all cmos.default files!
yeah. why the hell isn't this the default
---
src/mainboard/lenovo/l520/cmos.default | 2 +-
src/mainboard/lenovo/t420/cmos.default | 2 +-
src/mainboard/lenovo/t420s/cmos.default | 2 +-
src/mainboard/lenovo/t430/cmos.default | 2 +-
src/mainboard/lenovo/t430s/cmos.default | 2 +-
src/mainboard/lenovo/t520/cmos.default | 2 +-
src/mainboard/lenovo/t530/cmos.default | 2 +-
src/mainboard/lenovo/x220/cmos.default | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/mainboard/lenovo/l520/cmos.default b/src/mainboard/lenovo/l520/cmos.default
index 681c40e78b..57cdcf9162 100644
--- a/src/mainboard/lenovo/l520/cmos.default
+++ b/src/mainboard/lenovo/l520/cmos.default
@@ -14,4 +14,4 @@ sticky_fn=Disable
trackpoint=Enable
backlight=Both
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t420/cmos.default b/src/mainboard/lenovo/t420/cmos.default
index 8244071b8a..c011867916 100644
--- a/src/mainboard/lenovo/t420/cmos.default
+++ b/src/mainboard/lenovo/t420/cmos.default
@@ -14,4 +14,4 @@ sticky_fn=Disable
trackpoint=Enable
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t420s/cmos.default b/src/mainboard/lenovo/t420s/cmos.default
index 8244071b8a..c011867916 100644
--- a/src/mainboard/lenovo/t420s/cmos.default
+++ b/src/mainboard/lenovo/t420s/cmos.default
@@ -14,4 +14,4 @@ sticky_fn=Disable
trackpoint=Enable
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t430/cmos.default b/src/mainboard/lenovo/t430/cmos.default
index 26795fe5cf..55e1e6c04e 100644
--- a/src/mainboard/lenovo/t430/cmos.default
+++ b/src/mainboard/lenovo/t430/cmos.default
@@ -15,4 +15,4 @@ trackpoint=Enable
backlight=Both
usb_always_on=Disable
hybrid_graphics_mode=Integrated Only
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t430s/cmos.default b/src/mainboard/lenovo/t430s/cmos.default
index 52dbf70377..b16800ca9e 100644
--- a/src/mainboard/lenovo/t430s/cmos.default
+++ b/src/mainboard/lenovo/t430s/cmos.default
@@ -16,4 +16,4 @@ backlight=Both
enable_dual_graphics=Disable
usb_always_on=Disable
f1_to_f12_as_primary=Enable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t520/cmos.default b/src/mainboard/lenovo/t520/cmos.default
index cf79b391e2..b66f7034dc 100644
--- a/src/mainboard/lenovo/t520/cmos.default
+++ b/src/mainboard/lenovo/t520/cmos.default
@@ -15,4 +15,4 @@ trackpoint=Enable
backlight=Both
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/t530/cmos.default b/src/mainboard/lenovo/t530/cmos.default
index cf79b391e2..b66f7034dc 100644
--- a/src/mainboard/lenovo/t530/cmos.default
+++ b/src/mainboard/lenovo/t530/cmos.default
@@ -15,4 +15,4 @@ trackpoint=Enable
backlight=Both
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
diff --git a/src/mainboard/lenovo/x220/cmos.default b/src/mainboard/lenovo/x220/cmos.default
index 6d1d57a795..52f303dfdb 100644
--- a/src/mainboard/lenovo/x220/cmos.default
+++ b/src/mainboard/lenovo/x220/cmos.default
@@ -13,4 +13,4 @@ usb_always_on=Disable
fn_ctrl_swap=Disable
sticky_fn=Disable
trackpoint=Enable
-me_state=Normal
+me_state=Disabled
--
2.39.2
@@ -1,193 +0,0 @@
From 7413a445b51db0adb9faf1bb21d8f6d2311a35d0 Mon Sep 17 00:00:00 2001
From: Patrick Georgi <pgeorgi@google.com>
Date: Wed, 12 May 2021 14:52:12 +0200
Subject: [PATCH 12/17] src: Match array format in function declarations and
definitions
gcc 11.1 complains when we're passing a type* into a function that was
declared to get a type[], even if the ABI has identical parameter
passing for both.
To prepare for newer compilers, adapt to this added constraint.
Change-Id: I5a1b3824a85a178431177620c4c0d5fddc993b4f
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54094
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
---
src/mainboard/lenovo/t400/romstage.c | 2 +-
src/mainboard/lenovo/x200/romstage.c | 2 +-
src/mainboard/roda/rk9/romstage.c | 2 +-
src/soc/intel/alderlake/espi.c | 2 +-
src/soc/intel/cannonlake/lpc.c | 2 +-
src/soc/intel/elkhartlake/espi.c | 2 +-
src/soc/intel/icelake/espi.c | 2 +-
src/soc/intel/jasperlake/espi.c | 2 +-
src/soc/intel/skylake/lpc.c | 2 +-
src/soc/intel/tigerlake/espi.c | 2 +-
src/soc/intel/xeon_sp/lpc.c | 2 +-
src/vendorcode/mediatek/mt8192/dramc/dramc_top.c | 2 +-
12 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/mainboard/lenovo/t400/romstage.c b/src/mainboard/lenovo/t400/romstage.c
index b4766ed737..aa3462a901 100644
--- a/src/mainboard/lenovo/t400/romstage.c
+++ b/src/mainboard/lenovo/t400/romstage.c
@@ -15,7 +15,7 @@ static void hybrid_graphics_init(sysinfo_t *sysinfo)
sysinfo->enable_peg = peg;
}
-void get_mb_spd_addrmap(u8 *spd_addrmap)
+void get_mb_spd_addrmap(u8 spd_addrmap[4])
{
spd_addrmap[0] = 0x50;
spd_addrmap[2] = 0x51;
diff --git a/src/mainboard/lenovo/x200/romstage.c b/src/mainboard/lenovo/x200/romstage.c
index 46cedfb07f..6764644274 100644
--- a/src/mainboard/lenovo/x200/romstage.c
+++ b/src/mainboard/lenovo/x200/romstage.c
@@ -3,7 +3,7 @@
#include <southbridge/intel/common/gpio.h>
#include <northbridge/intel/gm45/gm45.h>
-void get_mb_spd_addrmap(u8 *spd_addrmap)
+void get_mb_spd_addrmap(u8 spd_addrmap[4])
{
spd_addrmap[0] = 0x50;
spd_addrmap[2] = 0x51;
diff --git a/src/mainboard/roda/rk9/romstage.c b/src/mainboard/roda/rk9/romstage.c
index be8ba5dbb3..dabef34707 100644
--- a/src/mainboard/roda/rk9/romstage.c
+++ b/src/mainboard/roda/rk9/romstage.c
@@ -2,7 +2,7 @@
#include <northbridge/intel/gm45/gm45.h>
-void get_mb_spd_addrmap(u8 *spd_addrmap)
+void get_mb_spd_addrmap(u8 spd_addrmap[4])
{
spd_addrmap[0] = 0x50;
spd_addrmap[2] = 0x52;
diff --git a/src/soc/intel/alderlake/espi.c b/src/soc/intel/alderlake/espi.c
index feec465a92..dd0edcde2c 100644
--- a/src/soc/intel/alderlake/espi.c
+++ b/src/soc/intel/alderlake/espi.c
@@ -20,7 +20,7 @@
#include <soc/pcr_ids.h>
#include <soc/soc_chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/cannonlake/lpc.c b/src/soc/intel/cannonlake/lpc.c
index 20704e5bc6..0e63e0dc97 100644
--- a/src/soc/intel/cannonlake/lpc.c
+++ b/src/soc/intel/cannonlake/lpc.c
@@ -17,7 +17,7 @@
#include "chip.h"
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/elkhartlake/espi.c b/src/soc/intel/elkhartlake/espi.c
index 1737a474ac..46646d8485 100644
--- a/src/soc/intel/elkhartlake/espi.c
+++ b/src/soc/intel/elkhartlake/espi.c
@@ -16,7 +16,7 @@
#include <soc/pcr_ids.h>
#include <soc/soc_chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/icelake/espi.c b/src/soc/intel/icelake/espi.c
index 489fe34223..d634cf8943 100644
--- a/src/soc/intel/icelake/espi.c
+++ b/src/soc/intel/icelake/espi.c
@@ -16,7 +16,7 @@
#include <soc/pcr_ids.h>
#include <soc/soc_chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/jasperlake/espi.c b/src/soc/intel/jasperlake/espi.c
index c3b50de8f0..1d1f94e328 100644
--- a/src/soc/intel/jasperlake/espi.c
+++ b/src/soc/intel/jasperlake/espi.c
@@ -16,7 +16,7 @@
#include <soc/pcr_ids.h>
#include <soc/soc_chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/skylake/lpc.c b/src/soc/intel/skylake/lpc.c
index 5abae765c9..5d38bb8683 100644
--- a/src/soc/intel/skylake/lpc.c
+++ b/src/soc/intel/skylake/lpc.c
@@ -14,7 +14,7 @@
#include "chip.h"
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/tigerlake/espi.c b/src/soc/intel/tigerlake/espi.c
index 8386cd9df1..427867622b 100644
--- a/src/soc/intel/tigerlake/espi.c
+++ b/src/soc/intel/tigerlake/espi.c
@@ -22,7 +22,7 @@
#include <soc/pcr_ids.h>
#include <soc/soc_chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/soc/intel/xeon_sp/lpc.c b/src/soc/intel/xeon_sp/lpc.c
index f0cb6db63d..dad0a4914d 100644
--- a/src/soc/intel/xeon_sp/lpc.c
+++ b/src/soc/intel/xeon_sp/lpc.c
@@ -8,7 +8,7 @@
#include <chip.h>
-void soc_get_gen_io_dec_range(uint32_t *gen_io_dec)
+void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
{
const config_t *config = config_of_soc();
diff --git a/src/vendorcode/mediatek/mt8192/dramc/dramc_top.c b/src/vendorcode/mediatek/mt8192/dramc/dramc_top.c
index 8af6a36851..04fd62a27f 100644
--- a/src/vendorcode/mediatek/mt8192/dramc/dramc_top.c
+++ b/src/vendorcode/mediatek/mt8192/dramc/dramc_top.c
@@ -475,7 +475,7 @@ int get_dram_freq_cnt(void)
#if (FOR_DV_SIMULATION_USED==0)
#if !__FLASH_TOOL_DA__ && !__ETT__
-void get_dram_rank_size(u64 dram_rank_size[DRAMC_MAX_RK])
+void get_dram_rank_size(u64 dram_rank_size[])
{
#ifdef COMBO_MCP
int index, rank_nr, i;
--
2.25.1
@@ -0,0 +1,36 @@
From 52acb9071bda297e9520107a0d0f996e9cba28fb Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 13 Mar 2022 18:04:55 +0000
Subject: [PATCH 13/18] specifically use python3, in scripts
---
src/drivers/intel/fsp2_0/Makefile.inc | 2 +-
util/spdtool/spdtool.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc
index f11ebee102..e4b151b524 100644
--- a/src/drivers/intel/fsp2_0/Makefile.inc
+++ b/src/drivers/intel/fsp2_0/Makefile.inc
@@ -88,7 +88,7 @@ endif
ifeq ($(CONFIG_FSP_FULL_FD),y)
$(obj)/Fsp_M.fd: $(call strip_quotes,$(CONFIG_FSP_FD_PATH)) $(DOTCONFIG)
- python 3rdparty/fsp/Tools/SplitFspBin.py split -f $(CONFIG_FSP_FD_PATH) -o "$(obj)" -n "Fsp.fd"
+ python3 3rdparty/fsp/Tools/SplitFspBin.py split -f $(CONFIG_FSP_FD_PATH) -o "$(obj)" -n "Fsp.fd"
$(obj)/Fsp_S.fd: $(call strip_quotes,$(CONFIG_FSP_FD_PATH)) $(obj)/Fsp_M.fd
true
diff --git a/util/spdtool/spdtool.py b/util/spdtool/spdtool.py
index 89976eac59..2cd7027377 100644
--- a/util/spdtool/spdtool.py
+++ b/util/spdtool/spdtool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# spdtool - Tool for partial deblobbing of UEFI firmware images
# SPDX-License-Identifier: GPL-3.0-or-later
#
--
2.39.2
@@ -1,36 +0,0 @@
From 37589dc0c9c0bb78904b0b2b9aae0ba519eb6e04 Mon Sep 17 00:00:00 2001
From: Patrick Georgi <pgeorgi@google.com>
Date: Wed, 12 May 2021 14:54:49 +0200
Subject: [PATCH 13/17] src/security/tpm: Deal with zero length tlcl writes
While memcpy(foo, bar, 0) should be a no-op, that's hard to prove for a
compiler and so gcc 11.1 complains about the use of an uninitialized
"bar" even though it's harmless in this case.
Change-Id: Idbffa508c2cd68790efbc0b4ab97ae1b4d85ad51
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54095
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jacob Garber <jgarber1@ualberta.ca>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
---
src/security/tpm/tss/tcg-1.2/tss.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/security/tpm/tss/tcg-1.2/tss.c b/src/security/tpm/tss/tcg-1.2/tss.c
index 8b7778ddb2..413b68193f 100644
--- a/src/security/tpm/tss/tcg-1.2/tss.c
+++ b/src/security/tpm/tss/tcg-1.2/tss.c
@@ -215,7 +215,8 @@ uint32_t tlcl_write(uint32_t index, const void *data, uint32_t length)
to_tpm_uint32(cmd.buffer + tpm_nv_write_cmd.index, index);
to_tpm_uint32(cmd.buffer + tpm_nv_write_cmd.length, length);
- memcpy(cmd.buffer + tpm_nv_write_cmd.data, data, length);
+ if (length > 0)
+ memcpy(cmd.buffer + tpm_nv_write_cmd.data, data, length);
return tlcl_send_receive(cmd.buffer, response, sizeof(response));
}
--
2.25.1
@@ -0,0 +1,198 @@
From f60a7e12526ca254b1d98830ad1e31296984e815 Mon Sep 17 00:00:00 2001
From: Alexander Couzens <lynxis@fe80.eu>
Date: Sat, 19 Mar 2022 13:42:33 +0000
Subject: [PATCH 14/18] lenovo/x230: introduce FHD variant
There is a modification for the x230 which uses the 2nd DP from the dock
as the integrated panel's connection, which allows using a custom eDP
panel instead of the stock LVDS display.
There are several adapter boards present on the market and all of them
uses the same method of enabling the custom eDP panel.
To make this work with coreboot, the internal LVDS connector should be
disabled in libgfxinit. The VBT has been modified as well, which allows
brightness controls to work out of the box.
The modifications done to the VBT are:
- Remove the LVDS port entry.
- Move the DP-3 (which is the 2nd DP on the dock) entry to the first
position on the list.
- Set the DP-3 as internally connected.
This has been reported to work with the following panels:
- LP125WF2-SPB4 (1920*1080, 12.5")
- LQ125T1JW02 (2560*1440, 12.5")
- LQ133M1JW21 (1920*1080, 13.3")
- LTN133HL10-201 (1920*1080, 13.3")
- B133HAN04.6 (1920*1080, 13.3")
- B133QAN02.0 (2560*1600, 13.3")
Other eDP panels not on this list should work as well.
Change-Id: I0355d39a61956792e69bccd5274cfc2749d72bf0
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Singer <felixsinger@posteo.net>
---
src/mainboard/lenovo/x230/Kconfig | 15 ++++++++-----
src/mainboard/lenovo/x230/Kconfig.name | 3 +++
src/mainboard/lenovo/x230/Makefile.inc | 5 +++++
.../lenovo/x230/variants/x230_edp/data.vbt | Bin 0 -> 4281 bytes
.../x230/variants/x230_edp/gma-mainboard.ads | 21 ++++++++++++++++++
5 files changed, 38 insertions(+), 6 deletions(-)
create mode 100644 src/mainboard/lenovo/x230/variants/x230_edp/data.vbt
create mode 100644 src/mainboard/lenovo/x230/variants/x230_edp/gma-mainboard.ads
diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig
index f9667267d5..4d8325ea43 100644
--- a/src/mainboard/lenovo/x230/Kconfig
+++ b/src/mainboard/lenovo/x230/Kconfig
@@ -1,4 +1,4 @@
-if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S
+if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S || BOARD_LENOVO_X230_EDP
config BOARD_SPECIFIC_OPTIONS
def_bool y
@@ -11,7 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_PRIMARY_FN_KEYS if BOARD_LENOVO_X230S
select NO_UART_ON_SUPERIO
- select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
+ select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP
select BOARD_ROMSIZE_KB_16384 if BOARD_LENOVO_X230S
select HAVE_ACPI_TABLES
select HAVE_OPTION_TABLE
@@ -20,7 +20,7 @@ config BOARD_SPECIFIC_OPTIONS
select INTEL_INT15
select DRIVERS_RICOH_RCE822
select MEMORY_MAPPED_TPM
- select MAINBOARD_HAS_TPM1 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
+ select MAINBOARD_HAS_TPM1 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP
select MAINBOARD_HAS_LIBGFXINIT
select GFX_GMA_PANEL_1_ON_LVDS if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
select INTEL_GMA_HAVE_VBT
@@ -51,17 +51,20 @@ config MAINBOARD_DIR
default "lenovo/x230"
config VARIANT_DIR
- default "x230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
+ default "x230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP
default "x230s" if BOARD_LENOVO_X230S
config MAINBOARD_PART_NUMBER
- default "ThinkPad X230" if BOARD_LENOVO_X230
+ default "ThinkPad X230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230_EDP
default "ThinkPad X230t" if BOARD_LENOVO_X230T
default "ThinkPad X230s" if BOARD_LENOVO_X230S
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
+config INTEL_GMA_VBT_FILE
+ default "variants/x230_edp/data.vbt" if BOARD_LENOVO_X230_EDP
+
config USBDEBUG_HCD_INDEX
int
default 2
@@ -83,4 +86,4 @@ config PS2M_EISAID
config THINKPADEC_HKEY_EISAID
default "LEN0068"
-endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S
+endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S || BOARD_LENOVO_X230_EDP
diff --git a/src/mainboard/lenovo/x230/Kconfig.name b/src/mainboard/lenovo/x230/Kconfig.name
index 1a01436879..e7290a12dd 100644
--- a/src/mainboard/lenovo/x230/Kconfig.name
+++ b/src/mainboard/lenovo/x230/Kconfig.name
@@ -6,3 +6,6 @@ config BOARD_LENOVO_X230T
config BOARD_LENOVO_X230S
bool "ThinkPad X230s"
+
+config BOARD_LENOVO_X230_EDP
+ bool "ThinkPad X230 eDP Mod (2K/FHD)"
diff --git a/src/mainboard/lenovo/x230/Makefile.inc b/src/mainboard/lenovo/x230/Makefile.inc
index 8e801f145d..6e6f9f90b9 100644
--- a/src/mainboard/lenovo/x230/Makefile.inc
+++ b/src/mainboard/lenovo/x230/Makefile.inc
@@ -5,4 +5,9 @@ bootblock-y += variants/$(VARIANT_DIR)/gpio.c
romstage-y += variants/$(VARIANT_DIR)/early_init.c
romstage-y += variants/$(VARIANT_DIR)/gpio.c
ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c
+
+ifeq ($(CONFIG_BOARD_LENOVO_X230_EDP),y)
+ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += variants/x230_edp/gma-mainboard.ads
+else
ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += variants/$(VARIANT_DIR)/gma-mainboard.ads
+endif
diff --git a/src/mainboard/lenovo/x230/variants/x230_edp/data.vbt b/src/mainboard/lenovo/x230/variants/x230_edp/data.vbt
new file mode 100644
index 0000000000000000000000000000000000000000..13384d45571ff76e592335143d01315e37893186
GIT binary patch
literal 4281
zcmdT`Z)_aZ5&ym0y}P}=-MjTVC6^<yCLz$XvE%h&S*h!)@6LAcg^PXugKH2XcDRE^
zHNiLuN+i^5TbBk=p_5vr0Ri$CB!v1Q6%yhL5TS}%ZG|E}(5mW(6!8It5AdN?tBP`+
zx3_i!7V#AnmCow7GdpkI?0YkBW_RywafYVHi@l}UV$Y$8VyQezRd{&CInDRYR4h$Q
zA08>p6b={56T^4V^SA+LolmX+RUx+79#iSqiP~ars*|P{j#W<|Sw32Qpw?S@B$TK!
zT%y8#_th3_%L^xJRhpi?y+F#XZ5B@+U98gh$p??rmIq1sVr%N_-*;O-QJ>e_m+#Gc
zeSJjvzQO*1!F<1Mj*JdZ9IBMcg_+XCI898^NNKt-Jw1A;SiXxYQxjvQVrgb{#5RMi
z3_rAVdim%B-#tOO;ZDl)3wi>F!IEkCq2;B0R9IZ3DP?n<rfSD)%a7Em`)pG=xClcR
zfQTY3AQJz|BVh>3(8mm!Gbk$bf{?ofjp)+WX;f0xKuMreM_FPop&M`zu|-4&b{lx}
z6dXr%nIN^a1Q1g^?g`SApyQo+We^Ju;y^Soa0Kxp0ExE)gG^{(s5wk=5)@Iwe?zpD
z@%1v$crW@+c=`T;{ewfYIC5a@V7W3iGdp+pJ^l}V_@k99K7NB27i?KEp$JF`50mi@
zjG1XXrseRG7Qw69ek|x~_*Klqd$9}}jBGpu*K}~RX~1KAld;P%uwb}2&iFCo7mQyT
zCSGP-Wc-%#2gY9*A29yLh$l?6F>Yks%;;r&gE7oF#P|+lf$=@YNyZt*<BXp%o@K;N
z;^Rid2d9zA7a?zJayUAk?1cYJsDCEZCq4>N3Nz%%kOxj$xHTH_I6i5-#j$7@-%=}(
z?1954MnX?xAuk79(<<Tf409Fpx$wEsNX+wNp0De7H-87y*XOlHqw#v9f#_UhUAnlg
zi_2(JC*w<@<i}S-iI)}-&;1HW$=_hN&+7=v86dSJ5nbA)_y+kbU2PDFE??VVW9GW>
zSr6;_4gTc~tacpa=As!xD;@CT7xX)U4}W57_`9~2N<i$1-Hq?ZdXRnseAKTSC4vUn
zvU_KR`>pCP65!^@JyGbYMG6B#@{r1i&qF#431THdvdmK?gb!}@x&d86kH8RtSun)L
zMg&qo8p@sxlqPr)H*t1i5Xc8fNK*dW_}wA77I--u)J{nAs;))bo<l6#G>8v<p5gy;
z<c2$V&sxyMI7lIRD=DCSpmMmfaICgCzVKkJ#fR-<sP2F);1(})cA)7k<8|TuBs}RY
zwKp{#FZ7<eJej>k&YfS^jD1^rM=s>0ytuB(<S=kXYsT9eI1^R*2UrsIpx#)DflmYL
zcI2=F|Kw{2>VlIOTx;M223I$qhjl3%0pyLp$ECQ*_^UYE{?(M!zFMP3W9I<gN%(cT
zyvs4>_cUj9w4&M7&s8K0k<cwUM!E2PTu7mct3rr`5sB*7)nZ4R`hWT~<uZuic%Tb%
z5{?q{&YwfGl9W%nBS~{SNhgx-V@b1~q?eQKTGD(wN&iT?re$ukXwY)YmN{$Dqn7)m
zWuCX_HOswZnSZhfw(HvFPMeChJ7b&o+O%T3=WKJ;rZ;W(kGA=)O-9Pirp&!5I+$|r
zNtySj=%*?7xs>@rirz}Oms94I6gg>kPulEG+g%^&e&n+7+xV#SfijjY{5o+C7V}H-
zZs9PGrN7SK-OZ8YGZ>yr(&i#tdss~q`sQ|0&fnIIOUJ;O2*-=b;v=kW?O}6KsoH4P
z0smI&%EQn#cd@w$RZTVP=TtP?l7~|?nRTSIQO2qkgO+Z!=3#T$D-XeMvn68}T3Ey8
zHleye(7mkLXe*JtfA{Q*lj!gc)Wck4IFj|C#q&~HiNmA&>Z|kF4(U<Y;5eIloj)C%
zP4#WvIv2Sie|71?P3)md%>vj%v~DWNT8*x>a2}rST)i~8vd61DwO!2$JZMNNi6hyH
z2d_)6&979w%w$-vyatVrqw??t&t%}iZhDAP3%j_I#cGANdzLq>W;J(F=Xwkxxj%^H
zwQDmn=w}|@-y`RG{*wz0>A(ZGtk~AM=#-fE(LV1uZE98+Nk>UmiyyuJ8?##<Mr{1g
p(B@uj-Va_SU#<T#GXLCvin_ms#}9BYOE7UKDyX7coWuJX{tbC=%boxL
literal 0
HcmV?d00001
diff --git a/src/mainboard/lenovo/x230/variants/x230_edp/gma-mainboard.ads b/src/mainboard/lenovo/x230/variants/x230_edp/gma-mainboard.ads
new file mode 100644
index 0000000000..f7cf0bc264
--- /dev/null
+++ b/src/mainboard/lenovo/x230/variants/x230_edp/gma-mainboard.ads
@@ -0,0 +1,21 @@
+-- SPDX-License-Identifier: GPL-2.0-or-later
+
+with HW.GFX.GMA;
+with HW.GFX.GMA.Display_Probing;
+
+use HW.GFX.GMA;
+use HW.GFX.GMA.Display_Probing;
+
+private package GMA.Mainboard is
+
+ ports : constant Port_List :=
+ (DP1,
+ DP2,
+ DP3,
+ HDMI1,
+ HDMI2,
+ HDMI3,
+ Analog,
+ others => Disabled);
+
+end GMA.Mainboard;
--
2.39.2
@@ -0,0 +1,25 @@
From b8bb450bef9f9a486917115bfe78519838558300 Mon Sep 17 00:00:00 2001
From: Alexei Sorokin <sor.alexei@meowr.ru>
Date: Sun, 27 Nov 2022 18:36:26 +0300
Subject: [PATCH 15/18] lenovo/x230: fix the data.vbt path for the EDP variant
---
src/mainboard/lenovo/x230/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig
index 4d8325ea43..409892f3ab 100644
--- a/src/mainboard/lenovo/x230/Kconfig
+++ b/src/mainboard/lenovo/x230/Kconfig
@@ -63,7 +63,7 @@ config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
config INTEL_GMA_VBT_FILE
- default "variants/x230_edp/data.vbt" if BOARD_LENOVO_X230_EDP
+ default "src/mainboard/\$(MAINBOARDDIR)/variants/x230_edp/data.vbt" if BOARD_LENOVO_X230_EDP
config USBDEBUG_HCD_INDEX
int
--
2.39.2
@@ -0,0 +1,205 @@
From 32a961895ed41cd2bb1f9ae00ab0200c4bfb0bf3 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 19 Feb 2023 18:21:43 +0000
Subject: [PATCH 16/18] util/ifdtool: add --nuke flag (all 0xFF on region)
When this option is used, the region's contents are overwritten
with all ones (0xFF).
Example:
./ifdtool --nuke gbe coreboot.rom
./ifdtool --nuke bios coreboot.com
./ifdtool --nuke me coreboot.com
Rebased since the last revision update in lbmk.
---
util/ifdtool/ifdtool.c | 117 ++++++++++++++++++++++++++++++-----------
1 file changed, 85 insertions(+), 32 deletions(-)
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
index 98afa4bbcf..5509721018 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
@@ -1771,6 +1771,7 @@ static void print_usage(const char *name)
" wbg - Wellsburg\n"
" -S | --setpchstrap Write a PCH strap\n"
" -V | --newvalue The new value to write into PCH strap specified by -S\n"
+ " -N | --nuke <region> Overwrite the specified region with 0xFF (all ones)\n"
" -v | --version: print the version\n"
" -h | --help: print this help\n\n"
"<region> is one of Descriptor, BIOS, ME, GbE, Platform Data, Secondary BIOS, "
@@ -1778,13 +1779,70 @@ static void print_usage(const char *name)
"\n");
}
+static int
+get_region_type_string(const char *region_type_string)
+{
+ if (region_type_string == NULL)
+ return -1;
+ else if (!strcasecmp("Descriptor", region_type_string))
+ region_type = 0;
+ else if (!strcasecmp("BIOS", region_type_string))
+ region_type = 1;
+ else if (!strcasecmp("ME", region_type_string))
+ region_type = 2;
+ else if (!strcasecmp("GbE", region_type_string))
+ region_type = 3;
+ else if (!strcasecmp("Platform Data", region_type_string))
+ region_type = 4;
+ else if (!strcasecmp("Device Exp1", region_type_string))
+ region_type = 5;
+ else if (!strcasecmp("Secondary BIOS", region_type_string))
+ region_type = 6;
+ else if (!strcasecmp("Reserved", region_type_string))
+ region_type = 7;
+ else if (!strcasecmp("EC", region_type_string))
+ region_type = 8;
+ else if (!strcasecmp("Device Exp2", region_type_string))
+ region_type = 9;
+ else if (!strcasecmp("IE", region_type_string))
+ region_type = 10;
+ else if (!strcasecmp("10GbE_0", region_type_string))
+ region_type = 11;
+ else if (!strcasecmp("10GbE_1", region_type_string))
+ region_type = 12;
+ else if (!strcasecmp("PTT", region_type_string))
+ region_type = 15;
+ else
+ return -1;
+}
+
+static void
+nuke(const char *filename, char *image, int size, int region_type)
+{
+ int i;
+ region_t region;
+ const frba_t *frba = find_frba(image, size);
+ if (!frba)
+ exit(EXIT_FAILURE);
+
+ region = get_region(frba, region_type);
+ if (region.size > 0) {
+ for (i = region.base; i <= region.limit; i++) {
+ if ((i + 1) > (size))
+ break;
+ image[i] = 0xFF;
+ }
+ write_image(filename, image, size);
+ }
+}
+
int main(int argc, char *argv[])
{
int opt, option_index = 0;
int mode_dump = 0, mode_extract = 0, mode_inject = 0, mode_spifreq = 0;
int mode_em100 = 0, mode_locked = 0, mode_unlocked = 0, mode_validate = 0;
int mode_layout = 0, mode_newlayout = 0, mode_density = 0, mode_setstrap = 0;
- int mode_read = 0, mode_altmedisable = 0, altmedisable = 0;
+ int mode_read = 0, mode_altmedisable = 0, altmedisable = 0, mode_nuke = 0;
char *region_type_string = NULL, *region_fname = NULL;
const char *layout_fname = NULL;
char *new_filename = NULL;
@@ -1815,6 +1873,7 @@ int main(int argc, char *argv[])
{"validate", 0, NULL, 't'},
{"setpchstrap", 1, NULL, 'S'},
{"newvalue", 1, NULL, 'V'},
+ {"nuke", 1, NULL, 'N'},
{0, 0, 0, 0}
};
@@ -1855,35 +1914,8 @@ int main(int argc, char *argv[])
region_fname++;
// Descriptor, BIOS, ME, GbE, Platform
// valid type?
- if (!strcasecmp("Descriptor", region_type_string))
- region_type = 0;
- else if (!strcasecmp("BIOS", region_type_string))
- region_type = 1;
- else if (!strcasecmp("ME", region_type_string))
- region_type = 2;
- else if (!strcasecmp("GbE", region_type_string))
- region_type = 3;
- else if (!strcasecmp("Platform Data", region_type_string))
- region_type = 4;
- else if (!strcasecmp("Device Exp1", region_type_string))
- region_type = 5;
- else if (!strcasecmp("Secondary BIOS", region_type_string))
- region_type = 6;
- else if (!strcasecmp("Reserved", region_type_string))
- region_type = 7;
- else if (!strcasecmp("EC", region_type_string))
- region_type = 8;
- else if (!strcasecmp("Device Exp2", region_type_string))
- region_type = 9;
- else if (!strcasecmp("IE", region_type_string))
- region_type = 10;
- else if (!strcasecmp("10GbE_0", region_type_string))
- region_type = 11;
- else if (!strcasecmp("10GbE_1", region_type_string))
- region_type = 12;
- else if (!strcasecmp("PTT", region_type_string))
- region_type = 15;
- if (region_type == -1) {
+ if ((region_type =
+ get_region_type_string(region_type_string)) == -1) {
fprintf(stderr, "No such region type: '%s'\n\n",
region_type_string);
print_usage(argv[0]);
@@ -2050,6 +2082,22 @@ int main(int argc, char *argv[])
case 't':
mode_validate = 1;
break;
+ case 'N':
+ region_type_string = strdup(optarg);
+ if (!region_type_string) {
+ fprintf(stderr, "No region specified\n");
+ print_usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ if ((region_type =
+ get_region_type_string(region_type_string)) == -1) {
+ fprintf(stderr, "No such region type: '%s'\n\n",
+ region_type_string);
+ print_usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ mode_nuke = 1;
+ break;
case 'v':
print_version();
exit(EXIT_SUCCESS);
@@ -2065,7 +2113,7 @@ int main(int argc, char *argv[])
if ((mode_dump + mode_layout + mode_extract + mode_inject + mode_setstrap +
mode_newlayout + (mode_spifreq | mode_em100 | mode_unlocked |
- mode_locked) + mode_altmedisable + mode_validate) > 1) {
+ mode_locked) + mode_altmedisable + mode_validate + mode_nuke) > 1) {
fprintf(stderr, "You may not specify more than one mode.\n\n");
print_usage(argv[0]);
exit(EXIT_FAILURE);
@@ -2073,7 +2121,8 @@ int main(int argc, char *argv[])
if ((mode_dump + mode_layout + mode_extract + mode_inject + mode_setstrap +
mode_newlayout + mode_spifreq + mode_em100 + mode_locked +
- mode_unlocked + mode_density + mode_altmedisable + mode_validate) == 0) {
+ mode_unlocked + mode_density + mode_altmedisable + mode_validate +
+ mode_nuke) == 0) {
fprintf(stderr, "You need to specify a mode.\n\n");
print_usage(argv[0]);
exit(EXIT_FAILURE);
@@ -2171,6 +2220,10 @@ int main(int argc, char *argv[])
write_image(new_filename, image, size);
}
+ if (mode_nuke) {
+ nuke(new_filename, image, size, region_type);
+ }
+
if (mode_altmedisable) {
fpsba_t *fpsba = find_fpsba(image, size);
fmsba_t *fmsba = find_fmsba(image, size);
--
2.39.2
@@ -0,0 +1,65 @@
From 05b8acae9a88b8dd13dd96facca30e4662399053 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 19 Feb 2023 23:20:10 +0000
Subject: [PATCH 17/18] util/ifdtool: fix bad patch
i messed up the "rebase" a few lbmk commits ago
---
util/ifdtool/ifdtool.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
index 5509721018..89feb99536 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
@@ -1785,33 +1785,33 @@ get_region_type_string(const char *region_type_string)
if (region_type_string == NULL)
return -1;
else if (!strcasecmp("Descriptor", region_type_string))
- region_type = 0;
+ return 0;
else if (!strcasecmp("BIOS", region_type_string))
- region_type = 1;
+ return 1;
else if (!strcasecmp("ME", region_type_string))
- region_type = 2;
+ return 2;
else if (!strcasecmp("GbE", region_type_string))
- region_type = 3;
+ return 3;
else if (!strcasecmp("Platform Data", region_type_string))
- region_type = 4;
+ return 4;
else if (!strcasecmp("Device Exp1", region_type_string))
- region_type = 5;
+ return 5;
else if (!strcasecmp("Secondary BIOS", region_type_string))
- region_type = 6;
+ return 6;
else if (!strcasecmp("Reserved", region_type_string))
- region_type = 7;
+ return 7;
else if (!strcasecmp("EC", region_type_string))
- region_type = 8;
+ return 8;
else if (!strcasecmp("Device Exp2", region_type_string))
- region_type = 9;
+ return 9;
else if (!strcasecmp("IE", region_type_string))
- region_type = 10;
+ return 10;
else if (!strcasecmp("10GbE_0", region_type_string))
- region_type = 11;
+ return 11;
else if (!strcasecmp("10GbE_1", region_type_string))
- region_type = 12;
+ return 12;
else if (!strcasecmp("PTT", region_type_string))
- region_type = 15;
+ return 15;
else
return -1;
}
--
2.39.2
@@ -0,0 +1,56 @@
From 30d8dd45ab489bed21398b04bd03a54e08eafaf2 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 4 Mar 2023 23:55:41 +0000
Subject: [PATCH 18/18] ich9m boards: set 256MB VRAM instead
352MB causes some stability issues reported by a few people
---
src/mainboard/acer/g43t-am3/cmos.default | 2 +-
src/mainboard/gigabyte/ga-g41m-es2l/cmos.default | 2 +-
src/mainboard/lenovo/t400/cmos.default | 2 +-
src/mainboard/lenovo/x200/cmos.default | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/mainboard/acer/g43t-am3/cmos.default b/src/mainboard/acer/g43t-am3/cmos.default
index 98899e8bf5..e8b45ea22c 100644
--- a/src/mainboard/acer/g43t-am3/cmos.default
+++ b/src/mainboard/acer/g43t-am3/cmos.default
@@ -3,4 +3,4 @@ debug_level=Debug
power_on_after_fail=Disable
nmi=Enable
sata_mode=AHCI
-gfx_uma_size=352M
+gfx_uma_size=256M
diff --git a/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default b/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
index 3a9a8e2d72..bedad54d2a 100644
--- a/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
+++ b/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
@@ -2,4 +2,4 @@ boot_option=Fallback
debug_level=Debug
power_on_after_fail=Enable
nmi=Enable
-gfx_uma_size=352M
+gfx_uma_size=256M
diff --git a/src/mainboard/lenovo/t400/cmos.default b/src/mainboard/lenovo/t400/cmos.default
index e74d15d030..b907a3e2df 100644
--- a/src/mainboard/lenovo/t400/cmos.default
+++ b/src/mainboard/lenovo/t400/cmos.default
@@ -13,4 +13,4 @@ power_management_beeps=Enable
low_battery_beep=Enable
sata_mode=AHCI
hybrid_graphics_mode=Integrated Only
-gfx_uma_size=352M
+gfx_uma_size=256M
diff --git a/src/mainboard/lenovo/x200/cmos.default b/src/mainboard/lenovo/x200/cmos.default
index 33a6a69f59..458b3f19c5 100644
--- a/src/mainboard/lenovo/x200/cmos.default
+++ b/src/mainboard/lenovo/x200/cmos.default
@@ -12,4 +12,4 @@ sticky_fn=Disable
power_management_beeps=Enable
low_battery_beep=Enable
sata_mode=AHCI
-gfx_uma_size=352M
+gfx_uma_size=256M
--
2.39.2
@@ -1,21 +0,0 @@
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
3rdparty/chromeec/test/legacy_nvmem_dump.h
3rdparty/vboot/tests/futility/data/bios_link_mp.bin
3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
@@ -1,9 +0,0 @@
cbtree="fam15h_rdimm"
romtype="normal"
cbrevision="ad983eeec76ecdb2aff4fb47baeee95ade012225"
arch="x86_64"
payload_grub="n"
payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="n"
payload_tianocore="n"
@@ -1,825 +0,0 @@
./3rdparty/arm-trusted-firmware/docs/design/firmware-design.rst
./3rdparty/arm-trusted-firmware/docs/getting_started/user-guide.rst
./3rdparty/arm-trusted-firmware/drivers/marvell/comphy/phy-comphy-3700.c
./3rdparty/arm-trusted-firmware/drivers/st/pmic/stpmic1.c
./3rdparty/arm-trusted-firmware/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
./3rdparty/arm-trusted-firmware/lib/romlib/gen_combined_bl1_romlib.sh
./3rdparty/arm-trusted-firmware/lib/zlib/crc32.h
./3rdparty/arm-trusted-firmware/lib/zlib/inffixed.h
./3rdparty/arm-trusted-firmware/lib/zlib/inftrees.c
./3rdparty/arm-trusted-firmware/plat/arm/board/fvp/fvp_io_storage.c
./3rdparty/arm-trusted-firmware/plat/arm/css/sgi/sgi_topology.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/hikey/hisi_dvfs.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/platform_def.h
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/poplar_layout.h
./3rdparty/arm-trusted-firmware/plat/intel/soc/agilex/soc/agilex_pinmux.c
./3rdparty/arm-trusted-firmware/plat/intel/soc/stratix10/soc/s10_pinmux.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a70x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a70x0_amc/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a80x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a80x0_mcbin/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
./3rdparty/arm-trusted-firmware/plat/qemu/common/qemu_io_storage.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/ddr_rk3368.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/dram/dfs.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/m0/src/startup.c
./3rdparty/arm-trusted-firmware/plat/rpi/common/rpi3_io_storage.c
./3rdparty/arm-trusted-firmware/plat/socionext/synquacer/sq_spm.c
./3rdparty/arm-trusted-firmware/plat/st/stm32mp1/platform.mk
./3rdparty/arm-trusted-firmware/tools/amlogic/doimage.c
./3rdparty/arm-trusted-firmware/tools/fiptool/fiptool.c
./3rdparty/chromeec/board/bloog/board.c
./3rdparty/chromeec/board/coffeecake/board.c
./3rdparty/chromeec/board/cr50/tpm2/ecc.c
./3rdparty/chromeec/board/cr50/tpm2/endorsement.c
./3rdparty/chromeec/board/cr50/tpm2/rsa.c
./3rdparty/chromeec/board/dingdong/board.c
./3rdparty/chromeec/board/flapjack/battery.c
./3rdparty/chromeec/board/hoho/board.c
./3rdparty/chromeec/board/kukui_scp/update_scp
./3rdparty/chromeec/board/meep/board.c
./3rdparty/chromeec/chip/g/dcrypto/bn.c
./3rdparty/chromeec/chip/g/dcrypto/hmac_drbg.c
./3rdparty/chromeec/chip/mchp/util/pack_ec.py
./3rdparty/chromeec/chip/mec1322/util/pack_ec.py
./3rdparty/chromeec/chip/stm32/usb_hid_keyboard.c
./3rdparty/chromeec/chip/stm32/usb_hid_touchpad.c
./3rdparty/chromeec/common/crc.c
./3rdparty/chromeec/common/ctz.c
./3rdparty/chromeec/common/keyboard_8042_sharedlib.c
./3rdparty/chromeec/common/lightbar.c
./3rdparty/chromeec/common/mock/rollback_mock.c
./3rdparty/chromeec/common/sha256.c
./3rdparty/chromeec/core/riscv-rv32i/init.S
./3rdparty/chromeec/driver/als_tcs3400.c
./3rdparty/chromeec/driver/led/lm3509.c
./3rdparty/chromeec/driver/regulator_ir357x.c
./3rdparty/chromeec/driver/touchpad_elan.c
./3rdparty/chromeec/extra/rma_reset/rma_reset.c
./3rdparty/chromeec/extra/touchpad_updater/touchpad_updater.c
./3rdparty/chromeec/extra/usb_updater/fw_update.py
./3rdparty/chromeec/extra/usb_updater/servo_updater.py
./3rdparty/chromeec/fuzz/nvmem_tpm2_mock.c
./3rdparty/chromeec/setup.py
./3rdparty/chromeec/test/aes.c
./3rdparty/chromeec/test/fpsensor.c
./3rdparty/chromeec/test/legacy_nvmem_dump.h
./3rdparty/chromeec/test/nvmem_tpm2_mock.c
./3rdparty/chromeec/test/pinweaver.c
./3rdparty/chromeec/test/rsa2048-3.h
./3rdparty/chromeec/test/rsa2048-F4.h
./3rdparty/chromeec/test/sha256.c
./3rdparty/chromeec/test/test_config.h
./3rdparty/chromeec/test/thermal.c
./3rdparty/chromeec/test/tpm_test/rsa_test.py
./3rdparty/chromeec/test/usb_prl.c
./3rdparty/chromeec/test/x25519.c
./3rdparty/chromeec/third_party/boringssl/common/aes.c
./3rdparty/chromeec/third_party/boringssl/core/cortex-m/aes.S
./3rdparty/chromeec/util/ec_sb_firmware_update.c
./3rdparty/chromeec/util/ectool_keyscan.c
./3rdparty/chromeec/util/flash_ec
./3rdparty/chromeec/util/flash_fp_mcu
./3rdparty/chromeec/util/flash_pd.py
./3rdparty/chromeec/util/signer/create_released_image.sh
./3rdparty/chromeec/util/uut/lib_crc.c
./3rdparty/libgfxinit/common/skylake/hw-gfx-gma-plls-dpll.adb
./3rdparty/opensbi/Makefile
./3rdparty/vboot/cgpt/cgpt_wrapper.c
./3rdparty/vboot/firmware/2lib/2sha256.c
./3rdparty/vboot/firmware/2lib/2sha512.c
./3rdparty/vboot/firmware/lib/cgptlib/crc32.c
./3rdparty/vboot/firmware/lib/tpm_lite/include/tlcl_structures.h
./3rdparty/vboot/futility/cmd_gbb_utility.c
./3rdparty/vboot/futility/file_type_rwsig.c
./3rdparty/vboot/futility/updater.c
./3rdparty/vboot/futility/updater_archive.c
./3rdparty/vboot/scripts/image_signing/make_dev_firmware.sh
./3rdparty/vboot/scripts/image_signing/make_dev_ssd.sh
./3rdparty/vboot/scripts/image_signing/sign_android_image.sh
./3rdparty/vboot/scripts/image_signing/sign_cr50_firmware.sh
./3rdparty/vboot/scripts/image_signing/sign_nv_cbootimage.sh
./3rdparty/vboot/scripts/image_signing/sign_official_build.sh
./3rdparty/vboot/scripts/image_signing/strip_boot_from_image.sh
./3rdparty/vboot/scripts/image_signing/tag_image.sh
./3rdparty/vboot/scripts/image_signing/tofactory.sh
./3rdparty/vboot/tests/cgptlib_test.c
./3rdparty/vboot/tests/crc32_test.c
./3rdparty/vboot/tests/futility/data/bios_link_mp.bin
./3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
./3rdparty/vboot/tests/futility/link_bios.manifest.json
./3rdparty/vboot/tests/futility/link_image.manifest.json
./3rdparty/vboot/tests/futility/models/link/setvars.sh
./3rdparty/vboot/tests/futility/models/peppy/setvars.sh
./3rdparty/vboot/tests/futility/models/whitetip/setvars.sh
./3rdparty/vboot/tests/futility/test_dump_fmap.sh
./3rdparty/vboot/tests/futility/test_file_types.c
./3rdparty/vboot/tests/futility/test_file_types.sh
./3rdparty/vboot/tests/futility/test_rwsig.sh
./3rdparty/vboot/tests/futility/test_sign_firmware.sh
./3rdparty/vboot/tests/futility/test_update.sh
./3rdparty/vboot/tests/gen_preamble_testdata.sh
./3rdparty/vboot/tests/load_kernel_tests.sh
./3rdparty/vboot/tests/rsa_padding_test.h
./3rdparty/vboot/tests/run_vbutil_kernel_arg_tests.sh
./3rdparty/vboot/tests/sha_test_vectors.h
./3rdparty/vboot/tests/testcases/padding_test_vectors.inc
./3rdparty/vboot/tests/tlcl_tests.c
./3rdparty/vboot/tests/vb21_host_misc_tests.c
./3rdparty/vboot/tests/vb2_api_tests.c
./3rdparty/vboot/tests/vb2_sha_tests.c
./3rdparty/vboot/utility/vbutil_what_keys
./Documentation/Intel/SoC/soc.html
./Documentation/releases/coreboot-4.2-relnotes.md
./Documentation/soc/intel/fit.md
./Documentation/tutorial/part1.md
./Documentation/codeflow.svg
./Documentation/hypertransport.svg
./configs/builder/config.lenovo_t420
./configs/builder/config.lenovo_t420s
./configs/builder/config.lenovo_t430s
./configs/builder/config.lenovo_t520
./configs/builder/config.lenovo_t530
./configs/builder/config.lenovo_x220
./configs/builder/config.lenovo_x220i
./configs/builder/config.lenovo_x230
./payloads/external/FILO/Kconfig
./payloads/external/GRUB2/Kconfig
./payloads/external/SeaBIOS/Kconfig
./payloads/external/U-Boot/Kconfig
./payloads/external/Yabits/Kconfig
./payloads/external/depthcharge/Kconfig
./payloads/libpayload/curses/PDCurses/demos/worm.c
./payloads/libpayload/curses/PDCurses/sdl1/deffont.h
./payloads/libpayload/curses/PDCurses/sdl1/deficon.h
./payloads/libpayload/curses/PDCurses/win32/pdckbd.c
./payloads/libpayload/curses/PDCurses/x11/big_icon.xbm
./payloads/libpayload/curses/PDCurses/x11/little_icon.xbm
./payloads/libpayload/curses/pdcurses-backend/pdcdisp.c
./payloads/libpayload/curses/tinycurses.c
./payloads/libpayload/drivers/i8042/keyboard.c
./payloads/libpayload/drivers/usb/usbmsc.c
./payloads/libpayload/tests/cbfs-x86-test.c
./payloads/nvramcui/payload.sh
./payloads/Kconfig
./src/cpu/amd/pi/00730F01/Makefile.inc
./src/cpu/amd/pi/00730F01/microcode_fam16h.c
./src/cpu/amd/pi/00730F01/model_16_init.c
./src/cpu/amd/pi/00730F01/update_microcode.c
./src/cpu/amd/family_10h-family_15h/Makefile.inc
./src/cpu/amd/family_10h-family_15h/init_cpus.c
./src/cpu/amd/family_10h-family_15h/init_cpus.h
./src/cpu/amd/family_10h-family_15h/processor_name.c
./src/cpu/amd/family_10h-family_15h/update_microcode.c
./src/cpu/amd/microcode/microcode.c
./src/cpu/intel/car/non-evict/cache_as_ram.S
./src/cpu/intel/car/p4-netburst/cache_as_ram.S
./src/cpu/intel/haswell/acpi.c
./src/cpu/intel/microcode/Kconfig
./src/cpu/intel/microcode/microcode.c
./src/cpu/intel/microcode/microcode_asm.S
./src/cpu/intel/model_2065x/acpi.c
./src/cpu/intel/model_206ax/acpi.c
./src/cpu/intel/model_65x/model_65x_init.c
./src/cpu/intel/model_67x/model_67x_init.c
./src/cpu/intel/model_68x/model_68x_init.c
./src/cpu/intel/model_6bx/model_6bx_init.c
./src/cpu/intel/model_6xx/model_6xx_init.c
./src/cpu/intel/model_f2x/model_f2x_init.c
./src/cpu/intel/model_f3x/model_f3x_init.c
./src/cpu/intel/fsp_model_406dx/acpi.c
./src/cpu/intel/fsp_model_406dx/bootblock.c
./src/cpu/intel/fsp_model_406dx/model_406dx_init.c
./src/cpu/Kconfig
./src/cpu/Makefile.inc
./src/device/oprom/yabel/interrupt.c
./src/device/Kconfig
./src/drivers/aspeed/common/ast_dram_tables.h
./src/drivers/aspeed/common/ast_tables.h
./src/drivers/i2c/ww_ring/ww_ring_programs.c
./src/drivers/intel/fsp1_1/cache_as_ram.S
./src/drivers/intel/fsp1_1/car.c
./src/drivers/intel/fsp1_1/ramstage.c
./src/drivers/intel/fsp1_1/romstage.c
./src/drivers/intel/fsp1_1/temp_ram_exit.c
./src/drivers/intel/fsp2_0/Kconfig
./src/drivers/intel/gma/opregion.c
./src/drivers/intel/gma/opregion.h
./src/drivers/intel/fsp1_0/fsp_util.c
./src/drivers/pc80/rtc/mc146818rtc.c
./src/drivers/pc80/vga/vga_palette.c
./src/drivers/siemens/nc_fpga/nc_fpga.c
./src/drivers/wifi/Kconfig
./src/drivers/xgi/common/XGI_main.h
./src/drivers/xgi/common/vb_setmode.c
./src/drivers/xgi/common/vb_table.h
./src/ec/hp/kbc1126/Kconfig
./src/include/cpu/amd/microcode.h
./src/include/cpu/intel/microcode.h
./src/include/spd_bin.h
./src/lib/coreboot_table.c
./src/lib/jpeg.c
./src/lib/spd_bin.c
./src/mainboard/amd/gardenia/bootblock/OemCustomize.c
./src/mainboard/amd/inagua/Kconfig
./src/mainboard/amd/olivehill/mptable.c
./src/mainboard/amd/parmer/mptable.c
./src/mainboard/amd/persimmon/Kconfig
./src/mainboard/amd/south_station/Kconfig
./src/mainboard/amd/south_station/mptable.c
./src/mainboard/amd/thatcher/mptable.c
./src/mainboard/amd/union_station/Kconfig
./src/mainboard/amd/union_station/mptable.c
./src/mainboard/amd/bimini_fam10/mptable.c
./src/mainboard/amd/bimini_fam10/romstage.c
./src/mainboard/amd/db-ft3b-lc/Memphis_MEM4G16D3EABG.spd.hex
./src/mainboard/amd/lamar/Kconfig
./src/mainboard/amd/mahogany_fam10/romstage.c
./src/mainboard/amd/olivehillplus/mptable.c
./src/mainboard/amd/serengeti_cheetah_fam10/romstage.c
./src/mainboard/amd/tilapia_fam10/romstage.c
./src/mainboard/apple/macbookair4_2/early_init.c
./src/mainboard/asrock/b75pro3-m/early_init.c
./src/mainboard/asrock/e350m1/mptable.c
./src/mainboard/asrock/imb-a180/mptable.c
./src/mainboard/asus/f2a85-m/mptable.c
./src/mainboard/asus/h61m-cs/early_init.c
./src/mainboard/asus/maximus_iv_gene-z/early_init.c
./src/mainboard/asus/p8h61-m_lx/early_init.c
./src/mainboard/asus/p8h61-m_pro/early_init.c
./src/mainboard/asus/kcma-d8/romstage.c
./src/mainboard/asus/kfsn4-dre/romstage.c
./src/mainboard/asus/kgpe-d16/romstage.c
./src/mainboard/asus/m4a78-em/romstage.c
./src/mainboard/asus/m4a785-m/romstage.c
./src/mainboard/asus/m5a88-v/mptable.c
./src/mainboard/asus/m5a88-v/romstage.c
./src/mainboard/bap/ode_e20XX/BAP_Q7_1066.spd.hex
./src/mainboard/bap/ode_e20XX/BAP_Q7_800.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_1066.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_1333.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_800.spd.hex
./src/mainboard/bap/ode_e21XX/mptable.c
./src/mainboard/biostar/a68n_5200/mptable.c
./src/mainboard/compulab/intense_pc/early_init.c
./src/mainboard/facebook/fbg1701/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/facebook/fbg1701/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/facebook/fbg1701/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/facebook/fbg1701/board_mboot.h
./src/mainboard/facebook/fbg1701/board_verified_boot.c
./src/mainboard/facebook/fbg1701/onboard.h
./src/mainboard/facebook/fbg1701/ramstage.c
./src/mainboard/gigabyte/ga-b75m-d3h/early_init.c
./src/mainboard/gigabyte/ga-h61m-s2pv/early_init.c
./src/mainboard/gigabyte/ma785gm/romstage.c
./src/mainboard/gigabyte/ma785gmt/romstage.c
./src/mainboard/gigabyte/ma78gm/romstage.c
./src/mainboard/gizmosphere/gizmo/mptable.c
./src/mainboard/gizmosphere/gizmo2/Micron_MT41J128M16JT.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/spd.c
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/spd.c
./src/mainboard/google/auron/variants/buddy/variant.c
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Samsung_M471B5674EB0-YK0.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/empty.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/spd.c
./src/mainboard/google/auron/variants/lulu/spd/empty.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_4GiB_dimm_H5TC8G63CMR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_4GiB_dimm_MT41K512M16TNA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_4GiB_dimm_K4B8G1646Q-MYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/spd.c
./src/mainboard/google/auron/variants/samus/spd/elpida_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/empty.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/spd.c
./src/mainboard/google/beltino/lan.c
./src/mainboard/google/butterfly/hda_verb.c
./src/mainboard/google/butterfly/mainboard.c
./src/mainboard/google/cyan/spd/empty.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-GD-F-R.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-JD-F.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF-107WT.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/cyan/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/cyan/spd/nanya_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/spd.c
./src/mainboard/google/cyan/Kconfig
./src/mainboard/google/drallion/spd/empty_ddr4.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KD-062EE.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/drallion/variants/drallion/devicetree.cb
./src/mainboard/google/drallion/variants/drallion/memory.c
./src/mainboard/google/drallion/variants/arcada_cml/devicetree.cb
./src/mainboard/google/eve/spd/empty.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E6E304EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E8E324EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4EBE304EB.spd.hex
./src/mainboard/google/eve/spd/spd.c
./src/mainboard/google/glados/spd/empty.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLGALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/glados/spd/micron_16GiB_dimm_MT52L1G32D4PG.spd.hex
./src/mainboard/google/glados/spd/micron_4GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/glados/spd/micron_8GiB_dimm_MT52L512M32D2PF.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L256M32D1PF-107-1G-1866.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L512M32D2PF-107-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF-1G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/glados/spd/spd.c
./src/mainboard/google/glados/Kconfig
./src/mainboard/google/hatch/spd/16G_2400.spd.hex
./src/mainboard/google/hatch/spd/16G_2666.spd.hex
./src/mainboard/google/hatch/spd/16G_2666_2bg.spd.hex
./src/mainboard/google/hatch/spd/16G_3200.spd.hex
./src/mainboard/google/hatch/spd/16G_3200_4bg.spd.hex
./src/mainboard/google/hatch/spd/4G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2666.spd.hex
./src/mainboard/google/hatch/spd/8G_3200.spd.hex
./src/mainboard/google/hatch/spd/LP_16G_2133.spd.hex
./src/mainboard/google/hatch/spd/LP_8G_2133.spd.hex
./src/mainboard/google/hatch/spd/empty_ddr4.spd.hex
./src/mainboard/google/hatch/variants/dratini/variant.c
./src/mainboard/google/jecht/lan.c
./src/mainboard/google/kahlee/spd/empty.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NAFR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NAMR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16KNR-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16RC-062E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16JY-083E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16LY-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16TB-062E-J.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/kahlee/variants/baseboard/mainboard.c
./src/mainboard/google/kahlee/Kconfig
./src/mainboard/google/link/early_init.c
./src/mainboard/google/link/elpida_4Gb_1600_x16.spd.hex
./src/mainboard/google/link/hda_verb.c
./src/mainboard/google/link/micron_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/link/samsung_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/octopus/variants/bloog/variant.c
./src/mainboard/google/octopus/variants/bobba/variant.c
./src/mainboard/google/octopus/variants/casta/variant.c
./src/mainboard/google/octopus/variants/garg/variant.c
./src/mainboard/google/octopus/variants/meep/variant.c
./src/mainboard/google/octopus/variants/phaser/mainboard.c
./src/mainboard/google/peach_pit/mainboard.c
./src/mainboard/google/poppy/spd/empty.spd.hex
./src/mainboard/google/poppy/spd/empty_ddr4.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NBJR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NAMR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBJTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBKTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NVD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCPTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNFAGMLLR-NUD.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16GE-083E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16LY-075F.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G64D8QC-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M64D2PP-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M64D4PQ-107.spd.hex
./src/mainboard/google/poppy/spd/nayna_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF3F30BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF4F40BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QFAFA0CM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A4G165WE-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304ED-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304ED-EGCG.spd.hex
./src/mainboard/google/poppy/variants/nami/mainboard.c
./src/mainboard/google/poppy/romstage.c
./src/mainboard/google/rambi/spd/HT_micron_HTTC4G63CFR-PBA_x16_4Gb.spd.hex
./src/mainboard/google/rambi/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_M471B5674QH0.spd.hex
./src/mainboard/google/rambi/spd/elpida_2GiB_dimm_EDJ4216EFBG-GNL-F.spd.hex
./src/mainboard/google/rambi/spd/empty.spd.hex
./src/mainboard/google/rambi/spd/hynix_1GiB_dimm_H5TC2G63FFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63CFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63MFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/micron_1GiB_dimm_MT41K128M16JT-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125a.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/rambi/spd/samsung_1GiB_dimm_K4B2G1646Q-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/variants/ninja/lan.c
./src/mainboard/google/rambi/variants/sumo/lan.c
./src/mainboard/google/rambi/romstage.c
./src/mainboard/google/reef/variants/coral/mainboard.c
./src/mainboard/google/sarien/variants/arcada/devicetree.cb
./src/mainboard/google/slippy/variants/falco/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Samsung_M471B5674QH0.spd.hex
./src/mainboard/google/slippy/variants/falco/romstage.c
./src/mainboard/google/slippy/variants/leon/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Samsung_K4B4G1646Q.spd.hex
./src/mainboard/google/slippy/variants/leon/romstage.c
./src/mainboard/google/slippy/variants/peppy/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/peppy/romstage.c
./src/mainboard/google/slippy/variants/wolf/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Samsung_K4B4G1646B.spd.hex
./src/mainboard/google/slippy/variants/wolf/romstage.c
./src/mainboard/google/dragonegg/romstage_fsp_params.c
./src/mainboard/google/dragonegg/spd/Hynix_H9HCNNN8KUMLHR_2GB.spd.hex
./src/mainboard/google/dragonegg/spd/Hynix_H9HCNNNCPMMLHR_4GB.spd.hex
./src/mainboard/google/dragonegg/spd/Micron_MT53E2G32D8QD_8GB.spd.hex
./src/mainboard/google/dragonegg/spd/Micron_MT53E512M32D2NP_2GB.spd.hex
./src/mainboard/hp/abm/mptable.c
./src/mainboard/hp/pavilion_m6_1035dx/mptable.c
./src/mainboard/hp/z220_sff_workstation/early_init.c
./src/mainboard/hp/2760p/early_init.c
./src/mainboard/hp/8470p/early_init.c
./src/mainboard/hp/dl165_g6_fam10/romstage.c
./src/mainboard/hp/revolve_810_g1/early_init.c
./src/mainboard/hp/revolve_810_g1/spd/hynix_4g.spd.hex
./src/mainboard/ibase/mb899/cmos.layout
./src/mainboard/ibase/mb899/superio_hwm.c
./src/mainboard/intel/apollolake_rvp/romstage.c
./src/mainboard/intel/coffeelake_rvp/variants/cml_u/include/variant/hda_verb.h
./src/mainboard/intel/coffeelake_rvp/variants/whl_u/include/variant/hda_verb.h
./src/mainboard/intel/glkrvp/romstage.c
./src/mainboard/intel/harcuvar/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex
./src/mainboard/intel/harcuvar/spd/spd.c
./src/mainboard/intel/icelake_rvp/spd/empty.spd.hex
./src/mainboard/intel/icelake_rvp/spd/samsung_K4F6E304HBMGCJ.spd.hex
./src/mainboard/intel/icelake_rvp/variants/icl_u/include/variant/hda_verb.h
./src/mainboard/intel/icelake_rvp/variants/icl_y/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/spd/empty.spd.hex
./src/mainboard/intel/kblrvp/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/intel/kblrvp/spd/rvp3.spd.hex
./src/mainboard/intel/kblrvp/variants/rvp11/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp3/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp7/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/Kconfig
./src/mainboard/intel/kunimitsu/spd/empty.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTALAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTALAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/mic_dimm_EDF8132A3MA-JD-F-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E6E304EE-EGCF-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCF-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/spd_util.c
./src/mainboard/intel/leafhill/Kconfig
./src/mainboard/intel/leafhill/romstage.c
./src/mainboard/intel/minnow3/Kconfig
./src/mainboard/intel/minnow3/romstage.c
./src/mainboard/intel/strago/Kconfig
./src/mainboard/intel/cannonlake_rvp/spd/empty.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_lpddr4_8GB.spd.hex
./src/mainboard/intel/mohonpeak/Kconfig
./src/mainboard/jetway/nf81-t56n-lf/Kconfig
./src/mainboard/jetway/pa78vm5/romstage.c
./src/mainboard/kontron/986lcd-m/cmos.layout
./src/mainboard/kontron/986lcd-m/mainboard.c
./src/mainboard/lenovo/g505s/mptable.c
./src/mainboard/lenovo/s230u/spd/elpida_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_8gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/s230u/early_init.c
./src/mainboard/lenovo/t430s/variants/t431s/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/t430s/variants/t431s/romstage.c
./src/mainboard/lenovo/x1_carbon_gen1/spd/elpida.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/hynix.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/samsung.hex
./src/mainboard/lenovo/x1_carbon_gen1/early_init.c
./src/mainboard/lenovo/x220/variants/x1/romstage.c
./src/mainboard/lenovo/x220/early_init.c
./src/mainboard/lippert/frontrunner-af/Kconfig
./src/mainboard/lippert/frontrunner-af/mptable.c
./src/mainboard/lippert/toucan-af/Kconfig
./src/mainboard/lippert/toucan-af/mptable.c
./src/mainboard/msi/ms7707/Kconfig
./src/mainboard/msi/ms7707/early_init.c
./src/mainboard/msi/ms7721/mptable.c
./src/mainboard/msi/ms9652_fam10/romstage.c
./src/mainboard/opencellular/elgon/gbcv2.dts
./src/mainboard/packardbell/ms2290/mainboard.c
./src/mainboard/pcengines/apu1/Kconfig
./src/mainboard/pcengines/apu2/Kconfig
./src/mainboard/portwell/m107/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/portwell/m107/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/portwell/m107/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/samsung/lumpy/early_init.c
./src/mainboard/sapphire/pureplatinumh61/early_init.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl1/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl4/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl5/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c
./src/mainboard/siemens/mc_apl1/mainboard.c
./src/mainboard/siemens/mc_apl1/romstage.c
./src/mainboard/siemens/mc_bdx1/mainboard.c
./src/mainboard/siemens/mc_tcu3/lcd_panel.c
./src/mainboard/siemens/mc_tcu3/mainboard.c
./src/mainboard/siemens/mc_tcu3/romstage.c
./src/mainboard/supermicro/h8dmr_fam10/romstage.c
./src/mainboard/supermicro/h8qme_fam10/romstage.c
./src/mainboard/supermicro/h8scm_fam10/romstage.c
./src/mainboard/up/squared/romstage.c
./src/mainboard/adi/rcc-dff/Kconfig
./src/mainboard/advansus/a785e-i/mptable.c
./src/mainboard/advansus/a785e-i/romstage.c
./src/mainboard/avalue/eax-785e/mptable.c
./src/mainboard/avalue/eax-785e/romstage.c
./src/mainboard/iei/kino-780am2-fam10/romstage.c
./src/mainboard/tyan/s2912_fam10/romstage.c
./src/northbridge/amd/pi/00630F01/Kconfig
./src/northbridge/amd/pi/00730F01/Kconfig
./src/northbridge/amd/pi/00660F01/Kconfig
./src/northbridge/amd/amdmct/mct/mctardk3.c
./src/northbridge/amd/amdmct/mct/mctardk4.c
./src/northbridge/amd/amdmct/mct/mcttmrl.c
./src/northbridge/amd/amdmct/mct_ddr3/mcttmrl.c
./src/northbridge/intel/gm45/raminit_rcomp_calibration.c
./src/northbridge/intel/gm45/raminit_read_write_training.c
./src/northbridge/intel/haswell/Kconfig
./src/northbridge/intel/haswell/raminit.c
./src/northbridge/intel/i945/raminit.c
./src/northbridge/intel/pineview/raminit.c
./src/northbridge/intel/sandybridge/Kconfig
./src/northbridge/intel/sandybridge/gma.c
./src/northbridge/intel/sandybridge/raminit.c
./src/northbridge/intel/sandybridge/raminit_mrc.c
./src/northbridge/intel/sandybridge/raminit_patterns.h
./src/northbridge/intel/x4x/dq_dqs.c
./src/northbridge/intel/x4x/raminit_ddr23.c
./src/northbridge/intel/x4x/raminit_tables.c
./src/northbridge/intel/fsp_rangeley/fsp/Kconfig
./src/northbridge/intel/nehalem/raminit.c
./src/northbridge/intel/nehalem/raminit_tables.c
./src/security/intel/txt/Kconfig
./src/security/tpm/tss/tcg-1.2/tss_commands.h
./src/security/vboot/secdata_tpm.c
./src/soc/amd/picasso/Kconfig
./src/soc/amd/stoneyridge/Kconfig
./src/soc/cavium/cn81xx/Kconfig
./src/soc/cavium/common/rom_clib_s_nbl1fw.bin.hex
./src/soc/cavium/common/rom_csib_s_nbl1fw.bin.hex
./src/soc/intel/apollolake/Kconfig
./src/soc/intel/apollolake/nhlt.c
./src/soc/intel/baytrail/bootblock/bootblock.c
./src/soc/intel/baytrail/romstage/raminit.c
./src/soc/intel/baytrail/Kconfig
./src/soc/intel/baytrail/acpi.c
./src/soc/intel/braswell/acpi.c
./src/soc/intel/braswell/gpio.c
./src/soc/intel/broadwell/Kconfig
./src/soc/intel/broadwell/acpi.c
./src/soc/intel/broadwell/romstage/raminit.c
./src/soc/intel/cannonlake/nhlt.c
./src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
./src/soc/intel/common/mma.c
./src/soc/intel/denverton_ns/acpi.c
./src/soc/intel/denverton_ns/chip.c
./src/soc/intel/quark/romstage/romstage.c
./src/soc/intel/quark/Kconfig
./src/soc/intel/skylake/nhlt/da7219.c
./src/soc/intel/skylake/nhlt/dmic.c
./src/soc/intel/skylake/nhlt/max98357.c
./src/soc/intel/skylake/nhlt/max98373.c
./src/soc/intel/skylake/nhlt/max98927.c
./src/soc/intel/skylake/nhlt/nau88l25.c
./src/soc/intel/skylake/nhlt/rt5514.c
./src/soc/intel/skylake/nhlt/rt5663.c
./src/soc/intel/skylake/nhlt/ssm4567.c
./src/soc/intel/fsp_baytrail/Kconfig
./src/soc/intel/fsp_baytrail/acpi.c
./src/soc/intel/fsp_baytrail/bootblock/bootblock.c
./src/soc/intel/fsp_broadwell_de/bootblock/bootblock.c
./src/soc/intel/fsp_broadwell_de/fsp/Kconfig
./src/soc/intel/fsp_broadwell_de/fsp/chipset_fsp_util.c
./src/soc/mediatek/mt8183/spm.c
./src/soc/mediatek/mt8183/sspm.c
./src/soc/nvidia/tegra210/Kconfig
./src/soc/nvidia/tegra210/mtc.c
./src/soc/qualcomm/ipq40xx/Kconfig
./src/soc/qualcomm/ipq40xx/lcc.c
./src/soc/qualcomm/ipq806x/Kconfig
./src/soc/qualcomm/ipq806x/blobs_init.c
./src/soc/qualcomm/ipq806x/lcc.c
./src/soc/samsung/exynos5250/clock.c
./src/soc/samsung/exynos5420/clock.c
./src/southbridge/amd/agesa/hudson/Kconfig
./src/southbridge/amd/cimx/sb800/Kconfig
./src/southbridge/amd/pi/hudson/Kconfig
./src/southbridge/intel/bd82x6x/lpc.c
./src/southbridge/intel/common/firmware/Kconfig
./src/southbridge/intel/i82801ix/dmi_setup.c
./src/southbridge/nvidia/ck804/early_setup_ss.h
./src/southbridge/nvidia/mcp55/early_setup_ss.h
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/ON/F14OnInitEarlyTable.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
./src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
./src/vendorcode/amd/agesa/f14/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnInitEarlyTable.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/cpuF15WheaInitDataTables.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxIntegratedInfoTableTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxLibTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbCacWeightsTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/mptn3.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Tech/DDR3/mtlrdimm3.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbInitEarlyTable.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/cpuF16WheaInitDataTables.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbGfxIntTableV3/GfxLibV3.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Ps/KB/mpkb3.c
./src/vendorcode/amd/cimx/sb800/SATA.c
./src/vendorcode/amd/pi/Kconfig
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-8514.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-xfi.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse.c
./src/vendorcode/cavium/bdk/libdram/lib_octeon_shared.c
./src/vendorcode/eltan/security/verified_boot/vboot_check.c
./src/vendorcode/google/chromeos/build-snow.sh
./src/vendorcode/google/chromeos/sar.c
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/IndustryStandard/Tpm12.h
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/Protocol/HiiConfigAccess.h
./src/vendorcode/intel/fsp/fsp2_0/cannonlake/FspmUpd.h
./src/vendorcode/intel/fsp/fsp2_0/cometlake/FspmUpd.h
./util/amdtools/example_input/lspci-cb-48G-667MHz-18.2-20090909e
./util/amdtools/example_input/lspci-prop-48G-667MHz-18.2
./util/autoport/readme.md
./util/bincfg/bincfg.lex.c_shipped
./util/bincfg/bincfg.tab.c_shipped
./util/cbfstool/lz4/lib/lz4.c
./util/cbfstool/fit.c
./util/cbfstool/fmd_parser.c_shipped
./util/cbfstool/fmd_scanner.c_shipped
./util/cbfstool/linux_trampoline.c
./util/ifdtool/ifdtool.c
./util/intelmetool/intelmetool.c
./util/kbc1126/kbc1126_ec_dump.c
./util/kconfig/zconf.hash.c_shipped
./util/kconfig/zconf.lex.c_shipped
./util/kconfig/zconf.tab.c_shipped
./util/mma/mma_automated_test.sh
./util/mtkheader/gen-bl-img.py
./util/nvidia/cbootimage/samples/sign.sh
./util/nvidia/cbootimage/src/aes_ref.c
./util/nvramtool/accessors/layout-bin.c
./util/qualcomm/scripts/cmm/debug_cb_common.cmm
./util/qualcomm/createxbl.py
./util/riscv/make-spike-elf.sh
./util/riscv/sifive-gpt.py
./util/rockchip/make_idb.py
./util/sconfig/lex.yy.c_shipped
./util/sconfig/sconfig.tab.c_shipped
./util/spdtool/spdtool.py
./util/superiotool/fintek.c
./util/superiotool/ite.c
./util/superiotool/nuvoton.c
./util/superiotool/smsc.c
./util/superiotool/winbond.c
./util/xcompile/xcompile
./util/genprof/genprof.c
./util/romcc/test.sh
./util/romcc/tests/include/linux_console.h
./util/romcc/tests/linux_console.h
./util/romcc/tests/linux_test5.c
./util/romcc/tests/raminit_test6.c
./util/romcc/tests/raminit_test7.c
./util/romcc/tests/simple_test14.c
./util/romcc/tests/simple_test30.c
./util/romcc/tests/simple_test38.c
./util/romcc/tests/simple_test39.c
./util/romcc/tests/simple_test54.c
./util/romcc/tests/simple_test59.c
./util/romcc/tests/simple_test72.c
./util/romcc/tests/simple_test73.c
./Makefile.inc
./deblob-check
@@ -1,38 +0,0 @@
From 7a00638cea41ad939a59fc0e5996959435fbdb7f Mon Sep 17 00:00:00 2001
From: "D.d.P.F. Lombard" <lombard@lombards.xyz>
Date: Sun, 7 Feb 2021 16:40:05 +0100
Subject: [PATCH 3/6] Tweak cmos defaults for KCMA-D8 (for a little speed
boost)
63xx CPUs have the option to use a reduced latency value inside the crossbar.
Setting "experimental_memory_speed_boost=Enable" aparently only has an effect
on 63xx CPUs and may, in certain cases, yield a slight memory bandwidth
increase (according to Timothy Pearson), but maybe it also works for
43xx CPUs.
Setting "l3_cache_partitioning=Enable" will increase performance in certain
situations. See:
https://developer.arm.com/documentation/100453/0401/functional-description/l3-cache/l3-cache-partitioning?lang=en
---
src/mainboard/asus/kcma-d8/cmos.default | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asus/kcma-d8/cmos.default b/src/mainboard/asus/kcma-d8/cmos.default
index 306687157f..4e033d756f 100644
--- a/src/mainboard/asus/kcma-d8/cmos.default
+++ b/src/mainboard/asus/kcma-d8/cmos.default
@@ -21,9 +21,9 @@ sata_ahci_mode=Enable
sata_alpm=Disable
maximum_p_state_limit=0xf
probe_filter=Auto
-l3_cache_partitioning=Disable
+l3_cache_partitioning=Enable
gart=Enable
ehci_async_data_cache=Enable
-experimental_memory_speed_boost=Disable
+experimental_memory_speed_boost=Enable
power_on_after_fail=On
boot_option=Fallback
--
2.25.1
@@ -1,108 +0,0 @@
From 2b1d40b970d9cbbb4f8fe30679e9b6909aa3d99a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 6 May 2021 17:07:06 +0100
Subject: [PATCH 4/6] Do not use microcode updates on AMD platforms
Coreboot is hardcoding the use of microcode updates on some platforms.
Just nuke it from orbit. This is the libre branch of osboot, so microcode must
not be used.
---
src/cpu/Makefile.inc | 52 +------------------
src/cpu/amd/family_10h-family_15h/Kconfig | 1 -
.../amd/family_10h-family_15h/Makefile.inc | 10 +---
3 files changed, 2 insertions(+), 61 deletions(-)
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index b80c30d72b..e7909d32ed 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -14,54 +14,4 @@ $(eval $(call create_class_compiler,cpu_microcode,x86_32))
## Rules for building the microcode blob in CBFS
################################################################################
-ifneq ($(CONFIG_CPU_MICROCODE_MULTIPLE_FILES), y)
-cbfs-files-$(CONFIG_USE_CPU_MICROCODE_CBFS_BINS) += cpu_microcode_blob.bin
-endif
-
-ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER),y)
-cbfs-files-y += cpu_microcode_blob.bin
-cpu_microcode_blob.bin-file = $(objgenerated)/microcode.bin
-
-$(objgenerated)/microcode.bin: $(call strip_quotes,$(CONFIG_CPU_MICROCODE_HEADER_FILES))
- echo " util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin \"$(CONFIG_CPU_MICROCODE_HEADER_FILES)\""
- util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin $(CONFIG_CPU_MICROCODE_HEADER_FILES)
-endif
-
-ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS),y)
-cpu_microcode_bins := $(call strip_quotes,$(CONFIG_CPU_UCODE_BINARIES))
-endif
-# otherwise `cpu_microcode_bins` should be filled by platform makefiles
-
-# We just mash all microcode binaries together into one binary to rule them all.
-# This approach assumes that the microcode binaries are properly padded, and
-# their headers specify the correct size. This works fairly well on isolatied
-# updates, such as Intel and some AMD microcode, but won't work very well if the
-# updates are wrapped in a container, like AMD's microcode update container. If
-# there is only one microcode binary (i.e. one container), then we don't have
-# this issue, and this rule will continue to work.
-$(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins))
- for bin in $(cpu_microcode_bins); do \
- if [ ! -f "$$bin" ]; then \
- echo "Microcode error: $$bin does not exist"; \
- NO_MICROCODE_FILE=1; \
- fi; \
- done; \
- if [ -n "$$NO_MICROCODE_FILE" ]; then \
- if [ -z "$(CONFIG_USE_BLOBS)" ] && [ -n "$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS)" ]; then \
- echo "Try enabling binary-only repository in Kconfig 'General setup' menu."; \
- fi; \
- false; \
- fi
- $(if $^,,false) # fail if no file is given at all
- @printf " MICROCODE $(subst $(obj)/,,$(@))\n"
- @echo $(cpu_microcode_bins)
- cat $^ > $@
-
-cpu_microcode_blob.bin-file ?= $(obj)/cpu_microcode_blob.bin
-cpu_microcode_blob.bin-type := microcode
-
-ifneq ($(CONFIG_CPU_MICROCODE_CBFS_LOC),)
-cpu_microcode_blob.bin-COREBOOT-position := $(CONFIG_CPU_MICROCODE_CBFS_LOC)
-else
-cpu_microcode_blob.bin-align := 16
-endif
+# No microcode permitted in this version of coreboot.
diff --git a/src/cpu/amd/family_10h-family_15h/Kconfig b/src/cpu/amd/family_10h-family_15h/Kconfig
index ad4f5f4ba6..21150ab1a7 100644
--- a/src/cpu/amd/family_10h-family_15h/Kconfig
+++ b/src/cpu/amd/family_10h-family_15h/Kconfig
@@ -8,7 +8,6 @@ config CPU_AMD_MODEL_10XXX
select TSC_SYNC_LFENCE
select UDELAY_LAPIC
select SUPPORT_CPU_UCODE_IN_CBFS
- select CPU_MICROCODE_MULTIPLE_FILES
select CAR_GLOBAL_MIGRATION
if CPU_AMD_MODEL_10XXX
diff --git a/src/cpu/amd/family_10h-family_15h/Makefile.inc b/src/cpu/amd/family_10h-family_15h/Makefile.inc
index 7035323026..e0029f562d 100644
--- a/src/cpu/amd/family_10h-family_15h/Makefile.inc
+++ b/src/cpu/amd/family_10h-family_15h/Makefile.inc
@@ -14,12 +14,4 @@ ramstage-y += ram_calc.c
ramstage-y += monotonic_timer.c
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += powernow_acpi.c
-# Microcode for Family 10h, 11h, 12h, and 14h
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd.bin
-microcode_amd.bin-file := 3rdparty/blobs/cpu/amd/family_10h-family_14h/microcode_amd.bin
-microcode_amd.bin-type := microcode
-
-# Microcode for Family 15h
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd_fam15h.bin
-microcode_amd_fam15h.bin-file := 3rdparty/blobs/cpu/amd/family_15h/microcode_amd_fam15h.bin
-microcode_amd_fam15h.bin-type := microcode
+# Microcode deleted in this version of coreboot.
--
2.25.1
@@ -1,32 +0,0 @@
From f0aac7261e16adc8e61eca7a506ff2de5112be47 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Fri, 7 May 2021 19:43:32 +0100
Subject: [PATCH 6/6] asus/kgpe-d16: enable lc_cache_partitioning and
experimental_memory_speed_boost
This really only benefits 63xx opterons which are less reliable in libreboot due
to lack of CPU microcode updates, but we might aswell enable this anyway.
---
src/mainboard/asus/kgpe-d16/cmos.default | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asus/kgpe-d16/cmos.default b/src/mainboard/asus/kgpe-d16/cmos.default
index 7c496a50d7..8a25620e1d 100644
--- a/src/mainboard/asus/kgpe-d16/cmos.default
+++ b/src/mainboard/asus/kgpe-d16/cmos.default
@@ -21,10 +21,10 @@ sata_ahci_mode=Enable
sata_alpm=Disable
maximum_p_state_limit=0xf
probe_filter=Auto
-l3_cache_partitioning=Disable
+l3_cache_partitioning=Enable
ieee1394_controller=Enable
gart=Enable
ehci_async_data_cache=Enable
-experimental_memory_speed_boost=Disable
+experimental_memory_speed_boost=Enable
power_on_after_fail=On
boot_option=Fallback
--
2.25.1
@@ -1,21 +0,0 @@
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
3rdparty/chromeec/test/legacy_nvmem_dump.h
3rdparty/vboot/tests/futility/data/bios_link_mp.bin
3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
@@ -1,9 +0,0 @@
cbtree="fam15h_udimm"
romtype="normal"
cbrevision="ad983eeec76ecdb2aff4fb47baeee95ade012225"
arch="x86_64"
payload_grub="n"
payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="n"
payload_tianocore="n"
@@ -1,825 +0,0 @@
./3rdparty/arm-trusted-firmware/docs/design/firmware-design.rst
./3rdparty/arm-trusted-firmware/docs/getting_started/user-guide.rst
./3rdparty/arm-trusted-firmware/drivers/marvell/comphy/phy-comphy-3700.c
./3rdparty/arm-trusted-firmware/drivers/st/pmic/stpmic1.c
./3rdparty/arm-trusted-firmware/drivers/staging/renesas/rcar/ddr/ddr_b/boot_init_dram_config.c
./3rdparty/arm-trusted-firmware/lib/romlib/gen_combined_bl1_romlib.sh
./3rdparty/arm-trusted-firmware/lib/zlib/crc32.h
./3rdparty/arm-trusted-firmware/lib/zlib/inffixed.h
./3rdparty/arm-trusted-firmware/lib/zlib/inftrees.c
./3rdparty/arm-trusted-firmware/plat/arm/board/fvp/fvp_io_storage.c
./3rdparty/arm-trusted-firmware/plat/arm/css/sgi/sgi_topology.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/hikey/hisi_dvfs.c
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/platform_def.h
./3rdparty/arm-trusted-firmware/plat/hisilicon/poplar/include/poplar_layout.h
./3rdparty/arm-trusted-firmware/plat/intel/soc/agilex/soc/agilex_pinmux.c
./3rdparty/arm-trusted-firmware/plat/intel/soc/stratix10/soc/s10_pinmux.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a70x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a70x0_amc/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a80x0/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/marvell/a8k/a80x0_mcbin/board/dram_port.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
./3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
./3rdparty/arm-trusted-firmware/plat/qemu/common/qemu_io_storage.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/ddr_rk3368.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/dram/dfs.c
./3rdparty/arm-trusted-firmware/plat/rockchip/rk3399/drivers/m0/src/startup.c
./3rdparty/arm-trusted-firmware/plat/rpi/common/rpi3_io_storage.c
./3rdparty/arm-trusted-firmware/plat/socionext/synquacer/sq_spm.c
./3rdparty/arm-trusted-firmware/plat/st/stm32mp1/platform.mk
./3rdparty/arm-trusted-firmware/tools/amlogic/doimage.c
./3rdparty/arm-trusted-firmware/tools/fiptool/fiptool.c
./3rdparty/chromeec/board/bloog/board.c
./3rdparty/chromeec/board/coffeecake/board.c
./3rdparty/chromeec/board/cr50/tpm2/ecc.c
./3rdparty/chromeec/board/cr50/tpm2/endorsement.c
./3rdparty/chromeec/board/cr50/tpm2/rsa.c
./3rdparty/chromeec/board/dingdong/board.c
./3rdparty/chromeec/board/flapjack/battery.c
./3rdparty/chromeec/board/hoho/board.c
./3rdparty/chromeec/board/kukui_scp/update_scp
./3rdparty/chromeec/board/meep/board.c
./3rdparty/chromeec/chip/g/dcrypto/bn.c
./3rdparty/chromeec/chip/g/dcrypto/hmac_drbg.c
./3rdparty/chromeec/chip/mchp/util/pack_ec.py
./3rdparty/chromeec/chip/mec1322/util/pack_ec.py
./3rdparty/chromeec/chip/stm32/usb_hid_keyboard.c
./3rdparty/chromeec/chip/stm32/usb_hid_touchpad.c
./3rdparty/chromeec/common/crc.c
./3rdparty/chromeec/common/ctz.c
./3rdparty/chromeec/common/keyboard_8042_sharedlib.c
./3rdparty/chromeec/common/lightbar.c
./3rdparty/chromeec/common/mock/rollback_mock.c
./3rdparty/chromeec/common/sha256.c
./3rdparty/chromeec/core/riscv-rv32i/init.S
./3rdparty/chromeec/driver/als_tcs3400.c
./3rdparty/chromeec/driver/led/lm3509.c
./3rdparty/chromeec/driver/regulator_ir357x.c
./3rdparty/chromeec/driver/touchpad_elan.c
./3rdparty/chromeec/extra/rma_reset/rma_reset.c
./3rdparty/chromeec/extra/touchpad_updater/touchpad_updater.c
./3rdparty/chromeec/extra/usb_updater/fw_update.py
./3rdparty/chromeec/extra/usb_updater/servo_updater.py
./3rdparty/chromeec/fuzz/nvmem_tpm2_mock.c
./3rdparty/chromeec/setup.py
./3rdparty/chromeec/test/aes.c
./3rdparty/chromeec/test/fpsensor.c
./3rdparty/chromeec/test/legacy_nvmem_dump.h
./3rdparty/chromeec/test/nvmem_tpm2_mock.c
./3rdparty/chromeec/test/pinweaver.c
./3rdparty/chromeec/test/rsa2048-3.h
./3rdparty/chromeec/test/rsa2048-F4.h
./3rdparty/chromeec/test/sha256.c
./3rdparty/chromeec/test/test_config.h
./3rdparty/chromeec/test/thermal.c
./3rdparty/chromeec/test/tpm_test/rsa_test.py
./3rdparty/chromeec/test/usb_prl.c
./3rdparty/chromeec/test/x25519.c
./3rdparty/chromeec/third_party/boringssl/common/aes.c
./3rdparty/chromeec/third_party/boringssl/core/cortex-m/aes.S
./3rdparty/chromeec/util/ec_sb_firmware_update.c
./3rdparty/chromeec/util/ectool_keyscan.c
./3rdparty/chromeec/util/flash_ec
./3rdparty/chromeec/util/flash_fp_mcu
./3rdparty/chromeec/util/flash_pd.py
./3rdparty/chromeec/util/signer/create_released_image.sh
./3rdparty/chromeec/util/uut/lib_crc.c
./3rdparty/libgfxinit/common/skylake/hw-gfx-gma-plls-dpll.adb
./3rdparty/opensbi/Makefile
./3rdparty/vboot/cgpt/cgpt_wrapper.c
./3rdparty/vboot/firmware/2lib/2sha256.c
./3rdparty/vboot/firmware/2lib/2sha512.c
./3rdparty/vboot/firmware/lib/cgptlib/crc32.c
./3rdparty/vboot/firmware/lib/tpm_lite/include/tlcl_structures.h
./3rdparty/vboot/futility/cmd_gbb_utility.c
./3rdparty/vboot/futility/file_type_rwsig.c
./3rdparty/vboot/futility/updater.c
./3rdparty/vboot/futility/updater_archive.c
./3rdparty/vboot/scripts/image_signing/make_dev_firmware.sh
./3rdparty/vboot/scripts/image_signing/make_dev_ssd.sh
./3rdparty/vboot/scripts/image_signing/sign_android_image.sh
./3rdparty/vboot/scripts/image_signing/sign_cr50_firmware.sh
./3rdparty/vboot/scripts/image_signing/sign_nv_cbootimage.sh
./3rdparty/vboot/scripts/image_signing/sign_official_build.sh
./3rdparty/vboot/scripts/image_signing/strip_boot_from_image.sh
./3rdparty/vboot/scripts/image_signing/tag_image.sh
./3rdparty/vboot/scripts/image_signing/tofactory.sh
./3rdparty/vboot/tests/cgptlib_test.c
./3rdparty/vboot/tests/crc32_test.c
./3rdparty/vboot/tests/futility/data/bios_link_mp.bin
./3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
./3rdparty/vboot/tests/futility/link_bios.manifest.json
./3rdparty/vboot/tests/futility/link_image.manifest.json
./3rdparty/vboot/tests/futility/models/link/setvars.sh
./3rdparty/vboot/tests/futility/models/peppy/setvars.sh
./3rdparty/vboot/tests/futility/models/whitetip/setvars.sh
./3rdparty/vboot/tests/futility/test_dump_fmap.sh
./3rdparty/vboot/tests/futility/test_file_types.c
./3rdparty/vboot/tests/futility/test_file_types.sh
./3rdparty/vboot/tests/futility/test_rwsig.sh
./3rdparty/vboot/tests/futility/test_sign_firmware.sh
./3rdparty/vboot/tests/futility/test_update.sh
./3rdparty/vboot/tests/gen_preamble_testdata.sh
./3rdparty/vboot/tests/load_kernel_tests.sh
./3rdparty/vboot/tests/rsa_padding_test.h
./3rdparty/vboot/tests/run_vbutil_kernel_arg_tests.sh
./3rdparty/vboot/tests/sha_test_vectors.h
./3rdparty/vboot/tests/testcases/padding_test_vectors.inc
./3rdparty/vboot/tests/tlcl_tests.c
./3rdparty/vboot/tests/vb21_host_misc_tests.c
./3rdparty/vboot/tests/vb2_api_tests.c
./3rdparty/vboot/tests/vb2_sha_tests.c
./3rdparty/vboot/utility/vbutil_what_keys
./Documentation/Intel/SoC/soc.html
./Documentation/releases/coreboot-4.2-relnotes.md
./Documentation/soc/intel/fit.md
./Documentation/tutorial/part1.md
./Documentation/codeflow.svg
./Documentation/hypertransport.svg
./configs/builder/config.lenovo_t420
./configs/builder/config.lenovo_t420s
./configs/builder/config.lenovo_t430s
./configs/builder/config.lenovo_t520
./configs/builder/config.lenovo_t530
./configs/builder/config.lenovo_x220
./configs/builder/config.lenovo_x220i
./configs/builder/config.lenovo_x230
./payloads/external/FILO/Kconfig
./payloads/external/GRUB2/Kconfig
./payloads/external/SeaBIOS/Kconfig
./payloads/external/U-Boot/Kconfig
./payloads/external/Yabits/Kconfig
./payloads/external/depthcharge/Kconfig
./payloads/libpayload/curses/PDCurses/demos/worm.c
./payloads/libpayload/curses/PDCurses/sdl1/deffont.h
./payloads/libpayload/curses/PDCurses/sdl1/deficon.h
./payloads/libpayload/curses/PDCurses/win32/pdckbd.c
./payloads/libpayload/curses/PDCurses/x11/big_icon.xbm
./payloads/libpayload/curses/PDCurses/x11/little_icon.xbm
./payloads/libpayload/curses/pdcurses-backend/pdcdisp.c
./payloads/libpayload/curses/tinycurses.c
./payloads/libpayload/drivers/i8042/keyboard.c
./payloads/libpayload/drivers/usb/usbmsc.c
./payloads/libpayload/tests/cbfs-x86-test.c
./payloads/nvramcui/payload.sh
./payloads/Kconfig
./src/cpu/amd/pi/00730F01/Makefile.inc
./src/cpu/amd/pi/00730F01/microcode_fam16h.c
./src/cpu/amd/pi/00730F01/model_16_init.c
./src/cpu/amd/pi/00730F01/update_microcode.c
./src/cpu/amd/family_10h-family_15h/Makefile.inc
./src/cpu/amd/family_10h-family_15h/init_cpus.c
./src/cpu/amd/family_10h-family_15h/init_cpus.h
./src/cpu/amd/family_10h-family_15h/processor_name.c
./src/cpu/amd/family_10h-family_15h/update_microcode.c
./src/cpu/amd/microcode/microcode.c
./src/cpu/intel/car/non-evict/cache_as_ram.S
./src/cpu/intel/car/p4-netburst/cache_as_ram.S
./src/cpu/intel/haswell/acpi.c
./src/cpu/intel/microcode/Kconfig
./src/cpu/intel/microcode/microcode.c
./src/cpu/intel/microcode/microcode_asm.S
./src/cpu/intel/model_2065x/acpi.c
./src/cpu/intel/model_206ax/acpi.c
./src/cpu/intel/model_65x/model_65x_init.c
./src/cpu/intel/model_67x/model_67x_init.c
./src/cpu/intel/model_68x/model_68x_init.c
./src/cpu/intel/model_6bx/model_6bx_init.c
./src/cpu/intel/model_6xx/model_6xx_init.c
./src/cpu/intel/model_f2x/model_f2x_init.c
./src/cpu/intel/model_f3x/model_f3x_init.c
./src/cpu/intel/fsp_model_406dx/acpi.c
./src/cpu/intel/fsp_model_406dx/bootblock.c
./src/cpu/intel/fsp_model_406dx/model_406dx_init.c
./src/cpu/Kconfig
./src/cpu/Makefile.inc
./src/device/oprom/yabel/interrupt.c
./src/device/Kconfig
./src/drivers/aspeed/common/ast_dram_tables.h
./src/drivers/aspeed/common/ast_tables.h
./src/drivers/i2c/ww_ring/ww_ring_programs.c
./src/drivers/intel/fsp1_1/cache_as_ram.S
./src/drivers/intel/fsp1_1/car.c
./src/drivers/intel/fsp1_1/ramstage.c
./src/drivers/intel/fsp1_1/romstage.c
./src/drivers/intel/fsp1_1/temp_ram_exit.c
./src/drivers/intel/fsp2_0/Kconfig
./src/drivers/intel/gma/opregion.c
./src/drivers/intel/gma/opregion.h
./src/drivers/intel/fsp1_0/fsp_util.c
./src/drivers/pc80/rtc/mc146818rtc.c
./src/drivers/pc80/vga/vga_palette.c
./src/drivers/siemens/nc_fpga/nc_fpga.c
./src/drivers/wifi/Kconfig
./src/drivers/xgi/common/XGI_main.h
./src/drivers/xgi/common/vb_setmode.c
./src/drivers/xgi/common/vb_table.h
./src/ec/hp/kbc1126/Kconfig
./src/include/cpu/amd/microcode.h
./src/include/cpu/intel/microcode.h
./src/include/spd_bin.h
./src/lib/coreboot_table.c
./src/lib/jpeg.c
./src/lib/spd_bin.c
./src/mainboard/amd/gardenia/bootblock/OemCustomize.c
./src/mainboard/amd/inagua/Kconfig
./src/mainboard/amd/olivehill/mptable.c
./src/mainboard/amd/parmer/mptable.c
./src/mainboard/amd/persimmon/Kconfig
./src/mainboard/amd/south_station/Kconfig
./src/mainboard/amd/south_station/mptable.c
./src/mainboard/amd/thatcher/mptable.c
./src/mainboard/amd/union_station/Kconfig
./src/mainboard/amd/union_station/mptable.c
./src/mainboard/amd/bimini_fam10/mptable.c
./src/mainboard/amd/bimini_fam10/romstage.c
./src/mainboard/amd/db-ft3b-lc/Memphis_MEM4G16D3EABG.spd.hex
./src/mainboard/amd/lamar/Kconfig
./src/mainboard/amd/mahogany_fam10/romstage.c
./src/mainboard/amd/olivehillplus/mptable.c
./src/mainboard/amd/serengeti_cheetah_fam10/romstage.c
./src/mainboard/amd/tilapia_fam10/romstage.c
./src/mainboard/apple/macbookair4_2/early_init.c
./src/mainboard/asrock/b75pro3-m/early_init.c
./src/mainboard/asrock/e350m1/mptable.c
./src/mainboard/asrock/imb-a180/mptable.c
./src/mainboard/asus/f2a85-m/mptable.c
./src/mainboard/asus/h61m-cs/early_init.c
./src/mainboard/asus/maximus_iv_gene-z/early_init.c
./src/mainboard/asus/p8h61-m_lx/early_init.c
./src/mainboard/asus/p8h61-m_pro/early_init.c
./src/mainboard/asus/kcma-d8/romstage.c
./src/mainboard/asus/kfsn4-dre/romstage.c
./src/mainboard/asus/kgpe-d16/romstage.c
./src/mainboard/asus/m4a78-em/romstage.c
./src/mainboard/asus/m4a785-m/romstage.c
./src/mainboard/asus/m5a88-v/mptable.c
./src/mainboard/asus/m5a88-v/romstage.c
./src/mainboard/bap/ode_e20XX/BAP_Q7_1066.spd.hex
./src/mainboard/bap/ode_e20XX/BAP_Q7_800.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_1066.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_1333.spd.hex
./src/mainboard/bap/ode_e21XX/BAP_Q7_800.spd.hex
./src/mainboard/bap/ode_e21XX/mptable.c
./src/mainboard/biostar/a68n_5200/mptable.c
./src/mainboard/compulab/intense_pc/early_init.c
./src/mainboard/facebook/fbg1701/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/facebook/fbg1701/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/facebook/fbg1701/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/facebook/fbg1701/board_mboot.h
./src/mainboard/facebook/fbg1701/board_verified_boot.c
./src/mainboard/facebook/fbg1701/onboard.h
./src/mainboard/facebook/fbg1701/ramstage.c
./src/mainboard/gigabyte/ga-b75m-d3h/early_init.c
./src/mainboard/gigabyte/ga-h61m-s2pv/early_init.c
./src/mainboard/gigabyte/ma785gm/romstage.c
./src/mainboard/gigabyte/ma785gmt/romstage.c
./src/mainboard/gigabyte/ma78gm/romstage.c
./src/mainboard/gizmosphere/gizmo/mptable.c
./src/mainboard/gizmosphere/gizmo2/Micron_MT41J128M16JT.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_paine/spd/spd.c
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/empty.spd.hex
./src/mainboard/google/auron/variants/auron_yuna/spd/spd.c
./src/mainboard/google/auron/variants/buddy/variant.c
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/Samsung_M471B5674EB0-YK0.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/empty.spd.hex
./src/mainboard/google/auron/variants/gandof/spd/spd.c
./src/mainboard/google/auron/variants/lulu/spd/empty.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/hynix_4GiB_dimm_H5TC8G63CMR-PBA.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/micron_4GiB_dimm_MT41K512M16TNA-125.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/samsung_4GiB_dimm_K4B8G1646Q-MYK0.spd.hex
./src/mainboard/google/auron/variants/lulu/spd/spd.c
./src/mainboard/google/auron/variants/samus/spd/elpida_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/elpida_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/empty.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_16.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/hynix_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_4.spd.hex
./src/mainboard/google/auron/variants/samus/spd/samsung_8.spd.hex
./src/mainboard/google/auron/variants/samus/spd/spd.c
./src/mainboard/google/beltino/lan.c
./src/mainboard/google/butterfly/hda_verb.c
./src/mainboard/google/butterfly/mainboard.c
./src/mainboard/google/cyan/spd/empty.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_2GiB_dimm_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/cyan/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-GD-F-R.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_EDF8132A3MA-JD-F.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF-107WT.spd.hex
./src/mainboard/google/cyan/spd/micron_2GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/cyan/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/cyan/spd/nanya_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_2GiB_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/cyan/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/cyan/spd/spd.c
./src/mainboard/google/cyan/Kconfig
./src/mainboard/google/drallion/spd/empty_ddr4.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/drallion/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KD-062EE.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/drallion/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/drallion/spd/samsung_dimm_K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/drallion/variants/drallion/devicetree.cb
./src/mainboard/google/drallion/variants/drallion/memory.c
./src/mainboard/google/drallion/variants/arcada_cml/devicetree.cb
./src/mainboard/google/eve/spd/empty.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/eve/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E6E304EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4E8E324EB.spd.hex
./src/mainboard/google/eve/spd/samsung_dimm_K4EBE304EB.spd.hex
./src/mainboard/google/eve/spd/spd.c
./src/mainboard/google/glados/spd/empty.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8GTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNN8JTBLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR-NUD.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLGALAR.spd.hex
./src/mainboard/google/glados/spd/hynix_dimm_H9CCNNNCLTMLAR.spd.hex
./src/mainboard/google/glados/spd/micron_16GiB_dimm_MT52L1G32D4PG.spd.hex
./src/mainboard/google/glados/spd/micron_4GiB_dimm_MT52L256M32D1PF.spd.hex
./src/mainboard/google/glados/spd/micron_8GiB_dimm_MT52L512M32D2PF.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L256M32D1PF-107-1G-1866.spd.hex
./src/mainboard/google/glados/spd/micron_dimm_MT52L512M32D2PF-107-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF-2G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E6E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E304EE-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF-1G-1866.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCF.spd.hex
./src/mainboard/google/glados/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/glados/spd/spd.c
./src/mainboard/google/glados/Kconfig
./src/mainboard/google/hatch/spd/16G_2400.spd.hex
./src/mainboard/google/hatch/spd/16G_2666.spd.hex
./src/mainboard/google/hatch/spd/16G_2666_2bg.spd.hex
./src/mainboard/google/hatch/spd/16G_3200.spd.hex
./src/mainboard/google/hatch/spd/16G_3200_4bg.spd.hex
./src/mainboard/google/hatch/spd/4G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2400.spd.hex
./src/mainboard/google/hatch/spd/8G_2666.spd.hex
./src/mainboard/google/hatch/spd/8G_3200.spd.hex
./src/mainboard/google/hatch/spd/LP_16G_2133.spd.hex
./src/mainboard/google/hatch/spd/LP_8G_2133.spd.hex
./src/mainboard/google/hatch/spd/empty_ddr4.spd.hex
./src/mainboard/google/hatch/variants/dratini/variant.c
./src/mainboard/google/jecht/lan.c
./src/mainboard/google/kahlee/spd/empty.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NAFR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5AN8G6NCJR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NAMR-UH.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/kahlee/spd/hynix-H5ANAG6NCMR-XNC.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16KNR-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A1G16RC-062E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16JY-083E-B.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16LY-075-E.spd.hex
./src/mainboard/google/kahlee/spd/micron-MT40A512M16TB-062E-J.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4A8G165WC-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCTD.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WA-BCWE.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/kahlee/spd/samsung-K4AAG165WB-MCTD.spd.hex
./src/mainboard/google/kahlee/variants/baseboard/mainboard.c
./src/mainboard/google/kahlee/Kconfig
./src/mainboard/google/link/early_init.c
./src/mainboard/google/link/elpida_4Gb_1600_x16.spd.hex
./src/mainboard/google/link/hda_verb.c
./src/mainboard/google/link/micron_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/link/samsung_4Gb_1600_1.35v_x16.spd.hex
./src/mainboard/google/octopus/variants/bloog/variant.c
./src/mainboard/google/octopus/variants/bobba/variant.c
./src/mainboard/google/octopus/variants/casta/variant.c
./src/mainboard/google/octopus/variants/garg/variant.c
./src/mainboard/google/octopus/variants/meep/variant.c
./src/mainboard/google/octopus/variants/phaser/mainboard.c
./src/mainboard/google/peach_pit/mainboard.c
./src/mainboard/google/poppy/spd/empty.spd.hex
./src/mainboard/google/poppy/spd/empty_ddr4.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN4G6NBJR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NAFR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5AN8G6NCJR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NAMR-UHC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H5ANAG6NCMR-VKC.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNN8GTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBJTALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNBKTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCLGALAR-NVD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNCPTALBR-NUD.spd.hex
./src/mainboard/google/poppy/spd/hynix_dimm_H9CCNNNFAGMLLR-NUD.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A1G16KNR-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16GE-083E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A256M16LY-075F.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16LY-075E.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT40A512M16TB-062EJ.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L1G64D8QC-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M32D1PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L256M64D2PP-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-093.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/google/poppy/spd/micron_dimm_MT52L512M64D4PQ-107.spd.hex
./src/mainboard/google/poppy/spd/nayna_dimm_NT6CL256T32CM-H1.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF3F30BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QF4F40BM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K3QFAFA0CM-AGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A4G165WE-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WB-BCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4A8G165WC-BCTD.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4AAG165WB-MCRC.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E6E304ED-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4E8E324EB-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EB-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCF.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304EC-EGCG.spd.hex
./src/mainboard/google/poppy/spd/samsung_dimm_K4EBE304ED-EGCG.spd.hex
./src/mainboard/google/poppy/variants/nami/mainboard.c
./src/mainboard/google/poppy/romstage.c
./src/mainboard/google/rambi/spd/HT_micron_HTTC4G63CFR-PBA_x16_4Gb.spd.hex
./src/mainboard/google/rambi/spd/Hynix_HMT425S6CFR6A_H5TC4G63CFR.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/spd/Samsung_2Gib_M471B5674QH0.spd.hex
./src/mainboard/google/rambi/spd/elpida_2GiB_dimm_EDJ4216EFBG-GNL-F.spd.hex
./src/mainboard/google/rambi/spd/empty.spd.hex
./src/mainboard/google/rambi/spd/hynix_1GiB_dimm_H5TC2G63FFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63AFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63CFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/hynix_2GiB_dimm_H5TC4G63MFR-PBA.spd.hex
./src/mainboard/google/rambi/spd/micron_1GiB_dimm_MT41K128M16JT-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16HA-125a.spd.hex
./src/mainboard/google/rambi/spd/micron_2GiB_dimm_MT41K256M16TW-107.spd.hex
./src/mainboard/google/rambi/spd/samsung_1GiB_dimm_K4B2G1646Q-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646E-BYK0.spd.hex
./src/mainboard/google/rambi/spd/samsung_2GiB_dimm_K4B4G1646Q-HYK0.spd.hex
./src/mainboard/google/rambi/variants/ninja/lan.c
./src/mainboard/google/rambi/variants/sumo/lan.c
./src/mainboard/google/rambi/romstage.c
./src/mainboard/google/reef/variants/coral/mainboard.c
./src/mainboard/google/sarien/variants/arcada/devicetree.cb
./src/mainboard/google/slippy/variants/falco/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/falco/spd/Samsung_M471B5674QH0.spd.hex
./src/mainboard/google/slippy/variants/falco/romstage.c
./src/mainboard/google/slippy/variants/leon/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/leon/spd/Samsung_K4B4G1646Q.spd.hex
./src/mainboard/google/slippy/variants/leon/romstage.c
./src/mainboard/google/slippy/variants/peppy/spd/Elpida_EDJ4216EFBG.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/peppy/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/peppy/romstage.c
./src/mainboard/google/slippy/variants/wolf/spd/Hynix_HMT425S6AFR6A.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Micron_4KTF25664HZ.spd.hex
./src/mainboard/google/slippy/variants/wolf/spd/Samsung_K4B4G1646B.spd.hex
./src/mainboard/google/slippy/variants/wolf/romstage.c
./src/mainboard/google/dragonegg/romstage_fsp_params.c
./src/mainboard/google/dragonegg/spd/Hynix_H9HCNNN8KUMLHR_2GB.spd.hex
./src/mainboard/google/dragonegg/spd/Hynix_H9HCNNNCPMMLHR_4GB.spd.hex
./src/mainboard/google/dragonegg/spd/Micron_MT53E2G32D8QD_8GB.spd.hex
./src/mainboard/google/dragonegg/spd/Micron_MT53E512M32D2NP_2GB.spd.hex
./src/mainboard/hp/abm/mptable.c
./src/mainboard/hp/pavilion_m6_1035dx/mptable.c
./src/mainboard/hp/z220_sff_workstation/early_init.c
./src/mainboard/hp/2760p/early_init.c
./src/mainboard/hp/8470p/early_init.c
./src/mainboard/hp/dl165_g6_fam10/romstage.c
./src/mainboard/hp/revolve_810_g1/early_init.c
./src/mainboard/hp/revolve_810_g1/spd/hynix_4g.spd.hex
./src/mainboard/ibase/mb899/cmos.layout
./src/mainboard/ibase/mb899/superio_hwm.c
./src/mainboard/intel/apollolake_rvp/romstage.c
./src/mainboard/intel/coffeelake_rvp/variants/cml_u/include/variant/hda_verb.h
./src/mainboard/intel/coffeelake_rvp/variants/whl_u/include/variant/hda_verb.h
./src/mainboard/intel/glkrvp/romstage.c
./src/mainboard/intel/harcuvar/spd/micron_4GiB_dimm_MTA9ASF51272PZ-2G1A2.spd.hex
./src/mainboard/intel/harcuvar/spd/spd.c
./src/mainboard/intel/icelake_rvp/spd/empty.spd.hex
./src/mainboard/intel/icelake_rvp/spd/samsung_K4F6E304HBMGCJ.spd.hex
./src/mainboard/intel/icelake_rvp/variants/icl_u/include/variant/hda_verb.h
./src/mainboard/intel/icelake_rvp/variants/icl_y/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/spd/empty.spd.hex
./src/mainboard/intel/kblrvp/spd/hynix_dimm_H9CCNNNBJTMLAR.spd.hex
./src/mainboard/intel/kblrvp/spd/rvp3.spd.hex
./src/mainboard/intel/kblrvp/variants/rvp11/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp3/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/variants/rvp7/include/variant/hda_verb.h
./src/mainboard/intel/kblrvp/Kconfig
./src/mainboard/intel/kunimitsu/spd/empty.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTALAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNN8JTBLAR-NUD-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTALAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/hynix_dimm_H9CCNNNBLTBLAR-NUD-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/mic_dimm_EDF8132A3MA-JD-F-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E6E304EE-EGCF-2G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCE.spd.hex
./src/mainboard/intel/kunimitsu/spd/samsung_dimm_K4E8E304EE-EGCF-1G-1866.spd.hex
./src/mainboard/intel/kunimitsu/spd/spd_util.c
./src/mainboard/intel/leafhill/Kconfig
./src/mainboard/intel/leafhill/romstage.c
./src/mainboard/intel/minnow3/Kconfig
./src/mainboard/intel/minnow3/romstage.c
./src/mainboard/intel/strago/Kconfig
./src/mainboard/intel/cannonlake_rvp/spd/empty.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex
./src/mainboard/intel/cannonlake_rvp/spd/samsung_lpddr4_8GB.spd.hex
./src/mainboard/intel/mohonpeak/Kconfig
./src/mainboard/jetway/nf81-t56n-lf/Kconfig
./src/mainboard/jetway/pa78vm5/romstage.c
./src/mainboard/kontron/986lcd-m/cmos.layout
./src/mainboard/kontron/986lcd-m/mainboard.c
./src/mainboard/lenovo/g505s/mptable.c
./src/mainboard/lenovo/s230u/spd/elpida_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/elpida_8gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/hynix_4gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_2gb.spd.hex
./src/mainboard/lenovo/s230u/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/s230u/early_init.c
./src/mainboard/lenovo/t430s/variants/t431s/spd/samsung_4gb.spd.hex
./src/mainboard/lenovo/t430s/variants/t431s/romstage.c
./src/mainboard/lenovo/x1_carbon_gen1/spd/elpida.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/hynix.hex
./src/mainboard/lenovo/x1_carbon_gen1/spd/samsung.hex
./src/mainboard/lenovo/x1_carbon_gen1/early_init.c
./src/mainboard/lenovo/x220/variants/x1/romstage.c
./src/mainboard/lenovo/x220/early_init.c
./src/mainboard/lippert/frontrunner-af/Kconfig
./src/mainboard/lippert/frontrunner-af/mptable.c
./src/mainboard/lippert/toucan-af/Kconfig
./src/mainboard/lippert/toucan-af/mptable.c
./src/mainboard/msi/ms7707/Kconfig
./src/mainboard/msi/ms7707/early_init.c
./src/mainboard/msi/ms7721/mptable.c
./src/mainboard/msi/ms9652_fam10/romstage.c
./src/mainboard/opencellular/elgon/gbcv2.dts
./src/mainboard/packardbell/ms2290/mainboard.c
./src/mainboard/pcengines/apu1/Kconfig
./src/mainboard/pcengines/apu2/Kconfig
./src/mainboard/portwell/m107/spd/KINGSTON_B5116ECMDXGGB.spd.hex
./src/mainboard/portwell/m107/spd/MICRON_MT41K512M16HA-125A.spd.hex
./src/mainboard/portwell/m107/spd/SAMSUNG_K4B8G1646D-MYKO.spd.hex
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L1G32D4PG-107.spd.hex
./src/mainboard/razer/blade_stealth_kbl/spd/micron_dimm_MT52L512M32D2PF-107.spd.hex
./src/mainboard/samsung/lumpy/early_init.c
./src/mainboard/sapphire/pureplatinumh61/early_init.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl1/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl2/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl3/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl4/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl5/lcd_panel.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl5/mainboard.c
./src/mainboard/siemens/mc_apl1/variants/mc_apl6/mainboard.c
./src/mainboard/siemens/mc_apl1/mainboard.c
./src/mainboard/siemens/mc_apl1/romstage.c
./src/mainboard/siemens/mc_bdx1/mainboard.c
./src/mainboard/siemens/mc_tcu3/lcd_panel.c
./src/mainboard/siemens/mc_tcu3/mainboard.c
./src/mainboard/siemens/mc_tcu3/romstage.c
./src/mainboard/supermicro/h8dmr_fam10/romstage.c
./src/mainboard/supermicro/h8qme_fam10/romstage.c
./src/mainboard/supermicro/h8scm_fam10/romstage.c
./src/mainboard/up/squared/romstage.c
./src/mainboard/adi/rcc-dff/Kconfig
./src/mainboard/advansus/a785e-i/mptable.c
./src/mainboard/advansus/a785e-i/romstage.c
./src/mainboard/avalue/eax-785e/mptable.c
./src/mainboard/avalue/eax-785e/romstage.c
./src/mainboard/iei/kino-780am2-fam10/romstage.c
./src/mainboard/tyan/s2912_fam10/romstage.c
./src/northbridge/amd/pi/00630F01/Kconfig
./src/northbridge/amd/pi/00730F01/Kconfig
./src/northbridge/amd/pi/00660F01/Kconfig
./src/northbridge/amd/amdmct/mct/mctardk3.c
./src/northbridge/amd/amdmct/mct/mctardk4.c
./src/northbridge/amd/amdmct/mct/mcttmrl.c
./src/northbridge/amd/amdmct/mct_ddr3/mcttmrl.c
./src/northbridge/intel/gm45/raminit_rcomp_calibration.c
./src/northbridge/intel/gm45/raminit_read_write_training.c
./src/northbridge/intel/haswell/Kconfig
./src/northbridge/intel/haswell/raminit.c
./src/northbridge/intel/i945/raminit.c
./src/northbridge/intel/pineview/raminit.c
./src/northbridge/intel/sandybridge/Kconfig
./src/northbridge/intel/sandybridge/gma.c
./src/northbridge/intel/sandybridge/raminit.c
./src/northbridge/intel/sandybridge/raminit_mrc.c
./src/northbridge/intel/sandybridge/raminit_patterns.h
./src/northbridge/intel/x4x/dq_dqs.c
./src/northbridge/intel/x4x/raminit_ddr23.c
./src/northbridge/intel/x4x/raminit_tables.c
./src/northbridge/intel/fsp_rangeley/fsp/Kconfig
./src/northbridge/intel/nehalem/raminit.c
./src/northbridge/intel/nehalem/raminit_tables.c
./src/security/intel/txt/Kconfig
./src/security/tpm/tss/tcg-1.2/tss_commands.h
./src/security/vboot/secdata_tpm.c
./src/soc/amd/picasso/Kconfig
./src/soc/amd/stoneyridge/Kconfig
./src/soc/cavium/cn81xx/Kconfig
./src/soc/cavium/common/rom_clib_s_nbl1fw.bin.hex
./src/soc/cavium/common/rom_csib_s_nbl1fw.bin.hex
./src/soc/intel/apollolake/Kconfig
./src/soc/intel/apollolake/nhlt.c
./src/soc/intel/baytrail/bootblock/bootblock.c
./src/soc/intel/baytrail/romstage/raminit.c
./src/soc/intel/baytrail/Kconfig
./src/soc/intel/baytrail/acpi.c
./src/soc/intel/braswell/acpi.c
./src/soc/intel/braswell/gpio.c
./src/soc/intel/broadwell/Kconfig
./src/soc/intel/broadwell/acpi.c
./src/soc/intel/broadwell/romstage/raminit.c
./src/soc/intel/cannonlake/nhlt.c
./src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
./src/soc/intel/common/mma.c
./src/soc/intel/denverton_ns/acpi.c
./src/soc/intel/denverton_ns/chip.c
./src/soc/intel/quark/romstage/romstage.c
./src/soc/intel/quark/Kconfig
./src/soc/intel/skylake/nhlt/da7219.c
./src/soc/intel/skylake/nhlt/dmic.c
./src/soc/intel/skylake/nhlt/max98357.c
./src/soc/intel/skylake/nhlt/max98373.c
./src/soc/intel/skylake/nhlt/max98927.c
./src/soc/intel/skylake/nhlt/nau88l25.c
./src/soc/intel/skylake/nhlt/rt5514.c
./src/soc/intel/skylake/nhlt/rt5663.c
./src/soc/intel/skylake/nhlt/ssm4567.c
./src/soc/intel/fsp_baytrail/Kconfig
./src/soc/intel/fsp_baytrail/acpi.c
./src/soc/intel/fsp_baytrail/bootblock/bootblock.c
./src/soc/intel/fsp_broadwell_de/bootblock/bootblock.c
./src/soc/intel/fsp_broadwell_de/fsp/Kconfig
./src/soc/intel/fsp_broadwell_de/fsp/chipset_fsp_util.c
./src/soc/mediatek/mt8183/spm.c
./src/soc/mediatek/mt8183/sspm.c
./src/soc/nvidia/tegra210/Kconfig
./src/soc/nvidia/tegra210/mtc.c
./src/soc/qualcomm/ipq40xx/Kconfig
./src/soc/qualcomm/ipq40xx/lcc.c
./src/soc/qualcomm/ipq806x/Kconfig
./src/soc/qualcomm/ipq806x/blobs_init.c
./src/soc/qualcomm/ipq806x/lcc.c
./src/soc/samsung/exynos5250/clock.c
./src/soc/samsung/exynos5420/clock.c
./src/southbridge/amd/agesa/hudson/Kconfig
./src/southbridge/amd/cimx/sb800/Kconfig
./src/southbridge/amd/pi/hudson/Kconfig
./src/southbridge/intel/bd82x6x/lpc.c
./src/southbridge/intel/common/firmware/Kconfig
./src/southbridge/intel/i82801ix/dmi_setup.c
./src/southbridge/nvidia/ck804/early_setup_ss.h
./src/southbridge/nvidia/mcp55/early_setup_ss.h
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/ON/F14OnInitEarlyTable.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500000B.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch0500001A.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000029.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/F14MicrocodePatch05000119.c
./src/vendorcode/amd/agesa/f14/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f14/Proc/GNB/Nb/Family/0x14/F14NbSmuFirmware.h
./src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
./src/vendorcode/amd/agesa/f14/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnInitEarlyTable.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN/F15TnMicrocodePatch0600111F_Enc.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/cpuF15WheaInitDataTables.c
./src/vendorcode/amd/agesa/f15tn/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxIntegratedInfoTableTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GfxLibTN.c
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbCacWeightsTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/GnbSmuFirmwareTN.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFM2.h
./src/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN/PcieAlibSsdtTNFS1.h
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/mptn3.c
./src/vendorcode/amd/agesa/f15tn/Proc/Mem/Tech/DDR3/mtlrdimm3.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbId7001MicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/KB/F16KbInitEarlyTable.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/Family/0x16/cpuF16WheaInitDataTables.c
./src/vendorcode/amd/agesa/f16kb/Proc/CPU/cpuMicrocodePatch.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbGfxIntTableV3/GfxLibV3.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h
./src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Main/muc.c
./src/vendorcode/amd/agesa/f16kb/Proc/Mem/Ps/KB/mpkb3.c
./src/vendorcode/amd/cimx/sb800/SATA.c
./src/vendorcode/amd/pi/Kconfig
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-8514.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse-xfi.c
./src/vendorcode/cavium/bdk/libbdk-hal/if/bdk-if-phy-vetesse.c
./src/vendorcode/cavium/bdk/libdram/lib_octeon_shared.c
./src/vendorcode/eltan/security/verified_boot/vboot_check.c
./src/vendorcode/google/chromeos/build-snow.sh
./src/vendorcode/google/chromeos/sar.c
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/IndustryStandard/Tpm12.h
./src/vendorcode/intel/edk2/UDK2017/MdePkg/Include/Protocol/HiiConfigAccess.h
./src/vendorcode/intel/fsp/fsp2_0/cannonlake/FspmUpd.h
./src/vendorcode/intel/fsp/fsp2_0/cometlake/FspmUpd.h
./util/amdtools/example_input/lspci-cb-48G-667MHz-18.2-20090909e
./util/amdtools/example_input/lspci-prop-48G-667MHz-18.2
./util/autoport/readme.md
./util/bincfg/bincfg.lex.c_shipped
./util/bincfg/bincfg.tab.c_shipped
./util/cbfstool/lz4/lib/lz4.c
./util/cbfstool/fit.c
./util/cbfstool/fmd_parser.c_shipped
./util/cbfstool/fmd_scanner.c_shipped
./util/cbfstool/linux_trampoline.c
./util/ifdtool/ifdtool.c
./util/intelmetool/intelmetool.c
./util/kbc1126/kbc1126_ec_dump.c
./util/kconfig/zconf.hash.c_shipped
./util/kconfig/zconf.lex.c_shipped
./util/kconfig/zconf.tab.c_shipped
./util/mma/mma_automated_test.sh
./util/mtkheader/gen-bl-img.py
./util/nvidia/cbootimage/samples/sign.sh
./util/nvidia/cbootimage/src/aes_ref.c
./util/nvramtool/accessors/layout-bin.c
./util/qualcomm/scripts/cmm/debug_cb_common.cmm
./util/qualcomm/createxbl.py
./util/riscv/make-spike-elf.sh
./util/riscv/sifive-gpt.py
./util/rockchip/make_idb.py
./util/sconfig/lex.yy.c_shipped
./util/sconfig/sconfig.tab.c_shipped
./util/spdtool/spdtool.py
./util/superiotool/fintek.c
./util/superiotool/ite.c
./util/superiotool/nuvoton.c
./util/superiotool/smsc.c
./util/superiotool/winbond.c
./util/xcompile/xcompile
./util/genprof/genprof.c
./util/romcc/test.sh
./util/romcc/tests/include/linux_console.h
./util/romcc/tests/linux_console.h
./util/romcc/tests/linux_test5.c
./util/romcc/tests/raminit_test6.c
./util/romcc/tests/raminit_test7.c
./util/romcc/tests/simple_test14.c
./util/romcc/tests/simple_test30.c
./util/romcc/tests/simple_test38.c
./util/romcc/tests/simple_test39.c
./util/romcc/tests/simple_test54.c
./util/romcc/tests/simple_test59.c
./util/romcc/tests/simple_test72.c
./util/romcc/tests/simple_test73.c
./Makefile.inc
./deblob-check
@@ -1,31 +0,0 @@
From 8f2988cba4fffef1bd4f65e123c76bf4b7a18672 Mon Sep 17 00:00:00 2001
From: "D.d.P.F. Lombard" <lombard@lombards.xyz>
Date: Sun, 7 Feb 2021 15:29:40 +0100
Subject: [PATCH 1/6] Revert "Revert "nb/amd/mct_ddr3: Fix RDIMM training
failure on Fam15h" (fixes a bug that prevent certain RAM modules from
booting)
This reverts commit 610d1c67b2298a9840681c2b4492b6d3fdf44a46.
After 610d1c67b2298a9840681c2b4492b6d3fdf44a46 many RAM modules wouldn't work and you couldn't even see any output on the screen.
---
src/northbridge/amd/amdmct/mct_ddr3/mctproc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c b/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c
index ddaaaab8d5..3b07786b91 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c
@@ -71,6 +71,9 @@ u32 mct_SetDramConfigMisc2(struct DCTStatStruc *pDCTstat,
misc2 |= ((cs_mux_67 & 0x1) << 27);
misc2 &= ~(0x1 << 26); /* CsMux45 = cs_mux_45 */
misc2 |= ((cs_mux_45 & 0x1) << 26);
+
+ if (pDCTstat->Status & (1 << SB_Registered))
+ misc2 |= 1 << SubMemclkRegDly;
} else if (pDCTstat->LogicalCPUID & (AMD_DR_Dx | AMD_DR_Cx)) {
if (pDCTstat->Status & (1 << SB_Registered)) {
misc2 |= 1 << SubMemclkRegDly;
--
2.25.1
@@ -1,38 +0,0 @@
From 7a00638cea41ad939a59fc0e5996959435fbdb7f Mon Sep 17 00:00:00 2001
From: "D.d.P.F. Lombard" <lombard@lombards.xyz>
Date: Sun, 7 Feb 2021 16:40:05 +0100
Subject: [PATCH 3/6] Tweak cmos defaults for KCMA-D8 (for a little speed
boost)
63xx CPUs have the option to use a reduced latency value inside the crossbar.
Setting "experimental_memory_speed_boost=Enable" aparently only has an effect
on 63xx CPUs and may, in certain cases, yield a slight memory bandwidth
increase (according to Timothy Pearson), but maybe it also works for
43xx CPUs.
Setting "l3_cache_partitioning=Enable" will increase performance in certain
situations. See:
https://developer.arm.com/documentation/100453/0401/functional-description/l3-cache/l3-cache-partitioning?lang=en
---
src/mainboard/asus/kcma-d8/cmos.default | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asus/kcma-d8/cmos.default b/src/mainboard/asus/kcma-d8/cmos.default
index 306687157f..4e033d756f 100644
--- a/src/mainboard/asus/kcma-d8/cmos.default
+++ b/src/mainboard/asus/kcma-d8/cmos.default
@@ -21,9 +21,9 @@ sata_ahci_mode=Enable
sata_alpm=Disable
maximum_p_state_limit=0xf
probe_filter=Auto
-l3_cache_partitioning=Disable
+l3_cache_partitioning=Enable
gart=Enable
ehci_async_data_cache=Enable
-experimental_memory_speed_boost=Disable
+experimental_memory_speed_boost=Enable
power_on_after_fail=On
boot_option=Fallback
--
2.25.1
@@ -1,108 +0,0 @@
From 2b1d40b970d9cbbb4f8fe30679e9b6909aa3d99a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 6 May 2021 17:07:06 +0100
Subject: [PATCH 4/6] Do not use microcode updates on AMD platforms
Coreboot is hardcoding the use of microcode updates on some platforms.
Just nuke it from orbit. This is the libre branch of osboot, so microcode must
not be used.
---
src/cpu/Makefile.inc | 52 +------------------
src/cpu/amd/family_10h-family_15h/Kconfig | 1 -
.../amd/family_10h-family_15h/Makefile.inc | 10 +---
3 files changed, 2 insertions(+), 61 deletions(-)
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index b80c30d72b..e7909d32ed 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -14,54 +14,4 @@ $(eval $(call create_class_compiler,cpu_microcode,x86_32))
## Rules for building the microcode blob in CBFS
################################################################################
-ifneq ($(CONFIG_CPU_MICROCODE_MULTIPLE_FILES), y)
-cbfs-files-$(CONFIG_USE_CPU_MICROCODE_CBFS_BINS) += cpu_microcode_blob.bin
-endif
-
-ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER),y)
-cbfs-files-y += cpu_microcode_blob.bin
-cpu_microcode_blob.bin-file = $(objgenerated)/microcode.bin
-
-$(objgenerated)/microcode.bin: $(call strip_quotes,$(CONFIG_CPU_MICROCODE_HEADER_FILES))
- echo " util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin \"$(CONFIG_CPU_MICROCODE_HEADER_FILES)\""
- util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin $(CONFIG_CPU_MICROCODE_HEADER_FILES)
-endif
-
-ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS),y)
-cpu_microcode_bins := $(call strip_quotes,$(CONFIG_CPU_UCODE_BINARIES))
-endif
-# otherwise `cpu_microcode_bins` should be filled by platform makefiles
-
-# We just mash all microcode binaries together into one binary to rule them all.
-# This approach assumes that the microcode binaries are properly padded, and
-# their headers specify the correct size. This works fairly well on isolatied
-# updates, such as Intel and some AMD microcode, but won't work very well if the
-# updates are wrapped in a container, like AMD's microcode update container. If
-# there is only one microcode binary (i.e. one container), then we don't have
-# this issue, and this rule will continue to work.
-$(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins))
- for bin in $(cpu_microcode_bins); do \
- if [ ! -f "$$bin" ]; then \
- echo "Microcode error: $$bin does not exist"; \
- NO_MICROCODE_FILE=1; \
- fi; \
- done; \
- if [ -n "$$NO_MICROCODE_FILE" ]; then \
- if [ -z "$(CONFIG_USE_BLOBS)" ] && [ -n "$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS)" ]; then \
- echo "Try enabling binary-only repository in Kconfig 'General setup' menu."; \
- fi; \
- false; \
- fi
- $(if $^,,false) # fail if no file is given at all
- @printf " MICROCODE $(subst $(obj)/,,$(@))\n"
- @echo $(cpu_microcode_bins)
- cat $^ > $@
-
-cpu_microcode_blob.bin-file ?= $(obj)/cpu_microcode_blob.bin
-cpu_microcode_blob.bin-type := microcode
-
-ifneq ($(CONFIG_CPU_MICROCODE_CBFS_LOC),)
-cpu_microcode_blob.bin-COREBOOT-position := $(CONFIG_CPU_MICROCODE_CBFS_LOC)
-else
-cpu_microcode_blob.bin-align := 16
-endif
+# No microcode permitted in this version of coreboot.
diff --git a/src/cpu/amd/family_10h-family_15h/Kconfig b/src/cpu/amd/family_10h-family_15h/Kconfig
index ad4f5f4ba6..21150ab1a7 100644
--- a/src/cpu/amd/family_10h-family_15h/Kconfig
+++ b/src/cpu/amd/family_10h-family_15h/Kconfig
@@ -8,7 +8,6 @@ config CPU_AMD_MODEL_10XXX
select TSC_SYNC_LFENCE
select UDELAY_LAPIC
select SUPPORT_CPU_UCODE_IN_CBFS
- select CPU_MICROCODE_MULTIPLE_FILES
select CAR_GLOBAL_MIGRATION
if CPU_AMD_MODEL_10XXX
diff --git a/src/cpu/amd/family_10h-family_15h/Makefile.inc b/src/cpu/amd/family_10h-family_15h/Makefile.inc
index 7035323026..e0029f562d 100644
--- a/src/cpu/amd/family_10h-family_15h/Makefile.inc
+++ b/src/cpu/amd/family_10h-family_15h/Makefile.inc
@@ -14,12 +14,4 @@ ramstage-y += ram_calc.c
ramstage-y += monotonic_timer.c
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += powernow_acpi.c
-# Microcode for Family 10h, 11h, 12h, and 14h
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd.bin
-microcode_amd.bin-file := 3rdparty/blobs/cpu/amd/family_10h-family_14h/microcode_amd.bin
-microcode_amd.bin-type := microcode
-
-# Microcode for Family 15h
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd_fam15h.bin
-microcode_amd_fam15h.bin-file := 3rdparty/blobs/cpu/amd/family_15h/microcode_amd_fam15h.bin
-microcode_amd_fam15h.bin-type := microcode
+# Microcode deleted in this version of coreboot.
--
2.25.1
@@ -1,32 +0,0 @@
From f0aac7261e16adc8e61eca7a506ff2de5112be47 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Fri, 7 May 2021 19:43:32 +0100
Subject: [PATCH 6/6] asus/kgpe-d16: enable lc_cache_partitioning and
experimental_memory_speed_boost
This really only benefits 63xx opterons which are less reliable in libreboot due
to lack of CPU microcode updates, but we might aswell enable this anyway.
---
src/mainboard/asus/kgpe-d16/cmos.default | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asus/kgpe-d16/cmos.default b/src/mainboard/asus/kgpe-d16/cmos.default
index 7c496a50d7..8a25620e1d 100644
--- a/src/mainboard/asus/kgpe-d16/cmos.default
+++ b/src/mainboard/asus/kgpe-d16/cmos.default
@@ -21,10 +21,10 @@ sata_ahci_mode=Enable
sata_alpm=Disable
maximum_p_state_limit=0xf
probe_filter=Auto
-l3_cache_partitioning=Disable
+l3_cache_partitioning=Enable
ieee1394_controller=Enable
gart=Enable
ehci_async_data_cache=Enable
-experimental_memory_speed_boost=Disable
+experimental_memory_speed_boost=Enable
power_on_after_fail=On
boot_option=Fallback
--
2.25.1
+2 -4
View File
@@ -1,8 +1,6 @@
cbtree="default" cbtree="default"
romtype="normal" romtype="normal"
arch="x86_64" arch="x86_64"
payload_grub="y" payload_grub="n"
payload_grub_withseabios="y" payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n"
@@ -11,13 +11,17 @@ CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback" CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set # CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set # CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set # CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set # CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set # CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set # CONFIG_TIMESTAMPS_ON_CONSOLE is not set
@@ -26,10 +30,7 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set # CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set # CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set # CONFIG_UBSAN is not set
# CONFIG_HAVE_ASAN_IN_ROMSTAGE is not set
# CONFIG_ASAN_IN_ROMSTAGE is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN_IN_RAMSTAGE is not set
# CONFIG_ASAN is not set # CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set # CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y CONFIG_TSEG_STAGE_CACHE=y
@@ -37,6 +38,13 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_BOOTSPLASH_IMAGE is not set # CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set # CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
# #
# Mainboard # Mainboard
# #
@@ -52,30 +60,25 @@ CONFIG_VENDOR_ACER=y
# CONFIG_VENDOR_APPLE is not set # CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set # CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set # CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set # CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set # CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set # CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set # CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set # CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set # CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set # CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set # CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set # CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set # CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set # CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set # CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
# CONFIG_VENDOR_GOOGLE is not set # CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set # CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set # CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set # CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set # CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set # CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set # CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set # CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set # CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set # CONFIG_VENDOR_OPENCELLULAR is not set
@@ -90,9 +93,9 @@ CONFIG_VENDOR_ACER=y
# CONFIG_VENDOR_RODA is not set # CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set # CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set # CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set # CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set # CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set # CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set # CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set # CONFIG_VENDOR_TI is not set
@@ -107,58 +110,52 @@ CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE="" CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set # CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Acer" CONFIG_MAINBOARD_VENDOR="Acer"
# CONFIG_BOARD_ACER_VN7_572G is not set
CONFIG_BOARD_ACER_G43T_AM3=y CONFIG_BOARD_ACER_G43T_AM3=y
CONFIG_CBFS_SIZE=0x200000 CONFIG_CBFS_SIZE=0x200000
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_MAX_CPUS=4 CONFIG_MAX_CPUS=4
# CONFIG_VBOOT is not set # CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb" CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set # CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Acer" CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Acer"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt" CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_POST_IO=y CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_OVERRIDE_DEVICETREE="" CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_CONSOLE_POST is not set # CONFIG_CONSOLE_POST is not set
CONFIG_POST_DEVICE=y
# CONFIG_BOARD_EMULATION_QEMU_AARCH64 is not set
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set
# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV32 is not set
# CONFIG_BOARD_EMULATION_SPIKE_RISCV is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfeff8000 CONFIG_DCACHE_RAM_BASE=0xfeff8000
CONFIG_DCACHE_RAM_SIZE=0x8000 CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000 CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000 CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_MMCONF_BASE_ADDRESS=0xe0000000 CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
CONFIG_MMCONF_BUS_NUMBER=256 CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DRIVERS_INTEL_WIFI=y # CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CONSOLE_SERIAL=y CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="G43T-AM3"
CONFIG_PCIEXP_HOTPLUG=y # CONFIG_HAVE_IFD_BIN is not set
CONFIG_PCIEXP_HOTPLUG_BUSES=32 CONFIG_PCIEXP_HOTPLUG_BUSES=32
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000 CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000 CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_CBFS_MCACHE_SIZE=0x2000
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="G43T-AM3"
# CONFIG_HAVE_IFD_BIN is not set
CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13" CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set # CONFIG_PCIEXP_L1_SUB_STATE is not set
CONFIG_PCIEXP_CLK_PM=y CONFIG_PCIEXP_CLK_PM=y
CONFIG_DRIVERS_UART_8250IO=y # CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_HEAP_SIZE=0x4000 CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_2048=y CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set # CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set # CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -181,11 +178,7 @@ CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set # CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set # CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0 CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# CONFIG_SYSTEM_TYPE_LAPTOP is not set # end of Mainboard
# CONFIG_SYSTEM_TYPE_TABLET is not set
# CONFIG_SYSTEM_TYPE_DETACHABLE is not set
# CONFIG_SYSTEM_TYPE_CONVERTIBLE is not set
# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set
# #
# Chipset # Chipset
@@ -195,66 +188,38 @@ CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# SoC # SoC
# #
CONFIG_CHIPSET_DEVICETREE="" CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_RAMBASE=0xe00000
CONFIG_CPU_ADDR_BITS=36
CONFIG_SMM_RESERVED_SIZE=0x100000 CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400 CONFIG_SMM_MODULE_STACK_SIZE=0x400
# CONFIG_CHECK_REV_IN_OPROM_NAME is not set CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
CONFIG_EHCI_BAR=0xfef00000 CONFIG_EHCI_BAR=0xfef00000
# CONFIG_SOC_CAVIUM_CN81XX is not set CONFIG_STACK_SIZE=0x2000
CONFIG_STACK_SIZE=0x1000
# CONFIG_SOC_CAVIUM_COMMON is not set
CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_VBT_DATA_SIZE_KB=8
# CONFIG_SOC_INTEL_GEMINILAKE is not set
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254 CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16 CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256 CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16 CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_PCIEXP_ASPM=y CONFIG_BOOTBLOCK_IN_CBFS=y
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
CONFIG_TTYS0_BASE=0x3f8 CONFIG_PCIEXP_ASPM=y
CONFIG_TTYS0_LCS=3 # CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_UART_PCI_ADDR=0x0 CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_AZALIA_MAX_CODECS=3 CONFIG_HPET_MIN_TICKS=0x80
# CONFIG_SOC_MEDIATEK_MT8173 is not set CONFIG_CBFS_CACHE_ALIGN=8
# CONFIG_SOC_MEDIATEK_MT8183 is not set
# CONFIG_SOC_MEDIATEK_MT8192 is not set
# CONFIG_SOC_MEDIATEK_MT8195 is not set
# CONFIG_SOC_NVIDIA_TEGRA124 is not set
# CONFIG_SOC_NVIDIA_TEGRA210 is not set
# CONFIG_SOC_QUALCOMM_COMMON is not set
# CONFIG_SOC_QC_IPQ40XX is not set
# CONFIG_SOC_QC_IPQ806X is not set
# CONFIG_SOC_QUALCOMM_QCS405 is not set
# CONFIG_SOC_ROCKCHIP_RK3288 is not set
# CONFIG_SOC_ROCKCHIP_RK3399 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set
# CONFIG_SOC_TI_AM335X is not set
# CONFIG_SOC_UCB_RISCV is not set
# #
# CPU # CPU
# #
# CONFIG_CPU_AMD_AGESA is not set
# CONFIG_CPU_AMD_PI is not set
# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set
CONFIG_CPU_INTEL_MODEL_6FX=y CONFIG_CPU_INTEL_MODEL_6FX=y
CONFIG_CPU_INTEL_MODEL_1067X=y CONFIG_CPU_INTEL_MODEL_1067X=y
CONFIG_CPU_INTEL_MODEL_F3X=y CONFIG_CPU_INTEL_MODEL_F3X=y
CONFIG_CPU_INTEL_MODEL_F4X=y CONFIG_CPU_INTEL_MODEL_F4X=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_SSE2=y
CONFIG_CPU_INTEL_SOCKET_LGA775=y CONFIG_CPU_INTEL_SOCKET_LGA775=y
# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set
CONFIG_CPU_INTEL_COMMON=y CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y CONFIG_SET_IA32_FC_LOCK_BIT=y
@@ -262,88 +227,64 @@ CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y CONFIG_MICROCODE_UPDATE_PRE_RAM=y
# CONFIG_CPU_QEMU_X86_LAPIC_INIT is not set
# CONFIG_CPU_QEMU_X86_PARALLEL_MP is not set
# CONFIG_PARALLEL_CPU_INIT is not set
CONFIG_PARALLEL_MP=y CONFIG_PARALLEL_MP=y
# CONFIG_PARALLEL_MP_AP_WORK is not set CONFIG_XAPIC_ONLY=y
# CONFIG_UDELAY_LAPIC is not set # CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_MONOTONIC_TIMER=y
# CONFIG_TSC_SYNC_LFENCE is not set
CONFIG_TSC_SYNC_MFENCE=y CONFIG_TSC_SYNC_MFENCE=y
CONFIG_SETUP_XIP_CACHE=y CONFIG_SETUP_XIP_CACHE=y
CONFIG_LOGICAL_CPUS=y CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_NO_SMM is not set
# CONFIG_SMM_ASEG is not set
CONFIG_SMM_TSEG=y CONFIG_SMM_TSEG=y
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000 CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_SMM_STUB_STACK_SIZE=0x400 CONFIG_AP_STACK_SIZE=0x800
# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set
# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set
# CONFIG_X86_AMD_FIXED_MTRRS is not set
# CONFIG_X86_AMD_INIT_SIPI is not set
# CONFIG_SOC_SETS_MSRS is not set
# CONFIG_RESERVE_MTRRS_FOR_OS is not set
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_MMX=y CONFIG_MMX=y
CONFIG_SSE=y CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
# CONFIG_USES_MICROCODE_HEADER_FILES is not set CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS is not set CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
CONFIG_CPU_MICROCODE_CBFS_NONE=y # CONFIG_CPU_MICROCODE_CBFS_NONE is not set
# #
# Northbridge # Northbridge
# #
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_NORTHBRIDGE_AMD_PI is not set
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
CONFIG_NORTHBRIDGE_INTEL_X4X=y CONFIG_NORTHBRIDGE_INTEL_X4X=y
# #
# Southbridge # Southbridge
# #
# CONFIG_AMD_SB_CIMX is not set CONFIG_PCIEXP_HOTPLUG=y
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
CONFIG_HPET_MIN_TICKS=0x80
# CONFIG_INTEL_DESCRIPTOR_MODE_REQUIRED is not set
CONFIG_SOUTHBRIDGE_INTEL_I82801JX=y CONFIG_SOUTHBRIDGE_INTEL_I82801JX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME is not set
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7 is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_SILVERMONT is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
# CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set # CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000 CONFIG_RCBA_LENGTH=0x4000
CONFIG_FIXED_SMBUS_IO_BASE=0x400
# #
# Super I/O # Super I/O
# #
# CONFIG_SUPERIO_ASPEED_AST2400 is not set
# CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM is not set
# CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND is not set
# CONFIG_SUPERIO_FINTEK_FAN_CONTROL is not set
CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y
CONFIG_SUPERIO_ITE_ENV_CTRL=y CONFIG_SUPERIO_ITE_ENV_CTRL=y
CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y
@@ -353,28 +294,11 @@ CONFIG_SUPERIO_ITE_IT8720F=y
# #
# Embedded Controllers # Embedded Controllers
# #
# CONFIG_EC_51NB_NPCE985LA0DX is not set
# CONFIG_EC_GOOGLE_CHROMEEC_SKUID is not set
# CONFIG_EC_GOOGLE_WILCO is not set
# #
# Intel Firmware # Intel Firmware
# #
# CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS is not set
CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
# CONFIG_MAINBOARD_USES_IFD_EC_REGION is not set
# CONFIG_DO_NOT_TOUCH_DESCRIPTOR_REGION is not set
# CONFIG_LOCK_MANAGEMENT_ENGINE is not set
CONFIG_UNLOCK_FLASH_REGIONS=y
# CONFIG_CAVIUM_BDK is not set
# CONFIG_MAINBOARD_HAS_CHROMEOS is not set
# CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION is not set
# CONFIG_UEFI_2_4_BINDING is not set
# CONFIG_UDK_2015_BINDING is not set
# CONFIG_UDK_2017_BINDING is not set
# CONFIG_UDK_202005_BINDING is not set
# CONFIG_USE_SIEMENS_HWILIB is not set
# CONFIG_ARM_LPAE is not set
CONFIG_ARCH_X86=y CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -382,105 +306,84 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y CONFIG_ARCH_ALL_STAGES_X86_32=y
# CONFIG_ARCH_POSTCAR_X86_64 is not set CONFIG_HAVE_EXP_X86_64_SUPPORT=y
# CONFIG_USE_MARCH_586 is not set # CONFIG_USE_EXP_X86_64_SUPPORT is not set
CONFIG_AP_IN_SIPI_WAIT=y CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_RAMTOP=0x1000000 CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_PC80_SYSTEM=y CONFIG_PC80_SYSTEM=y
# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set
CONFIG_HAVE_CMOS_DEFAULT=y CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_HPET_ADDRESS_OVERRIDE is not set
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_POSTCAR_STAGE=y CONFIG_POSTCAR_STAGE=y
# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set
# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set
CONFIG_BOOTBLOCK_SIMPLE=y CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set # CONFIG_BOOTBLOCK_NORMAL is not set
# CONFIG_COLLECT_TIMESTAMPS_NO_TSC is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y CONFIG_COLLECT_TIMESTAMPS_TSC=y
# CONFIG_PAGING_IN_CACHE_AS_RAM is not set
# CONFIG_IDT_IN_EVERY_STAGE is not set
CONFIG_HAVE_CF9_RESET=y CONFIG_HAVE_CF9_RESET=y
# CONFIG_PIRQ_ROUTE is not set CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
# #
# Devices # Devices
# #
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT is not set
# CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT is not set
# CONFIG_VGA_ROM_RUN_DEFAULT is not set
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
# CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT is not set
CONFIG_MAINBOARD_USE_LIBGFXINIT=y CONFIG_MAINBOARD_USE_LIBGFXINIT=y
# CONFIG_VGA_ROM_RUN is not set # CONFIG_VGA_ROM_RUN is not set
# CONFIG_NO_GFX_INIT is not set # CONFIG_NO_GFX_INIT is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set CONFIG_NO_EARLY_GFX_INIT=y
# #
# Display # Display
# #
CONFIG_VGA_TEXT_FRAMEBUFFER=y CONFIG_VGA_TEXT_FRAMEBUFFER=y
# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set # CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
# end of Display
CONFIG_PCI=y CONFIG_PCI=y
# CONFIG_NO_MMCONF_SUPPORT is not set CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y
# CONFIG_AZALIA_LOCK_DOWN_R_WO_GCAP is not set
CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_MMCONF_LENGTH=0x10000000 CONFIG_ECAM_MMCONF_LENGTH=0x10000000
CONFIG_PCI_ALLOW_BUS_MASTER=y CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set # CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000 CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set # CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set # CONFIG_SOFTWARE_I2C is not set
# CONFIG_RESOURCE_ALLOCATOR_V3 is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y # CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
# CONFIG_XHCI_UTILS is not set CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_USE_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
# #
# Generic Drivers # Generic Drivers
# #
# CONFIG_DRIVERS_AS3722_RTC is not set
# CONFIG_CHROMEOS_CAMERA is not set
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_MAINBOARD_HAS_CRB_TPM is not set
# CONFIG_ELOG is not set # CONFIG_ELOG is not set
# CONFIG_GIC is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_DRIVERS_LENOVO_WACOM is not set
CONFIG_CACHE_MRC_SETTINGS=y CONFIG_CACHE_MRC_SETTINGS=y
# CONFIG_MRC_SETTINGS_PROTECT is not set # CONFIG_MRC_SETTINGS_PROTECT is not set
# CONFIG_HAS_RECOVERY_MRC_CACHE is not set
# CONFIG_MRC_SETTINGS_VARIABLE_DATA is not set
# CONFIG_MRC_WRITE_NV_LATE is not set
CONFIG_MRC_STASH_TO_CBMEM=y CONFIG_MRC_STASH_TO_CBMEM=y
# CONFIG_RT8168_GET_MAC_FROM_VPD is not set
# CONFIG_RT8168_SUPPORT_LEGACY_VPD_MAC is not set
# CONFIG_RT8168_SET_LED_MODE is not set
# CONFIG_SMMSTORE is not set # CONFIG_SMMSTORE is not set
# CONFIG_SMMSTORE_IN_CBFS is not set
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
# CONFIG_SPI_SDCARD is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y
# CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY is not set
# CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS is not set
# CONFIG_SPI_FLASH_NO_FAST_READ is not set # CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y CONFIG_SPI_FLASH_AMIC=y
@@ -491,129 +394,76 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_HAS_VOLATILE_GROUP is not set
# CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT is not set
CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_8250IO_SKIP_INIT is not set
# CONFIG_NO_UART_ON_SUPERIO is not set
# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set
# CONFIG_UART_OVERRIDE_REFCLK is not set
# CONFIG_DRIVERS_UART_8250MEM is not set
# CONFIG_DRIVERS_UART_8250MEM_32 is not set
# CONFIG_HAVE_UART_SPECIAL is not set
# CONFIG_DRIVERS_UART_OXPCIE is not set # CONFIG_DRIVERS_UART_OXPCIE is not set
# CONFIG_DRIVERS_UART_PL011 is not set
# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set
CONFIG_HAVE_USBDEBUG=y CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_USBDEBUG is not set # CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set # CONFIG_VPD is not set
# CONFIG_DRIVERS_AMD_PI is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set # CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GFX_GENERIC is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_CK505=y CONFIG_DRIVERS_I2C_CK505=y
# CONFIG_DRIVERS_I2C_GPIO_MUX is not set # CONFIG_DRIVERS_I2C_MAX98396 is not set
# CONFIG_DRIVERS_I2C_MAX98373 is not set
# CONFIG_DRIVERS_I2C_MAX98390 is not set
# CONFIG_DRIVERS_I2C_MAX98927 is not set
# CONFIG_DRIVERS_I2C_PCA9538 is not set
# CONFIG_DRIVERS_I2C_PCF8523 is not set
# CONFIG_DRIVERS_I2C_PTN3460 is not set
# CONFIG_DRIVERS_I2C_RT1011 is not set
# CONFIG_DRIVERS_I2C_RT5663 is not set
# CONFIG_DRIVERS_I2C_RTD2132 is not set
# CONFIG_DRIVERS_I2C_RX6110SA is not set
# CONFIG_DRIVERS_I2C_SX9310 is not set
# CONFIG_DRIVERS_I2C_SX9324 is not set
# CONFIG_DRIVERS_I2C_TAS5825M is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_CR50 is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC is not set
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVERS_INTEL_DPTF is not set
# CONFIG_PLATFORM_USES_FSP2_0 is not set
# CONFIG_PLATFORM_USES_FSP2_1 is not set
# CONFIG_PLATFORM_USES_FSP2_2 is not set
# CONFIG_INTEL_DDI is not set
# CONFIG_INTEL_EDID is not set
# CONFIG_INTEL_INT15 is not set
CONFIG_INTEL_GMA_ACPI=y CONFIG_INTEL_GMA_ACPI=y
# CONFIG_INTEL_GMA_SSC_ALTERNATE_REF is not set
# CONFIG_INTEL_GMA_SWSMISCI is not set
# CONFIG_GFX_GMA_IGNORE_PRESENCE_STRAPS is not set
CONFIG_GFX_GMA=y CONFIG_GFX_GMA=y
CONFIG_GFX_GMA_PANEL_1_ON_EDP=y CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_GFX_GMA_PANEL_1_ON_LVDS is not set CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_GFX_GMA_DYN_CPU=y CONFIG_GFX_GMA_DYN_CPU=y
CONFIG_GFX_GMA_GENERATION="G45" CONFIG_GFX_GMA_GENERATION="G45"
CONFIG_GFX_GMA_PCH="No_PCH" CONFIG_GFX_GMA_PCH="No_PCH"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled" CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC" CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVER_INTEL_I210 is not set # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_INTEL_ISH is not set
# CONFIG_DRIVERS_INTEL_MIPI_CAMERA is not set
# CONFIG_DRIVERS_INTEL_PMC is not set
# CONFIG_HAVE_INTEL_PTT is not set
# CONFIG_IPMI_OCP is not set
# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set
# CONFIG_DRIVER_MAXIM_MAX77686 is not set
# CONFIG_DRIVER_PARADE_PS8625 is not set
# CONFIG_DRIVER_PARADE_PS8640 is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set # CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y CONFIG_DRIVERS_MC146818=y
# CONFIG_MAINBOARD_HAS_LPC_TPM is not set # CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y CONFIG_VGA=y
# CONFIG_DRIVERS_RICOH_RCE822 is not set
# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set
# CONFIG_NC_FPGA_NOTIFY_CB_READY is not set
# CONFIG_DRIVERS_SIL_3114 is not set # CONFIG_DRIVERS_SIL_3114 is not set
# CONFIG_MAINBOARD_HAS_SPI_TPM_CR50 is not set # end of Generic Drivers
# CONFIG_MAINBOARD_HAS_SPI_TPM is not set
# CONFIG_DRIVERS_TI_SN65DSI86BRIDGE is not set
# CONFIG_DRIVER_TI_TPS65090 is not set
# CONFIG_DRIVERS_TI_TPS65913_RTC is not set
# CONFIG_DRIVERS_USB_ACPI is not set
# CONFIG_DRIVERS_USB_PCI_XHCI is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
# CONFIG_USE_SAR is not set
# CONFIG_MP_SERVICES_PPI_V1 is not set
# CONFIG_MP_SERVICES_PPI_V2 is not set
# CONFIG_COMMONLIB_STORAGE is not set
# #
# Security # Security
# #
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
# #
# Verified Boot (vboot) # Verified Boot (vboot)
# #
# end of Verified Boot (vboot)
# #
# Trusted Platform Module # Trusted Platform Module
# #
CONFIG_USER_NO_TPM=y CONFIG_NO_TPM=y
# end of Trusted Platform Module
# #
# Memory initialization # Memory initialization
# #
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set # CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set # CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set # CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_ACPI_AMD_HARDWARE_SLEEP_VALUES is not set # CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
# CONFIG_ACPI_EINJ is not set
CONFIG_HAVE_ACPI_TABLES=y CONFIG_HAVE_ACPI_TABLES=y
# CONFIG_BOOT_DEVICE_NOT_SPI_FLASH is not set
CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
# CONFIG_RTC is not set
# #
# Console # Console
@@ -621,27 +471,12 @@ CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_BOOTBLOCK_CONSOLE=y CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y CONFIG_SQUELCH_EARLY_SMP=y
#
# I/O mapped, 8250-compatible
#
#
# Serial port base address = 0x3f8
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
# CONFIG_SPKMODEM is not set # CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set # CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set # CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
@@ -652,69 +487,35 @@ CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0 CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set # CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set # CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set # CONFIG_POST_DEVICE_PCI_PCIE is not set
# CONFIG_DEFAULT_POST_ON_LPC is not set
CONFIG_POST_IO_PORT=0x80 CONFIG_POST_IO_PORT=0x80
# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set
# CONFIG_HWBASE_DEBUG_CB is not set
CONFIG_HWBASE_DEBUG_NULL=y CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_DISABLE_ACPI_HIBERNATE is not set
CONFIG_RESUME_PATH_SAME_AS_BOOT=y CONFIG_RESUME_PATH_SAME_AS_BOOT=y
# CONFIG_NO_MONOTONIC_TIMER is not set
CONFIG_HAVE_MONOTONIC_TIMER=y CONFIG_HAVE_MONOTONIC_TIMER=y
# CONFIG_TIMER_QUEUE is not set
CONFIG_HAVE_OPTION_TABLE=y CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_IOAPIC=y CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_GFXUMA is not set
# CONFIG_ACPI_NHLT is not set
# #
# System tables # System tables
# #
# CONFIG_GENERATE_MP_TABLE is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_GENERATE_SMBIOS_TABLES=y CONFIG_GENERATE_SMBIOS_TABLES=y
# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
# #
# Payload # Payload
# #
CONFIG_PAYLOAD_NONE=y CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set # end of Payload
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_SEABIOS is not set
# CONFIG_PAYLOAD_UBOOT is not set
# CONFIG_PAYLOAD_YABITS is not set
# CONFIG_PAYLOAD_LINUX is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
# CONFIG_SEABIOS_STABLE is not set
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
# CONFIG_COMPRESSED_PAYLOAD_NONE is not set
# CONFIG_COMPRESSED_PAYLOAD_LZMA is not set
# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set
# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
# #
# Debugging # Debugging
@@ -723,6 +524,7 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# CPU Debug Settings # CPU Debug Settings
# #
# CONFIG_DISPLAY_MTRRS is not set
# #
# BLOB Debug Settings # BLOB Debug Settings
@@ -731,38 +533,26 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# General Debug Settings # General Debug Settings
# #
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set # CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set # CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set # CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set # CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_RESOURCES is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set # CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set # CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_FUNC is not set
# CONFIG_DEBUG_BOOT_STATE is not set # CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set # CONFIG_DEBUG_ADA_CODE is not set
# CONFIG_HAVE_EM100_SUPPORT is not set # end of Debugging
CONFIG_RAMSTAGE_ADA=y CONFIG_RAMSTAGE_ADA=y
CONFIG_RAMSTAGE_LIBHWBASE=y CONFIG_RAMSTAGE_LIBHWBASE=y
# CONFIG_SPD_CACHE_IN_FMAP is not set
CONFIG_HWBASE_DYNAMIC_MMIO=y CONFIG_HWBASE_DYNAMIC_MMIO=y
CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000 CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
CONFIG_HWBASE_DIRECT_PCIDEV=y CONFIG_HWBASE_DIRECT_PCIDEV=y
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
# CONFIG_REG_SCRIPT is not set
CONFIG_MAX_REBOOT_CNT=3 CONFIG_MAX_REBOOT_CNT=3
# CONFIG_NO_XIP_EARLY_STAGES is not set
# CONFIG_EARLY_CBMEM_LIST is not set
CONFIG_RELOCATABLE_MODULES=y CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y CONFIG_HAVE_ROMSTAGE=y
@@ -1,8 +1,7 @@
cbtree="fam15h_udimm" cbtree="default"
romtype="normal" romtype="normal"
arch="x86_64" arch="x86_64"
payload_grub="n" payload_grub="n"
payload_grub_withseabios="n" payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n" payload_memtest="n"
@@ -0,0 +1,559 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set
CONFIG_USE_BLOBS=y
# CONFIG_USE_AMD_BLOBS is not set
# CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
CONFIG_VENDOR_ACER=y
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="G43T-AM3"
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_MAINBOARD_DIR="acer/g43t-am3"
CONFIG_VGA_BIOS_ID="8086,2e22"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Acer"
# CONFIG_BOARD_ACER_VN7_572G is not set
CONFIG_BOARD_ACER_G43T_AM3=y
CONFIG_CBFS_SIZE=0x1000000
CONFIG_MAX_CPUS=4
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Acer"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfeff8000
CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_HAVE_INTEL_FIRMWARE=y
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="G43T-AM3"
# CONFIG_HAVE_IFD_BIN is not set
CONFIG_PCIEXP_HOTPLUG_BUSES=32
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
# CONFIG_DEBUG_SMI is not set
# CONFIG_PCIEXP_L1_SUB_STATE is not set
CONFIG_PCIEXP_CLK_PM=y
# CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
CONFIG_COREBOOT_ROMSIZE_KB_16384=y
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=16384
CONFIG_ROM_SIZE=0x01000000
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_EHCI_BAR=0xfef00000
CONFIG_STACK_SIZE=0x2000
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_BOOTBLOCK_IN_CBFS=y
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
CONFIG_PCIEXP_ASPM=y
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
#
# CPU
#
CONFIG_CPU_INTEL_MODEL_6FX=y
CONFIG_CPU_INTEL_MODEL_1067X=y
CONFIG_CPU_INTEL_MODEL_F3X=y
CONFIG_CPU_INTEL_MODEL_F4X=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_CPU_INTEL_SOCKET_LGA775=y
CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y
CONFIG_PARALLEL_MP=y
CONFIG_XAPIC_ONLY=y
# CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_SETUP_XIP_CACHE=y
CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y
CONFIG_SMM_TSEG=y
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_AP_STACK_SIZE=0x800
CONFIG_SMP=y
CONFIG_MMX=y
CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
# CONFIG_CPU_MICROCODE_CBFS_NONE is not set
#
# Northbridge
#
CONFIG_NORTHBRIDGE_INTEL_X4X=y
#
# Southbridge
#
CONFIG_PCIEXP_HOTPLUG=y
CONFIG_SOUTHBRIDGE_INTEL_I82801JX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y
CONFIG_SUPERIO_ITE_ENV_CTRL=y
CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y
CONFIG_SUPERIO_ITE_ENV_CTRL_PWM_FREQ2=y
CONFIG_SUPERIO_ITE_IT8720F=y
#
# Embedded Controllers
#
#
# Intel Firmware
#
CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y
CONFIG_HAVE_EXP_X86_64_SUPPORT=y
# CONFIG_USE_EXP_X86_64_SUPPORT is not set
CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_PC80_SYSTEM=y
CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_POSTCAR_STAGE=y
CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y
CONFIG_HAVE_CF9_RESET=y
CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
CONFIG_MAINBOARD_USE_LIBGFXINIT=y
# CONFIG_VGA_ROM_RUN is not set
# CONFIG_NO_GFX_INIT is not set
CONFIG_NO_EARLY_GFX_INIT=y
#
# Display
#
CONFIG_VGA_TEXT_FRAMEBUFFER=y
# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
# end of Display
CONFIG_PCI=y
CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_ECAM_MMCONF_LENGTH=0x10000000
CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_USE_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_ELOG is not set
CONFIG_CACHE_MRC_SETTINGS=y
# CONFIG_MRC_SETTINGS_PROTECT is not set
CONFIG_MRC_STASH_TO_CBMEM=y
# CONFIG_SMMSTORE is not set
CONFIG_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y
CONFIG_SPI_FLASH_ATMEL=y
CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_DRIVERS_UART_OXPCIE is not set
CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y
# CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_CK505=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_INTEL_GMA_ACPI=y
CONFIG_GFX_GMA=y
CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_GFX_GMA_DYN_CPU=y
CONFIG_GFX_GMA_GENERATION="G45"
CONFIG_GFX_GMA_PCH="No_PCH"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y
# CONFIG_DRIVERS_SIL_3114 is not set
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
CONFIG_NO_TPM=y
# end of Trusted Platform Module
#
# Memory initialization
#
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
# CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set
CONFIG_POST_IO_PORT=0x80
CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_RESUME_PATH_SAME_AS_BOOT=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
# CONFIG_DISPLAY_MTRRS is not set
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_RAMSTAGE_ADA=y
CONFIG_RAMSTAGE_LIBHWBASE=y
CONFIG_HWBASE_DYNAMIC_MMIO=y
CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
CONFIG_HWBASE_DIRECT_PCIDEV=y
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
+3 -4
View File
@@ -1,8 +1,7 @@
cbtree="default" cbtree="default"
romtype="normal" romtype="normal"
arch="x86_64" arch="x86_64"
payload_grub="y" payload_grub="n"
payload_grub_withseabios="y" payload_grub_withseabios="n"
payload_grub_withtianocore="n"
payload_seabios="y" payload_seabios="y"
payload_tianocore="n" grub_scan_disk="ata"
@@ -11,13 +11,17 @@ CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback" CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set # CONFIG_COMPILER_LLVM_CLANG is not set
CONFIG_ARCH_SUPPORTS_CLANG=y
# CONFIG_ANY_TOOLCHAIN is not set # CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set # CONFIG_CCACHE is not set
# CONFIG_IWYU is not set
# CONFIG_FMD_GENPARSER is not set # CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set # CONFIG_UTIL_GENPARSER is not set
# CONFIG_OPTION_BACKEND_NONE is not set
CONFIG_USE_OPTION_TABLE=y CONFIG_USE_OPTION_TABLE=y
CONFIG_STATIC_OPTION_TABLE=y CONFIG_STATIC_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y CONFIG_COMPRESS_RAMSTAGE_LZMA=y
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
CONFIG_INCLUDE_CONFIG_FILE=y CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_TIMESTAMPS_ON_CONSOLE is not set # CONFIG_TIMESTAMPS_ON_CONSOLE is not set
@@ -26,10 +30,7 @@ CONFIG_USE_BLOBS=y
# CONFIG_USE_QC_BLOBS is not set # CONFIG_USE_QC_BLOBS is not set
# CONFIG_COVERAGE is not set # CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set # CONFIG_UBSAN is not set
# CONFIG_HAVE_ASAN_IN_ROMSTAGE is not set
# CONFIG_ASAN_IN_ROMSTAGE is not set
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
# CONFIG_ASAN_IN_RAMSTAGE is not set
# CONFIG_ASAN is not set # CONFIG_ASAN is not set
# CONFIG_NO_STAGE_CACHE is not set # CONFIG_NO_STAGE_CACHE is not set
CONFIG_TSEG_STAGE_CACHE=y CONFIG_TSEG_STAGE_CACHE=y
@@ -37,6 +38,13 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_BOOTSPLASH_IMAGE is not set # CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set # CONFIG_FW_CONFIG is not set
#
# Software Bill Of Materials (SBOM)
#
# CONFIG_SBOM is not set
# end of Software Bill Of Materials (SBOM)
# end of General setup
# #
# Mainboard # Mainboard
# #
@@ -52,30 +60,25 @@ CONFIG_TSEG_STAGE_CACHE=y
# CONFIG_VENDOR_APPLE is not set # CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set # CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set # CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set # CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set # CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set # CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set # CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set # CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set # CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set # CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set # CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set # CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set # CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set # CONFIG_VENDOR_GETAC is not set
CONFIG_VENDOR_GIGABYTE=y CONFIG_VENDOR_GIGABYTE=y
# CONFIG_VENDOR_GIZMOSPHERE is not set
# CONFIG_VENDOR_GOOGLE is not set # CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set # CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set # CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set # CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set # CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set # CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set # CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set # CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set # CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set # CONFIG_VENDOR_OPENCELLULAR is not set
@@ -90,9 +93,9 @@ CONFIG_VENDOR_GIGABYTE=y
# CONFIG_VENDOR_RODA is not set # CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set # CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set # CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set # CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set # CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set # CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set # CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set # CONFIG_VENDOR_TI is not set
@@ -108,40 +111,33 @@ CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set # CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="GIGABYTE" CONFIG_MAINBOARD_VENDOR="GIGABYTE"
CONFIG_CBFS_SIZE=0x00100000 CONFIG_CBFS_SIZE=0x00100000
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_MAX_CPUS=4 CONFIG_MAX_CPUS=4
# CONFIG_VBOOT is not set # CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_POST_DEVICE=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb" CONFIG_DEVICETREE="devicetree.cb"
# CONFIG_VBOOT is not set
CONFIG_OVERRIDE_DEVICETREE=""
# CONFIG_VGA_BIOS is not set # CONFIG_VGA_BIOS is not set
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="GIGABYTE" CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="GIGABYTE"
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt" CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
CONFIG_POST_IO=y CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_OVERRIDE_DEVICETREE="" CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_CONSOLE_POST is not set # CONFIG_CONSOLE_POST is not set
CONFIG_POST_DEVICE=y
# CONFIG_BOARD_EMULATION_QEMU_AARCH64 is not set
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set
# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set
# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64 is not set
# CONFIG_BOARD_EMULATION_QEMU_RISCV_RV32 is not set
# CONFIG_BOARD_EMULATION_SPIKE_RISCV is not set
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld" CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
CONFIG_DCACHE_RAM_BASE=0xfeff8000 CONFIG_DCACHE_RAM_BASE=0xfeff8000
CONFIG_DCACHE_RAM_SIZE=0x8000 CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000 CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000 CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
CONFIG_MMCONF_BASE_ADDRESS=0xe0000000 CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
CONFIG_MMCONF_BUS_NUMBER=256 CONFIG_ECAM_MMCONF_BUS_NUMBER=256
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144 CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DRIVERS_INTEL_WIFI=y # CONFIG_DRIVERS_INTEL_WIFI is not set
# CONFIG_BOARD_GIGABYTE_GA_945GCM_S2L is not set # CONFIG_BOARD_GIGABYTE_GA_945GCM_S2L is not set
# CONFIG_BOARD_GIGABYTE_GA_945GCM_S2C is not set # CONFIG_BOARD_GIGABYTE_GA_945GCM_S2C is not set
# CONFIG_BOARD_GIGABYTE_GA_B75M_D3H is not set # CONFIG_BOARD_GIGABYTE_GA_B75M_D3H is not set
@@ -150,19 +146,23 @@ CONFIG_DRIVERS_INTEL_WIFI=y
# CONFIG_BOARD_GIGABYTE_GA_D510UD is not set # CONFIG_BOARD_GIGABYTE_GA_D510UD is not set
CONFIG_BOARD_GIGABYTE_GA_G41M_ES2L=y CONFIG_BOARD_GIGABYTE_GA_G41M_ES2L=y
# CONFIG_BOARD_GIGABYTE_GA_H61M_S2PV is not set # CONFIG_BOARD_GIGABYTE_GA_H61M_S2PV is not set
# CONFIG_BOARD_GIGABYTE_GA_H61M_DS2 is not set
# CONFIG_BOARD_GIGABYTE_GA_H61M_DS2V is not set # CONFIG_BOARD_GIGABYTE_GA_H61M_DS2V is not set
# CONFIG_BOARD_GIGABYTE_GA_H61MA_D3V is not set # CONFIG_BOARD_GIGABYTE_GA_H61MA_D3V is not set
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_CONSOLE_SERIAL=y
# CONFIG_PCIEXP_HOTPLUG is not set
CONFIG_CBFS_MCACHE_SIZE=0x2000
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="GA-G41M-ES2L" CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="GA-G41M-ES2L"
CONFIG_PCIEXP_HOTPLUG_BUSES=32
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13" CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
# CONFIG_DEBUG_SMI is not set
CONFIG_PCIEXP_L1_SUB_STATE=y CONFIG_PCIEXP_L1_SUB_STATE=y
CONFIG_PCIEXP_CLK_PM=y CONFIG_PCIEXP_CLK_PM=y
CONFIG_DRIVERS_UART_8250IO=y # CONFIG_DRIVERS_UART_8250IO is not set
CONFIG_HEAP_SIZE=0x4000 CONFIG_HEAP_SIZE=0x4000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_1024=y CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set # CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set # CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
@@ -185,11 +185,7 @@ CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set # CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set # CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0 CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# CONFIG_SYSTEM_TYPE_LAPTOP is not set # end of Mainboard
# CONFIG_SYSTEM_TYPE_TABLET is not set
# CONFIG_SYSTEM_TYPE_DETACHABLE is not set
# CONFIG_SYSTEM_TYPE_CONVERTIBLE is not set
# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set
# #
# Chipset # Chipset
@@ -199,69 +195,41 @@ CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
# SoC # SoC
# #
CONFIG_CHIPSET_DEVICETREE="" CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_MCACHE_SIZE=0x4000
CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_ROMSTAGE_ADDR=0x2000000
CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000
CONFIG_RAMBASE=0xe00000
CONFIG_CPU_ADDR_BITS=36
CONFIG_SMM_RESERVED_SIZE=0x100000 CONFIG_SMM_RESERVED_SIZE=0x100000
CONFIG_SMM_MODULE_STACK_SIZE=0x400 CONFIG_SMM_MODULE_STACK_SIZE=0x400
# CONFIG_CHECK_REV_IN_OPROM_NAME is not set CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
CONFIG_EHCI_BAR=0xfef00000 CONFIG_EHCI_BAR=0xfef00000
# CONFIG_SOC_CAVIUM_CN81XX is not set CONFIG_STACK_SIZE=0x2000
CONFIG_STACK_SIZE=0x1000
# CONFIG_SOC_CAVIUM_COMMON is not set
CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_VBT_DATA_SIZE_KB=8
# CONFIG_SOC_INTEL_GEMINILAKE is not set
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254 CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16 CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256 CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16 CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_PCIEXP_ASPM=y CONFIG_BOOTBLOCK_IN_CBFS=y
# CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
CONFIG_TTYS0_BASE=0x3f8 CONFIG_PCIEXP_ASPM=y
CONFIG_TTYS0_LCS=3 # CONFIG_PCIEXP_COMMON_CLOCK is not set
CONFIG_UART_PCI_ADDR=0x0 CONFIG_FIXED_SMBUS_IO_BASE=0x400
CONFIG_AZALIA_MAX_CODECS=3 CONFIG_HPET_MIN_TICKS=0x80
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_INTEL_HAS_TOP_SWAP=y CONFIG_INTEL_HAS_TOP_SWAP=y
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set # CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000 CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
# CONFIG_SOC_MEDIATEK_MT8173 is not set
# CONFIG_SOC_MEDIATEK_MT8183 is not set
# CONFIG_SOC_MEDIATEK_MT8192 is not set
# CONFIG_SOC_MEDIATEK_MT8195 is not set
# CONFIG_SOC_NVIDIA_TEGRA124 is not set
# CONFIG_SOC_NVIDIA_TEGRA210 is not set
# CONFIG_SOC_QUALCOMM_COMMON is not set
# CONFIG_SOC_QC_IPQ40XX is not set
# CONFIG_SOC_QC_IPQ806X is not set
# CONFIG_SOC_QUALCOMM_QCS405 is not set
# CONFIG_SOC_ROCKCHIP_RK3288 is not set
# CONFIG_SOC_ROCKCHIP_RK3399 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set
# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set
# CONFIG_SOC_TI_AM335X is not set
# CONFIG_SOC_UCB_RISCV is not set
# #
# CPU # CPU
# #
# CONFIG_CPU_AMD_AGESA is not set
# CONFIG_CPU_AMD_PI is not set
# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set
CONFIG_CPU_INTEL_MODEL_6FX=y CONFIG_CPU_INTEL_MODEL_6FX=y
CONFIG_CPU_INTEL_MODEL_1067X=y CONFIG_CPU_INTEL_MODEL_1067X=y
CONFIG_CPU_INTEL_MODEL_F3X=y CONFIG_CPU_INTEL_MODEL_F3X=y
CONFIG_CPU_INTEL_MODEL_F4X=y CONFIG_CPU_INTEL_MODEL_F4X=y
CONFIG_SOCKET_SPECIFIC_OPTIONS=y CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_SSE2=y
CONFIG_CPU_INTEL_SOCKET_LGA775=y CONFIG_CPU_INTEL_SOCKET_LGA775=y
# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set
CONFIG_CPU_INTEL_COMMON=y CONFIG_CPU_INTEL_COMMON=y
CONFIG_ENABLE_VMX=y CONFIG_ENABLE_VMX=y
CONFIG_SET_IA32_FC_LOCK_BIT=y CONFIG_SET_IA32_FC_LOCK_BIT=y
@@ -269,87 +237,65 @@ CONFIG_SET_MSR_AESNI_LOCK_BIT=y
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
CONFIG_CPU_INTEL_COMMON_SMM=y CONFIG_CPU_INTEL_COMMON_SMM=y
CONFIG_MICROCODE_UPDATE_PRE_RAM=y CONFIG_MICROCODE_UPDATE_PRE_RAM=y
# CONFIG_CPU_QEMU_X86_LAPIC_INIT is not set
# CONFIG_CPU_QEMU_X86_PARALLEL_MP is not set
# CONFIG_PARALLEL_CPU_INIT is not set
CONFIG_PARALLEL_MP=y CONFIG_PARALLEL_MP=y
# CONFIG_PARALLEL_MP_AP_WORK is not set CONFIG_XAPIC_ONLY=y
# CONFIG_UDELAY_LAPIC is not set # CONFIG_X2APIC_ONLY is not set
# CONFIG_X2APIC_RUNTIME is not set
# CONFIG_X2APIC_LATE_WORKAROUND is not set
CONFIG_UDELAY_TSC=y CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_MONOTONIC_TIMER=y
# CONFIG_TSC_SYNC_LFENCE is not set
CONFIG_TSC_SYNC_MFENCE=y CONFIG_TSC_SYNC_MFENCE=y
CONFIG_SETUP_XIP_CACHE=y CONFIG_SETUP_XIP_CACHE=y
CONFIG_LOGICAL_CPUS=y CONFIG_LOGICAL_CPUS=y
CONFIG_HAVE_SMI_HANDLER=y CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_NO_SMM is not set
# CONFIG_SMM_ASEG is not set
CONFIG_SMM_TSEG=y CONFIG_SMM_TSEG=y
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000 CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
CONFIG_SMM_STUB_STACK_SIZE=0x400 CONFIG_AP_STACK_SIZE=0x800
# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set
# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set
# CONFIG_X86_AMD_FIXED_MTRRS is not set
# CONFIG_X86_AMD_INIT_SIPI is not set
# CONFIG_SOC_SETS_MSRS is not set
# CONFIG_RESERVE_MTRRS_FOR_OS is not set
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_MMX=y CONFIG_MMX=y
CONFIG_SSE=y CONFIG_SSE=y
CONFIG_SSE2=y
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
# CONFIG_USES_MICROCODE_HEADER_FILES is not set CONFIG_USE_CPU_MICROCODE_CBFS_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS is not set CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS=y
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
CONFIG_CPU_MICROCODE_CBFS_NONE=y # CONFIG_CPU_MICROCODE_CBFS_NONE is not set
# #
# Northbridge # Northbridge
# #
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_NORTHBRIDGE_AMD_PI is not set
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
CONFIG_NORTHBRIDGE_INTEL_X4X=y CONFIG_NORTHBRIDGE_INTEL_X4X=y
# #
# Southbridge # Southbridge
# #
# CONFIG_AMD_SB_CIMX is not set CONFIG_PCIEXP_HOTPLUG=y
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_ME is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_HPET=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH7=y
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9 is not set
# CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_SILVERMONT is not set
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
# CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE is not set
CONFIG_INTEL_CHIPSET_LOCKDOWN=y CONFIG_INTEL_CHIPSET_LOCKDOWN=y
CONFIG_TCO_SPACE_NOT_YET_SPLIT=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000 CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000 CONFIG_RCBA_LENGTH=0x4000
CONFIG_FIXED_SMBUS_IO_BASE=0x400
# #
# Super I/O # Super I/O
# #
# CONFIG_SUPERIO_ASPEED_AST2400 is not set
# CONFIG_SUPERIO_ASPEED_COMMON_PRE_RAM is not set
# CONFIG_SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND is not set
# CONFIG_SUPERIO_FINTEK_FAN_CONTROL is not set
CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y
CONFIG_SUPERIO_ITE_ENV_CTRL=y CONFIG_SUPERIO_ITE_ENV_CTRL=y
CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y
@@ -359,18 +305,6 @@ CONFIG_SUPERIO_ITE_IT8718F=y
# #
# Embedded Controllers # Embedded Controllers
# #
# CONFIG_EC_51NB_NPCE985LA0DX is not set
# CONFIG_EC_GOOGLE_CHROMEEC_SKUID is not set
# CONFIG_EC_GOOGLE_WILCO is not set
# CONFIG_CAVIUM_BDK is not set
# CONFIG_MAINBOARD_HAS_CHROMEOS is not set
# CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION is not set
# CONFIG_UEFI_2_4_BINDING is not set
# CONFIG_UDK_2015_BINDING is not set
# CONFIG_UDK_2017_BINDING is not set
# CONFIG_UDK_202005_BINDING is not set
# CONFIG_USE_SIEMENS_HWILIB is not set
# CONFIG_ARM_LPAE is not set
CONFIG_ARCH_X86=y CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y CONFIG_ARCH_VERSTAGE_X86_32=y
@@ -378,104 +312,86 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_POSTCAR_X86_32=y CONFIG_ARCH_POSTCAR_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_ARCH_ALL_STAGES_X86_32=y CONFIG_ARCH_ALL_STAGES_X86_32=y
# CONFIG_ARCH_POSTCAR_X86_64 is not set CONFIG_HAVE_EXP_X86_64_SUPPORT=y
# CONFIG_USE_MARCH_586 is not set # CONFIG_USE_EXP_X86_64_SUPPORT is not set
CONFIG_AP_IN_SIPI_WAIT=y CONFIG_AP_IN_SIPI_WAIT=y
CONFIG_SIPI_VECTOR_IN_ROM=y CONFIG_SIPI_VECTOR_IN_ROM=y
CONFIG_RAMTOP=0x1000000 CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_PC80_SYSTEM=y CONFIG_PC80_SYSTEM=y
# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set
CONFIG_HAVE_CMOS_DEFAULT=y CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_HPET_ADDRESS_OVERRIDE is not set
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_POSTCAR_STAGE=y CONFIG_POSTCAR_STAGE=y
# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set
# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set
CONFIG_BOOTBLOCK_SIMPLE=y CONFIG_BOOTBLOCK_SIMPLE=y
# CONFIG_BOOTBLOCK_NORMAL is not set # CONFIG_BOOTBLOCK_NORMAL is not set
# CONFIG_COLLECT_TIMESTAMPS_NO_TSC is not set
CONFIG_COLLECT_TIMESTAMPS_TSC=y CONFIG_COLLECT_TIMESTAMPS_TSC=y
# CONFIG_PAGING_IN_CACHE_AS_RAM is not set
# CONFIG_IDT_IN_EVERY_STAGE is not set
CONFIG_HAVE_CF9_RESET=y CONFIG_HAVE_CF9_RESET=y
# CONFIG_PIRQ_ROUTE is not set CONFIG_DEBUG_HW_BREAKPOINTS=y
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
# end of Chipset
# #
# Devices # Devices
# #
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT is not set
# CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT is not set
# CONFIG_VGA_ROM_RUN_DEFAULT is not set
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
# CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT is not set
CONFIG_MAINBOARD_USE_LIBGFXINIT=y CONFIG_MAINBOARD_USE_LIBGFXINIT=y
# CONFIG_VGA_ROM_RUN is not set # CONFIG_VGA_ROM_RUN is not set
# CONFIG_NO_GFX_INIT is not set # CONFIG_NO_GFX_INIT is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set CONFIG_NO_EARLY_GFX_INIT=y
# #
# Display # Display
# #
CONFIG_VGA_TEXT_FRAMEBUFFER=y CONFIG_VGA_TEXT_FRAMEBUFFER=y
# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set # CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
# end of Display
CONFIG_PCI=y CONFIG_PCI=y
# CONFIG_NO_MMCONF_SUPPORT is not set CONFIG_ECAM_MMCONF_SUPPORT=y
CONFIG_MMCONF_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y
# CONFIG_AZALIA_LOCK_DOWN_R_WO_GCAP is not set
CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_MMCONF_LENGTH=0x10000000 CONFIG_ECAM_MMCONF_LENGTH=0x10000000
CONFIG_PCI_ALLOW_BUS_MASTER=y CONFIG_PCI_ALLOW_BUS_MASTER=y
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
# CONFIG_EARLY_PCI_BRIDGE is not set # CONFIG_EARLY_PCI_BRIDGE is not set
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_INTEL_GMA_HAVE_VBT=y CONFIG_INTEL_GMA_HAVE_VBT=y
CONFIG_INTEL_GMA_ADD_VBT=y CONFIG_INTEL_GMA_ADD_VBT=y
# CONFIG_SOFTWARE_I2C is not set # CONFIG_SOFTWARE_I2C is not set
# CONFIG_RESOURCE_ALLOCATOR_V3 is not set CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y # CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
# CONFIG_XHCI_UTILS is not set CONFIG_NO_DDR5=y
CONFIG_NO_LPDDR4=y
CONFIG_NO_DDR4=y
CONFIG_USE_DDR3=y
CONFIG_USE_DDR2=y
# end of Devices
# #
# Generic Drivers # Generic Drivers
# #
# CONFIG_DRIVERS_AS3722_RTC is not set
# CONFIG_CHROMEOS_CAMERA is not set
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000 CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_MAINBOARD_HAS_CRB_TPM is not set
# CONFIG_ELOG is not set # CONFIG_ELOG is not set
# CONFIG_GIC is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_DRIVERS_LENOVO_WACOM is not set
CONFIG_CACHE_MRC_SETTINGS=y CONFIG_CACHE_MRC_SETTINGS=y
# CONFIG_MRC_SETTINGS_PROTECT is not set # CONFIG_MRC_SETTINGS_PROTECT is not set
# CONFIG_HAS_RECOVERY_MRC_CACHE is not set
# CONFIG_MRC_SETTINGS_VARIABLE_DATA is not set
# CONFIG_MRC_WRITE_NV_LATE is not set
CONFIG_MRC_STASH_TO_CBMEM=y CONFIG_MRC_STASH_TO_CBMEM=y
CONFIG_REALTEK_8168_RESET=y CONFIG_REALTEK_8168_RESET=y
CONFIG_REALTEK_8168_MACADDRESS="00:e0:4c:00:c0:b0" CONFIG_REALTEK_8168_MACADDRESS="00:e0:4c:00:c0:b0"
# CONFIG_RT8168_GET_MAC_FROM_VPD is not set
# CONFIG_RT8168_SUPPORT_LEGACY_VPD_MAC is not set
# CONFIG_RT8168_SET_LED_MODE is not set
# CONFIG_SMMSTORE is not set # CONFIG_SMMSTORE is not set
# CONFIG_SMMSTORE_IN_CBFS is not set
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
# CONFIG_SPI_SDCARD is not set
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y
# CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY is not set
# CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS is not set
# CONFIG_SPI_FLASH_NO_FAST_READ is not set # CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_ADESTO=y CONFIG_SPI_FLASH_ADESTO=y
CONFIG_SPI_FLASH_AMIC=y CONFIG_SPI_FLASH_AMIC=y
@@ -486,129 +402,75 @@ CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_HAS_VOLATILE_GROUP is not set
# CONFIG_HAVE_EM100PRO_SPI_CONSOLE_SUPPORT is not set
CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_UART_8250IO_SKIP_INIT is not set
# CONFIG_NO_UART_ON_SUPERIO is not set
# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set
# CONFIG_UART_OVERRIDE_REFCLK is not set
# CONFIG_DRIVERS_UART_8250MEM is not set
# CONFIG_DRIVERS_UART_8250MEM_32 is not set
# CONFIG_HAVE_UART_SPECIAL is not set
# CONFIG_DRIVERS_UART_OXPCIE is not set # CONFIG_DRIVERS_UART_OXPCIE is not set
# CONFIG_DRIVERS_UART_PL011 is not set
# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set
CONFIG_HAVE_USBDEBUG=y CONFIG_HAVE_USBDEBUG=y
# CONFIG_HAVE_USBDEBUG_OPTIONS is not set
# CONFIG_USBDEBUG is not set # CONFIG_USBDEBUG is not set
# CONFIG_VPD is not set # CONFIG_VPD is not set
# CONFIG_DRIVERS_AMD_PI is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set # CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GFX_GENERIC is not set # CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
# CONFIG_DRIVERS_I2C_GPIO_MUX is not set # CONFIG_DRIVERS_I2C_MAX98396 is not set
# CONFIG_DRIVERS_I2C_MAX98373 is not set
# CONFIG_DRIVERS_I2C_MAX98390 is not set
# CONFIG_DRIVERS_I2C_MAX98927 is not set
# CONFIG_DRIVERS_I2C_PCA9538 is not set
# CONFIG_DRIVERS_I2C_PCF8523 is not set
# CONFIG_DRIVERS_I2C_PTN3460 is not set
# CONFIG_DRIVERS_I2C_RT1011 is not set
# CONFIG_DRIVERS_I2C_RT5663 is not set
# CONFIG_DRIVERS_I2C_RTD2132 is not set
# CONFIG_DRIVERS_I2C_RX6110SA is not set
# CONFIG_DRIVERS_I2C_SX9310 is not set
# CONFIG_DRIVERS_I2C_SX9324 is not set
# CONFIG_DRIVERS_I2C_TAS5825M is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_ATMEL is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_CR50 is not set
# CONFIG_MAINBOARD_HAS_I2C_TPM_GENERIC is not set
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVERS_INTEL_DPTF is not set
# CONFIG_PLATFORM_USES_FSP2_0 is not set
# CONFIG_PLATFORM_USES_FSP2_1 is not set
# CONFIG_PLATFORM_USES_FSP2_2 is not set
# CONFIG_INTEL_DDI is not set
# CONFIG_INTEL_EDID is not set
# CONFIG_INTEL_INT15 is not set
CONFIG_INTEL_GMA_ACPI=y CONFIG_INTEL_GMA_ACPI=y
# CONFIG_INTEL_GMA_SSC_ALTERNATE_REF is not set
# CONFIG_INTEL_GMA_SWSMISCI is not set
# CONFIG_GFX_GMA_IGNORE_PRESENCE_STRAPS is not set
CONFIG_GFX_GMA=y CONFIG_GFX_GMA=y
CONFIG_GFX_GMA_PANEL_1_ON_EDP=y CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
# CONFIG_GFX_GMA_PANEL_1_ON_LVDS is not set CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_GFX_GMA_DYN_CPU=y CONFIG_GFX_GMA_DYN_CPU=y
CONFIG_GFX_GMA_GENERATION="G45" CONFIG_GFX_GMA_GENERATION="G45"
CONFIG_GFX_GMA_PCH="No_PCH" CONFIG_GFX_GMA_PCH="No_PCH"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled" CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC" CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
# CONFIG_DRIVER_INTEL_I210 is not set # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
# CONFIG_DRIVERS_INTEL_ISH is not set
# CONFIG_DRIVERS_INTEL_MIPI_CAMERA is not set
# CONFIG_DRIVERS_INTEL_PMC is not set
# CONFIG_HAVE_INTEL_PTT is not set
# CONFIG_IPMI_OCP is not set
# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set
# CONFIG_DRIVER_MAXIM_MAX77686 is not set
# CONFIG_DRIVER_PARADE_PS8625 is not set
# CONFIG_DRIVER_PARADE_PS8640 is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set # CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_DRIVERS_MC146818=y CONFIG_DRIVERS_MC146818=y
# CONFIG_MAINBOARD_HAS_LPC_TPM is not set # CONFIG_USE_PC_CMOS_ALTCENTURY is not set
CONFIG_VGA=y CONFIG_VGA=y
# CONFIG_DRIVERS_RICOH_RCE822 is not set
# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set
# CONFIG_NC_FPGA_NOTIFY_CB_READY is not set
# CONFIG_DRIVERS_SIL_3114 is not set # CONFIG_DRIVERS_SIL_3114 is not set
# CONFIG_MAINBOARD_HAS_SPI_TPM_CR50 is not set # end of Generic Drivers
# CONFIG_MAINBOARD_HAS_SPI_TPM is not set
# CONFIG_DRIVERS_TI_SN65DSI86BRIDGE is not set
# CONFIG_DRIVER_TI_TPS65090 is not set
# CONFIG_DRIVERS_TI_TPS65913_RTC is not set
# CONFIG_DRIVERS_USB_ACPI is not set
# CONFIG_DRIVERS_USB_PCI_XHCI is not set
CONFIG_DRIVERS_WIFI_GENERIC=y
# CONFIG_USE_SAR is not set
# CONFIG_MP_SERVICES_PPI_V1 is not set
# CONFIG_MP_SERVICES_PPI_V2 is not set
# CONFIG_COMMONLIB_STORAGE is not set
# #
# Security # Security
# #
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
# #
# Verified Boot (vboot) # Verified Boot (vboot)
# #
# end of Verified Boot (vboot)
# #
# Trusted Platform Module # Trusted Platform Module
# #
CONFIG_USER_NO_TPM=y CONFIG_NO_TPM=y
# end of Trusted Platform Module
# #
# Memory initialization # Memory initialization
# #
CONFIG_PLATFORM_HAS_DRAM_CLEAR=y CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
# end of Memory initialization
# CONFIG_STM is not set # CONFIG_STM is not set
CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set # CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set # CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# CONFIG_ACPI_AMD_HARDWARE_SLEEP_VALUES is not set # CONFIG_BOOTMEDIA_SMM_BWP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
CONFIG_ACPI_SOC_NVS=y CONFIG_ACPI_SOC_NVS=y
# CONFIG_ACPI_EINJ is not set
CONFIG_HAVE_ACPI_TABLES=y CONFIG_HAVE_ACPI_TABLES=y
# CONFIG_BOOT_DEVICE_NOT_SPI_FLASH is not set
CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
# CONFIG_RTC is not set
# #
# Console # Console
@@ -616,27 +478,12 @@ CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_BOOTBLOCK_CONSOLE=y CONFIG_BOOTBLOCK_CONSOLE=y
CONFIG_POSTCAR_CONSOLE=y CONFIG_POSTCAR_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y CONFIG_SQUELCH_EARLY_SMP=y
#
# I/O mapped, 8250-compatible
#
#
# Serial port base address = 0x3f8
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
# CONFIG_SPKMODEM is not set # CONFIG_SPKMODEM is not set
# CONFIG_CONSOLE_NE2K is not set # CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set
# CONFIG_CONSOLE_SPI_FLASH is not set # CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_CONSOLE_I2C_SMBUS is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
@@ -647,69 +494,35 @@ CONFIG_CONSOLE_CBMEM=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0 CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
# CONFIG_CMOS_POST is not set # CONFIG_CMOS_POST is not set
CONFIG_POST_DEVICE_NONE=y CONFIG_POST_DEVICE_NONE=y
# CONFIG_POST_DEVICE_LPC is not set # CONFIG_POST_DEVICE_LPC is not set
# CONFIG_POST_DEVICE_PCI_PCIE is not set # CONFIG_POST_DEVICE_PCI_PCIE is not set
# CONFIG_DEFAULT_POST_ON_LPC is not set
CONFIG_POST_IO_PORT=0x80 CONFIG_POST_IO_PORT=0x80
# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set
# CONFIG_HWBASE_DEBUG_CB is not set
CONFIG_HWBASE_DEBUG_NULL=y CONFIG_HWBASE_DEBUG_NULL=y
# end of Console
CONFIG_HAVE_ACPI_RESUME=y CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_DISABLE_ACPI_HIBERNATE is not set
CONFIG_RESUME_PATH_SAME_AS_BOOT=y CONFIG_RESUME_PATH_SAME_AS_BOOT=y
# CONFIG_NO_MONOTONIC_TIMER is not set
CONFIG_HAVE_MONOTONIC_TIMER=y CONFIG_HAVE_MONOTONIC_TIMER=y
# CONFIG_TIMER_QUEUE is not set
CONFIG_HAVE_OPTION_TABLE=y CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_IOAPIC=y CONFIG_IOAPIC=y
CONFIG_USE_WATCHDOG_ON_BOOT=y CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_GFXUMA is not set
# CONFIG_ACPI_NHLT is not set
# #
# System tables # System tables
# #
# CONFIG_GENERATE_MP_TABLE is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_GENERATE_SMBIOS_TABLES=y CONFIG_GENERATE_SMBIOS_TABLES=y
# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
# end of System tables
# #
# Payload # Payload
# #
CONFIG_PAYLOAD_NONE=y CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set # end of Payload
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_PAYLOAD_GRUB2 is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_SEABIOS is not set
# CONFIG_PAYLOAD_UBOOT is not set
# CONFIG_PAYLOAD_YABITS is not set
# CONFIG_PAYLOAD_LINUX is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
# CONFIG_SEABIOS_STABLE is not set
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
# CONFIG_COMPRESSED_PAYLOAD_NONE is not set
# CONFIG_COMPRESSED_PAYLOAD_LZMA is not set
# CONFIG_COMPRESSED_PAYLOAD_LZ4 is not set
# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
# #
# Debugging # Debugging
@@ -718,6 +531,7 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# CPU Debug Settings # CPU Debug Settings
# #
# CONFIG_DISPLAY_MTRRS is not set
# #
# BLOB Debug Settings # BLOB Debug Settings
@@ -726,38 +540,26 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
# #
# General Debug Settings # General Debug Settings
# #
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set # CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set # CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set # CONFIG_DEBUG_RAM_SETUP is not set
CONFIG_HAVE_DEBUG_SMBUS=y CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set # CONFIG_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_RESOURCES is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set # CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set # CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_FUNC is not set
# CONFIG_DEBUG_BOOT_STATE is not set # CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set # CONFIG_DEBUG_ADA_CODE is not set
# CONFIG_HAVE_EM100_SUPPORT is not set # end of Debugging
CONFIG_RAMSTAGE_ADA=y CONFIG_RAMSTAGE_ADA=y
CONFIG_RAMSTAGE_LIBHWBASE=y CONFIG_RAMSTAGE_LIBHWBASE=y
# CONFIG_SPD_CACHE_IN_FMAP is not set
CONFIG_HWBASE_DYNAMIC_MMIO=y CONFIG_HWBASE_DYNAMIC_MMIO=y
CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000 CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
CONFIG_HWBASE_DIRECT_PCIDEV=y CONFIG_HWBASE_DIRECT_PCIDEV=y
CONFIG_DECOMPRESS_OFAST=y
CONFIG_WARNINGS_ARE_ERRORS=y CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
# CONFIG_REG_SCRIPT is not set
CONFIG_MAX_REBOOT_CNT=3 CONFIG_MAX_REBOOT_CNT=3
# CONFIG_NO_XIP_EARLY_STAGES is not set
# CONFIG_EARLY_CBMEM_LIST is not set
CONFIG_RELOCATABLE_MODULES=y CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_BOOTBLOCK=y CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y CONFIG_HAVE_ROMSTAGE=y
+4
View File
@@ -0,0 +1,4 @@
cbtree="cros"
romtype="normal"
arch="AArch64"
payload_uboot="y"
@@ -0,0 +1,875 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_ALLOW_EXPERIMENTAL_CLANG is not set
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_COMPRESS_PRERAM_STAGES=y
CONFIG_COMPRESS_BOOTBLOCK=y
CONFIG_INCLUDE_CONFIG_FILE=y
# CONFIG_COLLECT_TIMESTAMPS is not set
# CONFIG_USE_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
# CONFIG_ASAN is not set
CONFIG_NO_STAGE_CACHE=y
# CONFIG_CBMEM_STAGE_CACHE is not set
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
CONFIG_VENDOR_GOOGLE=y
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="Bob"
CONFIG_MAINBOARD_DIR="google/gru"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Google"
CONFIG_CBFS_SIZE=0x00800000
CONFIG_CONSOLE_SERIAL=y
CONFIG_MAX_CPUS=1
CONFIG_POST_DEVICE=y
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_VBOOT is not set
# CONFIG_CHROMEOS is not set
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_OVERRIDE_DEVICETREE=""
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=1
CONFIG_CONSOLE_SERIAL_UART_ADDRESS=0xFF1A0000
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/soc/rockchip/rk3399/memlayout.ld"
CONFIG_SPI_FLASH_WINBOND=y
#
# Asurada
#
# CONFIG_BOARD_GOOGLE_ASURADA is not set
# CONFIG_BOARD_GOOGLE_HAYATO is not set
# CONFIG_BOARD_GOOGLE_SPHERION is not set
#
# Auron
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
# CONFIG_BOARD_GOOGLE_BUDDY is not set
# CONFIG_BOARD_GOOGLE_GANDOF is not set
# CONFIG_BOARD_GOOGLE_LULU is not set
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
# Beltino
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
# CONFIG_BOARD_GOOGLE_PANTHER is not set
# CONFIG_BOARD_GOOGLE_TRICKY is not set
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
# Brya
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
# CONFIG_BOARD_GOOGLE_ANAHERA4ES is not set
# CONFIG_BOARD_GOOGLE_BRASK is not set
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
# CONFIG_BOARD_GOOGLE_BRYA4ES is not set
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
# CONFIG_BOARD_GOOGLE_KANO is not set
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
# CONFIG_BOARD_GOOGLE_NEREID is not set
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
# CONFIG_BOARD_GOOGLE_REDRIX is not set
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
# CONFIG_BOARD_GOOGLE_SKOLAS4ES is not set
# CONFIG_BOARD_GOOGLE_TAEKO is not set
# CONFIG_BOARD_GOOGLE_TAEKO4ES is not set
# CONFIG_BOARD_GOOGLE_TANIKS is not set
# CONFIG_BOARD_GOOGLE_VELL is not set
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
# CONFIG_BOARD_GOOGLE_CROTA is not set
# CONFIG_BOARD_GOOGLE_MOLI is not set
# CONFIG_BOARD_GOOGLE_KINOX is not set
# CONFIG_BOARD_GOOGLE_CRAASK is not set
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
# CONFIG_BOARD_GOOGLE_KULDAX is not set
#
# Butterfly
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
# Cherry
#
# CONFIG_BOARD_GOOGLE_CHERRY is not set
# CONFIG_BOARD_GOOGLE_DOJO is not set
# CONFIG_BOARD_GOOGLE_TOMATO is not set
#
# Kingler
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_STEELIX is not set
#
# Krabby
#
# CONFIG_BOARD_GOOGLE_KRABBY is not set
#
# Cyan
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
# CONFIG_BOARD_GOOGLE_CYAN is not set
# CONFIG_BOARD_GOOGLE_EDGAR is not set
# CONFIG_BOARD_GOOGLE_KEFKA is not set
# CONFIG_BOARD_GOOGLE_REKS is not set
# CONFIG_BOARD_GOOGLE_RELM is not set
# CONFIG_BOARD_GOOGLE_SETZER is not set
# CONFIG_BOARD_GOOGLE_TERRA is not set
# CONFIG_BOARD_GOOGLE_ULTIMA is not set
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
# Daisy
#
# CONFIG_BOARD_GOOGLE_DAISY is not set
#
# Dedede
#
# CONFIG_BOARD_GOOGLE_BOTEN is not set
# CONFIG_BOARD_GOOGLE_DEDEDE is not set
# CONFIG_BOARD_GOOGLE_DRAWCIA is not set
# CONFIG_BOARD_GOOGLE_HABOKI is not set
# CONFIG_BOARD_GOOGLE_MADOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDEE is not set
# CONFIG_BOARD_GOOGLE_LALALA is not set
# CONFIG_BOARD_GOOGLE_MAGOLOR is not set
# CONFIG_BOARD_GOOGLE_METAKNIGHT is not set
# CONFIG_BOARD_GOOGLE_LANTIS is not set
# CONFIG_BOARD_GOOGLE_GALTIC is not set
# CONFIG_BOARD_GOOGLE_SASUKE is not set
# CONFIG_BOARD_GOOGLE_STORO is not set
# CONFIG_BOARD_GOOGLE_SASUKETTE is not set
# CONFIG_BOARD_GOOGLE_KRACKO is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
# CONFIG_BOARD_GOOGLE_CRET is not set
# CONFIG_BOARD_GOOGLE_PIRIKA is not set
# CONFIG_BOARD_GOOGLE_CAPPY2 is not set
# CONFIG_BOARD_GOOGLE_BUGZZY is not set
# CONFIG_BOARD_GOOGLE_CORORI is not set
# CONFIG_BOARD_GOOGLE_DRIBLEE is not set
# CONFIG_BOARD_GOOGLE_GOOEY is not set
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
#
# Drallion
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
# Eve
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
# Fizz
#
# CONFIG_BOARD_GOOGLE_FIZZ is not set
# CONFIG_BOARD_GOOGLE_KARMA is not set
# CONFIG_BOARD_GOOGLE_ENDEAVOUR is not set
#
# Foster
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
# Gale
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
# Glados
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
# CONFIG_BOARD_GOOGLE_CAVE is not set
# CONFIG_BOARD_GOOGLE_CHELL is not set
# CONFIG_BOARD_GOOGLE_GLADOS is not set
# CONFIG_BOARD_GOOGLE_LARS is not set
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
# Gru
#
# CONFIG_BOARD_GOOGLE_KEVIN is not set
# CONFIG_BOARD_GOOGLE_GRU is not set
CONFIG_BOARD_GOOGLE_BOB=y
# CONFIG_BOARD_GOOGLE_SCARLET is not set
# CONFIG_BOARD_GOOGLE_NEFARIO is not set
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
# Guybrush
#
# CONFIG_BOARD_GOOGLE_GUYBRUSH is not set
# CONFIG_BOARD_GOOGLE_NIPPERKIN is not set
# CONFIG_BOARD_GOOGLE_DEWATT is not set
#
# Hatch
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
# CONFIG_BOARD_GOOGLE_DUFFY_LEGACY is not set
# CONFIG_BOARD_GOOGLE_DUFFY is not set
# CONFIG_BOARD_GOOGLE_FAFFY is not set
# CONFIG_BOARD_GOOGLE_GENESIS is not set
# CONFIG_BOARD_GOOGLE_HATCH is not set
# CONFIG_BOARD_GOOGLE_HELIOS is not set
# CONFIG_BOARD_GOOGLE_HELIOS_DISKSWAP is not set
# CONFIG_BOARD_GOOGLE_JINLON is not set
# CONFIG_BOARD_GOOGLE_KAISA_LEGACY is not set
# CONFIG_BOARD_GOOGLE_KAISA is not set
# CONFIG_BOARD_GOOGLE_KINDRED is not set
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
# CONFIG_BOARD_GOOGLE_MUSHU is not set
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
# CONFIG_BOARD_GOOGLE_PALKIA is not set
# CONFIG_BOARD_GOOGLE_PUFF is not set
# CONFIG_BOARD_GOOGLE_SCOUT is not set
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
# Herobrine
#
#
# (Herobrine requires 'Allow QC blobs repository')
#
#
# Jecht
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
# CONFIG_BOARD_GOOGLE_RIKKU is not set
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
# Kahlee
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
# CONFIG_BOARD_GOOGLE_GRUNT is not set
# CONFIG_BOARD_GOOGLE_LIARA is not set
# CONFIG_BOARD_GOOGLE_NUWANI is not set
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
# Kukui
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
# CONFIG_BOARD_GOOGLE_KODAMA is not set
# CONFIG_BOARD_GOOGLE_KAKADU is not set
# CONFIG_BOARD_GOOGLE_FLAPJACK is not set
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
# Jacuzzi
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
# CONFIG_BOARD_GOOGLE_KAPPA is not set
# CONFIG_BOARD_GOOGLE_DAMU is not set
# CONFIG_BOARD_GOOGLE_CERISE is not set
# CONFIG_BOARD_GOOGLE_STERN is not set
# CONFIG_BOARD_GOOGLE_WILLOW is not set
# CONFIG_BOARD_GOOGLE_ESCHE is not set
# CONFIG_BOARD_GOOGLE_BURNET is not set
# CONFIG_BOARD_GOOGLE_FENNEL is not set
# CONFIG_BOARD_GOOGLE_COZMO is not set
# CONFIG_BOARD_GOOGLE_MAKOMO is not set
# CONFIG_BOARD_GOOGLE_MUNNA is not set
# CONFIG_BOARD_GOOGLE_PICO is not set
#
# Link
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
# Mistral
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
# Nyan
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
# Nyan Big
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
# Nyan Blaze
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
# Oak
#
# CONFIG_BOARD_GOOGLE_OAK is not set
# CONFIG_BOARD_GOOGLE_ELM is not set
# CONFIG_BOARD_GOOGLE_HANA is not set
#
# Octopus
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
# CONFIG_BOARD_GOOGLE_BOBBA is not set
# CONFIG_BOARD_GOOGLE_CASTA is not set
# CONFIG_BOARD_GOOGLE_DOOD is not set
# CONFIG_BOARD_GOOGLE_FLEEX is not set
# CONFIG_BOARD_GOOGLE_FOOB is not set
# CONFIG_BOARD_GOOGLE_GARG is not set
# CONFIG_BOARD_GOOGLE_LICK is not set
# CONFIG_BOARD_GOOGLE_MEEP is not set
# CONFIG_BOARD_GOOGLE_OCTOPUS is not set
# CONFIG_BOARD_GOOGLE_PHASER is not set
# CONFIG_BOARD_GOOGLE_YORP is not set
#
# Parrot
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
# Peach Pit
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
# Poppy
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
# CONFIG_BOARD_GOOGLE_NAMI is not set
# CONFIG_BOARD_GOOGLE_NAUTILUS is not set
# CONFIG_BOARD_GOOGLE_NOCTURNE is not set
# CONFIG_BOARD_GOOGLE_RAMMUS is not set
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
# Rambi
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
# CONFIG_BOARD_GOOGLE_CLAPPER is not set
# CONFIG_BOARD_GOOGLE_ENGUARDE is not set
# CONFIG_BOARD_GOOGLE_GLIMMER is not set
# CONFIG_BOARD_GOOGLE_GNAWTY is not set
# CONFIG_BOARD_GOOGLE_HELI is not set
# CONFIG_BOARD_GOOGLE_KIP is not set
# CONFIG_BOARD_GOOGLE_NINJA is not set
# CONFIG_BOARD_GOOGLE_ORCO is not set
# CONFIG_BOARD_GOOGLE_QUAWKS is not set
# CONFIG_BOARD_GOOGLE_SQUAWKS is not set
# CONFIG_BOARD_GOOGLE_RAMBI is not set
# CONFIG_BOARD_GOOGLE_SUMO is not set
# CONFIG_BOARD_GOOGLE_SWANKY is not set
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
# Reef
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
# CONFIG_BOARD_GOOGLE_SAND is not set
# CONFIG_BOARD_GOOGLE_SNAPPY is not set
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
# Sarien
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
# Skyrim
#
# CONFIG_BOARD_GOOGLE_SKYRIM is not set
#
# Slippy
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
# CONFIG_BOARD_GOOGLE_PEPPY is not set
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
# Smaug
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
# Storm
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
# Stout
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
# Trogdor
#
#
# (Trogdor requires 'Allow QC blobs repository')
#
#
# Veyron
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MIGHTY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MINNIE is not set
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
# Veyron Mickey
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
# Veyron Rialto
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
# Volteer
#
# CONFIG_BOARD_GOOGLE_DELBIN is not set
# CONFIG_BOARD_GOOGLE_ELDRID is not set
# CONFIG_BOARD_GOOGLE_HALVOR is not set
# CONFIG_BOARD_GOOGLE_LINDAR is not set
# CONFIG_BOARD_GOOGLE_MALEFOR is not set
# CONFIG_BOARD_GOOGLE_TERRADOR is not set
# CONFIG_BOARD_GOOGLE_TODOR is not set
# CONFIG_BOARD_GOOGLE_TRONDO is not set
# CONFIG_BOARD_GOOGLE_VOLTEER is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2 is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2_TI50 is not set
# CONFIG_BOARD_GOOGLE_VOXEL is not set
# CONFIG_BOARD_GOOGLE_ELEMI is not set
# CONFIG_BOARD_GOOGLE_VOEMA is not set
# CONFIG_BOARD_GOOGLE_DROBIT is not set
# CONFIG_BOARD_GOOGLE_COPANO is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
# CONFIG_BOARD_GOOGLE_VOLET is not set
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
#
# Zork
#
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
# CONFIG_BOARD_GOOGLE_VILBOZ is not set
# CONFIG_BOARD_GOOGLE_EZKINIL is not set
# CONFIG_BOARD_GOOGLE_MORPHIUS is not set
# CONFIG_BOARD_GOOGLE_TREMBYLE is not set
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_WOOMAX is not set
# CONFIG_BOARD_GOOGLE_DIRINBOZ is not set
# CONFIG_BOARD_GOOGLE_SHUBOZ is not set
# CONFIG_BOARD_GOOGLE_GUMBOZ is not set
CONFIG_DRIVER_TPM_SPI_BUS=0x0
CONFIG_EC_GOOGLE_CHROMEEC_SPI_BUS=0x5
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_DRIVER_TPM_I2C_BUS=0x0
CONFIG_DRIVER_TPM_I2C_ADDR=0x20
CONFIG_PMIC_BUS=-1
CONFIG_BOARD_GOOGLE_GRU_COMMON=y
CONFIG_GRU_HAS_TPM2=y
CONFIG_GRU_HAS_CENTERLOG_PWM=y
CONFIG_GRU_HAS_WLAN_RESET=y
CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME=""
CONFIG_EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US=0
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_HEAP_SIZE=0x100000
CONFIG_DRIVER_TPM_SPI_CHIP=0
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
CONFIG_COREBOOT_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=8192
CONFIG_ROM_SIZE=0x00800000
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_ARM64_BL31_EXTERNAL_FILE=""
CONFIG_ARCH_ARMV8_EXTENSION=0
CONFIG_STACK_SIZE=0x0
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_TTYS0_BASE=0x3f8
CONFIG_TTYS0_LCS=3
CONFIG_UART_PCI_ADDR=0x0
CONFIG_GENERIC_UDELAY=y
CONFIG_SOC_ROCKCHIP_RK3399=y
CONFIG_RK3399_SPREAD_SPECTRUM_DDR=y
#
# CPU
#
#
# Northbridge
#
#
# Southbridge
#
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
#
# Embedded Controllers
#
CONFIG_EC_SUPPORTS_DPTF_TEVT=y
CONFIG_EC_GOOGLE_CHROMEEC=y
CONFIG_EC_GOOGLE_CHROMEEC_SPI=y
CONFIG_EC_GOOGLE_CHROMEEC_SPI_CHIP=0x0
CONFIG_EC_GOOGLE_CHROMEEC_RTC=y
CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL is not set
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
# ChromeOS
#
# end of ChromeOS
CONFIG_ARCH_ARM64=y
CONFIG_ARCH_BOOTBLOCK_ARM64=y
CONFIG_ARCH_VERSTAGE_ARM64=y
CONFIG_ARCH_ROMSTAGE_ARM64=y
CONFIG_ARCH_RAMSTAGE_ARM64=y
CONFIG_ARCH_BOOTBLOCK_ARMV8_64=y
CONFIG_ARCH_VERSTAGE_ARMV8_64=y
CONFIG_ARCH_ROMSTAGE_ARMV8_64=y
CONFIG_ARCH_RAMSTAGE_ARMV8_64=y
CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
#
# Display
#
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
# end of Display
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_ELOG is not set
CONFIG_COMMON_CBFS_SPI_WRAPPER=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_TPM_INIT_RAMSTAGE=y
CONFIG_DRIVERS_UART=y
CONFIG_UART_OVERRIDE_REFCLK=y
CONFIG_DRIVERS_UART_8250MEM=y
CONFIG_DRIVERS_UART_8250MEM_32=y
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_INTEL_GMA_OPREGION_2_0=y
CONFIG_SPI_TPM=y
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
CONFIG_TPM_GOOGLE=y
CONFIG_TPM_GOOGLE_CR50=y
CONFIG_TPM_GOOGLE_IMMEDIATELY_COMMIT_FW_SECDATA=y
#
# Trusted Platform Module
#
# CONFIG_NO_TPM is not set
CONFIG_TPM2=y
CONFIG_TPM=y
CONFIG_MAINBOARD_HAS_TPM2=y
# CONFIG_DEBUG_TPM is not set
# CONFIG_TPM_MEASURED_BOOT is not set
# end of Trusted Platform Module
#
# Memory initialization
#
# end of Memory initialization
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_RTC=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
#
# memory mapped, 8250-compatible
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
CONFIG_POST_DEVICE_NONE=y
CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_MONOTONIC_TIMER=y
#
# System tables
#
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set
# CONFIG_PAYLOAD_FIT is not set
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
CONFIG_PAYLOAD_OPTIONS=""
CONFIG_PAYLOAD_FIT_SUPPORT=y
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set
# end of Secondary Payloads
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_FLATTENED_DEVICE_TREE=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_NO_XIP_EARLY_STAGES=y
CONFIG_GENERIC_GPIO_LIB=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
+4
View File
@@ -0,0 +1,4 @@
cbtree="cros"
romtype="normal"
arch="AArch64"
payload_uboot="y"
@@ -0,0 +1,874 @@
#
# Automatically generated file; DO NOT EDIT.
# coreboot configuration
#
#
# General setup
#
CONFIG_COREBOOT_BUILD=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_ALLOW_EXPERIMENTAL_CLANG is not set
# CONFIG_ANY_TOOLCHAIN is not set
# CONFIG_CCACHE is not set
# CONFIG_FMD_GENPARSER is not set
# CONFIG_UTIL_GENPARSER is not set
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_COMPRESS_PRERAM_STAGES=y
CONFIG_COMPRESS_BOOTBLOCK=y
CONFIG_INCLUDE_CONFIG_FILE=y
# CONFIG_COLLECT_TIMESTAMPS is not set
# CONFIG_USE_BLOBS is not set
# CONFIG_COVERAGE is not set
# CONFIG_UBSAN is not set
# CONFIG_ASAN is not set
CONFIG_NO_STAGE_CACHE=y
# CONFIG_CBMEM_STAGE_CACHE is not set
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_BOOTSPLASH_IMAGE is not set
# CONFIG_FW_CONFIG is not set
# end of General setup
#
# Mainboard
#
#
# Important: Run 'make distclean' before switching boards
#
# CONFIG_VENDOR_51NB is not set
# CONFIG_VENDOR_ACER is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_APPLE is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_BAP is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BOSTENTECH is not set
# CONFIG_VENDOR_CAVIUM is not set
# CONFIG_VENDOR_CLEVO is not set
# CONFIG_VENDOR_COMPULAB is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_ELMEX is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_EXAMPLE is not set
# CONFIG_VENDOR_FACEBOOK is not set
# CONFIG_VENDOR_FOXCONN is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GIZMOSPHERE is not set
CONFIG_VENDOR_GOOGLE=y
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIBRETREND is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_OCP is not set
# CONFIG_VENDOR_OPENCELLULAR is not set
# CONFIG_VENDOR_PACKARDBELL is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_PINE64 is not set
# CONFIG_VENDOR_PORTWELL is not set
# CONFIG_VENDOR_PRODRIVE is not set
# CONFIG_VENDOR_PROTECTLI is not set
# CONFIG_VENDOR_PURISM is not set
# CONFIG_VENDOR_RAZER is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SAPPHIRE is not set
# CONFIG_VENDOR_SCALEWAY is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SIFIVE is not set
# CONFIG_VENDOR_STARLABS is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_SYSTEM76 is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_UP is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_PART_NUMBER="Kevin"
CONFIG_MAINBOARD_DIR="google/gru"
CONFIG_DIMM_MAX=4
CONFIG_DIMM_SPD_SIZE=256
CONFIG_FMDFILE=""
# CONFIG_NO_POST is not set
CONFIG_MAINBOARD_VENDOR="Google"
CONFIG_CBFS_SIZE=0x00800000
CONFIG_CONSOLE_SERIAL=y
CONFIG_MAX_CPUS=1
CONFIG_POST_DEVICE=y
CONFIG_UART_FOR_CONSOLE=0
# CONFIG_VBOOT is not set
# CONFIG_CHROMEOS is not set
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_OVERRIDE_DEVICETREE=""
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=1
CONFIG_CONSOLE_SERIAL_UART_ADDRESS=0xFF1A0000
# CONFIG_CONSOLE_POST is not set
CONFIG_MEMLAYOUT_LD_FILE="src/soc/rockchip/rk3399/memlayout.ld"
CONFIG_SPI_FLASH_WINBOND=y
#
# Asurada
#
# CONFIG_BOARD_GOOGLE_ASURADA is not set
# CONFIG_BOARD_GOOGLE_HAYATO is not set
# CONFIG_BOARD_GOOGLE_SPHERION is not set
#
# Auron
#
# CONFIG_BOARD_GOOGLE_AURON_PAINE is not set
# CONFIG_BOARD_GOOGLE_AURON_YUNA is not set
# CONFIG_BOARD_GOOGLE_BUDDY is not set
# CONFIG_BOARD_GOOGLE_GANDOF is not set
# CONFIG_BOARD_GOOGLE_LULU is not set
# CONFIG_BOARD_GOOGLE_SAMUS is not set
#
# Beltino
#
# CONFIG_BOARD_GOOGLE_MCCLOUD is not set
# CONFIG_BOARD_GOOGLE_MONROE is not set
# CONFIG_BOARD_GOOGLE_PANTHER is not set
# CONFIG_BOARD_GOOGLE_TRICKY is not set
# CONFIG_BOARD_GOOGLE_ZAKO is not set
#
# Brya
#
# CONFIG_BOARD_GOOGLE_AGAH is not set
# CONFIG_BOARD_GOOGLE_ANAHERA is not set
# CONFIG_BOARD_GOOGLE_ANAHERA4ES is not set
# CONFIG_BOARD_GOOGLE_BRASK is not set
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
# CONFIG_BOARD_GOOGLE_BRYA4ES is not set
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
# CONFIG_BOARD_GOOGLE_KANO is not set
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
# CONFIG_BOARD_GOOGLE_NEREID is not set
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
# CONFIG_BOARD_GOOGLE_REDRIX is not set
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
# CONFIG_BOARD_GOOGLE_SKOLAS4ES is not set
# CONFIG_BOARD_GOOGLE_TAEKO is not set
# CONFIG_BOARD_GOOGLE_TAEKO4ES is not set
# CONFIG_BOARD_GOOGLE_TANIKS is not set
# CONFIG_BOARD_GOOGLE_VELL is not set
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
# CONFIG_BOARD_GOOGLE_CROTA is not set
# CONFIG_BOARD_GOOGLE_MOLI is not set
# CONFIG_BOARD_GOOGLE_KINOX is not set
# CONFIG_BOARD_GOOGLE_CRAASK is not set
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
# CONFIG_BOARD_GOOGLE_KULDAX is not set
#
# Butterfly
#
# CONFIG_BOARD_GOOGLE_BUTTERFLY is not set
#
# Cherry
#
# CONFIG_BOARD_GOOGLE_CHERRY is not set
# CONFIG_BOARD_GOOGLE_DOJO is not set
# CONFIG_BOARD_GOOGLE_TOMATO is not set
#
# Kingler
#
# CONFIG_BOARD_GOOGLE_KINGLER is not set
# CONFIG_BOARD_GOOGLE_STEELIX is not set
#
# Krabby
#
# CONFIG_BOARD_GOOGLE_KRABBY is not set
#
# Cyan
#
# CONFIG_BOARD_GOOGLE_BANON is not set
# CONFIG_BOARD_GOOGLE_CELES is not set
# CONFIG_BOARD_GOOGLE_CYAN is not set
# CONFIG_BOARD_GOOGLE_EDGAR is not set
# CONFIG_BOARD_GOOGLE_KEFKA is not set
# CONFIG_BOARD_GOOGLE_REKS is not set
# CONFIG_BOARD_GOOGLE_RELM is not set
# CONFIG_BOARD_GOOGLE_SETZER is not set
# CONFIG_BOARD_GOOGLE_TERRA is not set
# CONFIG_BOARD_GOOGLE_ULTIMA is not set
# CONFIG_BOARD_GOOGLE_WIZPIG is not set
#
# Daisy
#
# CONFIG_BOARD_GOOGLE_DAISY is not set
#
# Dedede
#
# CONFIG_BOARD_GOOGLE_BOTEN is not set
# CONFIG_BOARD_GOOGLE_DEDEDE is not set
# CONFIG_BOARD_GOOGLE_DRAWCIA is not set
# CONFIG_BOARD_GOOGLE_HABOKI is not set
# CONFIG_BOARD_GOOGLE_MADOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDOO is not set
# CONFIG_BOARD_GOOGLE_WADDLEDEE is not set
# CONFIG_BOARD_GOOGLE_LALALA is not set
# CONFIG_BOARD_GOOGLE_MAGOLOR is not set
# CONFIG_BOARD_GOOGLE_METAKNIGHT is not set
# CONFIG_BOARD_GOOGLE_LANTIS is not set
# CONFIG_BOARD_GOOGLE_GALTIC is not set
# CONFIG_BOARD_GOOGLE_SASUKE is not set
# CONFIG_BOARD_GOOGLE_STORO is not set
# CONFIG_BOARD_GOOGLE_SASUKETTE is not set
# CONFIG_BOARD_GOOGLE_KRACKO is not set
# CONFIG_BOARD_GOOGLE_BLIPPER is not set
# CONFIG_BOARD_GOOGLE_CRET is not set
# CONFIG_BOARD_GOOGLE_PIRIKA is not set
# CONFIG_BOARD_GOOGLE_CAPPY2 is not set
# CONFIG_BOARD_GOOGLE_BUGZZY is not set
# CONFIG_BOARD_GOOGLE_CORORI is not set
# CONFIG_BOARD_GOOGLE_DRIBLEE is not set
# CONFIG_BOARD_GOOGLE_GOOEY is not set
# CONFIG_BOARD_GOOGLE_BEADRIX is not set
#
# Drallion
#
# CONFIG_BOARD_GOOGLE_DRALLION is not set
#
# Eve
#
# CONFIG_BOARD_GOOGLE_EVE is not set
#
# Fizz
#
# CONFIG_BOARD_GOOGLE_FIZZ is not set
# CONFIG_BOARD_GOOGLE_KARMA is not set
# CONFIG_BOARD_GOOGLE_ENDEAVOUR is not set
#
# Foster
#
# CONFIG_BOARD_GOOGLE_FOSTER is not set
#
# Gale
#
# CONFIG_BOARD_GOOGLE_GALE is not set
#
# Glados
#
# CONFIG_BOARD_GOOGLE_ASUKA is not set
# CONFIG_BOARD_GOOGLE_CAROLINE is not set
# CONFIG_BOARD_GOOGLE_CAVE is not set
# CONFIG_BOARD_GOOGLE_CHELL is not set
# CONFIG_BOARD_GOOGLE_GLADOS is not set
# CONFIG_BOARD_GOOGLE_LARS is not set
# CONFIG_BOARD_GOOGLE_SENTRY is not set
#
# Gru
#
CONFIG_BOARD_GOOGLE_KEVIN=y
# CONFIG_BOARD_GOOGLE_GRU is not set
# CONFIG_BOARD_GOOGLE_BOB is not set
# CONFIG_BOARD_GOOGLE_SCARLET is not set
# CONFIG_BOARD_GOOGLE_NEFARIO is not set
# CONFIG_BOARD_GOOGLE_RAINIER is not set
#
# Guybrush
#
# CONFIG_BOARD_GOOGLE_GUYBRUSH is not set
# CONFIG_BOARD_GOOGLE_NIPPERKIN is not set
# CONFIG_BOARD_GOOGLE_DEWATT is not set
#
# Hatch
#
# CONFIG_BOARD_GOOGLE_AKEMI is not set
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
# CONFIG_BOARD_GOOGLE_DOOLY is not set
# CONFIG_BOARD_GOOGLE_DRATINI is not set
# CONFIG_BOARD_GOOGLE_DUFFY_LEGACY is not set
# CONFIG_BOARD_GOOGLE_DUFFY is not set
# CONFIG_BOARD_GOOGLE_FAFFY is not set
# CONFIG_BOARD_GOOGLE_GENESIS is not set
# CONFIG_BOARD_GOOGLE_HATCH is not set
# CONFIG_BOARD_GOOGLE_HELIOS is not set
# CONFIG_BOARD_GOOGLE_HELIOS_DISKSWAP is not set
# CONFIG_BOARD_GOOGLE_JINLON is not set
# CONFIG_BOARD_GOOGLE_KAISA_LEGACY is not set
# CONFIG_BOARD_GOOGLE_KAISA is not set
# CONFIG_BOARD_GOOGLE_KINDRED is not set
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
# CONFIG_BOARD_GOOGLE_MUSHU is not set
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
# CONFIG_BOARD_GOOGLE_PALKIA is not set
# CONFIG_BOARD_GOOGLE_PUFF is not set
# CONFIG_BOARD_GOOGLE_SCOUT is not set
# CONFIG_BOARD_GOOGLE_WYVERN is not set
#
# Herobrine
#
#
# (Herobrine requires 'Allow QC blobs repository')
#
#
# Jecht
#
# CONFIG_BOARD_GOOGLE_GUADO is not set
# CONFIG_BOARD_GOOGLE_JECHT is not set
# CONFIG_BOARD_GOOGLE_RIKKU is not set
# CONFIG_BOARD_GOOGLE_TIDUS is not set
#
# Kahlee
#
# CONFIG_BOARD_GOOGLE_ALEENA is not set
# CONFIG_BOARD_GOOGLE_CAREENA is not set
# CONFIG_BOARD_GOOGLE_GRUNT is not set
# CONFIG_BOARD_GOOGLE_LIARA is not set
# CONFIG_BOARD_GOOGLE_NUWANI is not set
# CONFIG_BOARD_GOOGLE_TREEYA is not set
#
# Kukui
#
# CONFIG_BOARD_GOOGLE_KUKUI is not set
# CONFIG_BOARD_GOOGLE_KRANE is not set
# CONFIG_BOARD_GOOGLE_KODAMA is not set
# CONFIG_BOARD_GOOGLE_KAKADU is not set
# CONFIG_BOARD_GOOGLE_FLAPJACK is not set
# CONFIG_BOARD_GOOGLE_KATSU is not set
#
# Jacuzzi
#
# CONFIG_BOARD_GOOGLE_JACUZZI is not set
# CONFIG_BOARD_GOOGLE_JUNIPER is not set
# CONFIG_BOARD_GOOGLE_KAPPA is not set
# CONFIG_BOARD_GOOGLE_DAMU is not set
# CONFIG_BOARD_GOOGLE_CERISE is not set
# CONFIG_BOARD_GOOGLE_STERN is not set
# CONFIG_BOARD_GOOGLE_WILLOW is not set
# CONFIG_BOARD_GOOGLE_ESCHE is not set
# CONFIG_BOARD_GOOGLE_BURNET is not set
# CONFIG_BOARD_GOOGLE_FENNEL is not set
# CONFIG_BOARD_GOOGLE_COZMO is not set
# CONFIG_BOARD_GOOGLE_MAKOMO is not set
# CONFIG_BOARD_GOOGLE_MUNNA is not set
# CONFIG_BOARD_GOOGLE_PICO is not set
#
# Link
#
# CONFIG_BOARD_GOOGLE_LINK is not set
#
# Mistral
#
# CONFIG_BOARD_GOOGLE_MISTRAL is not set
#
# Nyan
#
# CONFIG_BOARD_GOOGLE_NYAN is not set
#
# Nyan Big
#
# CONFIG_BOARD_GOOGLE_NYAN_BIG is not set
#
# Nyan Blaze
#
# CONFIG_BOARD_GOOGLE_NYAN_BLAZE is not set
#
# Oak
#
# CONFIG_BOARD_GOOGLE_OAK is not set
# CONFIG_BOARD_GOOGLE_ELM is not set
# CONFIG_BOARD_GOOGLE_HANA is not set
#
# Octopus
#
# CONFIG_BOARD_GOOGLE_AMPTON is not set
# CONFIG_BOARD_GOOGLE_BLOOG is not set
# CONFIG_BOARD_GOOGLE_BOBBA is not set
# CONFIG_BOARD_GOOGLE_CASTA is not set
# CONFIG_BOARD_GOOGLE_DOOD is not set
# CONFIG_BOARD_GOOGLE_FLEEX is not set
# CONFIG_BOARD_GOOGLE_FOOB is not set
# CONFIG_BOARD_GOOGLE_GARG is not set
# CONFIG_BOARD_GOOGLE_LICK is not set
# CONFIG_BOARD_GOOGLE_MEEP is not set
# CONFIG_BOARD_GOOGLE_OCTOPUS is not set
# CONFIG_BOARD_GOOGLE_PHASER is not set
# CONFIG_BOARD_GOOGLE_YORP is not set
#
# Parrot
#
# CONFIG_BOARD_GOOGLE_PARROT is not set
#
# Peach Pit
#
# CONFIG_BOARD_GOOGLE_PEACH_PIT is not set
#
# Poppy
#
# CONFIG_BOARD_GOOGLE_ATLAS is not set
# CONFIG_BOARD_GOOGLE_POPPY is not set
# CONFIG_BOARD_GOOGLE_NAMI is not set
# CONFIG_BOARD_GOOGLE_NAUTILUS is not set
# CONFIG_BOARD_GOOGLE_NOCTURNE is not set
# CONFIG_BOARD_GOOGLE_RAMMUS is not set
# CONFIG_BOARD_GOOGLE_SORAKA is not set
#
# Rambi
#
# CONFIG_BOARD_GOOGLE_BANJO is not set
# CONFIG_BOARD_GOOGLE_CANDY is not set
# CONFIG_BOARD_GOOGLE_CLAPPER is not set
# CONFIG_BOARD_GOOGLE_ENGUARDE is not set
# CONFIG_BOARD_GOOGLE_GLIMMER is not set
# CONFIG_BOARD_GOOGLE_GNAWTY is not set
# CONFIG_BOARD_GOOGLE_HELI is not set
# CONFIG_BOARD_GOOGLE_KIP is not set
# CONFIG_BOARD_GOOGLE_NINJA is not set
# CONFIG_BOARD_GOOGLE_ORCO is not set
# CONFIG_BOARD_GOOGLE_QUAWKS is not set
# CONFIG_BOARD_GOOGLE_SQUAWKS is not set
# CONFIG_BOARD_GOOGLE_RAMBI is not set
# CONFIG_BOARD_GOOGLE_SUMO is not set
# CONFIG_BOARD_GOOGLE_SWANKY is not set
# CONFIG_BOARD_GOOGLE_WINKY is not set
#
# Reef
#
# CONFIG_BOARD_GOOGLE_REEF is not set
# CONFIG_BOARD_GOOGLE_PYRO is not set
# CONFIG_BOARD_GOOGLE_SAND is not set
# CONFIG_BOARD_GOOGLE_SNAPPY is not set
# CONFIG_BOARD_GOOGLE_CORAL is not set
#
# Sarien
#
# CONFIG_BOARD_GOOGLE_ARCADA is not set
# CONFIG_BOARD_GOOGLE_SARIEN is not set
#
# Skyrim
#
# CONFIG_BOARD_GOOGLE_SKYRIM is not set
#
# Slippy
#
# CONFIG_BOARD_GOOGLE_FALCO is not set
# CONFIG_BOARD_GOOGLE_LEON is not set
# CONFIG_BOARD_GOOGLE_PEPPY is not set
# CONFIG_BOARD_GOOGLE_WOLF is not set
#
# Smaug
#
# CONFIG_BOARD_GOOGLE_SMAUG is not set
#
# Storm
#
# CONFIG_BOARD_GOOGLE_STORM is not set
#
# Stout
#
# CONFIG_BOARD_GOOGLE_STOUT is not set
#
# Trogdor
#
#
# (Trogdor requires 'Allow QC blobs repository')
#
#
# Veyron
#
# CONFIG_BOARD_GOOGLE_VEYRON_JAQ is not set
# CONFIG_BOARD_GOOGLE_VEYRON_JERRY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MIGHTY is not set
# CONFIG_BOARD_GOOGLE_VEYRON_MINNIE is not set
# CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY is not set
#
# Veyron Mickey
#
# CONFIG_BOARD_GOOGLE_VEYRON_MICKEY is not set
#
# Veyron Rialto
#
# CONFIG_BOARD_GOOGLE_VEYRON_RIALTO is not set
#
# Volteer
#
# CONFIG_BOARD_GOOGLE_DELBIN is not set
# CONFIG_BOARD_GOOGLE_ELDRID is not set
# CONFIG_BOARD_GOOGLE_HALVOR is not set
# CONFIG_BOARD_GOOGLE_LINDAR is not set
# CONFIG_BOARD_GOOGLE_MALEFOR is not set
# CONFIG_BOARD_GOOGLE_TERRADOR is not set
# CONFIG_BOARD_GOOGLE_TODOR is not set
# CONFIG_BOARD_GOOGLE_TRONDO is not set
# CONFIG_BOARD_GOOGLE_VOLTEER is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2 is not set
# CONFIG_BOARD_GOOGLE_VOLTEER2_TI50 is not set
# CONFIG_BOARD_GOOGLE_VOXEL is not set
# CONFIG_BOARD_GOOGLE_ELEMI is not set
# CONFIG_BOARD_GOOGLE_VOEMA is not set
# CONFIG_BOARD_GOOGLE_DROBIT is not set
# CONFIG_BOARD_GOOGLE_COPANO is not set
# CONFIG_BOARD_GOOGLE_COLLIS is not set
# CONFIG_BOARD_GOOGLE_VOLET is not set
# CONFIG_BOARD_GOOGLE_CHRONICLER is not set
#
# Zork
#
# CONFIG_BOARD_GOOGLE_DALBOZ is not set
# CONFIG_BOARD_GOOGLE_VILBOZ is not set
# CONFIG_BOARD_GOOGLE_EZKINIL is not set
# CONFIG_BOARD_GOOGLE_MORPHIUS is not set
# CONFIG_BOARD_GOOGLE_TREMBYLE is not set
# CONFIG_BOARD_GOOGLE_BERKNIP is not set
# CONFIG_BOARD_GOOGLE_WOOMAX is not set
# CONFIG_BOARD_GOOGLE_DIRINBOZ is not set
# CONFIG_BOARD_GOOGLE_SHUBOZ is not set
# CONFIG_BOARD_GOOGLE_GUMBOZ is not set
CONFIG_DRIVER_TPM_SPI_BUS=0x0
CONFIG_EC_GOOGLE_CHROMEEC_SPI_BUS=0x5
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_DRIVER_TPM_I2C_BUS=0x0
CONFIG_DRIVER_TPM_I2C_ADDR=0x20
CONFIG_PMIC_BUS=-1
CONFIG_BOARD_GOOGLE_GRU_COMMON=y
# CONFIG_GRU_HAS_TPM2 is not set
CONFIG_GRU_HAS_CENTERLOG_PWM=y
CONFIG_GRU_HAS_WLAN_RESET=y
CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME=""
CONFIG_EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US=0
CONFIG_PS2K_EISAID="PNP0303"
CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_HEAP_SIZE=0x100000
CONFIG_EC_GPE_SCI=0x50
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
CONFIG_COREBOOT_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
CONFIG_COREBOOT_ROMSIZE_KB=8192
CONFIG_ROM_SIZE=0x00800000
# end of Mainboard
#
# Chipset
#
#
# SoC
#
CONFIG_CHIPSET_DEVICETREE=""
CONFIG_CBFS_CACHE_ALIGN=8
CONFIG_ARM64_BL31_EXTERNAL_FILE=""
CONFIG_ARCH_ARMV8_EXTENSION=0
CONFIG_STACK_SIZE=0x0
CONFIG_VBT_DATA_SIZE_KB=8
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
CONFIG_INTEL_GMA_BCLV_WIDTH=16
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
CONFIG_INTEL_GMA_BCLM_WIDTH=16
CONFIG_TTYS0_BASE=0x3f8
CONFIG_TTYS0_LCS=3
CONFIG_UART_PCI_ADDR=0x0
CONFIG_GENERIC_UDELAY=y
CONFIG_SOC_ROCKCHIP_RK3399=y
# CONFIG_RK3399_SPREAD_SPECTRUM_DDR is not set
#
# CPU
#
#
# Northbridge
#
#
# Southbridge
#
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
CONFIG_RCBA_LENGTH=0x4000
#
# Super I/O
#
#
# Embedded Controllers
#
CONFIG_EC_SUPPORTS_DPTF_TEVT=y
CONFIG_EC_GOOGLE_CHROMEEC=y
CONFIG_EC_GOOGLE_CHROMEEC_SPI=y
CONFIG_EC_GOOGLE_CHROMEEC_SPI_CHIP=0x0
CONFIG_EC_GOOGLE_CHROMEEC_RTC=y
CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE=y
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL is not set
# CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_BUILTIN is not set
CONFIG_MAINBOARD_HAS_CHROMEOS=y
#
# ChromeOS
#
# end of ChromeOS
CONFIG_ARCH_ARM64=y
CONFIG_ARCH_BOOTBLOCK_ARM64=y
CONFIG_ARCH_VERSTAGE_ARM64=y
CONFIG_ARCH_ROMSTAGE_ARM64=y
CONFIG_ARCH_RAMSTAGE_ARM64=y
CONFIG_ARCH_BOOTBLOCK_ARMV8_64=y
CONFIG_ARCH_VERSTAGE_ARMV8_64=y
CONFIG_ARCH_ROMSTAGE_ARMV8_64=y
CONFIG_ARCH_RAMSTAGE_ARMV8_64=y
CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE=y
# end of Chipset
#
# Devices
#
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_FORCE_NATIVE_VGA_INIT=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
#
# Display
#
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
# CONFIG_BOOTSPLASH is not set
# end of Display
# CONFIG_SOFTWARE_I2C is not set
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
CONFIG_RESOURCE_ALLOCATOR_V4=y
# end of Devices
#
# Generic Drivers
#
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
# CONFIG_ELOG is not set
CONFIG_COMMON_CBFS_SPI_WRAPPER=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_TPM_INIT_RAMSTAGE=y
CONFIG_DRIVERS_UART=y
CONFIG_UART_OVERRIDE_REFCLK=y
CONFIG_DRIVERS_UART_8250MEM=y
CONFIG_DRIVERS_UART_8250MEM_32=y
# CONFIG_VPD is not set
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_I2C_TPM=y
CONFIG_DRIVER_TIS_DEFAULT=y
# CONFIG_DRIVER_I2C_TPM_ACPI is not set
# CONFIG_DRIVER_TPM_DISPLAY_TIS_BYTES is not set
CONFIG_INTEL_GMA_OPREGION_2_0=y
# end of Generic Drivers
#
# Security
#
#
# CBFS verification
#
# CONFIG_CBFS_VERIFICATION is not set
# end of CBFS verification
#
# Verified Boot (vboot)
#
# end of Verified Boot (vboot)
#
# Trusted Platform Module
#
# CONFIG_NO_TPM is not set
CONFIG_TPM1=y
CONFIG_TPM=y
CONFIG_MAINBOARD_HAS_TPM1=y
# CONFIG_TPM_DEACTIVATE is not set
# CONFIG_DEBUG_TPM is not set
# CONFIG_TPM_MEASURED_BOOT is not set
# end of Trusted Platform Module
#
# Memory initialization
#
# end of Memory initialization
CONFIG_BOOTMEDIA_LOCK_NONE=y
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
# end of Security
CONFIG_ACPI_HAVE_PCAT_8259=y
CONFIG_BOOT_DEVICE_SPI_FLASH=y
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
CONFIG_RTC=y
#
# Console
#
CONFIG_BOOTBLOCK_CONSOLE=y
#
# memory mapped, 8250-compatible
#
# CONFIG_CONSOLE_SERIAL_921600 is not set
# CONFIG_CONSOLE_SERIAL_460800 is not set
# CONFIG_CONSOLE_SERIAL_230400 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_CONSOLE_CBMEM=y
# CONFIG_CONSOLE_SPI_FLASH is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
CONFIG_POST_DEVICE_NONE=y
CONFIG_HWBASE_DEBUG_CB=y
# end of Console
CONFIG_HAVE_MONOTONIC_TIMER=y
#
# System tables
#
# end of System tables
#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set
# CONFIG_PAYLOAD_FIT is not set
# CONFIG_PAYLOAD_BOOTBOOT is not set
# CONFIG_PAYLOAD_LINUXBOOT is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
CONFIG_PAYLOAD_OPTIONS=""
CONFIG_PAYLOAD_FIT_SUPPORT=y
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
#
# Secondary Payloads
#
# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set
# end of Secondary Payloads
# end of Payload
#
# Debugging
#
#
# CPU Debug Settings
#
#
# BLOB Debug Settings
#
#
# General Debug Settings
#
# CONFIG_GDB_STUB is not set
# CONFIG_FATAL_ASSERTS is not set
# CONFIG_DEBUG_CBFS is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_CONSOLE_INIT is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_BOOT_STATE is not set
# CONFIG_DEBUG_ADA_CODE is not set
# end of Debugging
CONFIG_FLATTENED_DEVICE_TREE=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
CONFIG_NO_XIP_EARLY_STAGES=y
CONFIG_GENERIC_GPIO_LIB=y
CONFIG_HAVE_BOOTBLOCK=y
CONFIG_HAVE_ROMSTAGE=y
CONFIG_HAVE_RAMSTAGE=y
+4
View File
@@ -0,0 +1,4 @@
cbtree="haswell"
romtype="normal"
cbrevision="1411ecf6f0b2c7395bcb96b856dcfdddb1b0c81b"
arch="x86_64"
@@ -0,0 +1,54 @@
From dd58f5e9108bc596c93071705d2b53233d13ade6 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sat, 7 May 2022 20:36:10 +0200
Subject: [PATCH 01/26] commonlib/clamp.h: Add more clamping functions
Add more clamping functions that work with different types.
Change-Id: I14cf335d5a54f769f8fd9184450957e876affd6b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
src/commonlib/include/commonlib/clamp.h | 26 +++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/commonlib/include/commonlib/clamp.h b/src/commonlib/include/commonlib/clamp.h
index e01a107ed4..526185195c 100644
--- a/src/commonlib/include/commonlib/clamp.h
+++ b/src/commonlib/include/commonlib/clamp.h
@@ -8,15 +8,25 @@
/*
* Clamp a value, so that it is between a lower and an upper bound.
*/
-static inline u32 clamp_u32(const u32 min, const u32 val, const u32 max)
-{
- if (val > max)
- return max;
+#define __MAKE_CLAMP_FUNC(type) \
+ static inline type clamp_##type(const type min, const type val, const type max) \
+ { \
+ if (val > max) \
+ return max; \
+ if (val < min) \
+ return min; \
+ return val; \
+ } \
- if (val < min)
- return min;
+__MAKE_CLAMP_FUNC(s8) /* clamp_s8 */
+__MAKE_CLAMP_FUNC(u8) /* clamp_u8 */
+__MAKE_CLAMP_FUNC(s16) /* clamp_s16 */
+__MAKE_CLAMP_FUNC(u16) /* clamp_u16 */
+__MAKE_CLAMP_FUNC(s32) /* clamp_s32 */
+__MAKE_CLAMP_FUNC(u32) /* clamp_u32 */
+__MAKE_CLAMP_FUNC(s64) /* clamp_s64 */
+__MAKE_CLAMP_FUNC(u64) /* clamp_u64 */
- return val;
-}
+#undef __MAKE_CLAMP_FUNC
#endif /* COMMONLIB_CLAMP_H */
--
2.39.2
@@ -0,0 +1,143 @@
From c07391821c32cafea950574b85468f5b3284b6df Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 21:12:14 +0200
Subject: [PATCH 02/26] nb/intel/haswell: Introduce option to not use MRC.bin
Introduce the `USE_NATIVE_RAMINIT` Kconfig option, which should allow
booting coreboot on Haswell mainboards without the need of the closed
source MRC.bin. For now, this option does not work at all; the needed
magic will be implemented in subsequent commits. Add a config file to
make sure the newly-introduced option gets build-tested.
Change-Id: I46c77586f9b5771624082e07c60c205e578edd8e
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
configs/config.asrock_b85m_pro4.native_raminit | 5 +++++
src/northbridge/intel/haswell/Kconfig | 13 +++++++++++++
src/northbridge/intel/haswell/Makefile.inc | 7 ++++++-
.../intel/haswell/native_raminit/Makefile.inc | 3 +++
.../intel/haswell/native_raminit/raminit_native.c | 15 +++++++++++++++
5 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 configs/config.asrock_b85m_pro4.native_raminit
create mode 100644 src/northbridge/intel/haswell/native_raminit/Makefile.inc
create mode 100644 src/northbridge/intel/haswell/native_raminit/raminit_native.c
diff --git a/configs/config.asrock_b85m_pro4.native_raminit b/configs/config.asrock_b85m_pro4.native_raminit
new file mode 100644
index 0000000000..2de538926f
--- /dev/null
+++ b/configs/config.asrock_b85m_pro4.native_raminit
@@ -0,0 +1,5 @@
+# Configuration used to build-test native raminit
+CONFIG_VENDOR_ASROCK=y
+CONFIG_BOARD_ASROCK_B85M_PRO4=y
+CONFIG_USE_NATIVE_RAMINIT=y
+CONFIG_DEBUG_RAM_SETUP=y
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
index 50acb09a91..b659bf6d98 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
@@ -9,6 +9,14 @@ config NORTHBRIDGE_INTEL_HASWELL
if NORTHBRIDGE_INTEL_HASWELL
+config USE_NATIVE_RAMINIT
+ bool "[NOT WORKING] Use native raminit"
+ default n
+ select HAVE_DEBUG_RAM_SETUP
+ help
+ Select if you want to use coreboot implementation of raminit rather than
+ MRC.bin. Currently incomplete and does not boot.
+
config HASWELL_VBOOT_IN_BOOTBLOCK
depends on VBOOT
bool "Start verstage in bootblock"
@@ -45,6 +53,7 @@ config DCACHE_RAM_BASE
config DCACHE_RAM_SIZE
hex
+ default 0x40000 if USE_NATIVE_RAMINIT
default 0x10000
help
The size of the cache-as-ram region required during bootblock
@@ -53,12 +62,14 @@ config DCACHE_RAM_SIZE
config DCACHE_RAM_MRC_VAR_SIZE
hex
+ default 0x0 if USE_NATIVE_RAMINIT
default 0x30000
help
The amount of cache-as-ram region required by the reference code.
config DCACHE_BSP_STACK_SIZE
hex
+ default 0x20000 if USE_NATIVE_RAMINIT
default 0x2000
help
The amount of anticipated stack usage in CAR by bootblock and
@@ -66,6 +77,7 @@ config DCACHE_BSP_STACK_SIZE
config HAVE_MRC
bool "Add a System Agent binary"
+ depends on !USE_NATIVE_RAMINIT
help
Select this option to add a System Agent binary to
the resulting coreboot image.
@@ -82,6 +94,7 @@ config MRC_FILE
config HASWELL_HIDE_PEG_FROM_MRC
bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
+ depends on !USE_NATIVE_RAMINIT
default y
help
If set, hides all PEG devices from MRC. This allows the iGPU
diff --git a/src/northbridge/intel/haswell/Makefile.inc b/src/northbridge/intel/haswell/Makefile.inc
index 2d1532be05..329f1f7ffe 100644
--- a/src/northbridge/intel/haswell/Makefile.inc
+++ b/src/northbridge/intel/haswell/Makefile.inc
@@ -19,6 +19,11 @@ romstage-y += report_platform.c
postcar-y += memmap.c
-subdirs-y += haswell_mrc
+ifeq ($(CONFIG_USE_NATIVE_RAMINIT),y)
+subdirs-y += native_raminit
+
+else
+subdirs-y += haswell_mrc
+endif
endif
diff --git a/src/northbridge/intel/haswell/native_raminit/Makefile.inc b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
new file mode 100644
index 0000000000..8cfb4fb33e
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
@@ -0,0 +1,3 @@
+## SPDX-License-Identifier: GPL-2.0-or-later
+
+romstage-y += raminit_native.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
new file mode 100644
index 0000000000..1aafdf8659
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <console/console.h>
+#include <northbridge/intel/haswell/raminit.h>
+
+void perform_raminit(const int s3resume)
+{
+ /*
+ * See, this function's name is a lie. There are more things to
+ * do that memory initialisation, but they are relatively easy.
+ */
+
+ /** TODO: Implement the required magic **/
+ die("NATIVE RAMINIT: More Magic (tm) required.\n");
+}
--
2.39.2
@@ -0,0 +1,615 @@
From 6ec71c6df97eded010e96c4ea2bd37cc6a13849d Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 21:56:48 +0200
Subject: [PATCH 03/26] haswell/lynxpoint: Add native DMI init
Implement native DMI init for Haswell and Lynx Point. This is only
needed on non-ULT platforms, and only when MRC.bin is not used.
TEST=Verify DMI initialises correctly on Asrock B85M Pro4.
Change-Id: I5fb1a2adc4ffbf0ebbf0d2d3a444055c53765faa
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
src/northbridge/intel/haswell/Makefile.inc | 1 +
src/northbridge/intel/haswell/early_dmi.c | 96 ++++++++++++
src/northbridge/intel/haswell/early_pcie.c | 121 ++++++++++++++
src/northbridge/intel/haswell/haswell.h | 3 +
.../haswell/native_raminit/raminit_native.c | 15 ++
src/northbridge/intel/haswell/vcu_mailbox.c | 147 ++++++++++++++++++
src/northbridge/intel/haswell/vcu_mailbox.h | 16 ++
src/southbridge/intel/lynxpoint/Makefile.inc | 2 +
.../intel/lynxpoint/early_pch_native.c | 52 +++++++
src/southbridge/intel/lynxpoint/pch.h | 20 ++-
10 files changed, 472 insertions(+), 1 deletion(-)
create mode 100644 src/northbridge/intel/haswell/early_dmi.c
create mode 100644 src/northbridge/intel/haswell/early_pcie.c
create mode 100644 src/northbridge/intel/haswell/vcu_mailbox.c
create mode 100644 src/northbridge/intel/haswell/vcu_mailbox.h
create mode 100644 src/southbridge/intel/lynxpoint/early_pch_native.c
diff --git a/src/northbridge/intel/haswell/Makefile.inc b/src/northbridge/intel/haswell/Makefile.inc
index 329f1f7ffe..df0b097296 100644
--- a/src/northbridge/intel/haswell/Makefile.inc
+++ b/src/northbridge/intel/haswell/Makefile.inc
@@ -20,6 +20,7 @@ romstage-y += report_platform.c
postcar-y += memmap.c
ifeq ($(CONFIG_USE_NATIVE_RAMINIT),y)
+romstage-y += early_dmi.c early_pcie.c vcu_mailbox.c
subdirs-y += native_raminit
else
diff --git a/src/northbridge/intel/haswell/early_dmi.c b/src/northbridge/intel/haswell/early_dmi.c
new file mode 100644
index 0000000000..9941242fd5
--- /dev/null
+++ b/src/northbridge/intel/haswell/early_dmi.c
@@ -0,0 +1,96 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <console/console.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+#include <types.h>
+
+static void dmi_print_link_status(int loglevel)
+{
+ const uint16_t dmilsts = dmibar_read16(DMILSTS);
+ printk(loglevel, "DMI: Running at Gen%u x%u\n", dmilsts & 0xf, dmilsts >> 4 & 0x1f);
+}
+
+#define RETRAIN (1 << 5)
+
+#define LTRN (1 << 11)
+
+static void dmi_setup_physical_layer(void)
+{
+ /* Program DMI AFE settings, which are needed for DMI to work */
+ peg_dmi_recipe(false, 0);
+
+ /* Additional DMI programming steps */
+ dmibar_setbits32(0x258, 1 << 29);
+ dmibar_clrsetbits32(0x208, 0x7ff, 0x6b5);
+ dmibar_clrsetbits32(0x22c, 0xffff, 0x2020);
+
+ /* Write SA reference code version */
+ dmibar_write32(0x71c, 0x0000000f);
+ dmibar_write32(0x720, 0x01060200);
+
+ /* We also have to bring up the PCH side of the DMI link */
+ pch_dmi_setup_physical_layer();
+
+ /* Write-once settings */
+ dmibar_clrsetbits32(DMILCAP, 0x3f00f, 2 << 0);
+
+ printk(BIOS_DEBUG, "Retraining DMI at Gen2 speeds...\n");
+ dmi_print_link_status(BIOS_DEBUG);
+
+ /* Retrain link */
+ dmibar_setbits16(DMILCTL, RETRAIN);
+ do {} while (dmibar_read16(DMILSTS) & LTRN);
+ dmi_print_link_status(BIOS_DEBUG);
+
+ /* Retrain link again for DMI Gen2 speeds */
+ dmibar_setbits16(DMILCTL, RETRAIN);
+ do {} while (dmibar_read16(DMILSTS) & LTRN);
+ dmi_print_link_status(BIOS_INFO);
+}
+
+#define VC_ACTIVE (1U << 31)
+
+#define VCNEGPND (1 << 1)
+
+#define DMI_VC_CFG(vcid, tcmap) (VC_ACTIVE | ((vcid) << 24) | (tcmap))
+
+static void dmi_tc_vc_mapping(void)
+{
+ printk(BIOS_DEBUG, "Programming SA DMI VC/TC mappings...\n");
+
+ if (CONFIG(INTEL_LYNXPOINT_LP))
+ dmibar_setbits8(0xa78, 1 << 1);
+
+ /* Each TC is mapped to one and only one VC */
+ const u32 vc0 = DMI_VC_CFG(0, (1 << 6) | (1 << 5) | (1 << 4) | (1 << 3) | (1 << 0));
+ const u32 vc1 = DMI_VC_CFG(1, (1 << 1));
+ const u32 vcp = DMI_VC_CFG(2, (1 << 2));
+ const u32 vcm = DMI_VC_CFG(7, (1 << 7));
+ dmibar_write32(DMIVC0RCTL, vc0);
+ dmibar_write32(DMIVC1RCTL, vc1);
+ dmibar_write32(DMIVCPRCTL, vcp);
+ dmibar_write32(DMIVCMRCTL, vcm);
+
+ /* Set Extended VC Count (EVCC) to 1 if VC1 is active */
+ dmibar_clrsetbits8(DMIPVCCAP1, 7, !!(vc1 & VC_ACTIVE));
+
+ /*
+ * We also have to program the PCH side of the DMI link. Since both ends
+ * must use the same Virtual Channel settings, we pass them as arguments.
+ */
+ pch_dmi_tc_vc_mapping(vc0, vc1, vcp, vcm);
+
+ printk(BIOS_DEBUG, "Waiting for SA DMI VC negotiation... ");
+ do {} while (dmibar_read16(DMIVC0RSTS) & VCNEGPND);
+ do {} while (dmibar_read16(DMIVC1RSTS) & VCNEGPND);
+ do {} while (dmibar_read16(DMIVCPRSTS) & VCNEGPND);
+ do {} while (dmibar_read16(DMIVCMRSTS) & VCNEGPND);
+ printk(BIOS_DEBUG, "done!\n");
+}
+
+void dmi_early_init(void)
+{
+ dmi_setup_physical_layer();
+ dmi_tc_vc_mapping();
+}
diff --git a/src/northbridge/intel/haswell/early_pcie.c b/src/northbridge/intel/haswell/early_pcie.c
new file mode 100644
index 0000000000..d3940e3fac
--- /dev/null
+++ b/src/northbridge/intel/haswell/early_pcie.c
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <console/console.h>
+#include <device/pci_def.h>
+#include <device/pci_mmio_cfg.h>
+#include <device/pci_ops.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/vcu_mailbox.h>
+#include <types.h>
+
+#define PEG_DEV(func) PCI_DEV(0, 1, func)
+
+#define MAX_PEG_FUNC 3
+
+static void peg_dmi_unset_and_set_mask_pcicfg(
+ volatile union pci_bank *const bank,
+ const uint32_t offset,
+ const uint32_t unset_mask,
+ const uint32_t set_mask,
+ const uint32_t shift,
+ const bool valid)
+{
+ if (!valid)
+ return;
+
+ volatile uint32_t *const addr = &bank->reg32[offset / sizeof(uint32_t)];
+ clrsetbits32(addr, unset_mask << shift, set_mask << shift);
+}
+
+static void peg_dmi_unset_and_set_mask_common(
+ const bool is_peg,
+ const uint32_t offset,
+ const uint32_t unset,
+ const uint32_t set,
+ const uint32_t shift,
+ const bool valid)
+{
+ const uint32_t unset_mask = unset << shift;
+ const uint32_t set_mask = set << shift;
+ if (is_peg) {
+ for (uint8_t i = 0; i < MAX_PEG_FUNC; i++)
+ pci_update_config32(PEG_DEV(i), offset, ~unset_mask, set_mask);
+ } else {
+ dmibar_clrsetbits32(offset, unset_mask, set_mask);
+ }
+}
+
+static void peg_dmi_unset_and_set_mask_vcu_mmio(
+ const uint32_t addr,
+ const uint32_t unset_mask,
+ const uint32_t set_mask,
+ const uint32_t shift,
+ const bool valid)
+{
+ if (!valid)
+ return;
+
+ vcu_update_mmio(addr, ~(unset_mask << shift), set_mask << shift);
+}
+
+#define BUNDLE_STEP 0x20
+
+static void *const dmibar = (void *)(uintptr_t)CONFIG_FIXED_DMIBAR_MMIO_BASE;
+
+void peg_dmi_recipe(const bool is_peg, const pci_devfn_t dev)
+{
+ const bool always = true;
+ const bool is_dmi = !is_peg;
+
+ /* Treat DMIBAR and PEG devices the same way */
+ volatile union pci_bank *const bank = is_peg ? pci_map_bus(dev) : dmibar;
+
+ const size_t bundles = (is_peg ? 8 : 2) * BUNDLE_STEP;
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP) {
+ /* These are actually per-lane */
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0xa00 + i, 0x1f, 0x0c, 0, always);
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0xa10 + i, 0x1f, 0x0c, 0, always);
+ }
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x904 + i, 0x1f, 0x02, 0, is_peg);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x904 + i, 0x1f, 0x03, 5, is_peg);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x90c + i, 0x3f, 0x09, 5, always);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x90c + i, 0x0f, 0x05, 21, is_peg);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x910 + i, 0x0f, 0x08, 6, is_peg);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x910 + i, 0x0f, 0x00, 10, always);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x910 + i, 0x07, 0x00, 18, always);
+
+ peg_dmi_unset_and_set_mask_vcu_mmio(0x0c008001, 0x1f, 0x03, 25, is_peg);
+ peg_dmi_unset_and_set_mask_vcu_mmio(0x0c0c8001, 0x3f, 0x00, 23, is_dmi);
+
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0xc28, 0x1f, 0x13, 18, always);
+
+ peg_dmi_unset_and_set_mask_common(is_peg, 0xc38, 0x01, 0x00, 6, always);
+ peg_dmi_unset_and_set_mask_common(is_peg, 0x260, 0x03, 0x02, 0, always);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x900 + i, 0x03, 0x00, 26, always);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x904 + i, 0x03, 0x03, 10, always);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x90c + i, 0x1f, 0x07, 25, is_peg);
+
+ for (size_t i = 0; i < bundles; i += BUNDLE_STEP)
+ peg_dmi_unset_and_set_mask_pcicfg(bank, 0x91c + i, 0x07, 0x05, 27, is_peg);
+}
diff --git a/src/northbridge/intel/haswell/haswell.h b/src/northbridge/intel/haswell/haswell.h
index 1b29f6baf0..30b4abd0a7 100644
--- a/src/northbridge/intel/haswell/haswell.h
+++ b/src/northbridge/intel/haswell/haswell.h
@@ -34,6 +34,9 @@ void haswell_early_initialization(void);
void haswell_late_initialization(void);
void haswell_unhide_peg(void);
+void dmi_early_init(void);
+void peg_dmi_recipe(const bool is_peg, const pci_devfn_t dev);
+
void report_platform_info(void);
struct acpi_rsdp;
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index 1aafdf8659..0938e026e3 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -1,7 +1,19 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <console/console.h>
+#include <northbridge/intel/haswell/haswell.h>
#include <northbridge/intel/haswell/raminit.h>
+#include <types.h>
+
+static bool early_init_native(int s3resume)
+{
+ printk(BIOS_DEBUG, "Starting native platform initialisation\n");
+
+ if (!CONFIG(INTEL_LYNXPOINT_LP))
+ dmi_early_init();
+
+ return false;
+}
void perform_raminit(const int s3resume)
{
@@ -9,6 +21,9 @@ void perform_raminit(const int s3resume)
* See, this function's name is a lie. There are more things to
* do that memory initialisation, but they are relatively easy.
*/
+ const bool cpu_replaced = early_init_native(s3resume);
+
+ (void)cpu_replaced;
/** TODO: Implement the required magic **/
die("NATIVE RAMINIT: More Magic (tm) required.\n");
diff --git a/src/northbridge/intel/haswell/vcu_mailbox.c b/src/northbridge/intel/haswell/vcu_mailbox.c
new file mode 100644
index 0000000000..aead144023
--- /dev/null
+++ b/src/northbridge/intel/haswell/vcu_mailbox.c
@@ -0,0 +1,147 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <assert.h>
+#include <console/console.h>
+#include <delay.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/vcu_mailbox.h>
+#include <stdint.h>
+
+/*
+ * This is a library for the VCU (Validation Control Unit) mailbox. This
+ * mailbox is primarily used to adjust some magic PCIe tuning parameters.
+ *
+ * There are two revisions of the VCU mailbox. Rev1 is specific to Haswell
+ * stepping A0, and all other steppings use Rev2. Haswell stepping A0 CPUs
+ * are early Engineering Samples with undocumented errata, and most likely
+ * need special microcode updates to boot. Thus, the code does not support
+ * VCU mailbox Rev1, because no one should need it anymore.
+ */
+
+#define VCU_MAILBOX_INTERFACE 0x6c00
+#define VCU_MAILBOX_DATA 0x6c04
+
+#define VCU_RUN_BUSY (1 << 31)
+
+enum vcu_opcode {
+ VCU_OPCODE_READ_VCU_API_VER_ID = 0x01,
+ VCU_OPCODE_OPEN_SEQ = 0x02,
+ VCU_OPCODE_CLOSE_SEQ = 0x03,
+ VCU_OPCODE_READ_DATA = 0x07,
+ VCU_OPCODE_WRITE_DATA = 0x08,
+ VCU_OPCODE_READ_CSR = 0x13,
+ VCU_OPCODE_WRITE_CSR = 0x14,
+ VCU_OPCODE_READ_MMIO = 0x15,
+ VCU_OPCODE_WRITE_MMIO = 0x16,
+};
+
+enum vcu_sequence {
+ SEQ_ID_READ_CSR = 0x1,
+ SEQ_ID_WRITE_CSR = 0x2,
+ SEQ_ID_READ_MMIO = 0x3,
+ SEQ_ID_WRITE_MMIO = 0x4,
+};
+
+#define VCU_RESPONSE_MASK 0xffff
+#define VCU_RESPONSE_SUCCESS 0x40
+#define VCU_RESPONSE_BUSY 0x80
+#define VCU_RESPONSE_THREAD_UNAVAILABLE 0x82
+#define VCU_RESPONSE_ILLEGAL 0x90
+
+/* FIXME: Use timer API */
+static void send_vcu_command(const enum vcu_opcode opcode, const uint32_t data)
+{
+ for (unsigned int i = 0; i < 10; i++) {
+ mchbar_write32(VCU_MAILBOX_DATA, data);
+ mchbar_write32(VCU_MAILBOX_INTERFACE, opcode | VCU_RUN_BUSY);
+ uint32_t vcu_interface;
+ for (unsigned int j = 0; j < 100; j++) {
+ vcu_interface = mchbar_read32(VCU_MAILBOX_INTERFACE);
+ if (!(vcu_interface & VCU_RUN_BUSY))
+ break;
+
+ udelay(10);
+ }
+ if (vcu_interface & VCU_RUN_BUSY)
+ continue;
+
+ if ((vcu_interface & VCU_RESPONSE_MASK) == VCU_RESPONSE_SUCCESS)
+ return;
+ }
+ printk(BIOS_ERR, "VCU: Failed to send command\n");
+}
+
+static enum vcu_opcode get_register_opcode(enum vcu_sequence seq)
+{
+ switch (seq) {
+ case SEQ_ID_READ_CSR:
+ return VCU_OPCODE_READ_CSR;
+ case SEQ_ID_WRITE_CSR:
+ return VCU_OPCODE_WRITE_CSR;
+ case SEQ_ID_READ_MMIO:
+ return VCU_OPCODE_READ_MMIO;
+ case SEQ_ID_WRITE_MMIO:
+ return VCU_OPCODE_WRITE_MMIO;
+ default:
+ return dead_code_t(enum vcu_opcode);
+ }
+}
+
+static enum vcu_opcode get_data_opcode(enum vcu_sequence seq)
+{
+ switch (seq) {
+ case SEQ_ID_READ_CSR:
+ case SEQ_ID_READ_MMIO:
+ return VCU_OPCODE_READ_DATA;
+ case SEQ_ID_WRITE_CSR:
+ case SEQ_ID_WRITE_MMIO:
+ return VCU_OPCODE_WRITE_DATA;
+ default:
+ return dead_code_t(enum vcu_opcode);
+ }
+}
+
+static uint32_t send_vcu_sequence(uint32_t addr, enum vcu_sequence seq, uint32_t wr_data)
+{
+ send_vcu_command(VCU_OPCODE_OPEN_SEQ, seq);
+
+ send_vcu_command(get_register_opcode(seq), addr);
+
+ send_vcu_command(get_data_opcode(seq), wr_data);
+
+ const uint32_t rd_data = mchbar_read32(VCU_MAILBOX_DATA);
+
+ send_vcu_command(VCU_OPCODE_CLOSE_SEQ, seq);
+
+ return rd_data;
+}
+
+uint32_t vcu_read_csr(uint32_t addr)
+{
+ return send_vcu_sequence(addr, SEQ_ID_READ_CSR, 0);
+}
+
+void vcu_write_csr(uint32_t addr, uint32_t data)
+{
+ send_vcu_sequence(addr, SEQ_ID_WRITE_CSR, data);
+}
+
+void vcu_update_csr(uint32_t addr, uint32_t andvalue, uint32_t orvalue)
+{
+ vcu_write_csr(addr, (vcu_read_csr(addr) & andvalue) | orvalue);
+}
+
+uint32_t vcu_read_mmio(uint32_t addr)
+{
+ return send_vcu_sequence(addr, SEQ_ID_READ_MMIO, 0);
+}
+
+void vcu_write_mmio(uint32_t addr, uint32_t data)
+{
+ send_vcu_sequence(addr, SEQ_ID_WRITE_MMIO, data);
+}
+
+void vcu_update_mmio(uint32_t addr, uint32_t andvalue, uint32_t orvalue)
+{
+ vcu_write_mmio(addr, (vcu_read_mmio(addr) & andvalue) | orvalue);
+}
diff --git a/src/northbridge/intel/haswell/vcu_mailbox.h b/src/northbridge/intel/haswell/vcu_mailbox.h
new file mode 100644
index 0000000000..ba0a62e486
--- /dev/null
+++ b/src/northbridge/intel/haswell/vcu_mailbox.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef HASWELL_VCU_MAILBOX_H
+#define HASWELL_VCU_MAILBOX_H
+
+#include <stdint.h>
+
+uint32_t vcu_read_csr(uint32_t addr);
+void vcu_write_csr(uint32_t addr, uint32_t data);
+void vcu_update_csr(uint32_t addr, uint32_t andvalue, uint32_t orvalue);
+
+uint32_t vcu_read_mmio(uint32_t addr);
+void vcu_write_mmio(uint32_t addr, uint32_t data);
+void vcu_update_mmio(uint32_t addr, uint32_t andvalue, uint32_t orvalue);
+
+#endif /* HASWELL_VCU_MAILBOX_H */
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index 02022d348d..b8503ac8bc 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -37,6 +37,8 @@ bootblock-y += early_pch.c
romstage-y += early_usb.c early_me.c me_status.c early_pch.c
romstage-y += pmutil.c
+romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c
+
ifeq ($(CONFIG_INTEL_LYNXPOINT_LP),y)
romstage-y += lp_gpio.c
ramstage-y += lp_gpio.c
diff --git a/src/southbridge/intel/lynxpoint/early_pch_native.c b/src/southbridge/intel/lynxpoint/early_pch_native.c
new file mode 100644
index 0000000000..c28ddfcf5d
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/early_pch_native.c
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <console/console.h>
+#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+#include <types.h>
+
+void pch_dmi_setup_physical_layer(void)
+{
+ /* FIXME: We need to make sure the SA supports Gen2 as well */
+ if ((RCBA32(0x21a4) & 0x0f) == 0x02) {
+ /* Set Gen 2 Common Clock N_FTS */
+ RCBA32_AND_OR(0x2340, ~0x00ff0000, 0x3a << 16);
+
+ /* Set Target Link Speed to DMI Gen2 */
+ RCBA8_AND_OR(DLCTL2, ~0x07, 0x02);
+ }
+}
+
+#define VC_ACTIVE (1U << 31)
+
+#define VCNEGPND (1 << 1)
+
+void pch_dmi_tc_vc_mapping(const u32 vc0, const u32 vc1, const u32 vcp, const u32 vcm)
+{
+ printk(BIOS_DEBUG, "Programming PCH DMI VC/TC mappings...\n");
+
+ RCBA32_AND_OR(CIR0050, ~(0xf << 20), 2 << 20);
+ if (vcp & VC_ACTIVE)
+ RCBA32_OR(CIR0050, 1 << 19 | 1 << 17);
+
+ RCBA32(CIR0050); /* Posted Write */
+
+ /* Use the same virtual channel mapping on both ends of the DMI link */
+ RCBA32(V0CTL) = vc0;
+ RCBA32(V1CTL) = vc1;
+ RCBA32(V1CTL); /* Posted Write */
+ RCBA32(VPCTL) = vcp;
+ RCBA32(VPCTL); /* Posted Write */
+ RCBA32(VMCTL) = vcm;
+
+ /* Lock the registers */
+ RCBA32_OR(CIR0050, 1U << 31);
+ RCBA32(CIR0050); /* Posted Write */
+
+ printk(BIOS_DEBUG, "Waiting for PCH DMI VC negotiation... ");
+ do {} while (RCBA16(V0STS) & VCNEGPND);
+ do {} while (RCBA16(V1STS) & VCNEGPND);
+ do {} while (RCBA16(VPSTS) & VCNEGPND);
+ do {} while (RCBA16(VMSTS) & VCNEGPND);
+ printk(BIOS_DEBUG, "done!\n");
+}
diff --git a/src/southbridge/intel/lynxpoint/pch.h b/src/southbridge/intel/lynxpoint/pch.h
index 7d9fc6d6af..b5e0c2a830 100644
--- a/src/southbridge/intel/lynxpoint/pch.h
+++ b/src/southbridge/intel/lynxpoint/pch.h
@@ -113,6 +113,9 @@ enum pch_platform_type {
PCH_TYPE_ULT = 5,
};
+void pch_dmi_setup_physical_layer(void);
+void pch_dmi_tc_vc_mapping(u32 vc0, u32 vc1, u32 vcp, u32 vcm);
+
void usb_ehci_sleep_prepare(pci_devfn_t dev, u8 slp_typ);
void usb_ehci_disable(pci_devfn_t dev);
void usb_xhci_sleep_prepare(pci_devfn_t dev, u8 slp_typ);
@@ -406,9 +409,10 @@ void mainboard_config_rcba(void);
/* Southbridge IO BARs */
+#define PMBASE 0x40
#define GPIOBASE 0x48
-#define PMBASE 0x40
+#define CIR0050 0x0050 /* 32bit */
#define RPC 0x0400 /* 32bit */
#define RPFN 0x0404 /* 32bit */
@@ -431,6 +435,20 @@ void mainboard_config_rcba(void);
#define IOTR2 0x1e90 /* 64bit */
#define IOTR3 0x1e98 /* 64bit */
+#define V0CTL 0x2014 /* 32bit */
+#define V0STS 0x201a /* 16bit */
+
+#define V1CTL 0x2020 /* 32bit */
+#define V1STS 0x2026 /* 16bit */
+
+#define VPCTL 0x2030 /* 32bit */
+#define VPSTS 0x2038 /* 16bit */
+
+#define VMCTL 0x2040 /* 32bit */
+#define VMSTS 0x2048 /* 16bit */
+
+#define DLCTL2 0x21b0
+
#define TCTL 0x3000 /* 8bit */
#define NOINT 0
--
2.39.2
@@ -0,0 +1,148 @@
From 98142e01fc8ebb3b762974e9e4de75e7f5c073b4 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 22:18:21 +0200
Subject: [PATCH 04/26] haswell/lynxpoint: Add native early ME init
Implement native early ME init for Lynx Point. This is only needed when
MRC.bin is not used.
Change-Id: If416e2078f139f26b4742c564b70e018725bf003
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../haswell/native_raminit/raminit_native.c | 17 ++++++++++-
src/southbridge/intel/lynxpoint/early_me.c | 30 ++++++++++++++++++-
src/southbridge/intel/lynxpoint/me.h | 7 +++--
3 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index 0938e026e3..6a002548c1 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -1,18 +1,24 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <console/console.h>
+#include <delay.h>
#include <northbridge/intel/haswell/haswell.h>
#include <northbridge/intel/haswell/raminit.h>
+#include <southbridge/intel/lynxpoint/me.h>
#include <types.h>
static bool early_init_native(int s3resume)
{
printk(BIOS_DEBUG, "Starting native platform initialisation\n");
+ intel_early_me_init();
+ /** TODO: CPU replacement check must be skipped in warm boots and S3 resumes **/
+ const bool cpu_replaced = !s3resume && intel_early_me_cpu_replacement_check();
+
if (!CONFIG(INTEL_LYNXPOINT_LP))
dmi_early_init();
- return false;
+ return cpu_replaced;
}
void perform_raminit(const int s3resume)
@@ -25,6 +31,15 @@ void perform_raminit(const int s3resume)
(void)cpu_replaced;
+ /** TODO: Move after raminit */
+ if (intel_early_me_uma_size() > 0) {
+ /** TODO: Update status once raminit is implemented **/
+ uint8_t me_status = ME_INIT_STATUS_ERROR;
+ intel_early_me_init_done(me_status);
+ }
+
+ intel_early_me_status();
+
/** TODO: Implement the required magic **/
die("NATIVE RAMINIT: More Magic (tm) required.\n");
}
diff --git a/src/southbridge/intel/lynxpoint/early_me.c b/src/southbridge/intel/lynxpoint/early_me.c
index 947c570e16..07013c5539 100644
--- a/src/southbridge/intel/lynxpoint/early_me.c
+++ b/src/southbridge/intel/lynxpoint/early_me.c
@@ -1,11 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <arch/io.h>
+#include <cf9_reset.h>
#include <device/pci_ops.h>
#include <console/console.h>
#include <delay.h>
#include <halt.h>
-
+#include <timer.h>
#include "me.h"
#include "pch.h"
@@ -60,6 +61,33 @@ int intel_early_me_init(void)
return 0;
}
+bool intel_early_me_cpu_replacement_check(void)
+{
+ printk(BIOS_DEBUG, "ME: Checking whether CPU was replaced... ");
+
+ struct stopwatch timer;
+ stopwatch_init_msecs_expire(&timer, 50);
+
+ union me_hfs2 hfs2;
+ do {
+ hfs2.raw = pci_read_config32(PCH_ME_DEV, PCI_ME_HFS2);
+ if (stopwatch_expired(&timer)) {
+ /* Assume CPU was replaced just in case */
+ printk(BIOS_DEBUG, "timed out, assuming CPU was replaced\n");
+ return true;
+ }
+ udelay(ME_DELAY);
+ } while (!hfs2.cpu_replaced_valid);
+
+ if (hfs2.warm_reset_request) {
+ printk(BIOS_DEBUG, "warm reset needed for dynamic fusing\n");
+ system_reset();
+ }
+
+ printk(BIOS_DEBUG, "%sreplaced\n", hfs2.cpu_replaced_sts ? "" : "not ");
+ return hfs2.cpu_replaced_sts;
+}
+
int intel_early_me_uma_size(void)
{
union me_uma uma = { .raw = pci_read_config32(PCH_ME_DEV, PCI_ME_UMA) };
diff --git a/src/southbridge/intel/lynxpoint/me.h b/src/southbridge/intel/lynxpoint/me.h
index fe8b0260c4..6990322651 100644
--- a/src/southbridge/intel/lynxpoint/me.h
+++ b/src/southbridge/intel/lynxpoint/me.h
@@ -177,14 +177,16 @@ union me_did {
union me_hfs2 {
struct __packed {
u32 bist_in_progress: 1;
- u32 reserved1: 2;
+ u32 icc_prog_sts: 2;
u32 invoke_mebx: 1;
u32 cpu_replaced_sts: 1;
u32 mbp_rdy: 1;
u32 mfs_failure: 1;
u32 warm_reset_request: 1;
u32 cpu_replaced_valid: 1;
- u32 reserved2: 4;
+ u32 reserved: 2;
+ u32 fw_upd_ipu: 1;
+ u32 reserved2: 1;
u32 mbp_cleared: 1;
u32 reserved3: 2;
u32 current_state: 8;
@@ -338,6 +340,7 @@ void intel_me_status(union me_hfs hfs, union me_hfs2 hfs2);
void intel_early_me_status(void);
int intel_early_me_init(void);
+bool intel_early_me_cpu_replacement_check(void);
int intel_early_me_uma_size(void);
int intel_early_me_init_done(u8 status);
--
2.39.2
@@ -0,0 +1,783 @@
From 9bfb8614dbf1d9800ef8251cb3d839bcdbe5577f Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 23:17:39 +0200
Subject: [PATCH 05/26] sb/intel/lynxpoint: Add native USB init
Implement native USB initialisation for Lynx Point. This is only needed
when MRC.bin is not used.
TO DO: Figure out how to deal with the FIXME's and TODO's lying around.
Change-Id: Ie0fbeeca7b1ca1557173772d733fd2fa27703373
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../haswell/native_raminit/raminit_native.c | 3 +
src/southbridge/intel/lynxpoint/Makefile.inc | 2 +-
src/southbridge/intel/lynxpoint/early_usb.c | 11 -
.../intel/lynxpoint/early_usb_native.c | 584 ++++++++++++++++++
src/southbridge/intel/lynxpoint/pch.h | 49 ++
5 files changed, 637 insertions(+), 12 deletions(-)
create mode 100644 src/southbridge/intel/lynxpoint/early_usb_native.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index 6a002548c1..ef61d4ee09 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -5,6 +5,7 @@
#include <northbridge/intel/haswell/haswell.h>
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/me.h>
+#include <southbridge/intel/lynxpoint/pch.h>
#include <types.h>
static bool early_init_native(int s3resume)
@@ -15,6 +16,8 @@ static bool early_init_native(int s3resume)
/** TODO: CPU replacement check must be skipped in warm boots and S3 resumes **/
const bool cpu_replaced = !s3resume && intel_early_me_cpu_replacement_check();
+ early_usb_init();
+
if (!CONFIG(INTEL_LYNXPOINT_LP))
dmi_early_init();
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index b8503ac8bc..0e1f2fe4eb 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -37,7 +37,7 @@ bootblock-y += early_pch.c
romstage-y += early_usb.c early_me.c me_status.c early_pch.c
romstage-y += pmutil.c
-romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c
+romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c early_usb_native.c iobp.c
ifeq ($(CONFIG_INTEL_LYNXPOINT_LP),y)
romstage-y += lp_gpio.c
diff --git a/src/southbridge/intel/lynxpoint/early_usb.c b/src/southbridge/intel/lynxpoint/early_usb.c
index a753681ce0..52e8ac17f8 100644
--- a/src/southbridge/intel/lynxpoint/early_usb.c
+++ b/src/southbridge/intel/lynxpoint/early_usb.c
@@ -4,17 +4,6 @@
#include <device/pci_def.h>
#include "pch.h"
-/* HCD_INDEX == 2 selects 0:1a.0 (PCH_EHCI2), any other index
- * selects 0:1d.0 (PCH_EHCI1) for usbdebug use.
- */
-#if CONFIG_USBDEBUG_HCD_INDEX != 2
-#define PCH_EHCI1_TEMP_BAR0 CONFIG_EHCI_BAR
-#define PCH_EHCI2_TEMP_BAR0 (PCH_EHCI1_TEMP_BAR0 + 0x400)
-#else
-#define PCH_EHCI2_TEMP_BAR0 CONFIG_EHCI_BAR
-#define PCH_EHCI1_TEMP_BAR0 (PCH_EHCI2_TEMP_BAR0 + 0x400)
-#endif
-
/*
* Setup USB controller MMIO BAR to prevent the
* reference code from resetting the controller.
diff --git a/src/southbridge/intel/lynxpoint/early_usb_native.c b/src/southbridge/intel/lynxpoint/early_usb_native.c
new file mode 100644
index 0000000000..cb6f6ee8e6
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/early_usb_native.c
@@ -0,0 +1,584 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <console/console.h>
+#include <delay.h>
+#include <device/mmio.h>
+#include <device/pci_def.h>
+#include <device/pci_ops.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/raminit.h>
+#include <southbridge/intel/lynxpoint/iobp.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+#include <timer.h>
+#include <types.h>
+
+static unsigned int is_usbr_enabled(void)
+{
+ return !!(pci_read_config32(PCH_XHCI_DEV, XHCI_USB3FUS) & BIT(5));
+}
+
+static char *const xhci_bar = (char *)PCH_XHCI_TEMP_BAR0;
+
+static void ehci_hcs_init(const pci_devfn_t dev, const uintptr_t ehci_bar)
+{
+ pci_write_config32(dev, PCI_BASE_ADDRESS_0, ehci_bar);
+
+ /** FIXME: Determine whether Bus Master is required (or clean it up afterwards) **/
+ pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
+
+ char *const mem_bar = (char *)ehci_bar;
+
+ /**
+ * Shared EHCI/XHCI ports w/a.
+ * This step is required when some of the ports are routed to EHCI
+ * and other ports are routed XHCI at the same time.
+ *
+ * FIXME: Under which conditions should this be done?
+ */
+ pci_and_config16(dev, 0x78, ~0x03);
+
+ /* Skip reset if usbdebug is enabled */
+ if (!CONFIG(USBDEBUG_IN_PRE_RAM))
+ setbits32(mem_bar + EHCI_USB_CMD, EHCI_USB_CMD_HCRESET);
+
+ /* 2: Configure number of controllers and ports */
+ pci_or_config16(dev, EHCI_ACCESS_CNTL, ACCESS_CNTL_ENABLE);
+ clrsetbits32(mem_bar + EHCI_HCS_PARAMS, 0xf << 12, 0);
+ clrsetbits32(mem_bar + EHCI_HCS_PARAMS, 0xf << 0, 2 + is_usbr_enabled());
+ pci_and_config16(dev, EHCI_ACCESS_CNTL, ~ACCESS_CNTL_ENABLE);
+
+ pci_or_config16(dev, 0x78, BIT(2));
+ pci_or_config16(dev, 0x7c, BIT(14) | BIT(7));
+ pci_update_config32(dev, 0x8c, ~(0xf << 8), (4 << 8));
+ pci_update_config32(dev, 0x8c, ~BIT(26), BIT(17));
+}
+
+static inline unsigned int physical_port_count(void)
+{
+ return MAX_USB2_PORTS;
+}
+
+static unsigned int hs_port_count(void)
+{
+ /** TODO: Apparently, WPT-LP has 10 USB2 ports **/
+ if (CONFIG(INTEL_LYNXPOINT_LP))
+ return 8;
+
+ switch ((pci_read_config32(PCH_XHCI_DEV, XHCI_USB3FUS) >> 1) & 3) {
+ case 3:
+ return 8;
+ case 2:
+ return 10;
+ case 1:
+ return 12;
+ case 0:
+ default:
+ return 14;
+ }
+}
+
+static unsigned int ss_port_count(void)
+{
+ if (CONFIG(INTEL_LYNXPOINT_LP))
+ return 4;
+
+ switch ((pci_read_config32(PCH_XHCI_DEV, XHCI_USB3FUS) >> 3) & 3) {
+ case 3:
+ return 0;
+ case 2:
+ return 2;
+ case 1:
+ return 4;
+ case 0:
+ default:
+ return 6;
+ }
+}
+
+static void common_ehci_hcs_init(void)
+{
+ const bool is_lp = CONFIG(INTEL_LYNXPOINT_LP);
+
+ ehci_hcs_init(PCH_EHCI1_DEV, PCH_EHCI1_TEMP_BAR0);
+ if (!is_lp)
+ ehci_hcs_init(PCH_EHCI2_DEV, PCH_EHCI2_TEMP_BAR0);
+
+ pch_iobp_update(0xe5007f04, 0, 0x00004481);
+
+ for (unsigned int port = 0; port < physical_port_count(); port++)
+ pch_iobp_update(0xe500400f + port * 0x100, ~(1 << 0), 0 << 0);
+
+ pch_iobp_update(0xe5007f14, ~(3 << 19), (3 << 19));
+
+ if (is_lp)
+ pch_iobp_update(0xe5007f02, ~(3 << 22), (0 << 22));
+}
+
+static void xhci_open_memory_space(void)
+{
+ /** FIXME: Determine whether Bus Master is required (or clean it up afterwards) **/
+ pci_write_config32(PCH_XHCI_DEV, PCI_BASE_ADDRESS_0, (uintptr_t)xhci_bar);
+ pci_or_config16(PCH_XHCI_DEV, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
+}
+
+static void xhci_close_memory_space(void)
+{
+ pci_and_config16(PCH_XHCI_DEV, PCI_COMMAND, ~(PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY));
+ pci_write_config32(PCH_XHCI_DEV, PCI_BASE_ADDRESS_0, 0);
+}
+
+static void common_xhci_hc_init(void)
+{
+ const bool is_lp = CONFIG(INTEL_LYNXPOINT_LP);
+
+ if (!is_lp) {
+ const unsigned int max_ports = 15 + ss_port_count();
+ clrsetbits32(xhci_bar + XHCI_HCS_PARAMS_1, 0xf << 28, max_ports << 28);
+ }
+
+ clrsetbits32(xhci_bar + XHCI_HCS_PARAMS_3, 0xffff << 16 | 0xff, 0x200 << 16 | 0x0a);
+ clrsetbits32(xhci_bar + XHCI_HCC_PARAMS, BIT(5), BIT(10) | BIT(9));
+
+ if (!is_lp)
+ clrsetbits32(xhci_bar + 0x8008, BIT(19), 0);
+
+ if (is_lp)
+ clrsetbits32(xhci_bar + 0x8058, BIT(8), BIT(16));
+ else
+ clrsetbits32(xhci_bar + 0x8058, BIT(8), BIT(16) | BIT(20));
+
+ clrsetbits32(xhci_bar + 0x8060, 0, BIT(25) | BIT(18));
+ clrsetbits32(xhci_bar + 0x8090, 0, BIT(14) | BIT(8));
+ clrsetbits32(xhci_bar + 0x8094, 0, BIT(23) | BIT(21) | BIT(14));
+ clrsetbits32(xhci_bar + 0x80e0, BIT(16), BIT(6));
+ clrsetbits32(xhci_bar + 0x80ec, (7 << 12) | (7 << 9), (0 << 12) | (6 << 9));
+ clrsetbits32(xhci_bar + 0x80f0, BIT(20), 0);
+
+ if (is_lp)
+ clrsetbits32(xhci_bar + 0x80fc, 0, BIT(25));
+
+ if (is_lp)
+ clrsetbits32(xhci_bar + 0x8110, BIT(8) | BIT(2), BIT(20) | BIT(11));
+ else
+ clrsetbits32(xhci_bar + 0x8110, BIT(2), BIT(20) | BIT(11));
+
+ if (is_lp)
+ write32(xhci_bar + 0x8140, 0xff00f03c);
+ else
+ write32(xhci_bar + 0x8140, 0xff03c132);
+
+ if (is_lp)
+ clrsetbits32(xhci_bar + 0x8154, BIT(21), BIT(13));
+ else
+ clrsetbits32(xhci_bar + 0x8154, BIT(21) | BIT(13), 0);
+
+ clrsetbits32(xhci_bar + 0x8154, BIT(3), 0);
+
+ if (is_lp) {
+ clrsetbits32(xhci_bar + 0x8164, 0, BIT(1) | BIT(0));
+ write32(xhci_bar + 0x8174, 0x01400c0a);
+ write32(xhci_bar + 0x817c, 0x033200a3);
+ write32(xhci_bar + 0x8180, 0x00cb0028);
+ write32(xhci_bar + 0x8184, 0x0064001e);
+ }
+
+ /*
+ * Note: Register at offset 0x44 is 32-bit, but bit 31 is write-once.
+ * We use these weird partial accesses here to avoid locking bit 31.
+ */
+ pci_or_config16(PCH_XHCI_DEV, 0x44, BIT(15) | BIT(14) | BIT(10) | BIT(0));
+ pci_or_config8(PCH_XHCI_DEV, 0x44 + 2, 0x0f);
+
+ /* LPT-LP >= B0 */
+ if (is_lp)
+ clrsetbits32(xhci_bar + 0x8188, 0, BIT(26) | BIT(24));
+
+ /* LPT-H >= C0 */
+ if (!is_lp)
+ clrsetbits32(xhci_bar + 0x8188, 0, BIT(24));
+}
+
+static inline bool is_mem_sr(void)
+{
+ return pci_read_config16(PCH_LPC_DEV, GEN_PMCON_2) & GEN_PMCON_2_MEM_SR;
+}
+
+static bool should_restore_xhci_smart_auto(void)
+{
+ if (!is_mem_sr())
+ return false;
+
+ return pci_read_config32(PCH_LPC_DEV, PMIR) & PMIR_XHCI_SMART_AUTO;
+}
+
+enum usb_port_route {
+ ROUTE_TO_EHCI,
+ ROUTE_TO_XHCI,
+};
+
+/* Returns whether port reset was successful */
+static bool reset_usb2_ports(const unsigned int ehci_ports)
+{
+ for (unsigned int port = 0; port < ehci_ports; port++) {
+ /* Initiate port reset for all USB2 ports */
+ clrsetbits32(
+ xhci_bar + XHCI_USB2_PORTSC(port),
+ XHCI_USB2_PORTSC_PED,
+ XHCI_USB2_PORTSC_PR);
+ }
+ /* Poll for port reset bit to be cleared or time out at 100ms */
+ struct stopwatch timer;
+ stopwatch_init_msecs_expire(&timer, 100);
+ uint32_t reg32;
+ do {
+ reg32 = 0;
+ for (unsigned int port = 0; port < ehci_ports; port++)
+ reg32 |= read32(xhci_bar + XHCI_USB2_PORTSC(port));
+
+ reg32 &= XHCI_USB2_PORTSC_PR;
+ if (!reg32) {
+ const long elapsed_time = stopwatch_duration_usecs(&timer);
+ printk(BIOS_DEBUG, "%s: took %lu usecs\n", __func__, elapsed_time);
+ return true;
+ }
+ /* Reference code has a 10 ms delay here, but a smaller delay works too */
+ udelay(100);
+ } while (!stopwatch_expired(&timer));
+ printk(BIOS_ERR, "%s: timed out\n", __func__);
+ return !reg32;
+}
+
+/* Returns whether warm reset was successful */
+static bool warm_reset_usb3_ports(const unsigned int xhci_ports)
+{
+ for (unsigned int port = 0; port < xhci_ports; port++) {
+ /* Initiate warm reset for all USB3 ports */
+ clrsetbits32(
+ xhci_bar + XHCI_USB3_PORTSC(port),
+ XHCI_USB3_PORTSC_PED,
+ XHCI_USB3_PORTSC_WPR);
+ }
+ /* Poll for port reset bit to be cleared or time out at 100ms */
+ struct stopwatch timer;
+ stopwatch_init_msecs_expire(&timer, 100);
+ uint32_t reg32;
+ do {
+ reg32 = 0;
+ for (unsigned int port = 0; port < xhci_ports; port++)
+ reg32 |= read32(xhci_bar + XHCI_USB3_PORTSC(port));
+
+ reg32 &= XHCI_USB3_PORTSC_PR;
+ if (!reg32) {
+ const long elapsed_time = stopwatch_duration_usecs(&timer);
+ printk(BIOS_DEBUG, "%s: took %lu usecs\n", __func__, elapsed_time);
+ return true;
+ }
+ /* Reference code has a 10 ms delay here, but a smaller delay works too */
+ udelay(100);
+ } while (!stopwatch_expired(&timer));
+ printk(BIOS_ERR, "%s: timed out\n", __func__);
+ return !reg32;
+}
+
+static void perform_xhci_ehci_switching_flow(const enum usb_port_route usb_route)
+{
+ const pci_devfn_t dev = PCH_XHCI_DEV;
+
+ const unsigned int ehci_ports = hs_port_count() + is_usbr_enabled();
+ const unsigned int xhci_ports = ss_port_count();
+
+ const uint32_t ehci_mask = BIT(ehci_ports) - 1;
+ const uint32_t xhci_mask = BIT(xhci_ports) - 1;
+
+ /** TODO: Handle USBr port? How, though? **/
+ pci_update_config32(dev, XHCI_USB2PRM, ~XHCI_USB2PR_HCSEL, ehci_mask);
+ pci_update_config32(dev, XHCI_USB3PRM, ~XHCI_USB3PR_SSEN, xhci_mask);
+
+ /*
+ * Workaround for USB2PR / USB3PR value not surviving warm reset.
+ * Restore USB Port Routing registers if OS HC Switch driver has been executed.
+ */
+ if (should_restore_xhci_smart_auto()) {
+ /** FIXME: Derive values from mainboard code instead? **/
+ pci_update_config32(dev, XHCI_USB2PR, ~XHCI_USB2PR_HCSEL, ehci_mask);
+ pci_update_config32(dev, XHCI_USB3PR, ~XHCI_USB3PR_SSEN, xhci_mask);
+ }
+
+ /* Later stages shouldn't need the value of this bit */
+ pci_and_config32(PCH_LPC_DEV, PMIR, ~PMIR_XHCI_SMART_AUTO);
+
+ /**
+ * FIXME: Things here depend on the chosen routing mode.
+ * For now, implement both functions.
+ */
+
+ /* Route to EHCI if xHCI disabled or auto mode */
+ if (usb_route == ROUTE_TO_EHCI) {
+ if (!reset_usb2_ports(ehci_ports))
+ printk(BIOS_ERR, "USB2 port reset timed out\n");
+
+ pci_and_config32(dev, XHCI_USB2PR, ~XHCI_USB2PR_HCSEL);
+
+ for (unsigned int port = 0; port < ehci_ports; port++) {
+ clrsetbits32(
+ xhci_bar + XHCI_USB2_PORTSC(port),
+ XHCI_USB2_PORTSC_PED,
+ XHCI_USB2_PORTSC_CHST);
+ }
+
+ if (!warm_reset_usb3_ports(xhci_ports))
+ printk(BIOS_ERR, "USB3 warm reset timed out\n");
+
+ /* FIXME: BWG says this should be inside the warm reset function */
+ pci_and_config32(dev, XHCI_USB3PR, ~XHCI_USB3PR_SSEN);
+
+ for (unsigned int port = 0; port < ehci_ports; port++) {
+ clrsetbits32(
+ xhci_bar + XHCI_USB3_PORTSC(port),
+ XHCI_USB3_PORTSC_PED,
+ XHCI_USB3_PORTSC_CHST);
+ }
+
+ setbits32(xhci_bar + XHCI_USBCMD, BIT(0));
+ clrbits32(xhci_bar + XHCI_USBCMD, BIT(0));
+ }
+
+ /* Route to xHCI if xHCI enabled */
+ if (usb_route == ROUTE_TO_XHCI) {
+ if (is_mem_sr()) {
+ if (!warm_reset_usb3_ports(xhci_ports))
+ printk(BIOS_ERR, "USB3 warm reset timed out\n");
+ }
+
+ const uint32_t xhci_port_mask = pci_read_config32(dev, XHCI_USB3PRM) & 0x3f;
+ pci_update_config32(dev, XHCI_USB3PR, ~XHCI_USB3PR_SSEN, xhci_port_mask);
+
+ const uint32_t ehci_port_mask = pci_read_config32(dev, XHCI_USB2PRM) & 0x7fff;
+ pci_update_config32(dev, XHCI_USB2PR, ~XHCI_USB2PR_HCSEL, ehci_port_mask);
+ }
+}
+
+/* Do not shift in this macro, as it can cause undefined behaviour for bad port/oc values */
+#define PORT_TO_OC_SHIFT(port, oc) ((oc) * 8 + (port))
+
+/* Avoid shifting into undefined behaviour */
+static inline bool shift_ok(const int shift)
+{
+ return shift >= 0 && shift < 32;
+}
+
+static void usb_overcurrent_mapping(void)
+{
+ const bool is_lp = CONFIG(INTEL_LYNXPOINT_LP);
+
+ uint32_t ehci_1_ocmap = 0;
+ uint32_t ehci_2_ocmap = 0;
+ uint32_t xhci_1_ocmap = 0;
+ uint32_t xhci_2_ocmap = 0;
+
+ /*
+ * EHCI
+ */
+ for (unsigned int idx = 0; idx < physical_port_count(); idx++) {
+ const struct usb2_port_config *const port = &mainboard_usb2_ports[idx];
+ printk(BIOS_DEBUG, "USB2 port %u => ", idx);
+ if (!port->enable) {
+ printk(BIOS_DEBUG, "disabled\n");
+ continue;
+ }
+ const unsigned short oc_pin = port->oc_pin;
+ if (oc_pin == USB_OC_PIN_SKIP) {
+ printk(BIOS_DEBUG, "not mapped to OC pin\n");
+ continue;
+ }
+ /* Ports 0 .. 7 => OC 0 .. 3 */
+ if (idx < 8 && oc_pin <= 3) {
+ const int shift = PORT_TO_OC_SHIFT(idx, oc_pin);
+ if (shift_ok(shift)) {
+ printk(BIOS_DEBUG, "mapped to OC pin %u\n", oc_pin);
+ ehci_1_ocmap |= 1 << shift;
+ continue;
+ }
+ }
+ /* Ports 8 .. 13 => OC 4 .. 7 (LPT-H only) */
+ if (!is_lp && idx >= 8 && oc_pin >= 4) {
+ const int shift = PORT_TO_OC_SHIFT(idx, oc_pin - 4);
+ if (shift_ok(shift)) {
+ printk(BIOS_DEBUG, "mapped to OC pin %u\n", oc_pin);
+ ehci_2_ocmap |= 1 << shift;
+ continue;
+ }
+ }
+ printk(BIOS_ERR, "Invalid OC pin %u for USB2 port %u\n", oc_pin, idx);
+ }
+ printk(BIOS_DEBUG, "\n");
+ pci_write_config32(PCH_EHCI1_DEV, EHCI_OCMAP, ehci_1_ocmap);
+ if (!is_lp)
+ pci_write_config32(PCH_EHCI2_DEV, EHCI_OCMAP, ehci_2_ocmap);
+
+ /*
+ * xHCI
+ */
+ for (unsigned int idx = 0; idx < ss_port_count(); idx++) {
+ const struct usb3_port_config *const port = &mainboard_usb3_ports[idx];
+ printk(BIOS_DEBUG, "USB3 port %u => ", idx);
+ if (!port->enable) {
+ printk(BIOS_DEBUG, "disabled\n");
+ continue;
+ }
+ const unsigned short oc_pin = port->oc_pin;
+ if (oc_pin == USB_OC_PIN_SKIP) {
+ printk(BIOS_DEBUG, "not mapped to OC pin\n");
+ continue;
+ }
+ /* Ports 0 .. 5 => OC 0 .. 3 */
+ if (oc_pin <= 3) {
+ const int shift = PORT_TO_OC_SHIFT(idx, oc_pin);
+ if (shift_ok(shift)) {
+ printk(BIOS_DEBUG, "mapped to OC pin %u\n", oc_pin);
+ xhci_1_ocmap |= 1 << shift;
+ continue;
+ }
+ }
+ /* Ports 0 .. 5 => OC 4 .. 7 (LPT-H only) */
+ if (!is_lp && oc_pin >= 4) {
+ const int shift = PORT_TO_OC_SHIFT(idx, oc_pin - 4);
+ if (shift_ok(shift)) {
+ printk(BIOS_DEBUG, "mapped to OC pin %u\n", oc_pin);
+ xhci_2_ocmap |= 1 << shift;
+ continue;
+ }
+ }
+ printk(BIOS_ERR, "Invalid OC pin %u for USB3 port %u\n", oc_pin, idx);
+ }
+ printk(BIOS_DEBUG, "\n");
+ pci_write_config32(PCH_XHCI_DEV, XHCI_U2OCM1, ehci_1_ocmap);
+ pci_write_config32(PCH_XHCI_DEV, XHCI_U3OCM1, xhci_1_ocmap);
+ if (!is_lp) {
+ pci_write_config32(PCH_XHCI_DEV, XHCI_U2OCM2, ehci_2_ocmap);
+ pci_write_config32(PCH_XHCI_DEV, XHCI_U3OCM2, xhci_2_ocmap);
+ }
+}
+
+static uint8_t get_ehci_tune_param_1(const struct usb2_port_config *const port)
+{
+ const bool is_lp = CONFIG(INTEL_LYNXPOINT_LP);
+
+ const enum pch_platform_type plat_type = get_pch_platform_type();
+ const enum usb2_port_location location = port->location;
+ const uint16_t length = port->length;
+ if (!is_lp) {
+ if (plat_type == PCH_TYPE_DESKTOP) {
+ if (location == USB_PORT_BACK_PANEL)
+ return 4; /* Back Panel */
+ else
+ return 3; /* Front Panel */
+
+ } else if (plat_type == PCH_TYPE_MOBILE) {
+ if (location == USB_PORT_INTERNAL)
+ return 5; /* Internal Topology */
+ else if (location == USB_PORT_DOCK)
+ return 4; /* Dock */
+ else if (length < 0x70)
+ return 5; /* Back Panel, less than 7" */
+ else
+ return 6; /* Back Panel, 7" or more */
+ }
+ } else {
+ if (location == USB_PORT_BACK_PANEL || location == USB_PORT_MINI_PCIE) {
+ if (length < 0x70)
+ return 5; /* Back Panel, less than 7" */
+ else
+ return 6; /* Back Panel, 7" or more */
+ } else if (location == USB_PORT_DOCK) {
+ return 4; /* Dock */
+ } else {
+ return 5; /* Internal Topology */
+ }
+ }
+ printk(BIOS_ERR, "%s: Unhandled case\n", __func__);
+ return 0;
+}
+
+static uint8_t get_ehci_tune_param_2(const struct usb2_port_config *const port)
+{
+ const bool is_lp = CONFIG(INTEL_LYNXPOINT_LP);
+
+ const enum pch_platform_type plat_type = get_pch_platform_type();
+ const enum usb2_port_location location = port->location;
+ const uint16_t length = port->length;
+ if (!is_lp) {
+ if (plat_type == PCH_TYPE_DESKTOP) {
+ if (location == USB_PORT_BACK_PANEL) {
+ if (length < 0x80)
+ return 2; /* Back Panel, less than 8" */
+ else if (length < 0x130)
+ return 3; /* Back Panel, 8"-13" */
+ else
+ return 4; /* Back Panel, 13" or more */
+ } else {
+ return 2; /* Front Panel */
+ }
+
+ } else if (plat_type == PCH_TYPE_MOBILE) {
+ if (location == USB_PORT_INTERNAL) {
+ return 2; /* Internal Topology */
+ } else if (location == USB_PORT_DOCK) {
+ if (length < 0x50)
+ return 1; /* Dock, less than 5" */
+ else
+ return 2; /* Dock, 5" or more */
+ } else {
+ if (length < 0x100)
+ return 2; /* Back Panel, less than 10" */
+ else
+ return 3; /* Back Panel, 10" or more */
+ }
+ }
+ } else {
+ if (location == USB_PORT_BACK_PANEL || location == USB_PORT_MINI_PCIE) {
+ if (length < 0x100)
+ return 2; /* Back Panel, less than 10" */
+ else
+ return 3; /* Back Panel, 10" or more */
+ } else if (location == USB_PORT_DOCK) {
+ if (length < 0x50)
+ return 1; /* Dock, less than 5" */
+ else
+ return 2; /* Dock, 5" or more */
+ } else {
+ return 2; /* Internal Topology */
+ }
+ }
+ printk(BIOS_ERR, "%s: Unhandled case\n", __func__);
+ return 0;
+}
+
+static void program_ehci_port_length(void)
+{
+ for (unsigned int port = 0; port < physical_port_count(); port++) {
+ if (!mainboard_usb2_ports[port].enable)
+ continue;
+ const uint32_t addr = 0xe5004000 + (port + 1) * 0x100;
+ const uint8_t param_1 = get_ehci_tune_param_1(&mainboard_usb2_ports[port]);
+ const uint8_t param_2 = get_ehci_tune_param_2(&mainboard_usb2_ports[port]);
+ pch_iobp_update(addr, ~0x7f00, param_2 << 11 | param_1 << 8);
+ }
+}
+
+void early_usb_init(void)
+{
+ /** TODO: Make this configurable? How do the modes affect usbdebug? **/
+ const enum usb_port_route usb_route = ROUTE_TO_XHCI;
+ ///(pd->boot_mode == 2 && pd->usb_xhci_on_resume) ? ROUTE_TO_XHCI : ROUTE_TO_EHCI;
+
+ common_ehci_hcs_init();
+ xhci_open_memory_space();
+ common_xhci_hc_init();
+ perform_xhci_ehci_switching_flow(usb_route);
+ usb_overcurrent_mapping();
+ program_ehci_port_length();
+ /** FIXME: USB per port control is missing, is it needed? **/
+ xhci_close_memory_space();
+ /** TODO: Close EHCI memory space? **/
+}
diff --git a/src/southbridge/intel/lynxpoint/pch.h b/src/southbridge/intel/lynxpoint/pch.h
index b5e0c2a830..ad983d86cf 100644
--- a/src/southbridge/intel/lynxpoint/pch.h
+++ b/src/southbridge/intel/lynxpoint/pch.h
@@ -115,6 +115,7 @@ enum pch_platform_type {
void pch_dmi_setup_physical_layer(void);
void pch_dmi_tc_vc_mapping(u32 vc0, u32 vc1, u32 vcp, u32 vcm);
+void early_usb_init(void);
void usb_ehci_sleep_prepare(pci_devfn_t dev, u8 slp_typ);
void usb_ehci_disable(pci_devfn_t dev);
@@ -202,6 +203,8 @@ void mainboard_config_rcba(void);
#define GEN_PMCON_1 0xa0
#define SMI_LOCK (1 << 4)
#define GEN_PMCON_2 0xa2
+#define GEN_PMCON_2_DISB (1 << 7)
+#define GEN_PMCON_2_MEM_SR (1 << 5)
#define SYSTEM_RESET_STS (1 << 4)
#define THERMTRIP_STS (1 << 3)
#define SYSPWR_FLR (1 << 1)
@@ -215,6 +218,7 @@ void mainboard_config_rcba(void);
#define PMIR 0xac
#define PMIR_CF9LOCK (1 << 31)
#define PMIR_CF9GR (1 << 20)
+#define PMIR_XHCI_SMART_AUTO (1 << 16) /* c.f. LPT BWG or WPT-LP BIOS spec */
/* GEN_PMCON_3 bits */
#define RTC_BATTERY_DEAD (1 << 2)
@@ -282,6 +286,20 @@ void mainboard_config_rcba(void);
#define SATA_DTLE_DATA_SHIFT 24
#define SATA_DTLE_EDGE_SHIFT 16
+/*
+ * HCD_INDEX == 2 selects 0:1a.0 (PCH_EHCI2), any other index
+ * selects 0:1d.0 (PCH_EHCI1) for usbdebug use.
+ */
+#if CONFIG_USBDEBUG_HCD_INDEX != 2
+#define PCH_EHCI1_TEMP_BAR0 CONFIG_EHCI_BAR
+#define PCH_EHCI2_TEMP_BAR0 (PCH_EHCI1_TEMP_BAR0 + 0x400)
+#else
+#define PCH_EHCI2_TEMP_BAR0 CONFIG_EHCI_BAR
+#define PCH_EHCI1_TEMP_BAR0 (PCH_EHCI2_TEMP_BAR0 + 0x400)
+#endif
+
+#define PCH_XHCI_TEMP_BAR0 0xe8100000
+
/* EHCI PCI Registers */
#define EHCI_PWR_CTL_STS 0x54
#define PWR_CTL_SET_MASK 0x3
@@ -289,10 +307,15 @@ void mainboard_config_rcba(void);
#define PWR_CTL_SET_D3 0x3
#define PWR_CTL_ENABLE_PME (1 << 8)
#define PWR_CTL_STATUS_PME (1 << 15)
+#define EHCI_OCMAP 0x74
+#define EHCI_ACCESS_CNTL 0x80
+#define ACCESS_CNTL_ENABLE (1 << 0)
/* EHCI Memory Registers */
+#define EHCI_HCS_PARAMS 0x04
#define EHCI_USB_CMD 0x20
#define EHCI_USB_CMD_RUN (1 << 0)
+#define EHCI_USB_CMD_HCRESET (1 << 1)
#define EHCI_USB_CMD_PSE (1 << 4)
#define EHCI_USB_CMD_ASE (1 << 5)
#define EHCI_PORTSC(port) (0x64 + (port) * 4)
@@ -301,6 +324,10 @@ void mainboard_config_rcba(void);
/* XHCI PCI Registers */
#define XHCI_PWR_CTL_STS 0x74
+#define XHCI_U2OCM1 0xc0
+#define XHCI_U2OCM2 0xc4
+#define XHCI_U3OCM1 0xc8
+#define XHCI_U3OCM2 0xcc
#define XHCI_USB2PR 0xd0
#define XHCI_USB2PRM 0xd4
#define XHCI_USB2PR_HCSEL 0x7fff
@@ -313,6 +340,27 @@ void mainboard_config_rcba(void);
#define XHCI_USB3PDO 0xe8
/* XHCI Memory Registers */
+#define XHCI_HCS_PARAMS_1 0x04
+#define XHCI_HCS_PARAMS_2 0x08
+#define XHCI_HCS_PARAMS_3 0x0c
+#define XHCI_HCC_PARAMS 0x10
+#define XHCI_USBCMD 0x80
+#define XHCI_USB2_PORTSC(port) (0x480 + ((port) * 0x10))
+#define XHCI_USB2_PORTSC_WPR (1 << 31) /* Warm Port Reset */
+#define XHCI_USB2_PORTSC_CEC (1 << 23) /* Port Config Error Change */
+#define XHCI_USB2_PORTSC_PLC (1 << 22) /* Port Link State Change */
+#define XHCI_USB2_PORTSC_PRC (1 << 21) /* Port Reset Change */
+#define XHCI_USB2_PORTSC_OCC (1 << 20) /* Over-current Change */
+#define XHCI_USB2_PORTSC_WRC (1 << 19) /* Warm Port Reset Change */
+#define XHCI_USB2_PORTSC_PEC (1 << 18) /* Port Enabled Disabled Change */
+#define XHCI_USB2_PORTSC_CSC (1 << 17) /* Connect Status Change */
+#define XHCI_USB2_PORTSC_CHST (0x7f << 17)
+#define XHCI_USB2_PORTSC_LWS (1 << 16) /* Port Link State Write Strobe */
+#define XHCI_USB2_PORTSC_PP (1 << 9)
+#define XHCI_USB2_PORTSC_PR (1 << 4) /* Port Reset */
+#define XHCI_USB2_PORTSC_PED (1 << 1) /* Port Enable/Disabled */
+#define XHCI_USB2_PORTSC_CCS (1 << 0) /* Current Connect Status */
+
#define XHCI_USB3_PORTSC(port) ((pch_is_lp() ? 0x510 : 0x570) + ((port) * 0x10))
#define XHCI_USB3_PORTSC_CHST (0x7f << 17)
#define XHCI_USB3_PORTSC_WCE (1 << 25) /* Wake on Connect */
@@ -320,6 +368,7 @@ void mainboard_config_rcba(void);
#define XHCI_USB3_PORTSC_WOE (1 << 27) /* Wake on Overcurrent */
#define XHCI_USB3_PORTSC_WRC (1 << 19) /* Warm Reset Complete */
#define XHCI_USB3_PORTSC_LWS (1 << 16) /* Link Write Strobe */
+#define XHCI_USB3_PORTSC_PR (1 << 4) /* Port Reset */
#define XHCI_USB3_PORTSC_PED (1 << 1) /* Port Enabled/Disabled */
#define XHCI_USB3_PORTSC_WPR (1 << 31) /* Warm Port Reset */
#define XHCI_USB3_PORTSC_PLS (0xf << 5) /* Port Link State */
--
2.39.2
@@ -0,0 +1,128 @@
From 92be49d8422b4bc1c89bb49535f4dc6a01d47295 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 23:22:11 +0200
Subject: [PATCH 06/26] sb/intel/lynxpoint: Add native thermal init
Implement native thermal initialisation for Lynx Point. This is only
needed when MRC.bin is not used.
Change-Id: I4a67a3092d0c2e56bfdacb513a899ef838193cbd
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../haswell/native_raminit/raminit_native.c | 1 +
src/southbridge/intel/lynxpoint/Makefile.inc | 2 +-
src/southbridge/intel/lynxpoint/pch.h | 1 +
src/southbridge/intel/lynxpoint/thermal.c | 64 +++++++++++++++++++
4 files changed, 67 insertions(+), 1 deletion(-)
create mode 100644 src/southbridge/intel/lynxpoint/thermal.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index ef61d4ee09..dd1f1ec14e 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -16,6 +16,7 @@ static bool early_init_native(int s3resume)
/** TODO: CPU replacement check must be skipped in warm boots and S3 resumes **/
const bool cpu_replaced = !s3resume && intel_early_me_cpu_replacement_check();
+ early_thermal_init();
early_usb_init();
if (!CONFIG(INTEL_LYNXPOINT_LP))
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index 0e1f2fe4eb..a9a9b153d6 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -37,7 +37,7 @@ bootblock-y += early_pch.c
romstage-y += early_usb.c early_me.c me_status.c early_pch.c
romstage-y += pmutil.c
-romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c early_usb_native.c iobp.c
+romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c early_usb_native.c iobp.c thermal.c
ifeq ($(CONFIG_INTEL_LYNXPOINT_LP),y)
romstage-y += lp_gpio.c
diff --git a/src/southbridge/intel/lynxpoint/pch.h b/src/southbridge/intel/lynxpoint/pch.h
index ad983d86cf..38a9349220 100644
--- a/src/southbridge/intel/lynxpoint/pch.h
+++ b/src/southbridge/intel/lynxpoint/pch.h
@@ -116,6 +116,7 @@ enum pch_platform_type {
void pch_dmi_setup_physical_layer(void);
void pch_dmi_tc_vc_mapping(u32 vc0, u32 vc1, u32 vcp, u32 vcm);
void early_usb_init(void);
+void early_thermal_init(void);
void usb_ehci_sleep_prepare(pci_devfn_t dev, u8 slp_typ);
void usb_ehci_disable(pci_devfn_t dev);
diff --git a/src/southbridge/intel/lynxpoint/thermal.c b/src/southbridge/intel/lynxpoint/thermal.c
new file mode 100644
index 0000000000..e71969ea0c
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/thermal.c
@@ -0,0 +1,64 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <device/mmio.h>
+#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+#include <types.h>
+
+#define TBARB_TEMP 0x40000000
+
+#define THERMAL_DEV PCI_DEV(0, 0x1f, 6)
+
+/* Early thermal init, it may need to be done prior to giving ME its memory */
+void early_thermal_init(void)
+{
+ /* Program address for temporary BAR */
+ pci_write_config32(THERMAL_DEV, 0x40, TBARB_TEMP);
+ pci_write_config32(THERMAL_DEV, 0x44, 0);
+
+ /* Activate temporary BAR */
+ pci_or_config32(THERMAL_DEV, 0x40, 1);
+
+ /*
+ * BWG section 17.3.1 says:
+ *
+ * ### Initializing Lynx Point Thermal Sensors ###
+ *
+ * The System BIOS must perform the following steps to initialize the Lynx
+ * Point thermal subsystem device, D31:F6. The System BIOS is required to
+ * repeat this process on a resume from Sx. BIOS may enable any or all of
+ * the registers below based on OEM's platform configuration. Intel does
+ * not recommend a value on some of the registers, since each platform has
+ * different temperature trip points and one may enable a trip to cause an
+ * SMI while another platform would cause an interrupt instead.
+ *
+ * The recommended flow for enabling thermal sensor is by setting up various
+ * temperature trip points first, followed by enabling the desired trip
+ * alert method and then enable the actual sensors from TSEL registers.
+ * If this flow is not followed, software will need to take special care
+ * to handle false events during setting up those registers.
+ */
+
+ /* Step 1: Program CTT */
+ write16p(TBARB_TEMP + 0x10, 0x0154);
+
+ /* Step 2: Clear trip status from TSS and TAS */
+ write8p(TBARB_TEMP + 0x06, 0xff);
+ write8p(TBARB_TEMP + 0x80, 0xff);
+
+ /* Step 3: Program TSGPEN and TSPIEN to zero */
+ write8p(TBARB_TEMP + 0x84, 0x00);
+ write8p(TBARB_TEMP + 0x82, 0x00);
+
+ /*
+ * Step 4: If thermal reporting to an EC over SMBus is supported,
+ * then write 0x01 to TSREL, else leave at default.
+ */
+ write8p(TBARB_TEMP + 0x0a, 0x01);
+
+ /* Disable temporary BAR */
+ pci_and_config32(THERMAL_DEV, 0x40, ~1);
+
+ /* Clear temporary BAR address */
+ pci_write_config32(THERMAL_DEV, 0x40, 0);
+}
--
2.39.2
@@ -0,0 +1,785 @@
From 7378cb4fefc87b9a096bb14820a44f26f3a628f5 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Fri, 6 May 2022 23:43:46 +0200
Subject: [PATCH 07/26] sb/intel/lynxpoint: Add native PCH init
Implement native PCH initialisation for Lynx Point. This is only needed
when MRC.bin is not used.
Change-Id: I36867bdc8b20000e44ff9d0d7b2c0d63952bd561
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../haswell/native_raminit/raminit_native.c | 3 +-
src/southbridge/intel/lynxpoint/Makefile.inc | 1 +
.../intel/lynxpoint/early_pch_native.c | 123 +++++++++
.../intel/lynxpoint/hsio/Makefile.inc | 8 +
src/southbridge/intel/lynxpoint/hsio/common.c | 52 ++++
src/southbridge/intel/lynxpoint/hsio/hsio.h | 46 ++++
.../intel/lynxpoint/hsio/lpt_h_cx.c | 244 ++++++++++++++++++
.../intel/lynxpoint/hsio/lpt_lp_bx.c | 180 +++++++++++++
src/southbridge/intel/lynxpoint/pch.h | 6 +
9 files changed, 661 insertions(+), 2 deletions(-)
create mode 100644 src/southbridge/intel/lynxpoint/hsio/Makefile.inc
create mode 100644 src/southbridge/intel/lynxpoint/hsio/common.c
create mode 100644 src/southbridge/intel/lynxpoint/hsio/hsio.h
create mode 100644 src/southbridge/intel/lynxpoint/hsio/lpt_h_cx.c
create mode 100644 src/southbridge/intel/lynxpoint/hsio/lpt_lp_bx.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index dd1f1ec14e..b6efb6b40d 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -16,8 +16,7 @@ static bool early_init_native(int s3resume)
/** TODO: CPU replacement check must be skipped in warm boots and S3 resumes **/
const bool cpu_replaced = !s3resume && intel_early_me_cpu_replacement_check();
- early_thermal_init();
- early_usb_init();
+ early_pch_init_native(s3resume);
if (!CONFIG(INTEL_LYNXPOINT_LP))
dmi_early_init();
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index a9a9b153d6..63243ecc86 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -38,6 +38,7 @@ romstage-y += early_usb.c early_me.c me_status.c early_pch.c
romstage-y += pmutil.c
romstage-$(CONFIG_USE_NATIVE_RAMINIT) += early_pch_native.c early_usb_native.c iobp.c thermal.c
+subdirs-$(CONFIG_USE_NATIVE_RAMINIT) += hsio
ifeq ($(CONFIG_INTEL_LYNXPOINT_LP),y)
romstage-y += lp_gpio.c
diff --git a/src/southbridge/intel/lynxpoint/early_pch_native.c b/src/southbridge/intel/lynxpoint/early_pch_native.c
index c28ddfcf5d..421821fa5d 100644
--- a/src/southbridge/intel/lynxpoint/early_pch_native.c
+++ b/src/southbridge/intel/lynxpoint/early_pch_native.c
@@ -1,10 +1,133 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <console/console.h>
+#include <device/pci_def.h>
#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/hsio/hsio.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <types.h>
+static void early_sata_init(const uint8_t pch_revision)
+{
+ const bool is_mobile = get_pch_platform_type() != PCH_TYPE_DESKTOP;
+
+ const uint8_t lane_owner = pci_read_config8(PCI_DEV(0, 0x1c, 0), 0x410);
+ printk(BIOS_DEBUG, "HSIO lane owner: 0x%02x\n", lane_owner);
+
+ /* BWG Step 2 */
+ pci_update_config32(PCH_SATA_DEV, SATA_SCLKG, ~0x1ff, 0x183);
+
+ /* BWG Step 3: Set OOB Retry Mode */
+ pci_or_config16(PCH_SATA_DEV, SATA_PCS, 1 << 15);
+
+ /* BWG Step 4: Program the SATA mPHY tables */
+ if (pch_is_lp()) {
+ if (pch_revision >= LPT_LP_STEP_B0 && pch_revision <= LPT_LP_STEP_B2) {
+ program_hsio_sata_lpt_lp_bx(is_mobile);
+ } else {
+ printk(BIOS_ERR, "Unsupported PCH-LP stepping 0x%02x\n", pch_revision);
+ }
+ } else {
+ if (pch_revision >= LPT_H_STEP_C0) {
+ program_hsio_sata_lpt_h_cx(is_mobile);
+ } else {
+ printk(BIOS_ERR, "Unsupported PCH-H stepping 0x%02x\n", pch_revision);
+ }
+ }
+
+ /** FIXME: Program SATA RxEq tables **/
+
+ /* BWG Step 5 */
+ /** FIXME: Only for desktop and mobile (skip this on workstation and server) **/
+ pci_or_config32(PCH_SATA_DEV, 0x98, BIT(22));
+
+ /* BWG Step 6 */
+ pci_or_config32(PCH_SATA_DEV, 0x98, BIT(19));
+
+ /* BWG Step 7 */
+ pci_update_config32(PCH_SATA_DEV, 0x98, ~(0x3f << 7), 0x04 << 7);
+
+ /* BWG Step 8 */
+ pci_or_config32(PCH_SATA_DEV, 0x98, BIT(20));
+
+ /* BWG Step 9 */
+ pci_update_config32(PCH_SATA_DEV, 0x98, ~(3 << 5), 1 << 5);
+
+ /* BWG Step 10 */
+ pci_or_config32(PCH_SATA_DEV, 0x98, BIT(18));
+
+ /* Enable SATA ports */
+ uint8_t sata_pcs = 0;
+ if (CONFIG(INTEL_LYNXPOINT_LP)) {
+ for (uint8_t i = 0; i < 4; i++) {
+ if ((lane_owner & BIT(7 - i)) == 0) {
+ sata_pcs |= BIT(i);
+ }
+ }
+ } else {
+ sata_pcs |= 0x0f;
+ for (uint8_t i = 4; i < 6; i++) {
+ if ((lane_owner & BIT(i)) == 0) {
+ sata_pcs |= BIT(i);
+ }
+ }
+ }
+ printk(BIOS_DEBUG, "SATA port enables: 0x%02x\n", sata_pcs);
+ pci_or_config8(PCH_SATA_DEV, SATA_PCS, sata_pcs);
+}
+
+void early_pch_init_native(int s3resume)
+{
+ const uint8_t pch_revision = pci_read_config8(PCH_LPC_DEV, PCI_REVISION_ID);
+
+ RCBA16(DISPBDF) = 0x0010;
+ RCBA32_OR(FD2, PCH_ENABLE_DBDF);
+
+ /** FIXME: Check GEN_PMCON_3 and handle RTC failure? **/
+
+ RCBA32(PRSTS) = BIT(4);
+
+ early_sata_init(pch_revision);
+
+ pci_or_config8(PCH_LPC_DEV, 0xa6, 1 << 1);
+ pci_and_config8(PCH_LPC_DEV, 0xdc, ~(1 << 5 | 1 << 1));
+
+ /** TODO: Send GET HSIO VER and update ChipsetInit table? Is it needed? **/
+
+ /** FIXME: GbE handling? **/
+
+ pci_update_config32(PCH_LPC_DEV, 0xac, ~(1 << 20), 0);
+
+ for (uint8_t i = 0; i < 8; i++)
+ pci_update_config32(PCI_DEV(0, 0x1c, i), 0x338, ~(1 << 26), 0);
+
+ pci_update_config8(PCI_DEV(0, 0x1c, 0), 0xf4, ~(3 << 5), 1 << 7);
+
+ pci_update_config8(PCI_DEV(0, 26, 0), 0x88, ~(1 << 2), 0);
+ pci_update_config8(PCI_DEV(0, 29, 0), 0x88, ~(1 << 2), 0);
+
+ /** FIXME: Disable SATA2 device? **/
+
+ if (pch_is_lp()) {
+ if (pch_revision >= LPT_LP_STEP_B0 && pch_revision <= LPT_LP_STEP_B2) {
+ program_hsio_xhci_lpt_lp_bx();
+ program_hsio_igbe_lpt_lp_bx();
+ } else {
+ printk(BIOS_ERR, "Unsupported PCH-LP stepping 0x%02x\n", pch_revision);
+ }
+ } else {
+ if (pch_revision >= LPT_H_STEP_C0) {
+ program_hsio_xhci_lpt_h_cx();
+ program_hsio_igbe_lpt_h_cx();
+ } else {
+ printk(BIOS_ERR, "Unsupported PCH-H stepping 0x%02x\n", pch_revision);
+ }
+ }
+
+ early_thermal_init();
+ early_usb_init();
+}
+
void pch_dmi_setup_physical_layer(void)
{
/* FIXME: We need to make sure the SA supports Gen2 as well */
diff --git a/src/southbridge/intel/lynxpoint/hsio/Makefile.inc b/src/southbridge/intel/lynxpoint/hsio/Makefile.inc
new file mode 100644
index 0000000000..6b74997511
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/hsio/Makefile.inc
@@ -0,0 +1,8 @@
+## SPDX-License-Identifier: GPL-2.0-or-later
+
+romstage-y += common.c
+ifeq ($(CONFIG_INTEL_LYNXPOINT_LP),y)
+romstage-y += lpt_lp_bx.c
+else
+romstage-y += lpt_h_cx.c
+endif
diff --git a/src/southbridge/intel/lynxpoint/hsio/common.c b/src/southbridge/intel/lynxpoint/hsio/common.c
new file mode 100644
index 0000000000..9935ca347a
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/hsio/common.c
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/hsio/hsio.h>
+#include <types.h>
+
+/*
+ * FIXME: Ask Intel whether all lanes need to be programmed as specified
+ * in the PCH BWG. If not, make separate tables and only check this once.
+ */
+void hsio_sata_shared_update(const uint32_t addr, const uint32_t and, const uint32_t or)
+{
+ const uint8_t lane_owner = pci_read_config8(PCI_DEV(0, 0x1c, 0), 0x410);
+
+ if ((addr & 0xfe00) == 0x2000 && (lane_owner & (1 << 4)))
+ return;
+
+ if ((addr & 0xfe00) == 0x2200 && (lane_owner & (1 << 5)))
+ return;
+
+ if (CONFIG(INTEL_LYNXPOINT_LP)) {
+ if ((addr & 0xfe00) == 0x2400 && (lane_owner & (1 << 6)))
+ return;
+
+ if ((addr & 0xfe00) == 0x2600 && (lane_owner & (1 << 7)))
+ return;
+ }
+ hsio_update(addr, and, or);
+}
+
+/*
+ * FIXME: Ask Intel whether all lanes need to be programmed as specified
+ * in the PCH BWG. If not, make separate tables and only check this once.
+ */
+void hsio_xhci_shared_update(const uint32_t addr, const uint32_t and, const uint32_t or)
+{
+ const uint8_t lane_owner = pci_read_config8(PCI_DEV(0, 0x1c, 0), 0x410);
+ if (CONFIG(INTEL_LYNXPOINT_LP)) {
+ if ((addr & 0xfe00) == 0x2400 && ((lane_owner >> 0) & 3) != 2)
+ return;
+
+ if ((addr & 0xfe00) == 0x2600 && ((lane_owner >> 2) & 3) != 2)
+ return;
+ } else {
+ if ((addr & 0xfe00) == 0x2c00 && ((lane_owner >> 2) & 3) != 2)
+ return;
+
+ if ((addr & 0xfe00) == 0x2e00 && ((lane_owner >> 0) & 3) != 2)
+ return;
+ }
+ hsio_update(addr, and, or);
+}
diff --git a/src/southbridge/intel/lynxpoint/hsio/hsio.h b/src/southbridge/intel/lynxpoint/hsio/hsio.h
new file mode 100644
index 0000000000..689ef4a05b
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/hsio/hsio.h
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef SOUTHBRIDGE_INTEL_LYNXPOINT_HSIO_H
+#define SOUTHBRIDGE_INTEL_LYNXPOINT_HSIO_H
+
+#include <southbridge/intel/lynxpoint/iobp.h>
+#include <types.h>
+
+struct hsio_table_row {
+ uint32_t addr;
+ uint32_t and;
+ uint32_t or;
+};
+
+static inline void hsio_update(const uint32_t addr, const uint32_t and, const uint32_t or)
+{
+ pch_iobp_update(addr, and, or);
+}
+
+static inline void hsio_update_row(const struct hsio_table_row row)
+{
+ hsio_update(row.addr, row.and, row.or);
+}
+
+void hsio_xhci_shared_update(const uint32_t addr, const uint32_t and, const uint32_t or);
+void hsio_sata_shared_update(const uint32_t addr, const uint32_t and, const uint32_t or);
+
+static inline void hsio_sata_shared_update_row(const struct hsio_table_row row)
+{
+ hsio_sata_shared_update(row.addr, row.and, row.or);
+}
+
+static inline void hsio_xhci_shared_update_row(const struct hsio_table_row row)
+{
+ hsio_xhci_shared_update(row.addr, row.and, row.or);
+}
+
+void program_hsio_sata_lpt_h_cx(const bool is_mobile);
+void program_hsio_xhci_lpt_h_cx(void);
+void program_hsio_igbe_lpt_h_cx(void);
+
+void program_hsio_sata_lpt_lp_bx(const bool is_mobile);
+void program_hsio_xhci_lpt_lp_bx(void);
+void program_hsio_igbe_lpt_lp_bx(void);
+
+#endif
diff --git a/src/southbridge/intel/lynxpoint/hsio/lpt_h_cx.c b/src/southbridge/intel/lynxpoint/hsio/lpt_h_cx.c
new file mode 100644
index 0000000000..b5dd402742
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/hsio/lpt_h_cx.c
@@ -0,0 +1,244 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/hsio/hsio.h>
+#include <types.h>
+
+const struct hsio_table_row hsio_sata_shared_lpt_h_cx[] = {
+ { 0xea002008, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002208, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002038, ~0x3f00000f, 0x0700000d },
+ { 0xea002238, ~0x3f00000f, 0x0700000d },
+ { 0xea00202c, ~0x00020f00, 0x00020100 },
+ { 0xea00222c, ~0x00020f00, 0x00020100 },
+ { 0xea002040, ~0x1f000000, 0x01000000 },
+ { 0xea002240, ~0x1f000000, 0x01000000 },
+ { 0xea002010, ~0xffff0000, 0x0d510000 },
+ { 0xea002210, ~0xffff0000, 0x0d510000 },
+ { 0xea002018, ~0xffff0300, 0x38250100 },
+ { 0xea002218, ~0xffff0300, 0x38250100 },
+ { 0xea002000, ~0xcf030000, 0xcf030000 },
+ { 0xea002200, ~0xcf030000, 0xcf030000 },
+ { 0xea002028, ~0xff1f0000, 0x580e0000 },
+ { 0xea002228, ~0xff1f0000, 0x580e0000 },
+ { 0xea00201c, ~0x00007c00, 0x00002400 },
+ { 0xea00221c, ~0x00007c00, 0x00002400 },
+ { 0xea00208c, ~0x00ff0000, 0x00800000 },
+ { 0xea00228c, ~0x00ff0000, 0x00800000 },
+ { 0xea0020a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0022a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0020ac, ~0x00000030, 0x00000020 },
+ { 0xea0022ac, ~0x00000030, 0x00000020 },
+ { 0xea002140, ~0x00ffffff, 0x00140718 },
+ { 0xea002340, ~0x00ffffff, 0x00140718 },
+ { 0xea002144, ~0x00ffffff, 0x00140998 },
+ { 0xea002344, ~0x00ffffff, 0x00140998 },
+ { 0xea002148, ~0x00ffffff, 0x00140998 },
+ { 0xea002348, ~0x00ffffff, 0x00140998 },
+ { 0xea00217c, ~0x03000000, 0x03000000 },
+ { 0xea00237c, ~0x03000000, 0x03000000 },
+ { 0xea002178, ~0x00001f00, 0x00001800 },
+ { 0xea002378, ~0x00001f00, 0x00001800 },
+ { 0xea00210c, ~0x0038000f, 0x00000005 },
+ { 0xea00230c, ~0x0038000f, 0x00000005 },
+};
+
+const struct hsio_table_row hsio_sata_lpt_h_cx[] = {
+ { 0xea008008, ~0xff000000, 0x1c000000 },
+ { 0xea002408, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002608, ~0xfffc6108, 0xea6c6108 },
+ { 0xea000808, ~0xfffc6108, 0xea6c6108 },
+ { 0xea000a08, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002438, ~0x3f00000f, 0x0700000d },
+ { 0xea002638, ~0x3f00000f, 0x0700000d },
+ { 0xea000838, ~0x3f00000f, 0x0700000d },
+ { 0xea000a38, ~0x3f00000f, 0x0700000d },
+ { 0xea002440, ~0x1f000000, 0x01000000 },
+ { 0xea002640, ~0x1f000000, 0x01000000 },
+ { 0xea000840, ~0x1f000000, 0x01000000 },
+ { 0xea000a40, ~0x1f000000, 0x01000000 },
+ { 0xea002410, ~0xffff0000, 0x0d510000 },
+ { 0xea002610, ~0xffff0000, 0x0d510000 },
+ { 0xea000810, ~0xffff0000, 0x0d510000 },
+ { 0xea000a10, ~0xffff0000, 0x0d510000 },
+ { 0xea00242c, ~0x00020800, 0x00020000 },
+ { 0xea00262c, ~0x00020800, 0x00020000 },
+ { 0xea00082c, ~0x00020800, 0x00020000 },
+ { 0xea000a2c, ~0x00020800, 0x00020000 },
+ { 0xea002418, ~0xffff0300, 0x38250100 },
+ { 0xea002618, ~0xffff0300, 0x38250100 },
+ { 0xea000818, ~0xffff0300, 0x38250100 },
+ { 0xea000a18, ~0xffff0300, 0x38250100 },
+ { 0xea002400, ~0xcf030000, 0xcf030000 },
+ { 0xea002600, ~0xcf030000, 0xcf030000 },
+ { 0xea000800, ~0xcf030000, 0xcf030000 },
+ { 0xea000a00, ~0xcf030000, 0xcf030000 },
+ { 0xea002428, ~0xff1f0000, 0x580e0000 },
+ { 0xea002628, ~0xff1f0000, 0x580e0000 },
+ { 0xea000828, ~0xff1f0000, 0x580e0000 },
+ { 0xea000a28, ~0xff1f0000, 0x580e0000 },
+ { 0xea00241c, ~0x00007c00, 0x00002400 },
+ { 0xea00261c, ~0x00007c00, 0x00002400 },
+ { 0xea00081c, ~0x00007c00, 0x00002400 },
+ { 0xea000a1c, ~0x00007c00, 0x00002400 },
+ { 0xea00248c, ~0x00ff0000, 0x00800000 },
+ { 0xea00268c, ~0x00ff0000, 0x00800000 },
+ { 0xea00088c, ~0x00ff0000, 0x00800000 },
+ { 0xea000a8c, ~0x00ff0000, 0x00800000 },
+ { 0xea0024a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0026a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0008a4, ~0x0030ff00, 0x00308300 },
+ { 0xea000aa4, ~0x0030ff00, 0x00308300 },
+ { 0xea0024ac, ~0x00000030, 0x00000020 },
+ { 0xea0026ac, ~0x00000030, 0x00000020 },
+ { 0xea0008ac, ~0x00000030, 0x00000020 },
+ { 0xea000aac, ~0x00000030, 0x00000020 },
+ { 0xea002540, ~0x00ffffff, 0x00140718 },
+ { 0xea002740, ~0x00ffffff, 0x00140718 },
+ { 0xea000940, ~0x00ffffff, 0x00140718 },
+ { 0xea000b40, ~0x00ffffff, 0x00140718 },
+ { 0xea002544, ~0x00ffffff, 0x00140998 },
+ { 0xea002744, ~0x00ffffff, 0x00140998 },
+ { 0xea000944, ~0x00ffffff, 0x00140998 },
+ { 0xea000b44, ~0x00ffffff, 0x00140998 },
+ { 0xea002548, ~0x00ffffff, 0x00140998 },
+ { 0xea002748, ~0x00ffffff, 0x00140998 },
+ { 0xea000948, ~0x00ffffff, 0x00140998 },
+ { 0xea000b48, ~0x00ffffff, 0x00140998 },
+ { 0xea00257c, ~0x03000000, 0x03000000 },
+ { 0xea00277c, ~0x03000000, 0x03000000 },
+ { 0xea00097c, ~0x03000000, 0x03000000 },
+ { 0xea000b7c, ~0x03000000, 0x03000000 },
+ { 0xea002578, ~0x00001f00, 0x00001800 },
+ { 0xea002778, ~0x00001f00, 0x00001800 },
+ { 0xea000978, ~0x00001f00, 0x00001800 },
+ { 0xea000b78, ~0x00001f00, 0x00001800 },
+ { 0xea00250c, ~0x0038000f, 0x00000005 },
+ { 0xea00270c, ~0x0038000f, 0x00000005 },
+ { 0xea00090c, ~0x0038000f, 0x00000005 },
+ { 0xea000b0c, ~0x0038000f, 0x00000005 },
+};
+
+const struct hsio_table_row hsio_xhci_shared_lpt_h_cx[] = {
+ { 0xe9002c2c, ~0x00000700, 0x00000100 },
+ { 0xe9002e2c, ~0x00000700, 0x00000100 },
+ { 0xe9002dcc, ~0x00001407, 0x00001407 },
+ { 0xe9002fcc, ~0x00001407, 0x00001407 },
+ { 0xe9002d68, ~0x01000f3c, 0x00000a28 },
+ { 0xe9002f68, ~0x01000f3c, 0x00000a28 },
+ { 0xe9002d6c, ~0x000000ff, 0x0000003f },
+ { 0xe9002f6c, ~0x000000ff, 0x0000003f },
+ { 0xe9002d4c, ~0x00ffff00, 0x00120500 },
+ { 0xe9002f4c, ~0x00ffff00, 0x00120500 },
+ { 0xe9002d14, ~0x38000700, 0x00000100 },
+ { 0xe9002f14, ~0x38000700, 0x00000100 },
+ { 0xe9002d64, ~0x0000f000, 0x00005000 },
+ { 0xe9002f64, ~0x0000f000, 0x00005000 },
+ { 0xe9002d70, ~0x00000018, 0x00000000 },
+ { 0xe9002f70, ~0x00000018, 0x00000000 },
+ { 0xe9002c38, ~0x3f00000f, 0x0700000b },
+ { 0xe9002e38, ~0x3f00000f, 0x0700000b },
+ { 0xe9002d40, ~0x00800000, 0x00000000 },
+ { 0xe9002f40, ~0x00800000, 0x00000000 },
+};
+
+const struct hsio_table_row hsio_xhci_lpt_h_cx[] = {
+ { 0xe90031cc, ~0x00001407, 0x00001407 },
+ { 0xe90033cc, ~0x00001407, 0x00001407 },
+ { 0xe90015cc, ~0x00001407, 0x00001407 },
+ { 0xe90017cc, ~0x00001407, 0x00001407 },
+ { 0xe9003168, ~0x01000f3c, 0x00000a28 },
+ { 0xe9003368, ~0x01000f3c, 0x00000a28 },
+ { 0xe9001568, ~0x01000f3c, 0x00000a28 },
+ { 0xe9001768, ~0x01000f3c, 0x00000a28 },
+ { 0xe900316c, ~0x000000ff, 0x0000003f },
+ { 0xe900336c, ~0x000000ff, 0x0000003f },
+ { 0xe900156c, ~0x000000ff, 0x0000003f },
+ { 0xe900176c, ~0x000000ff, 0x0000003f },
+ { 0xe900314c, ~0x00ffff00, 0x00120500 },
+ { 0xe900334c, ~0x00ffff00, 0x00120500 },
+ { 0xe900154c, ~0x00ffff00, 0x00120500 },
+ { 0xe900174c, ~0x00ffff00, 0x00120500 },
+ { 0xe9003114, ~0x38000700, 0x00000100 },
+ { 0xe9003314, ~0x38000700, 0x00000100 },
+ { 0xe9001514, ~0x38000700, 0x00000100 },
+ { 0xe9001714, ~0x38000700, 0x00000100 },
+ { 0xe9003164, ~0x0000f000, 0x00005000 },
+ { 0xe9003364, ~0x0000f000, 0x00005000 },
+ { 0xe9001564, ~0x0000f000, 0x00005000 },
+ { 0xe9001764, ~0x0000f000, 0x00005000 },
+ { 0xe9003170, ~0x00000018, 0x00000000 },
+ { 0xe9003370, ~0x00000018, 0x00000000 },
+ { 0xe9001570, ~0x00000018, 0x00000000 },
+ { 0xe9001770, ~0x00000018, 0x00000000 },
+ { 0xe9003038, ~0x3f00000f, 0x0700000b },
+ { 0xe9003238, ~0x3f00000f, 0x0700000b },
+ { 0xe9001438, ~0x3f00000f, 0x0700000b },
+ { 0xe9001638, ~0x3f00000f, 0x0700000b },
+ { 0xe9003140, ~0x00800000, 0x00000000 },
+ { 0xe9003340, ~0x00800000, 0x00000000 },
+ { 0xe9001540, ~0x00800000, 0x00000000 },
+ { 0xe9001740, ~0x00800000, 0x00000000 },
+};
+
+void program_hsio_sata_lpt_h_cx(const bool is_mobile)
+{
+ const struct hsio_table_row *pch_hsio_table;
+ size_t len;
+
+ pch_hsio_table = hsio_sata_lpt_h_cx;
+ len = ARRAY_SIZE(hsio_sata_lpt_h_cx);
+ for (size_t i = 0; i < len; i++)
+ hsio_update_row(pch_hsio_table[i]);
+
+ pch_hsio_table = hsio_sata_shared_lpt_h_cx;
+ len = ARRAY_SIZE(hsio_sata_shared_lpt_h_cx);
+ for (size_t i = 0; i < len; i++)
+ hsio_sata_shared_update_row(pch_hsio_table[i]);
+
+ const uint32_t hsio_sata_value = is_mobile ? 0x00004c5a : 0x00003e67;
+
+ hsio_update(0xea002490, ~0x0000ffff, hsio_sata_value);
+ hsio_update(0xea002690, ~0x0000ffff, hsio_sata_value);
+ hsio_update(0xea000890, ~0x0000ffff, hsio_sata_value);
+ hsio_update(0xea000a90, ~0x0000ffff, hsio_sata_value);
+
+ hsio_sata_shared_update(0xea002090, ~0x0000ffff, hsio_sata_value);
+ hsio_sata_shared_update(0xea002290, ~0x0000ffff, hsio_sata_value);
+}
+
+void program_hsio_xhci_lpt_h_cx(void)
+{
+ const struct hsio_table_row *pch_hsio_table;
+ size_t len;
+
+ pch_hsio_table = hsio_xhci_lpt_h_cx;
+ len = ARRAY_SIZE(hsio_xhci_lpt_h_cx);
+
+ for (size_t i = 0; i < len; i++)
+ hsio_update_row(pch_hsio_table[i]);
+
+ pch_hsio_table = hsio_xhci_shared_lpt_h_cx;
+ len = ARRAY_SIZE(hsio_xhci_shared_lpt_h_cx);
+
+ for (size_t i = 0; i < len; i++)
+ hsio_xhci_shared_update_row(pch_hsio_table[i]);
+}
+
+void program_hsio_igbe_lpt_h_cx(void)
+{
+ const uint32_t strpfusecfg1 = pci_read_config32(PCI_DEV(0, 0x1c, 0), 0xfc);
+ if (!(strpfusecfg1 & (1 << 19)))
+ return;
+
+ const uint8_t gbe_port = (strpfusecfg1 >> 16) & 0x7;
+ const uint8_t lane_owner = pci_read_config8(PCI_DEV(0, 0x1c, 0), 0x410);
+ if (gbe_port == 0 && ((lane_owner >> 0) & 3) != 1)
+ return;
+
+ if (gbe_port == 1 && ((lane_owner >> 2) & 3) != 1)
+ return;
+
+ const uint32_t gbe_hsio_base = 0xe900 << 16 | (0x2e - 2 * gbe_port) << 8;
+ hsio_update(gbe_hsio_base + 0x08, ~0xf0000100, 0xe0000100);
+}
diff --git a/src/southbridge/intel/lynxpoint/hsio/lpt_lp_bx.c b/src/southbridge/intel/lynxpoint/hsio/lpt_lp_bx.c
new file mode 100644
index 0000000000..24679e791a
--- /dev/null
+++ b/src/southbridge/intel/lynxpoint/hsio/lpt_lp_bx.c
@@ -0,0 +1,180 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <device/pci_ops.h>
+#include <southbridge/intel/lynxpoint/iobp.h>
+#include <southbridge/intel/lynxpoint/hsio/hsio.h>
+#include <types.h>
+
+const struct hsio_table_row hsio_sata_shared_lpt_lp_bx[] = {
+ { 0xea008008, ~0xff000000, 0x1c000000 },
+ { 0xea002008, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002208, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002408, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002608, ~0xfffc6108, 0xea6c6108 },
+ { 0xea002038, ~0x0000000f, 0x0000000d },
+ { 0xea002238, ~0x0000000f, 0x0000000d },
+ { 0xea002438, ~0x0000000f, 0x0000000d },
+ { 0xea002638, ~0x0000000f, 0x0000000d },
+ { 0xea00202c, ~0x00020f00, 0x00020100 },
+ { 0xea00222c, ~0x00020f00, 0x00020100 },
+ { 0xea00242c, ~0x00020f00, 0x00020100 },
+ { 0xea00262c, ~0x00020f00, 0x00020100 },
+ { 0xea002040, ~0x1f000000, 0x01000000 },
+ { 0xea002240, ~0x1f000000, 0x01000000 },
+ { 0xea002440, ~0x1f000000, 0x01000000 },
+ { 0xea002640, ~0x1f000000, 0x01000000 },
+ { 0xea002010, ~0xffff0000, 0x55510000 },
+ { 0xea002210, ~0xffff0000, 0x55510000 },
+ { 0xea002410, ~0xffff0000, 0x55510000 },
+ { 0xea002610, ~0xffff0000, 0x55510000 },
+ { 0xea002140, ~0x00ffffff, 0x00140718 },
+ { 0xea002340, ~0x00ffffff, 0x00140718 },
+ { 0xea002540, ~0x00ffffff, 0x00140718 },
+ { 0xea002740, ~0x00ffffff, 0x00140718 },
+ { 0xea002144, ~0x00ffffff, 0x00140998 },
+ { 0xea002344, ~0x00ffffff, 0x00140998 },
+ { 0xea002544, ~0x00ffffff, 0x00140998 },
+ { 0xea002744, ~0x00ffffff, 0x00140998 },
+ { 0xea002148, ~0x00ffffff, 0x00140998 },
+ { 0xea002348, ~0x00ffffff, 0x00140998 },
+ { 0xea002548, ~0x00ffffff, 0x00140998 },
+ { 0xea002748, ~0x00ffffff, 0x00140998 },
+ { 0xea00217c, ~0x03000000, 0x03000000 },
+ { 0xea00237c, ~0x03000000, 0x03000000 },
+ { 0xea00257c, ~0x03000000, 0x03000000 },
+ { 0xea00277c, ~0x03000000, 0x03000000 },
+ { 0xea00208c, ~0x00ff0000, 0x00800000 },
+ { 0xea00228c, ~0x00ff0000, 0x00800000 },
+ { 0xea00248c, ~0x00ff0000, 0x00800000 },
+ { 0xea00268c, ~0x00ff0000, 0x00800000 },
+ { 0xea0020a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0022a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0024a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0026a4, ~0x0030ff00, 0x00308300 },
+ { 0xea0020ac, ~0x00000030, 0x00000020 },
+ { 0xea0022ac, ~0x00000030, 0x00000020 },
+ { 0xea0024ac, ~0x00000030, 0x00000020 },
+ { 0xea0026ac, ~0x00000030, 0x00000020 },
+ { 0xea002018, ~0xffff0300, 0x38250100 },
+ { 0xea002218, ~0xffff0300, 0x38250100 },
+ { 0xea002418, ~0xffff0300, 0x38250100 },
+ { 0xea002618, ~0xffff0300, 0x38250100 },
+ { 0xea002000, ~0xcf030000, 0xcf030000 },
+ { 0xea002200, ~0xcf030000, 0xcf030000 },
+ { 0xea002400, ~0xcf030000, 0xcf030000 },
+ { 0xea002600, ~0xcf030000, 0xcf030000 },
+ { 0xea002028, ~0xff1f0000, 0x580e0000 },
+ { 0xea002228, ~0xff1f0000, 0x580e0000 },
+ { 0xea002428, ~0xff1f0000, 0x580e0000 },
+ { 0xea002628, ~0xff1f0000, 0x580e0000 },
+ { 0xea00201c, ~0x00007c00, 0x00002400 },
+ { 0xea00221c, ~0x00007c00, 0x00002400 },
+ { 0xea00241c, ~0x00007c00, 0x00002400 },
+ { 0xea00261c, ~0x00007c00, 0x00002400 },
+ { 0xea002178, ~0x00001f00, 0x00001800 },
+ { 0xea002378, ~0x00001f00, 0x00001800 },
+ { 0xea002578, ~0x00001f00, 0x00001800 },
+ { 0xea002778, ~0x00001f00, 0x00001800 },
+ { 0xea00210c, ~0x0038000f, 0x00000005 },
+ { 0xea00230c, ~0x0038000f, 0x00000005 },
+ { 0xea00250c, ~0x0038000f, 0x00000005 },
+ { 0xea00270c, ~0x0038000f, 0x00000005 },
+};
+
+const struct hsio_table_row hsio_xhci_shared_lpt_lp_bx[] = {
+ { 0xe90025cc, ~0x00001407, 0x00001407 },
+ { 0xe90027cc, ~0x00001407, 0x00001407 },
+ { 0xe9002568, ~0x01000f3c, 0x00000a28 },
+ { 0xe9002768, ~0x01000f3c, 0x00000a28 },
+ { 0xe900242c, ~0x00000700, 0x00000100 },
+ { 0xe900262c, ~0x00000700, 0x00000100 },
+ { 0xe900256c, ~0x000000ff, 0x0000003f },
+ { 0xe900276c, ~0x000000ff, 0x0000003f },
+ { 0xe900254c, ~0x00ffff00, 0x00120500 },
+ { 0xe900274c, ~0x00ffff00, 0x00120500 },
+ { 0xe9002564, ~0x0000f000, 0x00005000 },
+ { 0xe9002764, ~0x0000f000, 0x00005000 },
+ { 0xe9002570, ~0x00000018, 0x00000000 },
+ { 0xe9002770, ~0x00000018, 0x00000000 },
+ { 0xe9002514, ~0x38000700, 0x00000100 },
+ { 0xe9002714, ~0x38000700, 0x00000100 },
+ { 0xe9002438, ~0x0000000f, 0x0000000b },
+ { 0xe9002638, ~0x0000000f, 0x0000000b },
+ { 0xe9002414, ~0x0000fe00, 0x00006600 },
+ { 0xe9002614, ~0x0000fe00, 0x00006600 },
+ { 0xe9002540, ~0x00800000, 0x00000000 },
+ { 0xe9002740, ~0x00800000, 0x00000000 },
+};
+
+const struct hsio_table_row hsio_xhci_lpt_lp_bx[] = {
+ { 0xe90021cc, ~0x00001407, 0x00001407 },
+ { 0xe90023cc, ~0x00001407, 0x00001407 },
+ { 0xe9002168, ~0x01000f3c, 0x00000a28 },
+ { 0xe9002368, ~0x01000f3c, 0x00000a28 },
+ { 0xe900216c, ~0x000000ff, 0x0000003f },
+ { 0xe900236c, ~0x000000ff, 0x0000003f },
+ { 0xe900214c, ~0x00ffff00, 0x00120500 },
+ { 0xe900234c, ~0x00ffff00, 0x00120500 },
+ { 0xe9002164, ~0x0000f000, 0x00005000 },
+ { 0xe9002364, ~0x0000f000, 0x00005000 },
+ { 0xe9002170, ~0x00000018, 0x00000000 },
+ { 0xe9002370, ~0x00000018, 0x00000000 },
+ { 0xe9002114, ~0x38000700, 0x00000100 },
+ { 0xe9002314, ~0x38000700, 0x00000100 },
+ { 0xe9002038, ~0x0000000f, 0x0000000b },
+ { 0xe9002238, ~0x0000000f, 0x0000000b },
+ { 0xe9002014, ~0x0000fe00, 0x00006600 },
+ { 0xe9002214, ~0x0000fe00, 0x00006600 },
+ { 0xe9002140, ~0x00800000, 0x00000000 },
+ { 0xe9002340, ~0x00800000, 0x00000000 },
+};
+
+void program_hsio_sata_lpt_lp_bx(const bool is_mobile)
+{
+ const struct hsio_table_row *pch_hsio_table;
+ size_t len;
+
+ pch_hsio_table = hsio_sata_shared_lpt_lp_bx;
+ len = ARRAY_SIZE(hsio_sata_shared_lpt_lp_bx);
+ for (size_t i = 0; i < len; i++)
+ hsio_sata_shared_update_row(pch_hsio_table[i]);
+
+ const uint32_t hsio_sata_value = is_mobile ? 0x00004c5a : 0x00003e67;
+
+ hsio_sata_shared_update(0xea002090, ~0x0000ffff, hsio_sata_value);
+ hsio_sata_shared_update(0xea002290, ~0x0000ffff, hsio_sata_value);
+ hsio_sata_shared_update(0xea002490, ~0x0000ffff, hsio_sata_value);
+ hsio_sata_shared_update(0xea002690, ~0x0000ffff, hsio_sata_value);
+}
+
+void program_hsio_xhci_lpt_lp_bx(void)
+{
+ const struct hsio_table_row *pch_hsio_table;
+ size_t len;
+
+ pch_hsio_table = hsio_xhci_lpt_lp_bx;
+ len = ARRAY_SIZE(hsio_xhci_lpt_lp_bx);
+
+ for (size_t i = 0; i < len; i++)
+ hsio_update_row(pch_hsio_table[i]);
+
+ pch_hsio_table = hsio_xhci_shared_lpt_lp_bx;
+ len = ARRAY_SIZE(hsio_xhci_shared_lpt_lp_bx);
+
+ for (size_t i = 0; i < len; i++)
+ hsio_xhci_shared_update_row(pch_hsio_table[i]);
+}
+
+void program_hsio_igbe_lpt_lp_bx(void)
+{
+ const uint32_t strpfusecfg1 = pci_read_config32(PCI_DEV(0, 0x1c, 0), 0xfc);
+ if (!(strpfusecfg1 & (1 << 19)))
+ return;
+
+ const uint8_t gbe_port = (strpfusecfg1 >> 16) & 0x7;
+ if (gbe_port > 5)
+ return;
+
+ const uint32_t gbe_hsio_base = 0xe900 << 16 | (0x08 + 2 * gbe_port) << 8;
+ hsio_update(gbe_hsio_base + 0x08, ~0xf0000100, 0xe0000100);
+}
diff --git a/src/southbridge/intel/lynxpoint/pch.h b/src/southbridge/intel/lynxpoint/pch.h
index 38a9349220..74b4d50017 100644
--- a/src/southbridge/intel/lynxpoint/pch.h
+++ b/src/southbridge/intel/lynxpoint/pch.h
@@ -117,6 +117,7 @@ void pch_dmi_setup_physical_layer(void);
void pch_dmi_tc_vc_mapping(u32 vc0, u32 vc1, u32 vcp, u32 vcm);
void early_usb_init(void);
void early_thermal_init(void);
+void early_pch_init_native(int s3resume);
void usb_ehci_sleep_prepare(pci_devfn_t dev, u8 slp_typ);
void usb_ehci_disable(pci_devfn_t dev);
@@ -271,6 +272,10 @@ void mainboard_config_rcba(void);
#define IDE_DECODE_ENABLE (1 << 15)
#define IDE_TIM_SEC 0x42 /* IDE timings, secondary */
+#define SATA_MAP 0x90
+#define SATA_PCS 0x92
+#define SATA_SCLKG 0x94
+
#define SATA_SIRI 0xa0 /* SATA Indexed Register Index */
#define SATA_SIRD 0xa4 /* SATA Indexed Register Data */
#define SATA_SP 0xd0 /* Scratchpad */
@@ -580,6 +585,7 @@ void mainboard_config_rcba(void);
#define D19IR 0x3168 /* 16bit */
#define ACPIIRQEN 0x31e0 /* 32bit */
#define OIC 0x31fe /* 16bit */
+#define PRSTS 0x3310 /* 32bit */
#define PMSYNC_CONFIG 0x33c4 /* 32bit */
#define PMSYNC_CONFIG2 0x33cc /* 32bit */
#define SOFT_RESET_CTRL 0x38f4
--
2.39.2
@@ -0,0 +1,407 @@
From 46cdec8cbce15ca11ad9a49a3ee415a78f781997 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sat, 7 May 2022 00:26:10 +0200
Subject: [PATCH 08/26] nb/intel/haswell: Add native raminit scaffolding
Implement some scaffolding for Haswell native raminit, like bootmode
selection, handling of MRC cache and CPU detection.
Change-Id: Icd96649fa045ea7f0f32ae9bfe1e60498d93975b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../intel/haswell/native_raminit/Makefile.inc | 1 +
.../haswell/native_raminit/raminit_main.c | 104 ++++++++++
.../haswell/native_raminit/raminit_native.c | 189 +++++++++++++++++-
.../haswell/native_raminit/raminit_native.h | 34 ++++
4 files changed, 322 insertions(+), 6 deletions(-)
create mode 100644 src/northbridge/intel/haswell/native_raminit/raminit_main.c
create mode 100644 src/northbridge/intel/haswell/native_raminit/raminit_native.h
diff --git a/src/northbridge/intel/haswell/native_raminit/Makefile.inc b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
index 8cfb4fb33e..90af951c5a 100644
--- a/src/northbridge/intel/haswell/native_raminit/Makefile.inc
+++ b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
@@ -1,3 +1,4 @@
## SPDX-License-Identifier: GPL-2.0-or-later
+romstage-y += raminit_main.c
romstage-y += raminit_native.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_main.c b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
new file mode 100644
index 0000000000..9b42c25b40
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
@@ -0,0 +1,104 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <assert.h>
+#include <console/console.h>
+#include <cpu/intel/haswell/haswell.h>
+#include <delay.h>
+#include <device/pci_ops.h>
+#include <northbridge/intel/haswell/chip.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/raminit.h>
+#include <string.h>
+#include <types.h>
+
+#include "raminit_native.h"
+
+struct task_entry {
+ enum raminit_status (*task)(struct sysinfo *);
+ bool is_enabled;
+ const char *name;
+};
+
+static const struct task_entry cold_boot[] = {
+};
+
+/* Return a generic stepping value to make stepping checks simpler */
+static enum generic_stepping get_stepping(const uint32_t cpuid)
+{
+ switch (cpuid) {
+ case CPUID_HASWELL_A0:
+ die("Haswell stepping A0 is not supported\n");
+ case CPUID_HASWELL_B0:
+ case CPUID_HASWELL_ULT_B0:
+ case CPUID_CRYSTALWELL_B0:
+ return STEPPING_B0;
+ case CPUID_HASWELL_C0:
+ case CPUID_HASWELL_ULT_C0:
+ case CPUID_CRYSTALWELL_C0:
+ return STEPPING_C0;
+ default:
+ /** TODO: Add Broadwell support someday **/
+ die("Unknown CPUID 0x%x\n", cpuid);
+ }
+}
+
+static void initialize_ctrl(struct sysinfo *ctrl)
+{
+ const struct northbridge_intel_haswell_config *cfg = config_of_soc();
+ const enum raminit_boot_mode bootmode = ctrl->bootmode;
+
+ memset(ctrl, 0, sizeof(*ctrl));
+
+ ctrl->cpu = cpu_get_cpuid();
+ ctrl->stepping = get_stepping(ctrl->cpu);
+ ctrl->dq_pins_interleaved = cfg->dq_pins_interleaved;
+ ctrl->bootmode = bootmode;
+}
+
+static enum raminit_status try_raminit(struct sysinfo *ctrl)
+{
+ const struct task_entry *const schedule = cold_boot;
+ const size_t length = ARRAY_SIZE(cold_boot);
+
+ enum raminit_status status = RAMINIT_STATUS_UNSPECIFIED_ERROR;
+
+ for (size_t i = 0; i < length; i++) {
+ const struct task_entry *const entry = &schedule[i];
+ assert(entry);
+ assert(entry->name);
+ if (!entry->is_enabled)
+ continue;
+
+ assert(entry->task);
+ printk(RAM_DEBUG, "\nExecuting raminit task %s\n", entry->name);
+ status = entry->task(ctrl);
+ printk(RAM_DEBUG, "\n");
+ if (status) {
+ printk(BIOS_ERR, "raminit failed on step %s\n", entry->name);
+ break;
+ }
+ }
+
+ return status;
+}
+
+void raminit_main(const enum raminit_boot_mode bootmode)
+{
+ /*
+ * The mighty_ctrl struct. Will happily nuke the pre-RAM stack
+ * if left unattended. Make it static and pass pointers to it.
+ */
+ static struct sysinfo mighty_ctrl;
+
+ mighty_ctrl.bootmode = bootmode;
+ initialize_ctrl(&mighty_ctrl);
+
+ /** TODO: Try more than once **/
+ enum raminit_status status = try_raminit(&mighty_ctrl);
+
+ if (status != RAMINIT_STATUS_SUCCESS)
+ die("Memory initialization was met with utmost failure and misery\n");
+
+ /** TODO: Implement the required magic **/
+ die("NATIVE RAMINIT: More Magic (tm) required.\n");
+}
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index b6efb6b40d..0869db3902 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -1,13 +1,45 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <arch/cpu.h>
+#include <assert.h>
+#include <cbmem.h>
+#include <cf9_reset.h>
#include <console/console.h>
+#include <cpu/x86/msr.h>
#include <delay.h>
+#include <device/pci_ops.h>
+#include <mrc_cache.h>
#include <northbridge/intel/haswell/haswell.h>
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/me.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <types.h>
+#include "raminit_native.h"
+
+static void wait_txt_clear(void)
+{
+ const struct cpuid_result cpuid = cpuid_ext(1, 0);
+
+ /* Check if TXT is supported */
+ if (!(cpuid.ecx & BIT(6)))
+ return;
+
+ /* Some TXT public bit */
+ if (!(read32p(0xfed30010) & 1))
+ return;
+
+ /* Wait for TXT clear */
+ do {} while (!(read8p(0xfed40000) & (1 << 7)));
+}
+
+static enum raminit_boot_mode get_boot_mode(void)
+{
+ const uint16_t pmcon_2 = pci_read_config16(PCH_LPC_DEV, GEN_PMCON_2);
+ const uint16_t bitmask = GEN_PMCON_2_DISB | GEN_PMCON_2_MEM_SR;
+ return (pmcon_2 & bitmask) == bitmask ? BOOTMODE_WARM : BOOTMODE_COLD;
+}
+
static bool early_init_native(int s3resume)
{
printk(BIOS_DEBUG, "Starting native platform initialisation\n");
@@ -24,6 +56,120 @@ static bool early_init_native(int s3resume)
return cpu_replaced;
}
+#define MRC_CACHE_VERSION 1
+
+struct mrc_data {
+ const void *buffer;
+ size_t buffer_len;
+};
+
+static void save_mrc_data(struct mrc_data *md)
+{
+ mrc_cache_stash_data(MRC_TRAINING_DATA, MRC_CACHE_VERSION, md->buffer, md->buffer_len);
+}
+
+static struct mrc_data prepare_mrc_cache(void)
+{
+ struct mrc_data md = {0};
+ md.buffer = mrc_cache_current_mmap_leak(MRC_TRAINING_DATA,
+ MRC_CACHE_VERSION,
+ &md.buffer_len);
+ return md;
+}
+
+static const char *const bm_names[] = {
+ "BOOTMODE_COLD",
+ "BOOTMODE_WARM",
+ "BOOTMODE_S3",
+ "BOOTMODE_FAST",
+};
+
+static void clear_disb(void)
+{
+ pci_and_config16(PCH_LPC_DEV, GEN_PMCON_2, ~GEN_PMCON_2_DISB);
+}
+
+static void raminit_reset(void)
+{
+ clear_disb();
+ system_reset();
+}
+
+static enum raminit_boot_mode do_actual_raminit(
+ struct mrc_data *md,
+ const bool s3resume,
+ const bool cpu_replaced,
+ const enum raminit_boot_mode orig_bootmode)
+{
+ enum raminit_boot_mode bootmode = orig_bootmode;
+
+ bool save_data_valid = md->buffer && md->buffer_len == USHRT_MAX; /** TODO: sizeof() **/
+
+ if (s3resume) {
+ if (bootmode == BOOTMODE_COLD) {
+ printk(BIOS_EMERG, "Memory may not be in self-refresh for S3 resume\n");
+ printk(BIOS_EMERG, "S3 resume and cold boot are mutually exclusive\n");
+ raminit_reset();
+ }
+ /* Only a true mad hatter would replace a CPU in S3 */
+ if (cpu_replaced) {
+ printk(BIOS_EMERG, "Oh no, CPU was replaced during S3\n");
+ /*
+ * No reason to continue, memory consistency is most likely lost
+ * and ME will probably request a reset through DID response too.
+ */
+ /** TODO: Figure out why past self commented this out **/
+ //raminit_reset();
+ }
+ bootmode = BOOTMODE_S3;
+ if (!save_data_valid) {
+ printk(BIOS_EMERG, "No training data, S3 resume is impossible\n");
+ /* Failed S3 resume, reset to come up cleanly */
+ raminit_reset();
+ }
+ }
+ if (!s3resume && cpu_replaced) {
+ printk(BIOS_NOTICE, "CPU was replaced, forcing a cold boot\n");
+ /*
+ * Looks like the ME will get angry if raminit takes too long.
+ * It will report that the CPU has been replaced on next boot.
+ * Try to continue anyway. This should not happen in most cases.
+ */
+ /** TODO: Figure out why past self commented this out **/
+ //save_data_valid = false;
+ }
+ if (bootmode == BOOTMODE_COLD) {
+ /* If possible, promote to a fast boot */
+ if (save_data_valid)
+ bootmode = BOOTMODE_FAST;
+
+ clear_disb();
+ } else if (bootmode == BOOTMODE_WARM) {
+ /* If a warm reset happened before raminit is done, force a cold boot */
+ if (mchbar_read32(SSKPD) == 0 && mchbar_read32(SSKPD + 4) == 0) {
+ printk(BIOS_NOTICE, "Warm reset occurred early in cold boot\n");
+ save_data_valid = false;
+ }
+ if (!save_data_valid)
+ bootmode = BOOTMODE_COLD;
+ }
+ assert(save_data_valid != (bootmode == BOOTMODE_COLD));
+ if (save_data_valid) {
+ printk(BIOS_INFO, "Using cached memory parameters\n");
+ die("RAMINIT: Fast boot is not yet implemented\n");
+ }
+ printk(RAM_DEBUG, "Initial bootmode: %s\n", bm_names[orig_bootmode]);
+ printk(RAM_DEBUG, "Current bootmode: %s\n", bm_names[bootmode]);
+
+ /*
+ * And now, the actual memory initialization thing.
+ */
+ printk(RAM_DEBUG, "\nStarting native raminit\n");
+ raminit_main(bootmode);
+
+ return bootmode;
+}
+
void perform_raminit(const int s3resume)
{
/*
@@ -32,17 +178,48 @@ void perform_raminit(const int s3resume)
*/
const bool cpu_replaced = early_init_native(s3resume);
- (void)cpu_replaced;
+ wait_txt_clear();
+ wrmsr(0x2e6, (msr_t) {.lo = 0, .hi = 0});
+
+ const enum raminit_boot_mode orig_bootmode = get_boot_mode();
+
+ struct mrc_data md = prepare_mrc_cache();
+
+ const enum raminit_boot_mode bootmode =
+ do_actual_raminit(&md, s3resume, cpu_replaced, orig_bootmode);
+
+ /** TODO: report_memory_config **/
- /** TODO: Move after raminit */
if (intel_early_me_uma_size() > 0) {
- /** TODO: Update status once raminit is implemented **/
- uint8_t me_status = ME_INIT_STATUS_ERROR;
+ /*
+ * The 'other' success value is to report loss of memory
+ * consistency to ME if warm boot was downgraded to cold.
+ */
+ uint8_t me_status;
+ if (BOOTMODE_WARM == orig_bootmode && BOOTMODE_COLD == bootmode)
+ me_status = ME_INIT_STATUS_SUCCESS_OTHER;
+ else
+ me_status = ME_INIT_STATUS_SUCCESS;
+
+ /** TODO: Remove this once raminit is implemented **/
+ me_status = ME_INIT_STATUS_ERROR;
intel_early_me_init_done(me_status);
}
+ post_code(0x3b);
+
intel_early_me_status();
- /** TODO: Implement the required magic **/
- die("NATIVE RAMINIT: More Magic (tm) required.\n");
+ const bool cbmem_was_initted = !cbmem_recovery(s3resume);
+ if (s3resume && !cbmem_was_initted) {
+ /* Failed S3 resume, reset to come up cleanly */
+ printk(BIOS_CRIT, "Failed to recover CBMEM in S3 resume.\n");
+ system_reset();
+ }
+
+ /* Save training data on non-S3 resumes */
+ if (!s3resume)
+ save_mrc_data(&md);
+
+ /** TODO: setup_sdram_meminfo **/
}
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.h b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
new file mode 100644
index 0000000000..885f0184f4
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef HASWELL_RAMINIT_NATIVE_H
+#define HASWELL_RAMINIT_NATIVE_H
+
+enum raminit_boot_mode {
+ BOOTMODE_COLD,
+ BOOTMODE_WARM,
+ BOOTMODE_S3,
+ BOOTMODE_FAST,
+};
+
+enum raminit_status {
+ RAMINIT_STATUS_SUCCESS = 0,
+ RAMINIT_STATUS_UNSPECIFIED_ERROR, /** TODO: Deprecated in favor of specific values **/
+};
+
+enum generic_stepping {
+ STEPPING_A0 = 1,
+ STEPPING_B0 = 2,
+ STEPPING_C0 = 3,
+};
+
+struct sysinfo {
+ enum raminit_boot_mode bootmode;
+ enum generic_stepping stepping;
+ uint32_t cpu; /* CPUID value */
+
+ bool dq_pins_interleaved;
+};
+
+void raminit_main(enum raminit_boot_mode bootmode);
+
+#endif
--
2.39.2
@@ -0,0 +1,57 @@
From 731216aef3129ae27ad5adc7266cb8a58090c9fc Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sun, 26 Jun 2022 10:32:12 +0200
Subject: [PATCH 09/26] nb/intel/haswell/nri: Only do CPU replacement check on
cold boots
CPU replacement check should only be done on cold boots.
Change-Id: I98efa105f4df755b23febe12dd7b356787847852
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../intel/haswell/native_raminit/raminit_native.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.c b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
index 0869db3902..bd9bc8e692 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.c
@@ -40,15 +40,14 @@ static enum raminit_boot_mode get_boot_mode(void)
return (pmcon_2 & bitmask) == bitmask ? BOOTMODE_WARM : BOOTMODE_COLD;
}
-static bool early_init_native(int s3resume)
+static bool early_init_native(enum raminit_boot_mode bootmode)
{
printk(BIOS_DEBUG, "Starting native platform initialisation\n");
intel_early_me_init();
- /** TODO: CPU replacement check must be skipped in warm boots and S3 resumes **/
- const bool cpu_replaced = !s3resume && intel_early_me_cpu_replacement_check();
+ bool cpu_replaced = bootmode == BOOTMODE_COLD && intel_early_me_cpu_replacement_check();
- early_pch_init_native(s3resume);
+ early_pch_init_native(bootmode == BOOTMODE_S3);
if (!CONFIG(INTEL_LYNXPOINT_LP))
dmi_early_init();
@@ -176,13 +175,13 @@ void perform_raminit(const int s3resume)
* See, this function's name is a lie. There are more things to
* do that memory initialisation, but they are relatively easy.
*/
- const bool cpu_replaced = early_init_native(s3resume);
+ const enum raminit_boot_mode orig_bootmode = get_boot_mode();
+
+ const bool cpu_replaced = early_init_native(s3resume ? BOOTMODE_S3 : orig_bootmode);
wait_txt_clear();
wrmsr(0x2e6, (msr_t) {.lo = 0, .hi = 0});
- const enum raminit_boot_mode orig_bootmode = get_boot_mode();
-
struct mrc_data md = prepare_mrc_cache();
const enum raminit_boot_mode bootmode =
--
2.39.2
@@ -0,0 +1,344 @@
From 354969af4361bcc7dc240ef5871d169728f7f0cc Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sat, 7 May 2022 13:48:53 +0200
Subject: [PATCH 10/26] haswell NRI: Collect SPD info
Collect SPD data from DIMMs and memory-down, and find the common
supported settings.
Change-Id: I4e6a1408a638a463ecae37a447cfed1d6556e44a
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../intel/haswell/native_raminit/Makefile.inc | 1 +
.../haswell/native_raminit/raminit_main.c | 1 +
.../haswell/native_raminit/raminit_native.h | 57 +++++
.../haswell/native_raminit/spd_bitmunching.c | 206 ++++++++++++++++++
4 files changed, 265 insertions(+)
create mode 100644 src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
diff --git a/src/northbridge/intel/haswell/native_raminit/Makefile.inc b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
index 90af951c5a..ebf7abc6ec 100644
--- a/src/northbridge/intel/haswell/native_raminit/Makefile.inc
+++ b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
@@ -2,3 +2,4 @@
romstage-y += raminit_main.c
romstage-y += raminit_native.c
+romstage-y += spd_bitmunching.c
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_main.c b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
index 9b42c25b40..2d2cfa48bb 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_main.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
@@ -20,6 +20,7 @@ struct task_entry {
};
static const struct task_entry cold_boot[] = {
+ { collect_spd_info, true, "PROCSPD", },
};
/* Return a generic stepping value to make stepping checks simpler */
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.h b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
index 885f0184f4..1a0793947e 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.h
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
@@ -3,6 +3,15 @@
#ifndef HASWELL_RAMINIT_NATIVE_H
#define HASWELL_RAMINIT_NATIVE_H
+#include <device/dram/ddr3.h>
+#include <northbridge/intel/haswell/haswell.h>
+
+#define SPD_LEN 256
+
+/* 8 data lanes + 1 ECC lane */
+#define NUM_LANES 9
+#define NUM_LANES_NO_ECC 8
+
enum raminit_boot_mode {
BOOTMODE_COLD,
BOOTMODE_WARM,
@@ -12,6 +21,8 @@ enum raminit_boot_mode {
enum raminit_status {
RAMINIT_STATUS_SUCCESS = 0,
+ RAMINIT_STATUS_NO_MEMORY_INSTALLED,
+ RAMINIT_STATUS_UNSUPPORTED_MEMORY,
RAMINIT_STATUS_UNSPECIFIED_ERROR, /** TODO: Deprecated in favor of specific values **/
};
@@ -21,14 +32,60 @@ enum generic_stepping {
STEPPING_C0 = 3,
};
+struct raminit_dimm_info {
+ spd_raw_data raw_spd;
+ struct dimm_attr_ddr3_st data;
+ uint8_t spd_addr;
+ bool valid;
+};
+
struct sysinfo {
enum raminit_boot_mode bootmode;
enum generic_stepping stepping;
uint32_t cpu; /* CPUID value */
bool dq_pins_interleaved;
+
+ /** TODO: ECC support untested **/
+ bool is_ecc;
+
+ /**
+ * FIXME: LPDDR support is incomplete. The largest chunks are missing,
+ * but some LPDDR-specific variations in algorithms have been handled.
+ * LPDDR-specific functions have stubs which will halt upon execution.
+ */
+ bool lpddr;
+
+ struct raminit_dimm_info dimms[NUM_CHANNELS][NUM_SLOTS];
+ union dimm_flags_ddr3_st flags;
+ uint16_t cas_supported;
+
+ /* Except for tCK, everything is eventually stored in DCLKs */
+ uint32_t tCK;
+ uint32_t tAA; /* Also known as tCL */
+ uint32_t tWR;
+ uint32_t tRCD;
+ uint32_t tRRD;
+ uint32_t tRP;
+ uint32_t tRAS;
+ uint32_t tRC;
+ uint32_t tRFC;
+ uint32_t tWTR;
+ uint32_t tRTP;
+ uint32_t tFAW;
+ uint32_t tCWL;
+ uint32_t tCMD;
+
+ uint8_t lanes; /* 8 or 9 */
+ uint8_t chanmap;
+ uint8_t dpc[NUM_CHANNELS]; /* DIMMs per channel */
+ uint8_t rankmap[NUM_CHANNELS];
+ uint8_t rank_mirrored[NUM_CHANNELS];
+ uint32_t channel_size_mb[NUM_CHANNELS];
};
void raminit_main(enum raminit_boot_mode bootmode);
+enum raminit_status collect_spd_info(struct sysinfo *ctrl);
+
#endif
diff --git a/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c b/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
new file mode 100644
index 0000000000..dbe02c72d0
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
@@ -0,0 +1,206 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <cbfs.h>
+#include <commonlib/clamp.h>
+#include <console/console.h>
+#include <device/dram/ddr3.h>
+#include <device/smbus_host.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/raminit.h>
+#include <string.h>
+#include <types.h>
+
+#include "raminit_native.h"
+
+static const uint8_t *get_spd_data_from_cbfs(struct spd_info *spdi)
+{
+ if (!CONFIG(HAVE_SPD_IN_CBFS))
+ return NULL;
+
+ printk(RAM_DEBUG, "SPD index %u\n", spdi->spd_index);
+
+ size_t spd_file_len;
+ uint8_t *spd_file = cbfs_map("spd.bin", &spd_file_len);
+
+ if (!spd_file) {
+ printk(BIOS_ERR, "SPD data not found in CBFS\n");
+ return NULL;
+ }
+
+ if (spd_file_len < ((spdi->spd_index + 1) * SPD_LEN)) {
+ printk(BIOS_ERR, "SPD index override to 0 - old hardware?\n");
+ spdi->spd_index = 0;
+ }
+
+ if (spd_file_len < SPD_LEN) {
+ printk(BIOS_ERR, "Invalid SPD data in CBFS\n");
+ return NULL;
+ }
+
+ return spd_file + (spdi->spd_index * SPD_LEN);
+}
+
+static void get_spd_for_dimm(struct raminit_dimm_info *const dimm, const uint8_t *cbfs_spd)
+{
+ if (dimm->spd_addr == SPD_MEMORY_DOWN) {
+ if (cbfs_spd) {
+ memcpy(dimm->raw_spd, cbfs_spd, SPD_LEN);
+ dimm->valid = true;
+ printk(RAM_DEBUG, "memory-down\n");
+ return;
+ } else {
+ printk(RAM_DEBUG, "memory-down but no CBFS SPD data, ignoring\n");
+ return;
+ }
+ }
+ printk(RAM_DEBUG, "slotted ");
+ const uint8_t spd_mem_type = smbus_read_byte(dimm->spd_addr, SPD_MEMORY_TYPE);
+ if (spd_mem_type != SPD_MEMORY_TYPE_SDRAM_DDR3) {
+ printk(RAM_DEBUG, "and not DDR3, ignoring\n");
+ return;
+ }
+ printk(RAM_DEBUG, "and DDR3\n");
+ if (i2c_eeprom_read(dimm->spd_addr, 0, SPD_LEN, dimm->raw_spd) != SPD_LEN) {
+ printk(BIOS_WARNING, "I2C block read failed, trying SMBus byte reads\n");
+ for (uint32_t i = 0; i < SPD_LEN; i++)
+ dimm->raw_spd[i] = smbus_read_byte(dimm->spd_addr, i);
+ }
+ dimm->valid = true;
+}
+
+static void get_spd_data(struct sysinfo *ctrl)
+{
+ struct spd_info spdi = {0};
+ mb_get_spd_map(&spdi);
+ const uint8_t *cbfs_spd = get_spd_data_from_cbfs(&spdi);
+ for (uint8_t channel = 0; channel < NUM_CHANNELS; channel++) {
+ for (uint8_t slot = 0; slot < NUM_SLOTS; slot++) {
+ struct raminit_dimm_info *const dimm = &ctrl->dimms[channel][slot];
+ dimm->spd_addr = spdi.addresses[channel + channel + slot];
+ if (!dimm->spd_addr)
+ continue;
+
+ printk(RAM_DEBUG, "CH%uS%u is ", channel, slot);
+ get_spd_for_dimm(dimm, cbfs_spd);
+ }
+ }
+}
+
+static void decode_spd(struct raminit_dimm_info *const dimm)
+{
+ /** TODO: Hook up somewhere, and handle lack of XMP data **/
+ const bool enable_xmp = false;
+ memset(&dimm->data, 0, sizeof(dimm->data));
+ if (enable_xmp)
+ spd_xmp_decode_ddr3(&dimm->data, dimm->raw_spd, DDR3_XMP_PROFILE_1);
+ else
+ spd_decode_ddr3(&dimm->data, dimm->raw_spd);
+
+ if (CONFIG(DEBUG_RAM_SETUP))
+ dram_print_spd_ddr3(&dimm->data);
+}
+
+static enum raminit_status find_common_spd_parameters(struct sysinfo *ctrl)
+{
+ ctrl->cas_supported = 0xffff;
+ ctrl->flags.raw = 0xffffffff;
+
+ ctrl->tCK = 0;
+ ctrl->tAA = 0;
+ ctrl->tWR = 0;
+ ctrl->tRCD = 0;
+ ctrl->tRRD = 0;
+ ctrl->tRP = 0;
+ ctrl->tRAS = 0;
+ ctrl->tRC = 0;
+ ctrl->tRFC = 0;
+ ctrl->tWTR = 0;
+ ctrl->tRTP = 0;
+ ctrl->tFAW = 0;
+ ctrl->tCWL = 0;
+ ctrl->tCMD = 0;
+ ctrl->chanmap = 0;
+
+ bool yes_ecc = false;
+ bool not_ecc = false;
+
+ for (uint8_t channel = 0; channel < NUM_CHANNELS; channel++) {
+ ctrl->dpc[channel] = 0;
+ ctrl->rankmap[channel] = 0;
+ ctrl->rank_mirrored[channel] = 0;
+ ctrl->channel_size_mb[channel] = 0;
+ for (uint8_t slot = 0; slot < NUM_SLOTS; slot++) {
+ struct raminit_dimm_info *const dimm = &ctrl->dimms[channel][slot];
+ if (!dimm->valid)
+ continue;
+
+ printk(RAM_DEBUG, "\nCH%uS%u SPD:\n", channel, slot);
+ decode_spd(dimm);
+
+ ctrl->chanmap |= BIT(channel);
+ ctrl->dpc[channel]++;
+ ctrl->channel_size_mb[channel] += dimm->data.size_mb;
+
+ /* The first rank of a populated slot is always present */
+ const uint8_t rank = slot + slot;
+ assert(dimm->data.ranks);
+ ctrl->rankmap[channel] |= (BIT(dimm->data.ranks) - 1) << rank;
+
+ if (dimm->data.flags.pins_mirrored)
+ ctrl->rank_mirrored[channel] |= BIT(rank + 1);
+
+ /* Find common settings */
+ ctrl->cas_supported &= dimm->data.cas_supported;
+ ctrl->flags.raw &= dimm->data.flags.raw;
+ ctrl->tCK = MAX(ctrl->tCK, dimm->data.tCK);
+ ctrl->tAA = MAX(ctrl->tAA, dimm->data.tAA);
+ ctrl->tWR = MAX(ctrl->tWR, dimm->data.tWR);
+ ctrl->tRCD = MAX(ctrl->tRCD, dimm->data.tRCD);
+ ctrl->tRRD = MAX(ctrl->tRRD, dimm->data.tRRD);
+ ctrl->tRP = MAX(ctrl->tRP, dimm->data.tRP);
+ ctrl->tRAS = MAX(ctrl->tRAS, dimm->data.tRAS);
+ ctrl->tRC = MAX(ctrl->tRC, dimm->data.tRC);
+ ctrl->tRFC = MAX(ctrl->tRFC, dimm->data.tRFC);
+ ctrl->tWTR = MAX(ctrl->tWTR, dimm->data.tWTR);
+ ctrl->tRTP = MAX(ctrl->tRTP, dimm->data.tRTP);
+ ctrl->tFAW = MAX(ctrl->tFAW, dimm->data.tFAW);
+ ctrl->tCWL = MAX(ctrl->tCWL, dimm->data.tCWL);
+ ctrl->tCMD = MAX(ctrl->tCMD, dimm->data.tCMD);
+
+ yes_ecc |= dimm->data.flags.is_ecc;
+ not_ecc |= !dimm->data.flags.is_ecc;
+ }
+ }
+
+ if (!ctrl->chanmap) {
+ printk(BIOS_ERR, "No DIMMs were found\n");
+ return RAMINIT_STATUS_NO_MEMORY_INSTALLED;
+ }
+ if (!ctrl->cas_supported) {
+ printk(BIOS_ERR, "Could not resolve common CAS latency\n");
+ return RAMINIT_STATUS_UNSUPPORTED_MEMORY;
+ }
+ /** TODO: Properly handle ECC support and ECC forced **/
+ if (yes_ecc && not_ecc) {
+ /** TODO: Test if the ECC DIMMs can be operated as non-ECC DIMMs **/
+ printk(BIOS_ERR, "Both ECC and non-ECC DIMMs present, this is unsupported\n");
+ return RAMINIT_STATUS_UNSUPPORTED_MEMORY;
+ }
+ if (yes_ecc)
+ ctrl->lanes = NUM_LANES;
+ else
+ ctrl->lanes = NUM_LANES_NO_ECC;
+
+ ctrl->is_ecc = yes_ecc;
+
+ /** TODO: Complete LPDDR support **/
+ ctrl->lpddr = false;
+
+ return RAMINIT_STATUS_SUCCESS;
+}
+
+enum raminit_status collect_spd_info(struct sysinfo *ctrl)
+{
+ get_spd_data(ctrl);
+ return find_common_spd_parameters(ctrl);
+}
--
2.39.2
@@ -0,0 +1,346 @@
From 77a89d55ab7a715dc20c34a6edacaaf781b56087 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sat, 7 May 2022 14:36:10 +0200
Subject: [PATCH 11/26] haswell NRI: Initialise MPLL
Add code to initialise the MPLL (Memory PLL). The procedure is similar
to the one for Sandy/Ivy Bridge, but it is not worth factoring out.
Change-Id: I978c352de68f6d8cecc76f4ae3c12daaf4be9ed6
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../intel/haswell/native_raminit/Makefile.inc | 2 +
.../intel/haswell/native_raminit/init_mpll.c | 210 ++++++++++++++++++
.../haswell/native_raminit/io_comp_control.c | 22 ++
.../haswell/native_raminit/raminit_main.c | 1 +
.../haswell/native_raminit/raminit_native.h | 11 +
.../intel/haswell/registers/mchbar.h | 3 +
6 files changed, 249 insertions(+)
create mode 100644 src/northbridge/intel/haswell/native_raminit/init_mpll.c
create mode 100644 src/northbridge/intel/haswell/native_raminit/io_comp_control.c
diff --git a/src/northbridge/intel/haswell/native_raminit/Makefile.inc b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
index ebf7abc6ec..c125d84f0b 100644
--- a/src/northbridge/intel/haswell/native_raminit/Makefile.inc
+++ b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
@@ -1,5 +1,7 @@
## SPDX-License-Identifier: GPL-2.0-or-later
+romstage-y += init_mpll.c
+romstage-y += io_comp_control.c
romstage-y += raminit_main.c
romstage-y += raminit_native.c
romstage-y += spd_bitmunching.c
diff --git a/src/northbridge/intel/haswell/native_raminit/init_mpll.c b/src/northbridge/intel/haswell/native_raminit/init_mpll.c
new file mode 100644
index 0000000000..2faa183724
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/init_mpll.c
@@ -0,0 +1,210 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <commonlib/clamp.h>
+#include <console/console.h>
+#include <delay.h>
+#include <device/pci_ops.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <types.h>
+
+#include "raminit_native.h"
+
+static uint32_t get_mem_multiplier(const struct sysinfo *ctrl)
+{
+ const uint32_t mult = NS2MHZ_DIV256 / (ctrl->tCK * ctrl->base_freq);
+
+ if (ctrl->base_freq == 100)
+ return clamp_u32(7, mult, 12);
+
+ if (ctrl->base_freq == 133)
+ return clamp_u32(3, mult, 10);
+
+ die("Unsupported base frequency\n");
+}
+
+static void normalize_tck(struct sysinfo *ctrl, const bool pll_ref100)
+{
+ /** TODO: Haswell supports up to DDR3-2600 **/
+ if (ctrl->tCK <= TCK_1200MHZ) {
+ ctrl->tCK = TCK_1200MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 1200;
+
+ } else if (ctrl->tCK <= TCK_1100MHZ) {
+ ctrl->tCK = TCK_1100MHZ;
+ ctrl->base_freq = 100;
+ ctrl->mem_clock_mhz = 1100;
+
+ } else if (ctrl->tCK <= TCK_1066MHZ) {
+ ctrl->tCK = TCK_1066MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 1066;
+
+ } else if (ctrl->tCK <= TCK_1000MHZ) {
+ ctrl->tCK = TCK_1000MHZ;
+ ctrl->base_freq = 100;
+ ctrl->mem_clock_mhz = 1000;
+
+ } else if (ctrl->tCK <= TCK_933MHZ) {
+ ctrl->tCK = TCK_933MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 933;
+
+ } else if (ctrl->tCK <= TCK_900MHZ) {
+ ctrl->tCK = TCK_900MHZ;
+ ctrl->base_freq = 100;
+ ctrl->mem_clock_mhz = 900;
+
+ } else if (ctrl->tCK <= TCK_800MHZ) {
+ ctrl->tCK = TCK_800MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 800;
+
+ } else if (ctrl->tCK <= TCK_700MHZ) {
+ ctrl->tCK = TCK_700MHZ;
+ ctrl->base_freq = 100;
+ ctrl->mem_clock_mhz = 700;
+
+ } else if (ctrl->tCK <= TCK_666MHZ) {
+ ctrl->tCK = TCK_666MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 666;
+
+ } else if (ctrl->tCK <= TCK_533MHZ) {
+ ctrl->tCK = TCK_533MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 533;
+
+ } else if (ctrl->tCK <= TCK_400MHZ) {
+ ctrl->tCK = TCK_400MHZ;
+ ctrl->base_freq = 133;
+ ctrl->mem_clock_mhz = 400;
+
+ } else {
+ ctrl->tCK = 0;
+ ctrl->base_freq = 1;
+ ctrl->mem_clock_mhz = 0;
+ return;
+ }
+ if (!pll_ref100 && ctrl->base_freq == 100) {
+ /* Skip unsupported frequency */
+ ctrl->tCK++;
+ normalize_tck(ctrl, pll_ref100);
+ }
+}
+
+#define MIN_CAS 4
+#define MAX_CAS 24
+
+static uint8_t find_compatible_cas(struct sysinfo *ctrl)
+{
+ printk(RAM_DEBUG, "With tCK %u, try CAS: ", ctrl->tCK);
+ const uint8_t cas_lower = MAX(MIN_CAS, DIV_ROUND_UP(ctrl->tAA, ctrl->tCK));
+ const uint8_t cas_upper = MIN(MAX_CAS, 19); /* JEDEC MR0 limit */
+
+ if (!(ctrl->cas_supported >> (cas_lower - MIN_CAS))) {
+ printk(RAM_DEBUG, "DIMMs do not support CAS >= %u\n", cas_lower);
+ ctrl->tCK++;
+ return 0;
+ }
+ for (uint8_t cas = cas_lower; cas <= cas_upper; cas++) {
+ printk(RAM_DEBUG, "%u ", cas);
+ if (ctrl->cas_supported & BIT(cas - MIN_CAS)) {
+ printk(RAM_DEBUG, "OK\n");
+ return cas;
+ }
+ }
+ return 0;
+}
+
+static enum raminit_status find_cas_tck(struct sysinfo *ctrl)
+{
+ /** TODO: Honor all possible PLL_REF100_CFG values **/
+ uint8_t pll_ref100 = (pci_read_config32(HOST_BRIDGE, CAPID0_B) >> 21) & 0x7;
+ printk(RAM_DEBUG, "PLL_REF100_CFG value: 0x%x\n", pll_ref100);
+ printk(RAM_DEBUG, "100MHz reference clock support: %s\n", pll_ref100 ? "yes" : "no");
+
+ uint8_t selected_cas;
+ while (true) {
+ /* Round tCK up so that it is a multiple of either 133 or 100 MHz */
+ normalize_tck(ctrl, pll_ref100);
+ if (!ctrl->tCK) {
+ printk(BIOS_ERR, "Couldn't find compatible clock / CAS settings\n");
+ return RAMINIT_STATUS_MPLL_INIT_FAILURE;
+ }
+ selected_cas = find_compatible_cas(ctrl);
+ if (selected_cas)
+ break;
+
+ ctrl->tCK++;
+ }
+ printk(BIOS_DEBUG, "Found compatible clock / CAS settings\n");
+ printk(BIOS_DEBUG, "Selected DRAM frequency: %u MHz\n", NS2MHZ_DIV256 / ctrl->tCK);
+ printk(BIOS_DEBUG, "Selected CAS latency : %uT\n", selected_cas);
+ ctrl->multiplier = get_mem_multiplier(ctrl);
+ return RAMINIT_STATUS_SUCCESS;
+}
+
+enum raminit_status initialise_mpll(struct sysinfo *ctrl)
+{
+ if (ctrl->tCK > TCK_400MHZ) {
+ printk(BIOS_ERR, "tCK is too slow. Increasing to 400 MHz as last resort\n");
+ ctrl->tCK = TCK_400MHZ;
+ }
+ while (true) {
+ if (!ctrl->qclkps) {
+ const enum raminit_status status = find_cas_tck(ctrl);
+ if (status)
+ return status;
+ }
+
+ /*
+ * Unlike previous generations, Haswell's MPLL won't shut down if the
+ * requested frequency isn't supported. But we cannot reinitialize it.
+ * Another different thing: MPLL registers are 4-bit instead of 8-bit.
+ */
+
+ /** FIXME: Obtain current clock frequency if we want to skip this **/
+ //if (mchbar_read32(MC_BIOS_DATA) != 0)
+ // break;
+
+ uint32_t mc_bios_req = ctrl->multiplier;
+ if (ctrl->base_freq == 100) {
+ /* Use 100 MHz reference clock */
+ mc_bios_req |= BIT(4);
+ }
+ mc_bios_req |= BIT(31);
+ printk(RAM_DEBUG, "MC_BIOS_REQ = 0x%08x\n", mc_bios_req);
+ printk(BIOS_DEBUG, "MPLL busy... ");
+ mchbar_write32(MC_BIOS_REQ, mc_bios_req);
+
+ for (unsigned int i = 0; i <= 5000; i++) {
+ if (!(mchbar_read32(MC_BIOS_REQ) & BIT(31))) {
+ printk(BIOS_DEBUG, "done in %u us\n", i);
+ break;
+ }
+ udelay(1);
+ }
+ if (mchbar_read32(MC_BIOS_REQ) & BIT(31))
+ printk(BIOS_DEBUG, "did not lock\n");
+
+ /* Verify locked frequency */
+ const uint32_t mc_bios_data = mchbar_read32(MC_BIOS_DATA);
+ printk(RAM_DEBUG, "MC_BIOS_DATA = 0x%08x\n", mc_bios_data);
+ if ((mc_bios_data & 0xf) >= ctrl->multiplier)
+ break;
+
+ printk(BIOS_DEBUG, "Retrying at a lower frequency\n\n");
+ ctrl->tCK++;
+ }
+ if (!ctrl->mem_clock_mhz) {
+ printk(BIOS_ERR, "Could not program MPLL frequency\n");
+ return RAMINIT_STATUS_MPLL_INIT_FAILURE;
+ }
+ printk(BIOS_DEBUG, "MPLL frequency is set to: %u MHz ", ctrl->mem_clock_mhz);
+ ctrl->mem_clock_fs = 1000000000 / ctrl->mem_clock_mhz;
+ printk(BIOS_DEBUG, "(period: %u femtoseconds)\n", ctrl->mem_clock_fs);
+ ctrl->qclkps = ctrl->mem_clock_fs / 2000;
+ printk(BIOS_DEBUG, "Quadrature clock period: %u picoseconds\n", ctrl->qclkps);
+ return wait_for_first_rcomp();
+}
diff --git a/src/northbridge/intel/haswell/native_raminit/io_comp_control.c b/src/northbridge/intel/haswell/native_raminit/io_comp_control.c
new file mode 100644
index 0000000000..7e96c08938
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/io_comp_control.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <commonlib/clamp.h>
+#include <console/console.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <timer.h>
+#include <types.h>
+
+#include "raminit_native.h"
+
+enum raminit_status wait_for_first_rcomp(void)
+{
+ struct stopwatch timer;
+ stopwatch_init_msecs_expire(&timer, 2000);
+ do {
+ if (mchbar_read32(RCOMP_TIMER) & BIT(16))
+ return RAMINIT_STATUS_SUCCESS;
+
+ } while (!stopwatch_expired(&timer));
+ printk(BIOS_ERR, "Timed out waiting for RCOMP to complete\n");
+ return RAMINIT_STATUS_POLL_TIMEOUT;
+}
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_main.c b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
index 2d2cfa48bb..09545422c0 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_main.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
@@ -21,6 +21,7 @@ struct task_entry {
static const struct task_entry cold_boot[] = {
{ collect_spd_info, true, "PROCSPD", },
+ { initialise_mpll, true, "INITMPLL", },
};
/* Return a generic stepping value to make stepping checks simpler */
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.h b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
index 1a0793947e..a54581abc7 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.h
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
@@ -23,6 +23,8 @@ enum raminit_status {
RAMINIT_STATUS_SUCCESS = 0,
RAMINIT_STATUS_NO_MEMORY_INSTALLED,
RAMINIT_STATUS_UNSUPPORTED_MEMORY,
+ RAMINIT_STATUS_MPLL_INIT_FAILURE,
+ RAMINIT_STATUS_POLL_TIMEOUT,
RAMINIT_STATUS_UNSPECIFIED_ERROR, /** TODO: Deprecated in favor of specific values **/
};
@@ -82,10 +84,19 @@ struct sysinfo {
uint8_t rankmap[NUM_CHANNELS];
uint8_t rank_mirrored[NUM_CHANNELS];
uint32_t channel_size_mb[NUM_CHANNELS];
+
+ uint8_t base_freq; /* Memory base frequency, either 100 or 133 MHz */
+ uint32_t multiplier;
+ uint32_t mem_clock_mhz;
+ uint32_t mem_clock_fs; /* Memory clock period in femtoseconds */
+ uint32_t qclkps; /* Quadrature clock period in picoseconds */
};
void raminit_main(enum raminit_boot_mode bootmode);
enum raminit_status collect_spd_info(struct sysinfo *ctrl);
+enum raminit_status initialise_mpll(struct sysinfo *ctrl);
+
+enum raminit_status wait_for_first_rcomp(void);
#endif
diff --git a/src/northbridge/intel/haswell/registers/mchbar.h b/src/northbridge/intel/haswell/registers/mchbar.h
index 5610e7089a..45f8174995 100644
--- a/src/northbridge/intel/haswell/registers/mchbar.h
+++ b/src/northbridge/intel/haswell/registers/mchbar.h
@@ -13,6 +13,8 @@
#define MC_INIT_STATE_G 0x5030
#define MRC_REVISION 0x5034 /* MRC Revision */
+#define RCOMP_TIMER 0x5084
+
#define MC_LOCK 0x50fc /* Memory Controller Lock register */
#define GFXVTBAR 0x5400 /* Base address for IGD */
@@ -61,6 +63,7 @@
#define BIOS_RESET_CPL 0x5da8 /* 8-bit */
+#define MC_BIOS_REQ 0x5e00 /* Memory frequency request register */
#define MC_BIOS_DATA 0x5e04 /* Miscellaneous information for BIOS */
#define SAPMCTL 0x5f00
--
2.39.2
@@ -0,0 +1,249 @@
From faabed9ca8974b2e7192c55b59a9d28d75e72df6 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Sat, 7 May 2022 16:29:55 +0200
Subject: [PATCH 12/26] haswell NRI: Post-process selected timings
Once the MPLL has been initialised, convert the timings from the SPD to
be in DCLKs, which is what the hardware expects. In addition, calculate
the values for tREFI and tXP.
Change-Id: Id02caf858f75b9e08016762b3aefda282b274386
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
---
.../intel/haswell/native_raminit/Makefile.inc | 1 +
.../haswell/native_raminit/lookup_timings.c | 62 +++++++++++
.../haswell/native_raminit/raminit_main.c | 1 +
.../haswell/native_raminit/raminit_native.h | 8 ++
.../haswell/native_raminit/spd_bitmunching.c | 100 ++++++++++++++++++
5 files changed, 172 insertions(+)
create mode 100644 src/northbridge/intel/haswell/native_raminit/lookup_timings.c
diff --git a/src/northbridge/intel/haswell/native_raminit/Makefile.inc b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
index c125d84f0b..2769e0bbb4 100644
--- a/src/northbridge/intel/haswell/native_raminit/Makefile.inc
+++ b/src/northbridge/intel/haswell/native_raminit/Makefile.inc
@@ -1,5 +1,6 @@
## SPDX-License-Identifier: GPL-2.0-or-later
+romstage-y += lookup_timings.c
romstage-y += init_mpll.c
romstage-y += io_comp_control.c
romstage-y += raminit_main.c
diff --git a/src/northbridge/intel/haswell/native_raminit/lookup_timings.c b/src/northbridge/intel/haswell/native_raminit/lookup_timings.c
new file mode 100644
index 0000000000..038686c844
--- /dev/null
+++ b/src/northbridge/intel/haswell/native_raminit/lookup_timings.c
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <commonlib/clamp.h>
+#include <types.h>
+
+#include "raminit_native.h"
+
+struct timing_lookup {
+ uint32_t clock;
+ uint32_t value;
+};
+
+static uint32_t lookup_timing(
+ const uint32_t mem_clock_mhz,
+ const struct timing_lookup *const lookup,
+ const size_t length)
+{
+ /* Fall back to the last index */
+ size_t i;
+ for (i = 0; i < length - 1; i++) {
+ /* Account for imprecise frequency values */
+ if ((mem_clock_mhz - 5) <= lookup[i].clock)
+ break;
+ }
+ return lookup[i].value;
+}
+
+static const uint32_t fmax = UINT32_MAX;
+
+uint8_t get_tCWL(const uint32_t mem_clock_mhz)
+{
+ const struct timing_lookup lut[] = {
+ { 400, 5 },
+ { 533, 6 },
+ { 666, 7 },
+ { 800, 8 },
+ { 933, 9 },
+ { 1066, 10 },
+ { 1200, 11 },
+ { fmax, 12 },
+ };
+ return lookup_timing(mem_clock_mhz, lut, ARRAY_SIZE(lut));
+}
+
+/* tREFI = 7800 ns * DDR MHz */
+uint32_t get_tREFI(const uint32_t mem_clock_mhz)
+{
+ return (mem_clock_mhz * 7800) / 1000;
+}
+
+uint32_t get_tXP(const uint32_t mem_clock_mhz)
+{
+ const struct timing_lookup lut[] = {
+ { 400, 3 },
+ { 666, 4 },
+ { 800, 5 },
+ { 933, 6 },
+ { 1066, 7 },
+ { fmax, 8 },
+ };
+ return lookup_timing(mem_clock_mhz, lut, ARRAY_SIZE(lut));
+}
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_main.c b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
index 09545422c0..5f2be980d4 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_main.c
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_main.c
@@ -22,6 +22,7 @@ struct task_entry {
static const struct task_entry cold_boot[] = {
{ collect_spd_info, true, "PROCSPD", },
{ initialise_mpll, true, "INITMPLL", },
+ { convert_timings, true, "CONVTIM", },
};
/* Return a generic stepping value to make stepping checks simpler */
diff --git a/src/northbridge/intel/haswell/native_raminit/raminit_native.h b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
index a54581abc7..01e5ed1bd6 100644
--- a/src/northbridge/intel/haswell/native_raminit/raminit_native.h
+++ b/src/northbridge/intel/haswell/native_raminit/raminit_native.h
@@ -78,6 +78,9 @@ struct sysinfo {
uint32_t tCWL;
uint32_t tCMD;
+ uint32_t tREFI;
+ uint32_t tXP;
+
uint8_t lanes; /* 8 or 9 */
uint8_t chanmap;
uint8_t dpc[NUM_CHANNELS]; /* DIMMs per channel */
@@ -96,7 +99,12 @@ void raminit_main(enum raminit_boot_mode bootmode);
enum raminit_status collect_spd_info(struct sysinfo *ctrl);
enum raminit_status initialise_mpll(struct sysinfo *ctrl);
+enum raminit_status convert_timings(struct sysinfo *ctrl);
enum raminit_status wait_for_first_rcomp(void);
+uint8_t get_tCWL(uint32_t mem_clock_mhz);
+uint32_t get_tREFI(uint32_t mem_clock_mhz);
+uint32_t get_tXP(uint32_t mem_clock_mhz);
+
#endif
diff --git a/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c b/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
index dbe02c72d0..becbea0725 100644
--- a/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
+++ b/src/northbridge/intel/haswell/native_raminit/spd_bitmunching.c
@@ -204,3 +204,103 @@ enum raminit_status collect_spd_info(struct sysinfo *ctrl)
get_spd_data(ctrl);
return find_common_spd_parameters(ctrl);
}
+
+#define MIN_CWL 5
+#define MAX_CWL 12
+
+/* Except for tCK, hardware expects all timing values in DCLKs, not nanoseconds */
+enum raminit_status convert_timings(struct sysinfo *ctrl)
+{
+ /*
+ * Obtain all required timing values, in DCLKs.
+ */
+
+ /* Convert primary timings from nanoseconds to DCLKs */
+ ctrl->tAA = DIV_ROUND_UP(ctrl->tAA, ctrl->tCK);
+ ctrl->tWR = DIV_ROUND_UP(ctrl->tWR, ctrl->tCK);
+ ctrl->tRCD = DIV_ROUND_UP(ctrl->tRCD, ctrl->tCK);
+ ctrl->tRRD = DIV_ROUND_UP(ctrl->tRRD, ctrl->tCK);
+ ctrl->tRP = DIV_ROUND_UP(ctrl->tRP, ctrl->tCK);
+ ctrl->tRAS = DIV_ROUND_UP(ctrl->tRAS, ctrl->tCK);
+ ctrl->tRC = DIV_ROUND_UP(ctrl->tRC, ctrl->tCK);
+ ctrl->tRFC = DIV_ROUND_UP(ctrl->tRFC, ctrl->tCK);
+ ctrl->tWTR = DIV_ROUND_UP(ctrl->tWTR, ctrl->tCK);
+ ctrl->tRTP = DIV_ROUND_UP(ctrl->tRTP, ctrl->tCK);
+ ctrl->tFAW = DIV_ROUND_UP(ctrl->tFAW, ctrl->tCK);
+ ctrl->tCWL = DIV_ROUND_UP(ctrl->tCWL, ctrl->tCK);
+ ctrl->tCMD = DIV_ROUND_UP(ctrl->tCMD, ctrl->tCK);
+
+ /* Constrain primary timings to hardware limits */
+ /** TODO: complain when clamping? **/
+ ctrl->tAA = clamp_u32(4, ctrl->tAA, 24);
+ ctrl->tWR = clamp_u32(5, ctrl->tWR, 16);
+ ctrl->tRCD = clamp_u32(4, ctrl->tRCD, 20);
+ ctrl->tRRD = clamp_u32(4, ctrl->tRRD, 65535);
+ ctrl->tRP = clamp_u32(4, ctrl->tRP, 15);
+ ctrl->tRAS = clamp_u32(10, ctrl->tRAS, 40);
+ ctrl->tRC = clamp_u32(1, ctrl->tRC, 4095);
+ ctrl->tRFC = clamp_u32(1, ctrl->tRFC, 511);
+ ctrl->tWTR = clamp_u32(4, ctrl->tWTR, 10);
+ ctrl->tRTP = clamp_u32(4, ctrl->tRTP, 15);
+ ctrl->tFAW = clamp_u32(10, ctrl->tFAW, 54);
+
+ /** TODO: Honor tREFI from XMP **/
+ ctrl->tREFI = get_tREFI(ctrl->mem_clock_mhz);
+ ctrl->tXP = get_tXP(ctrl->mem_clock_mhz);
+
+ /*
+ * Check some values, and adjust them if necessary.
+ */
+
+ /* If tWR cannot be written into DDR3 MR0, adjust it */
+ switch (ctrl->tWR) {
+ case 9:
+ case 11:
+ case 13:
+ case 15:
+ ctrl->tWR++;
+ }
+
+ /* If tCWL is not supported or unspecified, look up a reasonable default */
+ if (ctrl->tCWL < MIN_CWL || ctrl->tCWL > MAX_CWL)
+ ctrl->tCWL = get_tCWL(ctrl->mem_clock_mhz);
+
+ /* This is needed to support ODT properly on 2DPC */
+ if (ctrl->tAA - ctrl->tCWL > 4)
+ ctrl->tCWL = ctrl->tAA - 4;
+
+ /* If tCMD is invalid, use a guesstimate default */
+ if (!ctrl->tCMD) {
+ ctrl->tCMD = MAX(ctrl->dpc[0], ctrl->dpc[1]);
+ printk(RAM_DEBUG, "tCMD was zero, picking a guesstimate value\n");
+ }
+ ctrl->tCMD = clamp_u32(1, ctrl->tCMD, 3);
+
+ /*
+ * Print final timings.
+ */
+
+ /* tCK is special */
+ printk(BIOS_DEBUG, "Selected tCK : %u ns\n", ctrl->tCK / 256);
+
+ /* Primary timings */
+ printk(BIOS_DEBUG, "Selected tAA : %uT\n", ctrl->tAA);
+ printk(BIOS_DEBUG, "Selected tWR : %uT\n", ctrl->tWR);
+ printk(BIOS_DEBUG, "Selected tRCD : %uT\n", ctrl->tRCD);
+ printk(BIOS_DEBUG, "Selected tRRD : %uT\n", ctrl->tRRD);
+ printk(BIOS_DEBUG, "Selected tRP : %uT\n", ctrl->tRP);
+ printk(BIOS_DEBUG, "Selected tRAS : %uT\n", ctrl->tRAS);
+ printk(BIOS_DEBUG, "Selected tRC : %uT\n", ctrl->tRC);
+ printk(BIOS_DEBUG, "Selected tRFC : %uT\n", ctrl->tRFC);
+ printk(BIOS_DEBUG, "Selected tWTR : %uT\n", ctrl->tWTR);
+ printk(BIOS_DEBUG, "Selected tRTP : %uT\n", ctrl->tRTP);
+ printk(BIOS_DEBUG, "Selected tFAW : %uT\n", ctrl->tFAW);
+ printk(BIOS_DEBUG, "Selected tCWL : %uT\n", ctrl->tCWL);
+ printk(BIOS_DEBUG, "Selected tCMD : %uT\n", ctrl->tCMD);
+
+ /* Derived timings */
+ printk(BIOS_DEBUG, "Selected tREFI : %uT\n", ctrl->tREFI);
+ printk(BIOS_DEBUG, "Selected tXP : %uT\n", ctrl->tXP);
+
+ return RAMINIT_STATUS_SUCCESS;
+}
--
2.39.2

Some files were not shown because too many files have changed in this diff Show More