parent
102ce12cea
commit
6fbd756f1f
298
README.md
298
README.md
|
@ -1,259 +1,69 @@
|
|||
Canoeboot
|
||||
Klompboot
|
||||
=========
|
||||
|
||||
Find canoeboot documentation at <https://canoeboot.org/>
|
||||
Software voor de vrijheid!
|
||||
|
||||
The `canoeboot` project provides
|
||||
[libre](https://writefreesoftware.org/) *boot
|
||||
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||
peripherals) on specific Intel/AMD x86 and ARM targets, which
|
||||
then starts a bootloader for your operating system. Linux/BSD are
|
||||
well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
|
||||
via [\#canoeboot IRC](https://web.libera.chat/#canoeboot)
|
||||
on [Libera](https://libera.chat/) IRC.
|
||||
This version, from the "klompboot" branch of canoeboot, is a special version
|
||||
of Canoeboot. It only builds for x86 machines, and does not have release
|
||||
scripts, so the deblobbing has also been removed. The codename for this
|
||||
version is *klompboot*. *Klompen* (plural) are wooden shoes popular in the
|
||||
Netherlands, and the name *Canoeboot* was coined because *boot* means *boat*
|
||||
in Dutch; it was going to be called Kanuboot as a joke, originally, but it
|
||||
was named Canoeboot instead. Then I thought: what might you wear while riding
|
||||
in a canoe?
|
||||
|
||||
Why use Canoeboot?
|
||||
==================
|
||||
*Klompen* enable you to walk, while a *canoe* will allow you to travel via
|
||||
many of the Netherlands' beautiful rivers. Klompen are nimble footwear, light
|
||||
and simple to use.
|
||||
|
||||
Why should you use *canoeboot*?
|
||||
----------------------------
|
||||
|
||||
Canoeboot 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 of speech
|
||||
and the right to read. In this context, Canoeboot gives you these rights.
|
||||
Your freedom matters.
|
||||
[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
|
||||
Many people use proprietary (non-libre)
|
||||
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
Proprietary firmware often contains backdoors (more info on the FAQ), and it
|
||||
and can be buggy. The canoeboot project was founded in October 2023,
|
||||
with the express purpose of making coreboot firmware accessible for
|
||||
non-technical users.
|
||||
|
||||
The `canoeboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||
handles only basic initialization and jumps to a separate
|
||||
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||
[GRUB](https://www.gnu.org/software/grub/),
|
||||
[Tianocore](https://www.tianocore.org/)), which must also be configured.
|
||||
*The canoeboot software solves this problem*; it is a *coreboot distribution* with
|
||||
an automated build system (named *cbmk*) that builds complete *ROM images*, for
|
||||
more robust installation. Documentation is provided.
|
||||
|
||||
How does Canoeboot differ from coreboot?
|
||||
========================================
|
||||
|
||||
In the same way that *Debian* is a GNU+Linux distribution, `canoeboot` 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 *canoeboot*,
|
||||
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 `cbmk`
|
||||
(Canoeboot 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 canoeboot's automated
|
||||
build system, it would require a lot more intervention and decent technical
|
||||
knowledge to produce a working configuration.
|
||||
|
||||
Regular binary releases of `canoeboot` 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.
|
||||
|
||||
Canoeboot vs Libreboot
|
||||
Ok, what's this about?
|
||||
----------------------
|
||||
|
||||
Libreboot and Canoeboot are both lead by the same founder, Leah Rowe, kept in
|
||||
sync whenever feasible; for each Libreboot release, a Canoeboot release follows.
|
||||
Coreboot's own build system skips downloading blobs during checkout, if
|
||||
you omit the `--checkout` argument in git submodule update. Since the release
|
||||
scripts are not there, the few blobs that coreboot overlooked shouldn't be
|
||||
a problem for FSF stans. Thus, *klompboot* could be considered a *rolling
|
||||
release* FSDG-aligned coreboot distro. Support for U-Boot and ARM could be
|
||||
re-added, but the purpose of klompboot was to be small, and most people who
|
||||
use FSDG coreboot are on GM45 thinkpads or AMD fam15h based boards anyway. The
|
||||
purpose of klompboot is to be *simple*. If you want to use the RK3399 machines,
|
||||
with U-Boot, just use regular Canoeboot or Libreboot. Similarly, the serprog
|
||||
firmware build scripts have been removed - ditto, use Libreboot/Canoeboot for
|
||||
these. The purpose of klompboot is to provide an extremely simple build system
|
||||
for building coreboot images, targeting x86 machines exclusively.
|
||||
|
||||
Canoeboot is a fork of [Libreboot](https://libreboot.org/), provided as a proof
|
||||
of concept demonstrating Libreboot in its current state per release, while
|
||||
removing any and all parts that do not comply with the GNU Free System
|
||||
Distribution Guideline (GNU FSDG). GNU FSDG is the policy that Libreboot used to
|
||||
be based on, but Libreboot adopted a more pragmatic [Binary Blob Reduction
|
||||
Policy](https://libreboot.org/news/policy.html) in November 2022, resulting
|
||||
in greater hardware support.
|
||||
Additionally: `CONFIG_USE_BLOBS` is not enabled, on each given mainboard
|
||||
configuration. Each coreboot tree that *would* use microcode has been patched,
|
||||
as in Canoeboot proper, to never attempt adding microcode, even if told to, so
|
||||
there's no risk of that either (which, if not avoided, would either add them,
|
||||
or more likely result in a build error since `CONFIG_USE_BLOBS` is disabled).
|
||||
|
||||
Canoeboot supports fewer mainboards than Libreboot,
|
||||
because it takes a hardline approach by limiting itself only to those mainboards
|
||||
which can be booted entirely without binary blob code *in the main boot flash*.
|
||||
The distinction of *in the main boot flash* is extremely important, because many
|
||||
examples exist where coreboot interacts with certain proprietary software; for
|
||||
example, the EC (Embedded Controller) firmware on some ThinkPads that both
|
||||
Libreboot and Canoeboot support. GNU FSDG is full of contradictions like this;
|
||||
for example, the HP Elitebooks supported by Libreboot 20231021 use proprietary
|
||||
EC firmware too, but it's in the main boot flash, whereas on many other machines
|
||||
it would be on a separate chip, and not the main boot flash.
|
||||
This special branch of Canoeboot was made as part of an experiment, to see how
|
||||
small the build system could become, reducing the functionality so that it is
|
||||
similar to the Libreboot 20220710 build system in function, but with the modern
|
||||
lbmk redesign based on the four lbmk audits of 2023, and with modern code
|
||||
revisions as of January 2024 - so for example, it uses GRUB 2.12.
|
||||
|
||||
Coreboot can boot with Free Software exclusively on many boards, but quite a few
|
||||
more mainboards exist where that is not the case. For example, a given mainboard
|
||||
may require a blob to configure the memory controller. Libreboot provides as few
|
||||
binary blobs as possible while allowing any mainboard to be supported, whereas
|
||||
Canoeboot provides *no* binary blobs and thus can only support a limited subset
|
||||
of what coreboot supports.
|
||||
The reason 20220710 was focused on, for comparison, is that the featureset of
|
||||
klompboot really is about the same as that; 20230710's release build scripts
|
||||
were much simpler, about 100 sloc for `src` and `roms` release scripts. Alas,
|
||||
Libreboot 20220710's build system was 2117 source lines, versus
|
||||
klompboot's very tight 803 lines of code, but klompboot is vastly superior
|
||||
in terms of features and quality (and actually supports 1 additional board
|
||||
in klompboot, namely the Dell Latitude E6400).
|
||||
|
||||
Libreboot started with the no-blob policy, in December 2013. In December 2020,
|
||||
another project lead by Leah Rowe was created, named *osboot*. The osboot
|
||||
project had the same policy as current Libreboot, and was later merged into
|
||||
Libreboot, during November 2022. Thus, Libreboot *became* osboot, and it has
|
||||
improved substantially since then. This was done, in an effort to bring coreboot
|
||||
to more people, since Libreboot was much better established at that point. Since
|
||||
then, the decision has proven to be quite successful, with many more users.
|
||||
803 code lines, counting `build`, `script/*/*` and `include/*` in
|
||||
the `sloccount` utility by David Wheeler.
|
||||
|
||||
While the no-blob approach may seem noble, it stifles the adopt of Free
|
||||
Software, in this case coreboot, by alienating those users who like the idea of
|
||||
free software but do not have such "pure" hardware. The FSF's definition of
|
||||
purity (in this context) is deeply flawed, as it contains many contradictions.
|
||||
By comparison, Canoeboot cbmk is 1127 code lines (in the shell scripts that
|
||||
make the build system), on the revision that the first *klompboot* revision
|
||||
was based on, namely `102ce12cea023783729d6a2cd1576afc95bf7540`.
|
||||
|
||||
Binary blobs are *bad*. Free software is *good*, and everyone deserves to have
|
||||
freedom in their computing. The irony is that there are some who would denounce
|
||||
the current Libreboot project, under the logic that it is *enabling* proprietary
|
||||
software, but this is not so; Libreboot is *removing* proprietary software, when
|
||||
you install it.
|
||||
This version of Canoeboot was made for fun, and will not be used officially,
|
||||
and it should not be used in production.
|
||||
|
||||
Therefore, the nuance in the type of thinking behind *Libreboot* policy is that
|
||||
while proprietary software *is* bad, and should be avoided, that choice may not
|
||||
always be available; in such cases then, it can be used but with the stipulation
|
||||
that it be replaced (with free software) at a future date, and that strong
|
||||
education is given about it in the meantime. Indeed, many projects out there,
|
||||
for example many Linux and/or GNU-based systems, will *include* such proprietary
|
||||
software (such as wifi firmware blobs) and *not tell you about it*, or not
|
||||
clearly document its existence. Libreboot very clearly documents what and where
|
||||
these blobs are, in this document:
|
||||
<https://libreboot.org/freedom-status.html>
|
||||
This readme is licensed under Creative Commons Zero 1.0, which you can find
|
||||
the text of here:
|
||||
https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt
|
||||
|
||||
The mentality behind Libreboot policy is that *some* software freedom is better
|
||||
than none. For example, if you're running a ThinkPad X230 or T440p, both of these
|
||||
can boot entirely without binary blobs in coreboot, but you do still need the
|
||||
neutered Intel ME image outside of that (in the ME region of the flash, whereas
|
||||
coreboot goes in the BIOS region). More information about that is available,
|
||||
on the Freedom Status page of the Libreboot project:
|
||||
<https://libreboot.org/freedom-status.html>
|
||||
|
||||
Libreboot still supports all of the same mainboards that Canoeboot supports, and
|
||||
provides the exact same configuration as options in each release. In other words,
|
||||
the no-blob configuration is still possible in Libreboot, and that will always
|
||||
be true, when possible on a given mainboard. Libreboot's *preference* is
|
||||
precisely to promote Free Software, hence the Binary Blob Reduction Policy.
|
||||
Again for posterity, here is a link to the text of that policy:
|
||||
<https://libreboot.org/news/policy.html>
|
||||
|
||||
By contrast, many projects (that handle blobs) do not have such a stipulation.
|
||||
They either have no policy, a loosely defined policy, or they actively
|
||||
encourage the use of blobs. Libreboot does not encourage use of binary blobs,
|
||||
unless absolutely necessary on a given mainboard; whereas, a project like
|
||||
Debian will provide the `nouveau` driver for nvidia graphics cards, while also
|
||||
providing the binary drivers from Nvidia (which is proprietary); if Libreboot
|
||||
were to become a Debian, it would only recommend the `nouveau` driver if that
|
||||
works well enough. And now an example closer to home: in Libreboot, let's say
|
||||
you have a board with Intel graphics. Libreboot provides free initialisation
|
||||
of the framebuffer (using coreboot's `libgfxinit`), which has some limitations
|
||||
but does work well with Linux/BSD, and you could add Tianocore for an efi
|
||||
framebuffer if you wanted; an alternative to this is the proprietary VGA Option
|
||||
ROM from intel, which can provide full VGA mode setting as a BIOS callback,
|
||||
which would enable more operating systems (e.g. ReactOS, games in FreeDOS, etc).
|
||||
Libreboot does not provide the Intel VGA ROM, because it is not needed. Linux
|
||||
and BSD are fine, you you can play DOS games in dosbox if you really want to.
|
||||
You do not need to boot DOOM on FreeDOS.
|
||||
|
||||
To summarise the above point:
|
||||
if Libreboot had a policy like the Debian one, it would provide that VGA ROM.
|
||||
Libreboot is not Debian. But it does not follow GNU's hardline approach either.
|
||||
Both approaches are bad. Libreboot policy is based on FSF ideology, but without
|
||||
dogma. So, the difference with Canoeboot is that it *also implements the dogma*.
|
||||
The FSF and GNU dogma is that proprietary software must *always* be avoided,
|
||||
under all circumstances. Libreboot does not implement such dogma.
|
||||
|
||||
The purpose of Canoeboot is therefore to demonstrate what can be done under
|
||||
such dogma, while providing criticism of it in favour of Libreboot policy.
|
||||
The Libreboot policy is correct because it provides more software freedom
|
||||
overall to more people. In any software community, a certain fixed percentage
|
||||
of people will become programmers, and so bringing coreboot to more people will
|
||||
inevitably lead to more people becoming coreboot developers; this may then
|
||||
encourage more people to reverse engineer the blobs to produce free source code.
|
||||
|
||||
To put the above point another way:
|
||||
the GNU FSDG policy, dictated by the FSF, is causing *active harm* to the
|
||||
adoption of Free Software. For example, if a Windows user is introduced to Linux
|
||||
for the first time, but they are introduced to an FSDG-compliant distro like
|
||||
Trisquel, they may find that certain hardware doesn't work. They aren't master
|
||||
hackers, they are clueless novices, and everything needs to work or they are
|
||||
going to ditch Linux and keep using Windows. That is just a fact, with most
|
||||
people, even principled people who believe in the ideals. When someone is just
|
||||
starting out, they need the experience to be as smooth as possible.
|
||||
|
||||
That novice user could one day reverse engineer graphics drivers and bring about
|
||||
the next revolution in software freedom, but a bad early experience will deter
|
||||
them early on, and thus stifle future development of free software. This is the
|
||||
argument put forward by Libreboot, as of November 2022 with the merging of osboot.
|
||||
|
||||
tl;dr just imagine a universe where osboot never existed, and know that
|
||||
Canoeboot is essentially what Libreboot *might* have been at this point in
|
||||
time. It is a representation of what *was*, and what could have been. Canoeboot
|
||||
is one possible answer to that *what if*, although the actual universe where
|
||||
osboot didn't exist may not have produced exactly the same result as Canoeboot
|
||||
today; it could be slightly different. Libreboot butterflies...
|
||||
|
||||
Libreboot today is far superior to Canoeboot, and it's what you should use, but
|
||||
there are a few who prefer the old Libreboot policy, who absolutely do not want
|
||||
any proprietary software even to be present, let alone installed and/or
|
||||
executed. Thus, canoeboot was born.
|
||||
|
||||
Canoeboot provides the same level of automation that Libreboot does in the
|
||||
downloading, patching and building of coreboot ROM images, but it excludes any
|
||||
binary blobs that may otherwise be present in upstream projects. Canoeboot will
|
||||
also remove non-blobs that are still proprietary software; there are some cases
|
||||
where software may be provided by a vendor with source code, but under some
|
||||
license that puts restrictions on its use or distribution. Canoeboot will only
|
||||
knowingly provide software that adheres to the GNU Free Software Definition, in
|
||||
compliance with the GNU Free System Distribution Guidelines.
|
||||
|
||||
Project goals
|
||||
=============
|
||||
|
||||
- *Support as much hardware as possible!* (within the restrictions imposed
|
||||
by GNU FSDG policy)
|
||||
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
||||
to install, due to an overall lack of user-focused documentation
|
||||
and support. Most people will simply give up before attempting to
|
||||
install coreboot. Canoeboot's automated build system and user-friendly
|
||||
installation instructions solves this problem.
|
||||
|
||||
Canoeboot attempts to bridge this divide by providing a build system
|
||||
automating much of the coreboot image creation and customization.
|
||||
Secondly, the project produces documentation aimed at non-technical users.
|
||||
Thirdly, the project attempts to provide excellent user support via IRC.
|
||||
|
||||
Canoeboot already comes with a payload (GRUB), flashrom and other
|
||||
needed parts. Everything is fully integrated, in a way where most of
|
||||
the complicated steps that are otherwise required, are instead done
|
||||
for the user in advance.
|
||||
|
||||
You can download ROM images for your canoeboot system and install
|
||||
them without having to build anything from source. If, however, you are
|
||||
interested in building your own image, the build system makes it relatively
|
||||
easy to do so.
|
||||
|
||||
Not a coreboot fork!
|
||||
--------------------
|
||||
|
||||
Canoeboot is not a fork of coreboot. Every so often, the project
|
||||
re-bases on the latest version of coreboot, with the number of custom
|
||||
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||||
in Canoeboot, based on specific coreboot revisions.
|
||||
|
||||
LICENSE FOR THIS README
|
||||
=======================
|
||||
|
||||
It's just a README file. This README file is released under the terms of the
|
||||
Creative Commons Zero license, version 1.0 of the license, which you can
|
||||
read here:
|
||||
|
||||
<https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt>
|
||||
|
||||
The documentation in Canoeboot will use a mix of other licenses, so you should
|
||||
check that for more information.
|
||||
tl;dr klompboot was done *for science*
|
||||
|
|
45
build
45
build
|
@ -40,7 +40,7 @@ main()
|
|||
|
||||
[ "$1" = "dependencies" ] && xx_ install_packages $@ && cbmk_exit 0
|
||||
|
||||
for cmd in initcmd check_git check_project git_init excmd; do
|
||||
for cmd in initcmd check_git check_project excmd; do
|
||||
eval "${cmd} \$@"
|
||||
done
|
||||
cbmk_exit 0
|
||||
|
@ -53,9 +53,7 @@ initcmd()
|
|||
check_project
|
||||
|
||||
case "${1}" in
|
||||
help) usage ${0} ;;
|
||||
list) items "${buildpath}" ;;
|
||||
version) mkversion ;;
|
||||
*)
|
||||
option="${1}"
|
||||
return 0 ;;
|
||||
|
@ -81,23 +79,6 @@ install_packages()
|
|||
printf "You must install AUR packages: %s\n" "$aur_notice" 1>&2
|
||||
}
|
||||
|
||||
# release archives contain .gitignore, but not .git.
|
||||
# cbmk can be run from cbmk.git, or an archive.
|
||||
git_init()
|
||||
{
|
||||
[ -L ".git" ] && fail "Reference .git is a symlink"
|
||||
[ -e ".git" ] && return 0
|
||||
eval "$(setvars "$(date -Rd @${versiondate})" cdate _nogit)"
|
||||
|
||||
git init || fail "${PWD}: cannot initialise Git repository"
|
||||
git add -A . || fail "${PWD}: cannot add files to Git repository"
|
||||
git commit -m "${projectname} ${version}" --date "${cdate}" \
|
||||
--author="cbmk <cbmk@canoeboot.org>" || \
|
||||
fail "$PWD: can't commit ${projectname}/${version}, date $cdate"
|
||||
git tag -a "${version}" -m "${projectname} ${version}" || \
|
||||
fail "${PWD}: cannot git-tag ${projectname}/${version}"
|
||||
}
|
||||
|
||||
excmd()
|
||||
{
|
||||
cbmkcmd="${buildpath}/${option}"
|
||||
|
@ -105,30 +86,6 @@ excmd()
|
|||
shift 1; "$cbmkcmd" $@ || fail "excmd: ${cbmkcmd} ${@}"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
progname=${0}
|
||||
cat <<- EOF
|
||||
$(mkversion)
|
||||
|
||||
USAGE: ${progname} <OPTION>
|
||||
|
||||
possible values for 'OPTION':
|
||||
$(items "${buildpath}")
|
||||
|
||||
To know what ${projectname} version you're on, type:
|
||||
${progname} version
|
||||
|
||||
Refer to ${projectname} documentation for more info.
|
||||
EOF
|
||||
}
|
||||
|
||||
mkversion()
|
||||
{
|
||||
printf "revision: %s %s\n" "$projectname" "$version"
|
||||
printf "revision date: %s\n" "$(date -Rud @${versiondate})"
|
||||
}
|
||||
|
||||
cbmk_exit()
|
||||
{
|
||||
tmp_cleanup || err "cbmk_exit: can't rm tmpdir upon exit $1: $tmpdir"
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
From 9f52555eac217623ad2edc72492f9ded6a5b538d Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Thu, 22 Jun 2023 16:44:27 +0300
|
||||
Subject: [PATCH] HACK: Disable coreboot related BL31 features
|
||||
|
||||
I don't know why, but removing this BL31 make argument lets gru-kevin
|
||||
power off properly when shut down from Linux. Needs investigation.
|
||||
---
|
||||
src/arch/arm64/Makefile.inc | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
|
||||
index 6b49743633c3..e1982d92cc5c 100644
|
||||
--- a/src/arch/arm64/Makefile.inc
|
||||
+++ b/src/arch/arm64/Makefile.inc
|
||||
@@ -158,9 +158,6 @@ BL31_MAKEARGS += LOG_LEVEL=40
|
||||
# Always enable crash reporting, even on a release build
|
||||
BL31_MAKEARGS += CRASH_REPORTING=1
|
||||
|
||||
-# Enable coreboot-specific features like CBMEM console support
|
||||
-BL31_MAKEARGS += COREBOOT=1
|
||||
-
|
||||
# Avoid build/release|build/debug distinction by overriding BUILD_PLAT directly
|
||||
BL31_MAKEARGS += BUILD_PLAT="$(BL31_BUILD)"
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,950 +0,0 @@
|
|||
#
|
||||
# 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_IWYU is not set
|
||||
# CONFIG_FMD_GENPARSER is not set
|
||||
# CONFIG_UTIL_GENPARSER is not set
|
||||
CONFIG_OPTION_BACKEND_NONE=y
|
||||
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
|
||||
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
|
||||
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
|
||||
|
||||
#
|
||||
# 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_BYTEDANCE 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=y
|
||||
# CONFIG_VENDOR_HP is not set
|
||||
# CONFIG_VENDOR_IBASE is not set
|
||||
# CONFIG_VENDOR_IBM is not set
|
||||
# CONFIG_VENDOR_INTEL is not set
|
||||
# CONFIG_VENDOR_INVENTEC 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="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_DEVICETREE="devicetree.cb"
|
||||
# CONFIG_VBOOT is not set
|
||||
# CONFIG_CHROMEOS is not set
|
||||
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_MAX_ACPI_TABLE_SIZE_KB=144
|
||||
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_AURASH is not set
|
||||
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
|
||||
# CONFIG_BOARD_GOOGLE_BRASK is not set
|
||||
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRAASK is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRAASKOV is not set
|
||||
# CONFIG_BOARD_GOOGLE_CONSTITUTION is not set
|
||||
# CONFIG_BOARD_GOOGLE_CROTA is not set
|
||||
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
|
||||
# CONFIG_BOARD_GOOGLE_GAELIN is not set
|
||||
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
|
||||
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_GLADIOS is not set
|
||||
# CONFIG_BOARD_GOOGLE_GOTHRAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_HADES is not set
|
||||
# CONFIG_BOARD_GOOGLE_KANO is not set
|
||||
# CONFIG_BOARD_GOOGLE_KINOX is not set
|
||||
# CONFIG_BOARD_GOOGLE_KULDAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_JOXER is not set
|
||||
# CONFIG_BOARD_GOOGLE_LISBON is not set
|
||||
# CONFIG_BOARD_GOOGLE_MARASOV is not set
|
||||
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_MOLI is not set
|
||||
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
|
||||
# CONFIG_BOARD_GOOGLE_NEREID is not set
|
||||
# CONFIG_BOARD_GOOGLE_OMNIGUL is not set
|
||||
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_PIRRHA is not set
|
||||
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
|
||||
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_PUJJO is not set
|
||||
# CONFIG_BOARD_GOOGLE_QUANDISO is not set
|
||||
# CONFIG_BOARD_GOOGLE_REDRIX is not set
|
||||
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_SKOLAS 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_ULDREN is not set
|
||||
# CONFIG_BOARD_GOOGLE_VELL is not set
|
||||
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
|
||||
# CONFIG_BOARD_GOOGLE_XIVU is not set
|
||||
# CONFIG_BOARD_GOOGLE_YAVIKS is not set
|
||||
# CONFIG_BOARD_GOOGLE_YAVILLA is not set
|
||||
# CONFIG_BOARD_GOOGLE_ZYDRON is not set
|
||||
# CONFIG_BOARD_GOOGLE_NOKRIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_DOCHI 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
|
||||
# CONFIG_BOARD_GOOGLE_VOLTORB is not set
|
||||
# CONFIG_BOARD_GOOGLE_PONYTA is not set
|
||||
|
||||
#
|
||||
# Krabby
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_KRABBY is not set
|
||||
# CONFIG_BOARD_GOOGLE_TENTACRUEL is not set
|
||||
# CONFIG_BOARD_GOOGLE_MAGIKARP is not set
|
||||
|
||||
#
|
||||
# Staryu
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_STARMIE 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_DIBBI 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
|
||||
# CONFIG_BOARD_GOOGLE_SHOTZO is not set
|
||||
# CONFIG_BOARD_GOOGLE_TARANZA is not set
|
||||
# CONFIG_BOARD_GOOGLE_BOXY is not set
|
||||
# CONFIG_BOARD_GOOGLE_DEXI 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
|
||||
|
||||
#
|
||||
# Geralt
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_GERALT 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_DRATINI 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_KINDRED is not set
|
||||
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
|
||||
# CONFIG_BOARD_GOOGLE_MUSHU is not set
|
||||
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
|
||||
# CONFIG_BOARD_GOOGLE_PALKIA 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
|
||||
|
||||
#
|
||||
# Myst
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_MYST 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
|
||||
|
||||
#
|
||||
# Puff
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
|
||||
# CONFIG_BOARD_GOOGLE_DOOLY 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_KAISA_LEGACY is not set
|
||||
# CONFIG_BOARD_GOOGLE_KAISA is not set
|
||||
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
|
||||
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
|
||||
# CONFIG_BOARD_GOOGLE_PUFF is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCOUT is not set
|
||||
# CONFIG_BOARD_GOOGLE_WYVERN 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_EXPRESSO 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
|
||||
|
||||
#
|
||||
# Rex
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_REX0 is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCREEBO is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCREEBO4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_KARIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_KARIS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX_EC_ISH is not set
|
||||
# CONFIG_BOARD_GOOGLE_OVIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_OVIS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX4ES_EC_ISH 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
|
||||
# CONFIG_BOARD_GOOGLE_WINTERHOLD is not set
|
||||
# CONFIG_BOARD_GOOGLE_FROSTFLOW is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRYSTALDRIFT is not set
|
||||
# CONFIG_BOARD_GOOGLE_MARKARTH 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_CHRONICLER is not set
|
||||
# CONFIG_BOARD_GOOGLE_COLLIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_COPANO is not set
|
||||
# CONFIG_BOARD_GOOGLE_DELBIN is not set
|
||||
# CONFIG_BOARD_GOOGLE_DROBIT is not set
|
||||
# CONFIG_BOARD_GOOGLE_ELDRID is not set
|
||||
# CONFIG_BOARD_GOOGLE_ELEMI 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_VOEMA is not set
|
||||
# CONFIG_BOARD_GOOGLE_VOLET 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
|
||||
|
||||
#
|
||||
# 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_VBT_DATA_SIZE_KB=8
|
||||
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_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US=0
|
||||
CONFIG_PS2K_EISAID="PNP0303"
|
||||
CONFIG_PS2M_EISAID="PNP0F13"
|
||||
CONFIG_TTYS0_BAUD=115200
|
||||
CONFIG_D3COLD_SUPPORT=y
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
|
||||
CONFIG_HEAP_SIZE=0x4000
|
||||
CONFIG_EC_GPE_SCI=0x50
|
||||
CONFIG_DRIVER_TPM_SPI_CHIP=0
|
||||
# CONFIG_TPM_MEASURED_BOOT is not set
|
||||
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_ARM64_BL31_EXTERNAL_FILE=""
|
||||
CONFIG_ARCH_ARMV8_EXTENSION=0
|
||||
CONFIG_STACK_SIZE=0x0
|
||||
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_GENERIC_UDELAY=y
|
||||
CONFIG_SOC_ROCKCHIP_RK3399=y
|
||||
CONFIG_RK3399_SPREAD_SPECTRUM_DDR=y
|
||||
CONFIG_CBFS_CACHE_ALIGN=8
|
||||
|
||||
#
|
||||
# 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
|
||||
CONFIG_NO_EARLY_GFX_INIT=y
|
||||
|
||||
#
|
||||
# Display
|
||||
#
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_LINEAR_FRAMEBUFFER=y
|
||||
# CONFIG_BOOTSPLASH is not set
|
||||
# end of Display
|
||||
|
||||
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
|
||||
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
|
||||
# CONFIG_SOFTWARE_I2C is not set
|
||||
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||
CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=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_NO_FAST_READ is not set
|
||||
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_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_NXP_UWB_SR1XX is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
|
||||
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
|
||||
CONFIG_GOOGLE_TPM_IRQ_TIMEOUT_MS=10
|
||||
CONFIG_CR50_RESET_CLEAR_EC_AP_IDLE_FLAG=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_PCR_BOOT_MODE=1
|
||||
CONFIG_PCR_HWID=1
|
||||
CONFIG_PCR_SRTM=2
|
||||
CONFIG_PCR_RUNTIME_DATA=3
|
||||
# end of Trusted Platform Module
|
||||
|
||||
CONFIG_TPM_SETUP_HIBERNATE_ON_ERR=y
|
||||
|
||||
#
|
||||
# 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_ACPI_CUSTOM_MADT=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_TTYS0_BASE=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_LCS=3
|
||||
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
|
||||
# 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_DECOMPRESS_OFAST=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
|
|
@ -1,3 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
|
@ -1,947 +0,0 @@
|
|||
#
|
||||
# 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_IWYU is not set
|
||||
# CONFIG_FMD_GENPARSER is not set
|
||||
# CONFIG_UTIL_GENPARSER is not set
|
||||
CONFIG_OPTION_BACKEND_NONE=y
|
||||
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
|
||||
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
|
||||
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
|
||||
|
||||
#
|
||||
# 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_BYTEDANCE 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=y
|
||||
# CONFIG_VENDOR_HP is not set
|
||||
# CONFIG_VENDOR_IBASE is not set
|
||||
# CONFIG_VENDOR_IBM is not set
|
||||
# CONFIG_VENDOR_INTEL is not set
|
||||
# CONFIG_VENDOR_INVENTEC 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="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_DEVICETREE="devicetree.cb"
|
||||
# CONFIG_VBOOT is not set
|
||||
# CONFIG_CHROMEOS is not set
|
||||
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_MAX_ACPI_TABLE_SIZE_KB=144
|
||||
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_AURASH is not set
|
||||
# CONFIG_BOARD_GOOGLE_BANSHEE is not set
|
||||
# CONFIG_BOARD_GOOGLE_BRASK is not set
|
||||
# CONFIG_BOARD_GOOGLE_BRYA0 is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRAASK is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRAASKOV is not set
|
||||
# CONFIG_BOARD_GOOGLE_CONSTITUTION is not set
|
||||
# CONFIG_BOARD_GOOGLE_CROTA is not set
|
||||
# CONFIG_BOARD_GOOGLE_FELWINTER is not set
|
||||
# CONFIG_BOARD_GOOGLE_GAELIN is not set
|
||||
# CONFIG_BOARD_GOOGLE_GIMBLE is not set
|
||||
# CONFIG_BOARD_GOOGLE_GIMBLE4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_GLADIOS is not set
|
||||
# CONFIG_BOARD_GOOGLE_GOTHRAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_HADES is not set
|
||||
# CONFIG_BOARD_GOOGLE_KANO is not set
|
||||
# CONFIG_BOARD_GOOGLE_KINOX is not set
|
||||
# CONFIG_BOARD_GOOGLE_KULDAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_JOXER is not set
|
||||
# CONFIG_BOARD_GOOGLE_LISBON is not set
|
||||
# CONFIG_BOARD_GOOGLE_MARASOV is not set
|
||||
# CONFIG_BOARD_GOOGLE_MITHRAX is not set
|
||||
# CONFIG_BOARD_GOOGLE_MOLI is not set
|
||||
# CONFIG_BOARD_GOOGLE_NIVVIKS is not set
|
||||
# CONFIG_BOARD_GOOGLE_NEREID is not set
|
||||
# CONFIG_BOARD_GOOGLE_OMNIGUL is not set
|
||||
# CONFIG_BOARD_GOOGLE_OSIRIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_PIRRHA is not set
|
||||
# CONFIG_BOARD_GOOGLE_PRIMUS is not set
|
||||
# CONFIG_BOARD_GOOGLE_PRIMUS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_PUJJO is not set
|
||||
# CONFIG_BOARD_GOOGLE_QUANDISO is not set
|
||||
# CONFIG_BOARD_GOOGLE_REDRIX is not set
|
||||
# CONFIG_BOARD_GOOGLE_REDRIX4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_SKOLAS 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_ULDREN is not set
|
||||
# CONFIG_BOARD_GOOGLE_VELL is not set
|
||||
# CONFIG_BOARD_GOOGLE_VOLMAR is not set
|
||||
# CONFIG_BOARD_GOOGLE_XIVU is not set
|
||||
# CONFIG_BOARD_GOOGLE_YAVIKS is not set
|
||||
# CONFIG_BOARD_GOOGLE_YAVILLA is not set
|
||||
# CONFIG_BOARD_GOOGLE_ZYDRON is not set
|
||||
# CONFIG_BOARD_GOOGLE_NOKRIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_DOCHI 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
|
||||
# CONFIG_BOARD_GOOGLE_VOLTORB is not set
|
||||
# CONFIG_BOARD_GOOGLE_PONYTA is not set
|
||||
|
||||
#
|
||||
# Krabby
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_KRABBY is not set
|
||||
# CONFIG_BOARD_GOOGLE_TENTACRUEL is not set
|
||||
# CONFIG_BOARD_GOOGLE_MAGIKARP is not set
|
||||
|
||||
#
|
||||
# Staryu
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_STARMIE 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_DIBBI 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
|
||||
# CONFIG_BOARD_GOOGLE_SHOTZO is not set
|
||||
# CONFIG_BOARD_GOOGLE_TARANZA is not set
|
||||
# CONFIG_BOARD_GOOGLE_BOXY is not set
|
||||
# CONFIG_BOARD_GOOGLE_DEXI 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
|
||||
|
||||
#
|
||||
# Geralt
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_GERALT 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_DRATINI 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_KINDRED is not set
|
||||
# CONFIG_BOARD_GOOGLE_KOHAKU is not set
|
||||
# CONFIG_BOARD_GOOGLE_MUSHU is not set
|
||||
# CONFIG_BOARD_GOOGLE_NIGHTFURY is not set
|
||||
# CONFIG_BOARD_GOOGLE_PALKIA 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
|
||||
|
||||
#
|
||||
# Myst
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_MYST 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
|
||||
|
||||
#
|
||||
# Puff
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_AMBASSADOR is not set
|
||||
# CONFIG_BOARD_GOOGLE_DOOLY 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_KAISA_LEGACY is not set
|
||||
# CONFIG_BOARD_GOOGLE_KAISA is not set
|
||||
# CONFIG_BOARD_GOOGLE_MOONBUGGY is not set
|
||||
# CONFIG_BOARD_GOOGLE_NOIBAT is not set
|
||||
# CONFIG_BOARD_GOOGLE_PUFF is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCOUT is not set
|
||||
# CONFIG_BOARD_GOOGLE_WYVERN 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_EXPRESSO 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
|
||||
|
||||
#
|
||||
# Rex
|
||||
#
|
||||
# CONFIG_BOARD_GOOGLE_REX0 is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCREEBO is not set
|
||||
# CONFIG_BOARD_GOOGLE_SCREEBO4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_KARIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_KARIS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX_EC_ISH is not set
|
||||
# CONFIG_BOARD_GOOGLE_OVIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_OVIS4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX4ES is not set
|
||||
# CONFIG_BOARD_GOOGLE_REX4ES_EC_ISH 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
|
||||
# CONFIG_BOARD_GOOGLE_WINTERHOLD is not set
|
||||
# CONFIG_BOARD_GOOGLE_FROSTFLOW is not set
|
||||
# CONFIG_BOARD_GOOGLE_CRYSTALDRIFT is not set
|
||||
# CONFIG_BOARD_GOOGLE_MARKARTH 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_CHRONICLER is not set
|
||||
# CONFIG_BOARD_GOOGLE_COLLIS is not set
|
||||
# CONFIG_BOARD_GOOGLE_COPANO is not set
|
||||
# CONFIG_BOARD_GOOGLE_DELBIN is not set
|
||||
# CONFIG_BOARD_GOOGLE_DROBIT is not set
|
||||
# CONFIG_BOARD_GOOGLE_ELDRID is not set
|
||||
# CONFIG_BOARD_GOOGLE_ELEMI 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_VOEMA is not set
|
||||
# CONFIG_BOARD_GOOGLE_VOLET 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
|
||||
|
||||
#
|
||||
# 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_VBT_DATA_SIZE_KB=8
|
||||
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_SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_EC_GOOGLE_CHROMEEC_SPI_WAKEUP_DELAY_US=0
|
||||
CONFIG_PS2K_EISAID="PNP0303"
|
||||
CONFIG_PS2M_EISAID="PNP0F13"
|
||||
CONFIG_TTYS0_BAUD=115200
|
||||
CONFIG_D3COLD_SUPPORT=y
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
|
||||
CONFIG_HEAP_SIZE=0x4000
|
||||
CONFIG_EC_GPE_SCI=0x50
|
||||
# CONFIG_TPM_MEASURED_BOOT is not set
|
||||
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_ARM64_BL31_EXTERNAL_FILE=""
|
||||
CONFIG_ARCH_ARMV8_EXTENSION=0
|
||||
CONFIG_STACK_SIZE=0x0
|
||||
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_GENERIC_UDELAY=y
|
||||
CONFIG_SOC_ROCKCHIP_RK3399=y
|
||||
# CONFIG_RK3399_SPREAD_SPECTRUM_DDR is not set
|
||||
CONFIG_CBFS_CACHE_ALIGN=8
|
||||
|
||||
#
|
||||
# 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
|
||||
CONFIG_NO_EARLY_GFX_INIT=y
|
||||
|
||||
#
|
||||
# Display
|
||||
#
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_LINEAR_FRAMEBUFFER=y
|
||||
# CONFIG_BOOTSPLASH is not set
|
||||
# end of Display
|
||||
|
||||
CONFIG_FIRMWARE_CONNECTION_MANAGER=y
|
||||
# CONFIG_SOFTWARE_CONNECTION_MANAGER is not set
|
||||
# CONFIG_SOFTWARE_I2C is not set
|
||||
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||
CONFIG_RESOURCE_ALLOCATION_TOP_DOWN=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_NO_FAST_READ is not set
|
||||
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_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_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_DRIVERS_NXP_UWB_SR1XX is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
|
||||
# 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_PCR_BOOT_MODE=1
|
||||
CONFIG_PCR_HWID=1
|
||||
CONFIG_PCR_SRTM=2
|
||||
CONFIG_PCR_RUNTIME_DATA=3
|
||||
# end of Trusted Platform Module
|
||||
|
||||
CONFIG_TPM_SETUP_HIBERNATE_ON_ERR=y
|
||||
|
||||
#
|
||||
# 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_ACPI_CUSTOM_MADT=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_TTYS0_BASE=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_LCS=3
|
||||
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
|
||||
# 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_DECOMPRESS_OFAST=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
|
|
@ -1,3 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
|
@ -1,397 +0,0 @@
|
|||
#
|
||||
# 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_IWYU is not set
|
||||
# CONFIG_FMD_GENPARSER is not set
|
||||
# CONFIG_UTIL_GENPARSER is not set
|
||||
CONFIG_OPTION_BACKEND_NONE=y
|
||||
CONFIG_COMPRESS_RAMSTAGE_LZMA=y
|
||||
# CONFIG_COMPRESS_RAMSTAGE_LZ4 is not set
|
||||
CONFIG_COMPRESS_PRERAM_STAGES=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
|
||||
|
||||
#
|
||||
# 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_BYTEDANCE 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=y
|
||||
# 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_IBM is not set
|
||||
# CONFIG_VENDOR_INTEL is not set
|
||||
# CONFIG_VENDOR_INVENTEC 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="QEMU AArch64"
|
||||
CONFIG_MAINBOARD_DIR="emulation/qemu-aarch64"
|
||||
CONFIG_DIMM_MAX=4
|
||||
CONFIG_DIMM_SPD_SIZE=256
|
||||
CONFIG_FMDFILE=""
|
||||
# CONFIG_NO_POST is not set
|
||||
CONFIG_MAINBOARD_VENDOR="QEMU"
|
||||
CONFIG_CBFS_SIZE=0x00c00000
|
||||
CONFIG_CONSOLE_SERIAL=y
|
||||
CONFIG_MAX_CPUS=2
|
||||
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
|
||||
CONFIG_POST_DEVICE=y
|
||||
CONFIG_UART_FOR_CONSOLE=0
|
||||
CONFIG_DEVICETREE="devicetree.cb"
|
||||
# CONFIG_VBOOT is not set
|
||||
CONFIG_OVERRIDE_DEVICETREE=""
|
||||
CONFIG_DRAM_SIZE_MB=261120
|
||||
# CONFIG_CONSOLE_POST is not set
|
||||
CONFIG_BOARD_EMULATION_QEMU_AARCH64=y
|
||||
# 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_POWER9 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_ECAM_MMCONF_BASE_ADDRESS=0x4010000000
|
||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
||||
CONFIG_MEMLAYOUT_LD_FILE="src/mainboard/emulation/qemu-aarch64/memlayout.ld"
|
||||
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
|
||||
CONFIG_DRIVERS_INTEL_WIFI=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
||||
CONFIG_VBT_DATA_SIZE_KB=8
|
||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||
CONFIG_PS2K_EISAID="PNP0303"
|
||||
CONFIG_PS2M_EISAID="PNP0F13"
|
||||
CONFIG_TTYS0_BAUD=115200
|
||||
CONFIG_D3COLD_SUPPORT=y
|
||||
# CONFIG_PCIEXP_ASPM is not set
|
||||
# CONFIG_PCIEXP_L1_SUB_STATE is not set
|
||||
# CONFIG_PCIEXP_CLK_PM is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
|
||||
CONFIG_HEAP_SIZE=0x4000
|
||||
CONFIG_EC_GPE_SCI=0x50
|
||||
CONFIG_BOARD_ROMSIZE_KB_16384=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=y
|
||||
# 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=12288
|
||||
CONFIG_ROM_SIZE=0x00c00000
|
||||
# end of Mainboard
|
||||
|
||||
#
|
||||
# Chipset
|
||||
#
|
||||
|
||||
#
|
||||
# SoC
|
||||
#
|
||||
CONFIG_CHIPSET_DEVICETREE=""
|
||||
CONFIG_ARM64_BL31_EXTERNAL_FILE=""
|
||||
CONFIG_ARCH_ARMV8_EXTENSION=0
|
||||
CONFIG_STACK_SIZE=0x0
|
||||
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_PCIEXP_COMMON_CLOCK is not set
|
||||
CONFIG_GENERIC_UDELAY=y
|
||||
CONFIG_CBFS_CACHE_ALIGN=8
|
||||
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xfe000000
|
||||
|
||||
#
|
||||
# CPU
|
||||
#
|
||||
|
||||
#
|
||||
# Northbridge
|
||||
#
|
||||
|
||||
#
|
||||
# Southbridge
|
||||
#
|
||||
# CONFIG_PCIEXP_HOTPLUG is not set
|
||||
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
|
||||
CONFIG_RCBA_LENGTH=0x4000
|
||||
|
||||
#
|
||||
# Super I/O
|
||||
#
|
||||
|
||||
#
|
||||
# Embedded Controllers
|
||||
#
|
||||
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_ARCH_TIMER=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
|
||||
CONFIG_NO_EARLY_GFX_INIT=y
|
||||
|
||||
#
|
||||
# Display
|
||||
#
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_LINEAR_FRAMEBUFFER=y
|
||||
# CONFIG_BOOTSPLASH is not set
|
||||
# end of Display
|
||||
|
||||
CONFIG_PCI=y
|
||||
CONFIG_ECAM_MMCONF_SUPPORT=y
|
||||
CONFIG_PCIX_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_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_SOFTWARE_I2C is not set
|
||||
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
|
||||
# end of Devices
|
||||
|
||||
#
|
||||
# Generic Drivers
|
||||
#
|
||||
CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
|
||||
CONFIG_DRIVERS_UART=y
|
||||
CONFIG_HAVE_UART_SPECIAL=y
|
||||
# CONFIG_DRIVERS_UART_OXPCIE is not set
|
||||
CONFIG_DRIVERS_UART_PL011=y
|
||||
# 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_NXP_UWB_SR1XX is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
|
||||
# CONFIG_DRIVERS_SIL_3114 is not set
|
||||
CONFIG_DRIVERS_WIFI_GENERIC=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=y
|
||||
CONFIG_PCR_BOOT_MODE=1
|
||||
CONFIG_PCR_HWID=1
|
||||
CONFIG_PCR_SRTM=2
|
||||
CONFIG_PCR_RUNTIME_DATA=3
|
||||
# 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_ACPI_CUSTOM_MADT=y
|
||||
CONFIG_BOOT_DEVICE_NOT_SPI_FLASH=y
|
||||
|
||||
#
|
||||
# Console
|
||||
#
|
||||
CONFIG_BOOTBLOCK_CONSOLE=y
|
||||
|
||||
#
|
||||
# device-specific UART
|
||||
#
|
||||
CONFIG_TTYS0_BASE=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_CONSOLE_NE2K is not set
|
||||
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_POST_DEVICE_LPC is not set
|
||||
# CONFIG_POST_DEVICE_PCI_PCIE is not set
|
||||
CONFIG_HWBASE_DEBUG_CB=y
|
||||
# end of Console
|
||||
|
||||
CONFIG_HAVE_MONOTONIC_TIMER=y
|
||||
|
||||
#
|
||||
# System tables
|
||||
#
|
||||
# end of System tables
|
||||
|
||||
#
|
||||
# Payload
|
||||
#
|
||||
CONFIG_PAYLOAD_NONE=y
|
||||
# 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_MISSING_BOARD_RESET=y
|
||||
CONFIG_DECOMPRESS_OFAST=y
|
||||
CONFIG_WARNINGS_ARE_ERRORS=y
|
||||
CONFIG_MAX_REBOOT_CNT=3
|
||||
CONFIG_NO_XIP_EARLY_STAGES=y
|
||||
CONFIG_BOOTBLOCK_CUSTOM=y
|
||||
CONFIG_HAVE_BOOTBLOCK=y
|
||||
CONFIG_HAVE_ROMSTAGE=y
|
||||
CONFIG_HAVE_RAMSTAGE=y
|
|
@ -1,3 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
|
@ -1,6 +0,0 @@
|
|||
{pico-sdk}{
|
||||
rev: 6a7db34ff63345a7badec79ebea3aaef1712f374
|
||||
loc: pico-sdk
|
||||
url: https://codeberg.org/libreboot/pico-sdk
|
||||
bkup_url: https://github.com/raspberrypi/pico-sdk
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{pico-serprog}{
|
||||
rev: 0d49d6fcbe33a5af1bff599be6ff84ddda0bc3fe
|
||||
loc: pico-serprog
|
||||
url: https://codeberg.org/libreboot/pico-serprog
|
||||
bkup_url: https://git.disroot.org/libreboot/pico-serprog
|
||||
depend: pico-sdk
|
||||
depend: rpi-pico-tinyusb
|
||||
}
|
||||
|
||||
{rpi-pico-tinyusb}{
|
||||
rev: 86c416d4c0fb38432460b3e11b08b9de76941bf5
|
||||
loc: pico-sdk/lib/tinyusb
|
||||
url: https://codeberg.org/libreboot/tinyusb
|
||||
bkup_url: https://github.com/hathach/tinyusb.git
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{stm32-vserprog}{
|
||||
rev: 8fcf0a4d41800631b571fa7bbd1d8b251f0a2111
|
||||
loc: stm32-vserprog
|
||||
url: https://codeberg.org/libreboot/stm32-vserprog
|
||||
bkup_url: https://git.disroot.org/libreboot/stm32-vserprog
|
||||
depend: libopencm3
|
||||
}
|
||||
|
||||
{libopencm3}{
|
||||
rev: 458250dc6147dc807eec9e4d5a6caf38a699ecb1
|
||||
loc: stm32-vserprog/libopencm3
|
||||
url: https://codeberg.org/libreboot/libopencm3
|
||||
bkup_url: https://github.com/libopencm3/libopencm3
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{u-boot}{
|
||||
rev: HEAD
|
||||
loc: u-boot/u-boot
|
||||
url: https://source.denx.de/u-boot/u-boot.git
|
||||
bkup_url: https://github.com/u-boot/u-boot.git
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_err.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_gap.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_gatt.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_gattc.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_gatts.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_hci.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_l2cap.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_ranges.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/ble_types.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_error.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_error_sdm.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_error_soc.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_nvic.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_sdm.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_soc.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf_svc.h
|
||||
lib/tinyusb/hw/mcu/nordic/nrf5x/s140_nrf52_6.1.1_API/include/nrf52/nrf_mbr.h
|
|
@ -1,24 +0,0 @@
|
|||
From 7b887dc79a6c1479a8615f0d1a629dea17908812 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Wed, 25 Oct 2023 09:48:52 +0100
|
||||
Subject: [PATCH 1/1] don't include empty lib/tinyusb
|
||||
|
||||
otherwise, canoeboot's build system will not
|
||||
download tinyusb as per config/git/
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
lib/tinyusb | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
delete mode 160000 lib/tinyusb
|
||||
|
||||
diff --git a/lib/tinyusb b/lib/tinyusb
|
||||
deleted file mode 160000
|
||||
index 86c416d..0000000
|
||||
--- a/lib/tinyusb
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-Subproject commit 86c416d4c0fb38432460b3e11b08b9de76941bf5
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
From e20958296b625429c45206c3ed17c8cd8509a431 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Wed, 25 Oct 2023 09:51:57 +0100
|
||||
Subject: [PATCH 1/1] don't include empty libopencm3
|
||||
|
||||
otherwise, canoeboot's build system will not download
|
||||
it as defined by config/git/
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
libopencm3 | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
delete mode 160000 libopencm3
|
||||
|
||||
diff --git a/libopencm3 b/libopencm3
|
||||
deleted file mode 160000
|
||||
index 458250d..0000000
|
||||
--- a/libopencm3
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-Subproject commit 458250dc6147dc807eec9e4d5a6caf38a699ecb1
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
u-boot
|
||||
u-boot.bin
|
||||
u-boot.dtb
|
||||
u-boot.img
|
||||
u-boot.itb
|
||||
u-boot.elf
|
|
@ -1,20 +0,0 @@
|
|||
doc/
|
||||
Licenses/r8a779x_usb3.txt
|
||||
drivers/usb/host/xhci-rcar-r8a779x_usb3_v3.h
|
||||
arch/mips/mach-octeon/include/mach/cvmx-pki-cluster.h
|
||||
arch/x86/dts/microcode/m0130673325.dtsi
|
||||
arch/x86/dts/microcode/m0130679907.dtsi
|
||||
arch/x86/dts/microcode/m01406c2220.dtsi
|
||||
arch/x86/dts/microcode/m01406c3363.dtsi
|
||||
arch/x86/dts/microcode/m01406c440a.dtsi
|
||||
arch/x86/dts/microcode/m0220661105_cv.dtsi
|
||||
arch/x86/dts/microcode/m0230671117.dtsi
|
||||
arch/x86/dts/microcode/m12206a7_00000029.dtsi
|
||||
arch/x86/dts/microcode/m12306a2_00000008.dtsi
|
||||
arch/x86/dts/microcode/m12306a4_00000007.dtsi
|
||||
arch/x86/dts/microcode/m12306a5_00000007.dtsi
|
||||
arch/x86/dts/microcode/m12306a8_00000010.dtsi
|
||||
arch/x86/dts/microcode/m12306a9_0000001b.dtsi
|
||||
arch/x86/dts/microcode/m7240651_0000001c.dtsi
|
||||
arch/x86/dts/microcode/mc0306d4_00000018.dtsi
|
||||
test/lib/strlcat.c
|
|
@ -1,100 +0,0 @@
|
|||
From 27d49512277677afb7f71e093b007b3e2022b83e Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Fri, 8 Oct 2021 17:33:22 +0300
|
||||
Subject: [PATCH] clk: rockchip: rk3399: Set hardcoded clock rates same as
|
||||
devicetree
|
||||
|
||||
Update hardcoded RK3399 clock rate definitions to match those in its
|
||||
devicetree (rk3399.dtsi), based on clock-controller assigned-clocks.
|
||||
Add and initialize NPLL since it's on that list, though nothing seems to
|
||||
use it in the driver so far.
|
||||
|
||||
Also update VOP ACLK to 400MHz as it divides from CPLL (now 800MHz).
|
||||
All this stops the displayed vendor bitmap from getting disfigured
|
||||
when chainloading U-Boot from coreboot+depthcharge (as RW_LEGACY).
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Link: https://github.com/alpernebbi/u-boot/commit/7e73b7a7550cfdd22a1413c263026e41e56e7617
|
||||
---
|
||||
.../include/asm/arch-rockchip/cru_rk3399.h | 19 ++++++++++---------
|
||||
drivers/clk/rockchip/clk_rk3399.c | 10 ++++++----
|
||||
2 files changed, 16 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||
index d941a129f3e5..54035c0df1f3 100644
|
||||
--- a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||
+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||
@@ -69,7 +69,8 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
|
||||
#define LPLL_HZ (600*MHz)
|
||||
#define BPLL_HZ (600*MHz)
|
||||
#define GPLL_HZ (594*MHz)
|
||||
-#define CPLL_HZ (384*MHz)
|
||||
+#define CPLL_HZ (800*MHz)
|
||||
+#define NPLL_HZ (1000*MHz)
|
||||
#define PPLL_HZ (676*MHz)
|
||||
|
||||
#define PMU_PCLK_HZ (48*MHz)
|
||||
@@ -82,16 +83,16 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
|
||||
#define ATCLK_CORE_B_HZ (300*MHz)
|
||||
#define PCLK_DBG_B_HZ (100*MHz)
|
||||
|
||||
-#define PERIHP_ACLK_HZ (148500*KHz)
|
||||
-#define PERIHP_HCLK_HZ (148500*KHz)
|
||||
-#define PERIHP_PCLK_HZ (37125*KHz)
|
||||
+#define PERIHP_ACLK_HZ (150*MHz)
|
||||
+#define PERIHP_HCLK_HZ (75*MHz)
|
||||
+#define PERIHP_PCLK_HZ (37500*KHz)
|
||||
|
||||
-#define PERILP0_ACLK_HZ (99000*KHz)
|
||||
-#define PERILP0_HCLK_HZ (99000*KHz)
|
||||
-#define PERILP0_PCLK_HZ (49500*KHz)
|
||||
+#define PERILP0_ACLK_HZ (100*MHz)
|
||||
+#define PERILP0_HCLK_HZ (100*MHz)
|
||||
+#define PERILP0_PCLK_HZ (50*MHz)
|
||||
|
||||
-#define PERILP1_HCLK_HZ (99000*KHz)
|
||||
-#define PERILP1_PCLK_HZ (49500*KHz)
|
||||
+#define PERILP1_HCLK_HZ (100*MHz)
|
||||
+#define PERILP1_PCLK_HZ (50*MHz)
|
||||
|
||||
#define PWM_CLOCK_HZ PMU_PCLK_HZ
|
||||
|
||||
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
|
||||
index f748fb5189e0..33f02c2d633c 100644
|
||||
--- a/drivers/clk/rockchip/clk_rk3399.c
|
||||
+++ b/drivers/clk/rockchip/clk_rk3399.c
|
||||
@@ -54,10 +54,11 @@ struct pll_div {
|
||||
.fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\
|
||||
.postdiv1 = _postdiv1, .postdiv2 = _postdiv2};
|
||||
|
||||
-static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 2, 2, 1);
|
||||
-static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 2, 2);
|
||||
+static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 1, 4, 1);
|
||||
+static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 3, 1);
|
||||
+static const struct pll_div npll_init_cfg = PLL_DIVISORS(NPLL_HZ, 1, 3, 1);
|
||||
#if !defined(CONFIG_SPL_BUILD)
|
||||
-static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 2, 2, 1);
|
||||
+static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 3, 2, 1);
|
||||
#endif
|
||||
|
||||
static const struct pll_div apll_l_1600_cfg = PLL_DIVISORS(1600 * MHz, 3, 1, 1);
|
||||
@@ -682,7 +683,7 @@ static ulong rk3399_spi_set_clk(struct rockchip_cru *cru, ulong clk_id, uint hz)
|
||||
static ulong rk3399_vop_set_clk(struct rockchip_cru *cru, ulong clk_id, u32 hz)
|
||||
{
|
||||
struct pll_div vpll_config = {0};
|
||||
- int aclk_vop = 198 * MHz;
|
||||
+ int aclk_vop = 400 * MHz;
|
||||
void *aclkreg_addr, *dclkreg_addr;
|
||||
u32 div;
|
||||
|
||||
@@ -1336,6 +1337,7 @@ static void rkclk_init(struct rockchip_cru *cru)
|
||||
/* configure gpll cpll */
|
||||
rkclk_set_pll(&cru->gpll_con[0], &gpll_init_cfg);
|
||||
rkclk_set_pll(&cru->cpll_con[0], &cpll_init_cfg);
|
||||
+ rkclk_set_pll(&cru->npll_con[0], &npll_init_cfg);
|
||||
|
||||
/* configure perihp aclk, hclk, pclk */
|
||||
aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1;
|
||||
--
|
||||
2.42.0
|
||||
|
|
@ -1,513 +0,0 @@
|
|||
From ac31b6bc4bcfc328342ec1677db5b80548d43b35 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 10 Jan 2022 00:56:31 +0000
|
||||
Subject: [PATCH 1/4] video: Add cursor support for video consoles
|
||||
|
||||
So far the video console is completely lacking any cursor, which makes
|
||||
typing and correcting quite irritating.
|
||||
|
||||
Add a simple cursor display by writing a SPACE glyph in the background
|
||||
colour to the next character position on the screen. Any typed character
|
||||
will naturally overwrite it, so we need to only explicitly clear it if
|
||||
the next character will appear somewhere else (newline, backspace).
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
Tested-by: Simon Glass <sjg@chromium.org>
|
||||
Link: https://lore.kernel.org/r/20220110005638.21599-2-andre.przywara@arm.com
|
||||
[Alper: Rebase for console_set_font(), reword for CONFIG_VIDEO]
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
---
|
||||
drivers/video/console_core.c | 1 +
|
||||
drivers/video/vidconsole-uclass.c | 42 +++++++++++++++++++++++++++++++
|
||||
include/video_console.h | 1 +
|
||||
3 files changed, 44 insertions(+)
|
||||
|
||||
diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c
|
||||
index b5d0e3dceca3..60de5fcacb82 100644
|
||||
--- a/drivers/video/console_core.c
|
||||
+++ b/drivers/video/console_core.c
|
||||
@@ -30,6 +30,7 @@ static int console_set_font(struct udevice *dev, struct video_fontdata *fontdata
|
||||
debug("height: %d\n", fontdata->height);
|
||||
|
||||
priv->fontdata = fontdata;
|
||||
+ vc_priv->cursor_visible = true;
|
||||
vc_priv->x_charsize = fontdata->width;
|
||||
vc_priv->y_charsize = fontdata->height;
|
||||
if (vid_priv->rot % 2) {
|
||||
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
|
||||
index b5b3b6625902..a6d994bd637c 100644
|
||||
--- a/drivers/video/vidconsole-uclass.c
|
||||
+++ b/drivers/video/vidconsole-uclass.c
|
||||
@@ -56,6 +56,26 @@ static int vidconsole_entry_start(struct udevice *dev)
|
||||
return ops->entry_start(dev);
|
||||
}
|
||||
|
||||
+static void draw_cursor(struct udevice *dev, bool state)
|
||||
+{
|
||||
+ struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||
+ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
|
||||
+ u32 tmp;
|
||||
+
|
||||
+ if (!priv->cursor_visible)
|
||||
+ return;
|
||||
+
|
||||
+ if (state) {
|
||||
+ tmp = vid_priv->colour_bg;
|
||||
+ vid_priv->colour_bg = vid_priv->colour_fg;
|
||||
+ }
|
||||
+
|
||||
+ vidconsole_putc_xy(dev, priv->xcur_frac, priv->ycur, ' ');
|
||||
+
|
||||
+ if (state)
|
||||
+ vid_priv->colour_bg = tmp;
|
||||
+}
|
||||
+
|
||||
/* Move backwards one space */
|
||||
static int vidconsole_back(struct udevice *dev)
|
||||
{
|
||||
@@ -63,6 +83,8 @@ static int vidconsole_back(struct udevice *dev)
|
||||
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
|
||||
int ret;
|
||||
|
||||
+ draw_cursor(dev, false);
|
||||
+
|
||||
if (ops->backspace) {
|
||||
ret = ops->backspace(dev);
|
||||
if (ret != -ENOSYS)
|
||||
@@ -89,6 +111,8 @@ static void vidconsole_newline(struct udevice *dev)
|
||||
const int rows = CONFIG_VAL(CONSOLE_SCROLL_LINES);
|
||||
int i, ret;
|
||||
|
||||
+ draw_cursor(dev, false);
|
||||
+
|
||||
priv->xcur_frac = priv->xstart_frac;
|
||||
priv->ycur += priv->y_charsize;
|
||||
|
||||
@@ -282,6 +306,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
|
||||
|
||||
break;
|
||||
}
|
||||
+ case 'l':
|
||||
+ draw_cursor(dev, false);
|
||||
+ priv->cursor_visible = 0;
|
||||
+ break;
|
||||
+ case 'h':
|
||||
+ priv->cursor_visible = 1;
|
||||
+ draw_cursor(dev, true);
|
||||
+ break;
|
||||
case 'J': {
|
||||
int mode;
|
||||
|
||||
@@ -456,6 +488,11 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||
int ret;
|
||||
|
||||
+ /*
|
||||
+ * We don't need to clear the cursor since we are going to overwrite
|
||||
+ * that character anyway.
|
||||
+ */
|
||||
+
|
||||
if (priv->escape) {
|
||||
vidconsole_escape_char(dev, ch);
|
||||
return 0;
|
||||
@@ -470,6 +507,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
/* beep */
|
||||
break;
|
||||
case '\r':
|
||||
+ draw_cursor(dev, false);
|
||||
priv->xcur_frac = priv->xstart_frac;
|
||||
break;
|
||||
case '\n':
|
||||
@@ -477,6 +515,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
vidconsole_entry_start(dev);
|
||||
break;
|
||||
case '\t': /* Tab (8 chars alignment) */
|
||||
+ draw_cursor(dev, false);
|
||||
priv->xcur_frac = ((priv->xcur_frac / priv->tab_width_frac)
|
||||
+ 1) * priv->tab_width_frac;
|
||||
|
||||
@@ -494,6 +533,8 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
break;
|
||||
}
|
||||
|
||||
+ draw_cursor(dev, true);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -646,6 +687,7 @@ static int vidconsole_pre_probe(struct udevice *dev)
|
||||
struct video_priv *vid_priv = dev_get_uclass_priv(vid);
|
||||
|
||||
priv->xsize_frac = VID_TO_POS(vid_priv->xsize);
|
||||
+ priv->cursor_visible = false;
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/include/video_console.h b/include/video_console.h
|
||||
index 2694e44f6ecf..949abb3861e7 100644
|
||||
--- a/include/video_console.h
|
||||
+++ b/include/video_console.h
|
||||
@@ -59,6 +59,7 @@ struct vidconsole_priv {
|
||||
int escape_len;
|
||||
int row_saved;
|
||||
int col_saved;
|
||||
+ bool cursor_visible;
|
||||
char escape_buf[32];
|
||||
};
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From ab8ddf81c1442717f6ffddc3460d4e4adbd5b570 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 10 Jan 2022 00:56:36 +0000
|
||||
Subject: [PATCH 2/4] efi-selftest: Add international characters test
|
||||
|
||||
UEFI relies entirely on unicode output, which actual fonts displayed on
|
||||
the screen might not be ready for.
|
||||
|
||||
Add a test displaying some international characters, to reveal missing
|
||||
glyphs, especially in our builtin fonts.
|
||||
This would be needed to be manually checked on the screen for
|
||||
correctness.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Link: https://lore.kernel.org/r/20220110005638.21599-7-andre.przywara@arm.com
|
||||
---
|
||||
lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
index cc44b38bc23a..175731ae96b6 100644
|
||||
--- a/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
@@ -118,6 +118,11 @@ static int execute(void)
|
||||
efi_st_printf("Unicode not handled properly\n");
|
||||
return EFI_ST_FAILURE;
|
||||
}
|
||||
+ ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n");
|
||||
+ if (ret != EFI_ST_SUCCESS) {
|
||||
+ efi_st_error("OutputString failed for international chars\n");
|
||||
+ return EFI_ST_FAILURE;
|
||||
+ }
|
||||
efi_st_printf("\n");
|
||||
|
||||
return EFI_ST_SUCCESS;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 48e918c31a46815325ffd7a77eb7a3ffedf8e59c Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 10 Jan 2022 00:56:37 +0000
|
||||
Subject: [PATCH 3/4] efi_selftest: Add box drawing character selftest
|
||||
|
||||
UEFI applications rely on Unicode output capability, and might use that
|
||||
for drawing pseudo-graphical interfaces using Unicode defined box
|
||||
drawing characters.
|
||||
|
||||
Add a simple test to display the most basic box characters, which would
|
||||
need to be checked manually on the screen for correctness.
|
||||
To facilitate this, add a three second delay after the output at this
|
||||
point.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Link: https://lore.kernel.org/r/20220110005638.21599-8-andre.przywara@arm.com
|
||||
---
|
||||
lib/efi_selftest/efi_selftest_textoutput.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
index 175731ae96b6..3c6870f74241 100644
|
||||
--- a/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||
@@ -123,6 +123,17 @@ static int execute(void)
|
||||
efi_st_error("OutputString failed for international chars\n");
|
||||
return EFI_ST_FAILURE;
|
||||
}
|
||||
+ ret = con_out->output_string(con_out, L"┌─┬─┐\n");
|
||||
+ ret |= con_out->output_string(con_out, L"│ │ │\n");
|
||||
+ ret |= con_out->output_string(con_out, L"├─┼─┤\n");
|
||||
+ ret |= con_out->output_string(con_out, L"│ │ │\n");
|
||||
+ ret |= con_out->output_string(con_out, L"└─┴─┘\n");
|
||||
+ if (ret != EFI_ST_SUCCESS) {
|
||||
+ efi_st_error("OutputString failed for box drawing chars\n");
|
||||
+ return EFI_ST_FAILURE;
|
||||
+ }
|
||||
+ con_out->output_string(con_out, L"waiting for admiration...\n");
|
||||
+ EFI_CALL(systab.boottime->stall(3000000));
|
||||
efi_st_printf("\n");
|
||||
|
||||
return EFI_ST_SUCCESS;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 407ca7e821aabf240c2602dd0db56d6398a0c03b Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 10 Jan 2022 00:56:38 +0000
|
||||
Subject: [PATCH 4/4] video: Convert UTF-8 input stream to the 437 code page
|
||||
|
||||
The bitmap fonts (VGA 8x16 and friends) we import from Linux use the
|
||||
437 code page to map their glyphs. For U-Boot's own purposes this is
|
||||
probably fine, but UEFI applications output Unicode, which only matches
|
||||
in the very basic first 127 characters.
|
||||
|
||||
Add a function that converts UTF-8 character sequences into the
|
||||
respective CP437 code point, as far as the characters defined in there
|
||||
allow this. This includes quite some international and box drawing
|
||||
characters, which are used by UEFI applications.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Link: https://lore.kernel.org/r/20220110005638.21599-9-andre.przywara@arm.com
|
||||
[Alper: Rebase for makefile changes, use $(SPL_TPL_)VIDEO]
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
---
|
||||
drivers/video/Makefile | 1 +
|
||||
drivers/video/utf8_cp437.c | 169 ++++++++++++++++++++++++++++++
|
||||
drivers/video/vidconsole-uclass.c | 6 +-
|
||||
include/video_console.h | 9 ++
|
||||
4 files changed, 184 insertions(+), 1 deletion(-)
|
||||
create mode 100644 drivers/video/utf8_cp437.c
|
||||
|
||||
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
|
||||
index d13af9f3b19b..4b1983990aba 100644
|
||||
--- a/drivers/video/Makefile
|
||||
+++ b/drivers/video/Makefile
|
||||
@@ -20,6 +20,7 @@ obj-$(CONFIG_DISPLAY) += display-uclass.o
|
||||
obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi-host-uclass.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video-uclass.o vidconsole-uclass.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video_bmp.o
|
||||
+obj-$(CONFIG_$(SPL_TPL_)VIDEO) += utf8_cp437.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)PANEL) += panel-uclass.o
|
||||
obj-$(CONFIG_PANEL_HX8238D) += hx8238d.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)SIMPLE_PANEL) += simple_panel.o
|
||||
diff --git a/drivers/video/utf8_cp437.c b/drivers/video/utf8_cp437.c
|
||||
new file mode 100644
|
||||
index 000000000000..cab68b92b6e3
|
||||
--- /dev/null
|
||||
+++ b/drivers/video/utf8_cp437.c
|
||||
@@ -0,0 +1,169 @@
|
||||
+/*
|
||||
+ * Convert UTF-8 bytes into a code page 437 character.
|
||||
+ * Based on the table in the Code_page_437 Wikipedia page.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/types.h>
|
||||
+
|
||||
+uint8_t code_points_00a0[] = {
|
||||
+ 255, 173, 155, 156, 7, 157, 7, 21,
|
||||
+ 7, 7, 166, 174, 170, 7, 7, 7,
|
||||
+ 248, 241, 253, 7, 7, 230, 20, 250,
|
||||
+ 7, 7, 167, 175, 172, 171, 7, 168,
|
||||
+ 7, 7, 7, 7, 142, 143, 146, 128,
|
||||
+ 7, 144, 7, 7, 7, 7, 7, 7,
|
||||
+ 7, 165, 7, 7, 7, 7, 153, 7,
|
||||
+ 7, 7, 7, 7, 154, 7, 7, 225,
|
||||
+ 133, 160, 131, 7, 132, 134, 145, 135,
|
||||
+ 138, 130, 136, 137, 141, 161, 140, 139,
|
||||
+ 7, 164, 149, 162, 147, 7, 148, 246,
|
||||
+ 7, 151, 163, 150, 129, 7, 7, 152,
|
||||
+};
|
||||
+
|
||||
+uint8_t code_points_2550[] = {
|
||||
+ 205, 186, 213, 214, 201, 184, 183, 187,
|
||||
+ 212, 211, 200, 190, 189, 188, 198, 199,
|
||||
+ 204, 181, 182, 185, 209, 210, 203, 207,
|
||||
+ 208, 202, 216, 215, 206
|
||||
+};
|
||||
+
|
||||
+static uint8_t utf8_convert_11bit(uint16_t code)
|
||||
+{
|
||||
+ switch (code) {
|
||||
+ case 0x0192: return 159;
|
||||
+ case 0x0393: return 226;
|
||||
+ case 0x0398: return 233;
|
||||
+ case 0x03A3: return 228;
|
||||
+ case 0x03A6: return 232;
|
||||
+ case 0x03A9: return 234;
|
||||
+ case 0x03B1: return 224;
|
||||
+ case 0x03B4: return 235;
|
||||
+ case 0x03B5: return 238;
|
||||
+ case 0x03C0: return 227;
|
||||
+ case 0x03C3: return 229;
|
||||
+ case 0x03C4: return 231;
|
||||
+ case 0x03C6: return 237;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+};
|
||||
+
|
||||
+static uint8_t utf8_convert_2xxx(uint16_t code)
|
||||
+{
|
||||
+ switch (code) {
|
||||
+ case 0x2022: return 7;
|
||||
+ case 0x203C: return 19;
|
||||
+ case 0x207F: return 252;
|
||||
+ case 0x20A7: return 158;
|
||||
+ case 0x2190: return 27;
|
||||
+ case 0x2191: return 24;
|
||||
+ case 0x2192: return 26;
|
||||
+ case 0x2193: return 25;
|
||||
+ case 0x2194: return 29;
|
||||
+ case 0x2195: return 18;
|
||||
+ case 0x21A8: return 23;
|
||||
+ case 0x2219: return 249;
|
||||
+ case 0x221A: return 251;
|
||||
+ case 0x221E: return 236;
|
||||
+ case 0x221F: return 28;
|
||||
+ case 0x2229: return 239;
|
||||
+ case 0x2248: return 247;
|
||||
+ case 0x2261: return 240;
|
||||
+ case 0x2264: return 243;
|
||||
+ case 0x2265: return 242;
|
||||
+ case 0x2310: return 169;
|
||||
+ case 0x2320: return 244;
|
||||
+ case 0x2321: return 245;
|
||||
+ case 0x2500: return 196;
|
||||
+ case 0x2502: return 179;
|
||||
+ case 0x250C: return 218;
|
||||
+ case 0x2510: return 191;
|
||||
+ case 0x2514: return 192;
|
||||
+ case 0x2518: return 217;
|
||||
+ case 0x251C: return 195;
|
||||
+ case 0x2524: return 180;
|
||||
+ case 0x252C: return 194;
|
||||
+ case 0x2534: return 193;
|
||||
+ case 0x253C: return 197;
|
||||
+ case 0x2580: return 223;
|
||||
+ case 0x2584: return 220;
|
||||
+ case 0x2588: return 219;
|
||||
+ case 0x258C: return 221;
|
||||
+ case 0x2590: return 222;
|
||||
+ case 0x2591: return 176;
|
||||
+ case 0x2592: return 177;
|
||||
+ case 0x2593: return 178;
|
||||
+ case 0x25A0: return 254;
|
||||
+ case 0x25AC: return 22;
|
||||
+ case 0x25B2: return 30;
|
||||
+ case 0x25BA: return 16;
|
||||
+ case 0x25BC: return 31;
|
||||
+ case 0x25C4: return 17;
|
||||
+ case 0x25CB: return 9;
|
||||
+ case 0x25D8: return 8;
|
||||
+ case 0x25D9: return 10;
|
||||
+ case 0x263A: return 1;
|
||||
+ case 0x263B: return 2;
|
||||
+ case 0x263C: return 15;
|
||||
+ case 0x2640: return 12;
|
||||
+ case 0x2642: return 11;
|
||||
+ case 0x2660: return 6;
|
||||
+ case 0x2663: return 5;
|
||||
+ case 0x2665: return 3;
|
||||
+ case 0x2666: return 4;
|
||||
+ case 0x266A: return 13;
|
||||
+ case 0x266B: return 14;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+uint8_t convert_uc16_to_cp437(uint16_t code)
|
||||
+{
|
||||
+ if (code < 0x7f) // ASCII
|
||||
+ return code;
|
||||
+ if (code < 0xa0) // high control characters
|
||||
+ return code;
|
||||
+ if (code < 0x100) // international characters
|
||||
+ return code_points_00a0[code - 0xa0];
|
||||
+ if (code < 0x800)
|
||||
+ return utf8_convert_11bit(code);
|
||||
+ if (code >= 0x2550 && code < 0x256d) // block graphics
|
||||
+ return code_points_2550[code - 0x2550];
|
||||
+
|
||||
+ return utf8_convert_2xxx(code);
|
||||
+}
|
||||
+
|
||||
+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc)
|
||||
+{
|
||||
+ int shift;
|
||||
+ uint16_t ucs;
|
||||
+
|
||||
+ if (c < 127) // ASCII
|
||||
+ return c;
|
||||
+ if (c == 127)
|
||||
+ return 8; // DEL (?)
|
||||
+
|
||||
+ switch (c & 0xf0) {
|
||||
+ case 0xc0: case 0xd0: // two bytes sequence
|
||||
+ *esc = (1U << 24) | ((c & 0x1f) << 6);
|
||||
+ return 0;
|
||||
+ case 0xe0: // three bytes sequence
|
||||
+ *esc = (2U << 24) | ((c & 0x0f) << 12);
|
||||
+ return 0;
|
||||
+ case 0xf0: // four bytes sequence
|
||||
+ *esc = (3U << 24) | ((c & 0x07) << 18);
|
||||
+ return 0;
|
||||
+ case 0x80: case 0x90: case 0xa0: case 0xb0: // continuation
|
||||
+ shift = (*esc >> 24) - 1;
|
||||
+ ucs = *esc & 0xffffff;
|
||||
+ if (shift) {
|
||||
+ *esc = (shift << 24) | ucs | (c & 0x3f) << (shift * 6);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ *esc = 0;
|
||||
+ return convert_uc16_to_cp437(ucs | (c & 0x3f));
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
|
||||
index a6d994bd637c..a4029a58660b 100644
|
||||
--- a/drivers/video/vidconsole-uclass.c
|
||||
+++ b/drivers/video/vidconsole-uclass.c
|
||||
@@ -486,6 +486,7 @@ static int vidconsole_output_glyph(struct udevice *dev, char ch)
|
||||
int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
{
|
||||
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||
+ uint8_t cp437;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
@@ -527,7 +528,10 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||
priv->last_ch = 0;
|
||||
break;
|
||||
default:
|
||||
- ret = vidconsole_output_glyph(dev, ch);
|
||||
+ cp437 = convert_utf8_to_cp437(ch, &priv->ucs);
|
||||
+ if (cp437 == 0)
|
||||
+ return 0;
|
||||
+ ret = vidconsole_output_glyph(dev, cp437);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
break;
|
||||
diff --git a/include/video_console.h b/include/video_console.h
|
||||
index 949abb3861e7..dbfb389f324f 100644
|
||||
--- a/include/video_console.h
|
||||
+++ b/include/video_console.h
|
||||
@@ -59,6 +59,7 @@ struct vidconsole_priv {
|
||||
int escape_len;
|
||||
int row_saved;
|
||||
int col_saved;
|
||||
+ u32 ucs;
|
||||
bool cursor_visible;
|
||||
char escape_buf[32];
|
||||
};
|
||||
@@ -457,4 +458,12 @@ static inline int vidconsole_memmove(struct udevice *dev, void *dst,
|
||||
|
||||
#endif
|
||||
|
||||
+/*
|
||||
+ * Convert an UTF-8 byte into the corresponding character in the CP437
|
||||
+ * code page. Returns 0 if that character is part of a multi-byte sequence.
|
||||
+ * for which *esc holds the state of. Repeatedly feed in more bytes until
|
||||
+ * the return value returns a non-0 character.
|
||||
+ */
|
||||
+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc);
|
||||
+
|
||||
#endif
|
||||
--
|
||||
2.42.0
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,42 +0,0 @@
|
|||
From 2ab104621dc97a89bc8f75e3b5903b83e793baf8 Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Sat, 19 Aug 2023 16:43:58 +0300
|
||||
Subject: [PATCH] HACK: regulator: Don't error on reentrant regulator actions
|
||||
|
||||
Commit 4fcba5d556b42 ("regulator: implement basic reference counter")
|
||||
implements reference counting for regulator enable/disable actions, but
|
||||
does not update its callers to handle the error cases it adds. This
|
||||
breaks gru-kevin, report enabling the regulator as a success as a
|
||||
workaround. It would be better to fix the callers but that needs more
|
||||
debugging.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
---
|
||||
drivers/power/regulator/regulator_common.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/regulator/regulator_common.c b/drivers/power/regulator/regulator_common.c
|
||||
index e26f5ebec347..1c2dfdf9b19d 100644
|
||||
--- a/drivers/power/regulator/regulator_common.c
|
||||
+++ b/drivers/power/regulator/regulator_common.c
|
||||
@@ -75,7 +75,7 @@ int regulator_common_set_enable(const struct udevice *dev,
|
||||
/* If previously enabled, increase count */
|
||||
if (enable && plat->enable_count > 0) {
|
||||
plat->enable_count++;
|
||||
- return -EALREADY;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
if (!enable) {
|
||||
@@ -85,7 +85,7 @@ int regulator_common_set_enable(const struct udevice *dev,
|
||||
return -EBUSY;
|
||||
} else if (!plat->enable_count) {
|
||||
/* If already disabled, do nothing */
|
||||
- return -EALREADY;
|
||||
+ return 0;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
|
@ -1,307 +0,0 @@
|
|||
From b14bc4a5d8dc31294dde4ee9ce8008d763c695de Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Fri, 13 Oct 2023 14:06:26 +0300
|
||||
Subject: [PATCH] HACK: rockchip: Remove binman image descriptions
|
||||
|
||||
For Rockchip boards binman tries to build SPI and MMC images that
|
||||
require an externally built BL31 file to be provided, and the build
|
||||
fails otherwise. This is not really as configurable as it should be.
|
||||
|
||||
Some downstreams only care about build outputs for U-Boot proper. As a
|
||||
hack to make sure they can do so without building BL31, remove the
|
||||
binman image descriptions from the device-tree sources. However,
|
||||
BINMAN_FDT expects these to be present and has to be disabled as well.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
---
|
||||
arch/arm/dts/rk3288-u-boot.dtsi | 24 ----
|
||||
arch/arm/dts/rk3399-gru-u-boot.dtsi | 6 -
|
||||
arch/arm/dts/rk3399-u-boot.dtsi | 25 ----
|
||||
arch/arm/dts/rockchip-u-boot.dtsi | 186 ----------------------------
|
||||
4 files changed, 241 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3288-u-boot.dtsi b/arch/arm/dts/rk3288-u-boot.dtsi
|
||||
index c4c5a2d225c4..432ab92d97c9 100644
|
||||
--- a/arch/arm/dts/rk3288-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3288-u-boot.dtsi
|
||||
@@ -55,30 +55,6 @@ noc: syscon@ffac0000 {
|
||||
};
|
||||
};
|
||||
|
||||
-#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
|
||||
-&binman {
|
||||
- rom {
|
||||
- filename = "u-boot.rom";
|
||||
- size = <0x400000>;
|
||||
- pad-byte = <0xff>;
|
||||
-
|
||||
- mkimage {
|
||||
- args = "-n rk3288 -T rkspi";
|
||||
- u-boot-spl {
|
||||
- };
|
||||
- };
|
||||
- u-boot-img {
|
||||
- offset = <0x20000>;
|
||||
- };
|
||||
- u-boot {
|
||||
- offset = <0x300000>;
|
||||
- };
|
||||
- fdtmap {
|
||||
- };
|
||||
- };
|
||||
-};
|
||||
-#endif
|
||||
-
|
||||
&bus_intmem {
|
||||
ddr_sram: ddr-sram@1000 {
|
||||
compatible = "rockchip,rk3288-ddr-sram";
|
||||
diff --git a/arch/arm/dts/rk3399-gru-u-boot.dtsi b/arch/arm/dts/rk3399-gru-u-boot.dtsi
|
||||
index b1604a6872c0..54296b4d7a1c 100644
|
||||
--- a/arch/arm/dts/rk3399-gru-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi
|
||||
@@ -15,12 +15,6 @@ config {
|
||||
};
|
||||
};
|
||||
|
||||
-&binman {
|
||||
- rom {
|
||||
- size = <0x800000>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
&cros_ec {
|
||||
ec-interrupt = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
|
||||
index 3423b882c437..0bf4c481b39a 100644
|
||||
--- a/arch/arm/dts/rk3399-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rk3399-u-boot.dtsi
|
||||
@@ -60,31 +60,6 @@ pmusgrf: syscon@ff330000 {
|
||||
|
||||
};
|
||||
|
||||
-#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
|
||||
-&binman {
|
||||
- multiple-images;
|
||||
- rom {
|
||||
- filename = "u-boot.rom";
|
||||
- size = <0x400000>;
|
||||
- pad-byte = <0xff>;
|
||||
-
|
||||
- mkimage {
|
||||
- args = "-n rk3399 -T rkspi";
|
||||
- u-boot-spl {
|
||||
- };
|
||||
- };
|
||||
- u-boot-img {
|
||||
- offset = <0x40000>;
|
||||
- };
|
||||
- u-boot {
|
||||
- offset = <0x300000>;
|
||||
- };
|
||||
- fdtmap {
|
||||
- };
|
||||
- };
|
||||
-};
|
||||
-#endif /* CONFIG_ROCKCHIP_SPI_IMAGE && CONFIG_HAS_ROM */
|
||||
-
|
||||
&cru {
|
||||
bootph-all;
|
||||
};
|
||||
diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
|
||||
index be2658e8ef18..3d55553e4401 100644
|
||||
--- a/arch/arm/dts/rockchip-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/rockchip-u-boot.dtsi
|
||||
@@ -10,189 +10,3 @@ binman: binman {
|
||||
multiple-images;
|
||||
};
|
||||
};
|
||||
-
|
||||
-#ifdef CONFIG_SPL
|
||||
-&binman {
|
||||
- simple-bin {
|
||||
- filename = "u-boot-rockchip.bin";
|
||||
- pad-byte = <0xff>;
|
||||
-
|
||||
- mkimage {
|
||||
- filename = "idbloader.img";
|
||||
- args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
|
||||
- multiple-data-files;
|
||||
-
|
||||
-#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
|
||||
- rockchip-tpl {
|
||||
- };
|
||||
-#elif defined(CONFIG_TPL)
|
||||
- u-boot-tpl {
|
||||
- };
|
||||
-#endif
|
||||
- u-boot-spl {
|
||||
- };
|
||||
- };
|
||||
-
|
||||
-#if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE))
|
||||
- fit: fit {
|
||||
-#ifdef CONFIG_ARM64
|
||||
- description = "FIT image for U-Boot with bl31 (TF-A)";
|
||||
-#else
|
||||
- description = "FIT image with OP-TEE";
|
||||
-#endif
|
||||
- #address-cells = <1>;
|
||||
- fit,fdt-list = "of-list";
|
||||
- filename = "u-boot.itb";
|
||||
- fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
|
||||
- fit,align = <512>;
|
||||
- offset = <CONFIG_SPL_PAD_TO>;
|
||||
- images {
|
||||
- u-boot {
|
||||
- description = "U-Boot";
|
||||
- type = "standalone";
|
||||
- os = "U-Boot";
|
||||
-#ifdef CONFIG_ARM64
|
||||
- arch = "arm64";
|
||||
-#else
|
||||
- arch = "arm";
|
||||
-#endif
|
||||
- compression = "none";
|
||||
- load = <CONFIG_TEXT_BASE>;
|
||||
- entry = <CONFIG_TEXT_BASE>;
|
||||
- u-boot-nodtb {
|
||||
- };
|
||||
-#ifdef CONFIG_SPL_FIT_SIGNATURE
|
||||
- hash {
|
||||
- algo = "sha256";
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
-
|
||||
-#ifdef CONFIG_ARM64
|
||||
- @atf-SEQ {
|
||||
- fit,operation = "split-elf";
|
||||
- description = "ARM Trusted Firmware";
|
||||
- type = "firmware";
|
||||
- arch = "arm64";
|
||||
- os = "arm-trusted-firmware";
|
||||
- compression = "none";
|
||||
- fit,load;
|
||||
- fit,entry;
|
||||
- fit,data;
|
||||
-
|
||||
- atf-bl31 {
|
||||
- };
|
||||
-#ifdef CONFIG_SPL_FIT_SIGNATURE
|
||||
- hash {
|
||||
- algo = "sha256";
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
- @tee-SEQ {
|
||||
- fit,operation = "split-elf";
|
||||
- description = "TEE";
|
||||
- type = "tee";
|
||||
- arch = "arm64";
|
||||
- os = "tee";
|
||||
- compression = "none";
|
||||
- fit,load;
|
||||
- fit,entry;
|
||||
- fit,data;
|
||||
-
|
||||
- tee-os {
|
||||
- optional;
|
||||
- };
|
||||
-#ifdef CONFIG_SPL_FIT_SIGNATURE
|
||||
- hash {
|
||||
- algo = "sha256";
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
-#else
|
||||
- op-tee {
|
||||
- description = "OP-TEE";
|
||||
- type = "tee";
|
||||
- arch = "arm";
|
||||
- os = "tee";
|
||||
- compression = "none";
|
||||
- load = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
|
||||
- entry = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
|
||||
-
|
||||
- tee-os {
|
||||
- };
|
||||
-#ifdef CONFIG_SPL_FIT_SIGNATURE
|
||||
- hash {
|
||||
- algo = "sha256";
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
-#endif
|
||||
-
|
||||
- @fdt-SEQ {
|
||||
- description = "fdt-NAME";
|
||||
- compression = "none";
|
||||
- type = "flat_dt";
|
||||
-#ifdef CONFIG_SPL_FIT_SIGNATURE
|
||||
- hash {
|
||||
- algo = "sha256";
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- configurations {
|
||||
- default = "@config-DEFAULT-SEQ";
|
||||
- @config-SEQ {
|
||||
- description = "NAME.dtb";
|
||||
- fdt = "fdt-SEQ";
|
||||
-#ifdef CONFIG_ARM64
|
||||
- fit,firmware = "atf-1", "u-boot";
|
||||
-#else
|
||||
- fit,firmware = "op-tee", "u-boot";
|
||||
-#endif
|
||||
- fit,loadables;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-#else
|
||||
- u-boot-img {
|
||||
- offset = <CONFIG_SPL_PAD_TO>;
|
||||
- };
|
||||
-#endif
|
||||
- };
|
||||
-
|
||||
-#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
|
||||
- simple-bin-spi {
|
||||
- filename = "u-boot-rockchip-spi.bin";
|
||||
- pad-byte = <0xff>;
|
||||
-
|
||||
- mkimage {
|
||||
- filename = "idbloader-spi.img";
|
||||
- args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
|
||||
- multiple-data-files;
|
||||
-
|
||||
-#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
|
||||
- rockchip-tpl {
|
||||
- };
|
||||
-#elif defined(CONFIG_TPL)
|
||||
- u-boot-tpl {
|
||||
- };
|
||||
-#endif
|
||||
- u-boot-spl {
|
||||
- };
|
||||
- };
|
||||
-
|
||||
-#if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE)
|
||||
- fit {
|
||||
- type = "blob";
|
||||
- filename = "u-boot.itb";
|
||||
-#else
|
||||
- u-boot-img {
|
||||
-#endif
|
||||
- /* Sync with u-boot,spl-payload-offset if present */
|
||||
- offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
|
||||
- };
|
||||
- };
|
||||
-#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
|
||||
-};
|
||||
-#endif /* CONFIG_SPL */
|
||||
--
|
||||
2.42.0
|
||||
|
|
@ -1,348 +0,0 @@
|
|||
From 2957e8bf43edf8de6e579ce1ed7f95e5bb4a1437 Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 20:39:41 +0300
|
||||
Subject: [PATCH 1/4] arm: qemu: Enable Bochs video support
|
||||
|
||||
Commit 716161663ec49 ("riscv: qemu: Enable Bochs video support") enables
|
||||
a video console for QEMU RISC-V virtual machines using an emulated Bochs
|
||||
VGA card. Similarly, enable it for ARM virtual machines as well.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Reviewed-by: Bin Meng <bmeng@tinylab.org>
|
||||
Link: https://lore.kernel.org/u-boot/20230814173944.288356-2-alpernebiyasak@gmail.com/
|
||||
---
|
||||
arch/arm/Kconfig | 4 ++++
|
||||
board/emulation/qemu-arm/qemu-arm.env | 3 +++
|
||||
doc/board/emulation/qemu-arm.rst | 4 ++++
|
||||
3 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 328e2ddc33af..d96e230e9ee8 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1036,6 +1036,10 @@ config ARCH_QEMU
|
||||
imply DM_RTC
|
||||
imply RTC_PL031
|
||||
imply OF_HAS_PRIOR_STAGE
|
||||
+ imply VIDEO
|
||||
+ imply VIDEO_BOCHS
|
||||
+ imply SYS_WHITE_ON_BLACK
|
||||
+ imply SYS_CONSOLE_IS_IN_ENV
|
||||
|
||||
config ARCH_RMOBILE
|
||||
bool "Renesas ARM SoCs"
|
||||
diff --git a/board/emulation/qemu-arm/qemu-arm.env b/board/emulation/qemu-arm/qemu-arm.env
|
||||
index e658d5ee7d63..86a99a2e8713 100644
|
||||
--- a/board/emulation/qemu-arm/qemu-arm.env
|
||||
+++ b/board/emulation/qemu-arm/qemu-arm.env
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
/* environment for qemu-arm and qemu-arm64 */
|
||||
|
||||
+stdin=serial
|
||||
+stdout=serial,vidconsole
|
||||
+stderr=serial,vidconsole
|
||||
fdt_high=0xffffffff
|
||||
initrd_high=0xffffffff
|
||||
fdt_addr=0x40000000
|
||||
diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
|
||||
index 7291fa4a3150..c423fce76edd 100644
|
||||
--- a/doc/board/emulation/qemu-arm.rst
|
||||
+++ b/doc/board/emulation/qemu-arm.rst
|
||||
@@ -67,6 +67,10 @@ Additional persistent U-Boot environment support can be added as follows:
|
||||
Additional peripherals that have been tested to work in both U-Boot and Linux
|
||||
can be enabled with the following command line parameters:
|
||||
|
||||
+- To add a video console, remove "-nographic" and add e.g.::
|
||||
+
|
||||
+ -serial stdio -device VGA
|
||||
+
|
||||
- To add a Serial ATA disk via an Intel ICH9 AHCI controller, pass e.g.::
|
||||
|
||||
-drive if=none,file=disk.img,format=raw,id=mydisk \
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 5330bc1c2ad84ba9ecc473f8c24d6e15b366adf9 Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 20:39:42 +0300
|
||||
Subject: [PATCH 2/4] arm: qemu: Enable PRE_CONSOLE_BUFFER
|
||||
|
||||
Commit 608b80b5b855 ("riscv: qemu: Enable PRE_CONSOLE_BUFFER") enables
|
||||
buffering console messages for QEMU RISC-V virtual machines so those
|
||||
printed before the video console is available will still show up on the
|
||||
display. Similarly, enable it for ARM virtual machines as well.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
Reviewed-by: Bin Meng <bmeng@tinylab.org>
|
||||
Link: https://lore.kernel.org/u-boot/20230814173944.288356-3-alpernebiyasak@gmail.com/
|
||||
---
|
||||
arch/arm/Kconfig | 1 +
|
||||
board/emulation/qemu-arm/Kconfig | 4 ++++
|
||||
2 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index d96e230e9ee8..1cc2be55140a 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1040,6 +1040,7 @@ config ARCH_QEMU
|
||||
imply VIDEO_BOCHS
|
||||
imply SYS_WHITE_ON_BLACK
|
||||
imply SYS_CONSOLE_IS_IN_ENV
|
||||
+ imply PRE_CONSOLE_BUFFER
|
||||
|
||||
config ARCH_RMOBILE
|
||||
bool "Renesas ARM SoCs"
|
||||
diff --git a/board/emulation/qemu-arm/Kconfig b/board/emulation/qemu-arm/Kconfig
|
||||
index ed9949651c4b..09c95413a541 100644
|
||||
--- a/board/emulation/qemu-arm/Kconfig
|
||||
+++ b/board/emulation/qemu-arm/Kconfig
|
||||
@@ -12,6 +12,10 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
imply VIRTIO_NET
|
||||
imply VIRTIO_BLK
|
||||
|
||||
+config PRE_CON_BUF_ADDR
|
||||
+ hex
|
||||
+ default 0x40100000
|
||||
+
|
||||
endif
|
||||
|
||||
if TARGET_QEMU_ARM_64BIT && !TFABOOT
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 7f666214855d062dc939ff54a0fa52fbde9f0391 Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 20:39:43 +0300
|
||||
Subject: [PATCH 3/4] arm: qemu: Enable usb keyboard as an input device
|
||||
|
||||
Commit 02be57caf730 ("riscv: qemu: Enable usb keyboard as an input
|
||||
device") adds PCI xHCI support to QEMU RISC-V virtual machines and
|
||||
enables using a USB keyboard as one of the input devices. Similarly,
|
||||
enable those for ARM virtual machines as well.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
Reviewed-by: Bin Meng <bmeng@tinylab.org>
|
||||
Link: https://lore.kernel.org/u-boot/20230814173944.288356-4-alpernebiyasak@gmail.com/
|
||||
---
|
||||
arch/arm/Kconfig | 5 +++++
|
||||
board/emulation/qemu-arm/qemu-arm.c | 5 +++++
|
||||
board/emulation/qemu-arm/qemu-arm.env | 2 +-
|
||||
configs/qemu_arm64_defconfig | 2 --
|
||||
configs/qemu_arm_defconfig | 2 --
|
||||
doc/board/emulation/qemu-arm.rst | 4 ++++
|
||||
6 files changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 1cc2be55140a..4c739bd9bc82 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1041,6 +1041,11 @@ config ARCH_QEMU
|
||||
imply SYS_WHITE_ON_BLACK
|
||||
imply SYS_CONSOLE_IS_IN_ENV
|
||||
imply PRE_CONSOLE_BUFFER
|
||||
+ imply USB
|
||||
+ imply USB_XHCI_HCD
|
||||
+ imply USB_XHCI_PCI
|
||||
+ imply USB_KEYBOARD
|
||||
+ imply CMD_USB
|
||||
|
||||
config ARCH_RMOBILE
|
||||
bool "Renesas ARM SoCs"
|
||||
diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
|
||||
index dfea0d92a3c8..942f1fff5717 100644
|
||||
--- a/board/emulation/qemu-arm/qemu-arm.c
|
||||
+++ b/board/emulation/qemu-arm/qemu-arm.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
#include <log.h>
|
||||
+#include <usb.h>
|
||||
#include <virtio_types.h>
|
||||
#include <virtio.h>
|
||||
|
||||
@@ -114,6 +115,10 @@ int board_late_init(void)
|
||||
*/
|
||||
virtio_init();
|
||||
|
||||
+ /* start usb so that usb keyboard can be used as input device */
|
||||
+ if (CONFIG_IS_ENABLED(USB_KEYBOARD))
|
||||
+ usb_init();
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/board/emulation/qemu-arm/qemu-arm.env b/board/emulation/qemu-arm/qemu-arm.env
|
||||
index 86a99a2e8713..fb4adef281ed 100644
|
||||
--- a/board/emulation/qemu-arm/qemu-arm.env
|
||||
+++ b/board/emulation/qemu-arm/qemu-arm.env
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/* environment for qemu-arm and qemu-arm64 */
|
||||
|
||||
-stdin=serial
|
||||
+stdin=serial,usbkbd
|
||||
stdout=serial,vidconsole
|
||||
stderr=serial,vidconsole
|
||||
fdt_high=0xffffffff
|
||||
diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig
|
||||
index 94bd96678443..f6b8ae530a4a 100644
|
||||
--- a/configs/qemu_arm64_defconfig
|
||||
+++ b/configs/qemu_arm64_defconfig
|
||||
@@ -35,7 +35,6 @@ CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_PCI=y
|
||||
-CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_TPM=y
|
||||
CONFIG_CMD_MTDPARTS=y
|
||||
CONFIG_ENV_IS_IN_FLASH=y
|
||||
@@ -68,7 +67,6 @@ CONFIG_SYSRESET=y
|
||||
CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
CONFIG_SYSRESET_PSCI=y
|
||||
CONFIG_TPM2_MMIO=y
|
||||
-CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_PCI=y
|
||||
CONFIG_TPM=y
|
||||
diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig
|
||||
index 7cb1e9f037ff..1347b86f34b1 100644
|
||||
--- a/configs/qemu_arm_defconfig
|
||||
+++ b/configs/qemu_arm_defconfig
|
||||
@@ -36,7 +36,6 @@ CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_PCI=y
|
||||
-CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_TPM=y
|
||||
CONFIG_CMD_MTDPARTS=y
|
||||
CONFIG_ENV_IS_IN_FLASH=y
|
||||
@@ -69,7 +68,6 @@ CONFIG_SYSRESET=y
|
||||
CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
CONFIG_SYSRESET_PSCI=y
|
||||
CONFIG_TPM2_MMIO=y
|
||||
-CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_PCI=y
|
||||
CONFIG_TPM=y
|
||||
diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
|
||||
index c423fce76edd..5481ef6da328 100644
|
||||
--- a/doc/board/emulation/qemu-arm.rst
|
||||
+++ b/doc/board/emulation/qemu-arm.rst
|
||||
@@ -84,6 +84,10 @@ can be enabled with the following command line parameters:
|
||||
|
||||
-device usb-ehci,id=ehci
|
||||
|
||||
+- To add a USB keyboard attached to an emulated xHCI controller, pass e.g.::
|
||||
+
|
||||
+ -device qemu-xhci,id=xhci -device usb-kbd,bus=xhci.0
|
||||
+
|
||||
- To add an NVMe disk, pass e.g.::
|
||||
|
||||
-drive if=none,file=disk.img,id=mydisk -device nvme,drive=mydisk,serial=foo
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From fcc1b6cb56beaaf90bf80928627a606f33a42c3c Mon Sep 17 00:00:00 2001
|
||||
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 20:39:44 +0300
|
||||
Subject: [PATCH 4/4] doc: qemu: arm: Add a section on booting Linux distros
|
||||
|
||||
Add an example qemu-system-aarch64 command that can make U-Boot on QEMU
|
||||
boot into the Debian Installer, along with resulting console messages
|
||||
from U-Boot, based on the existing documentation section for the x86
|
||||
version.
|
||||
|
||||
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||
Link: https://lore.kernel.org/u-boot/20230814173944.288356-5-alpernebiyasak@gmail.com/
|
||||
---
|
||||
doc/board/emulation/qemu-arm.rst | 68 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 68 insertions(+)
|
||||
|
||||
diff --git a/doc/board/emulation/qemu-arm.rst b/doc/board/emulation/qemu-arm.rst
|
||||
index 5481ef6da328..1c91c7f3ac67 100644
|
||||
--- a/doc/board/emulation/qemu-arm.rst
|
||||
+++ b/doc/board/emulation/qemu-arm.rst
|
||||
@@ -98,6 +98,74 @@ can be enabled with the following command line parameters:
|
||||
|
||||
These have been tested in QEMU 2.9.0 but should work in at least 2.5.0 as well.
|
||||
|
||||
+Booting distros
|
||||
+---------------
|
||||
+
|
||||
+It is possible to install and boot a standard Linux distribution using
|
||||
+qemu_arm64 by setting up a root disk::
|
||||
+
|
||||
+ qemu-img create root.img 20G
|
||||
+
|
||||
+then using the installer to install. For example, with Debian 12::
|
||||
+
|
||||
+ qemu-system-aarch64 \
|
||||
+ -machine virt -cpu cortex-a53 -m 4G -smp 4 \
|
||||
+ -bios u-boot.bin \
|
||||
+ -serial stdio -device VGA \
|
||||
+ -nic user,model=virtio-net-pci \
|
||||
+ -device virtio-rng-pci \
|
||||
+ -device qemu-xhci,id=xhci \
|
||||
+ -device usb-kbd -device usb-tablet \
|
||||
+ -drive if=virtio,file=debian-12.0.0-arm64-netinst.iso,format=raw,readonly=on,media=cdrom \
|
||||
+ -drive if=virtio,file=root.img,format=raw,media=disk
|
||||
+
|
||||
+The output will be something like this::
|
||||
+
|
||||
+ U-Boot 2023.10-rc2-00075-gbe8fbe718e35 (Aug 11 2023 - 08:38:49 +0000)
|
||||
+
|
||||
+ DRAM: 4 GiB
|
||||
+ Core: 51 devices, 14 uclasses, devicetree: board
|
||||
+ Flash: 64 MiB
|
||||
+ Loading Environment from Flash... *** Warning - bad CRC, using default environment
|
||||
+
|
||||
+ In: serial,usbkbd
|
||||
+ Out: serial,vidconsole
|
||||
+ Err: serial,vidconsole
|
||||
+ Bus xhci_pci: Register 8001040 NbrPorts 8
|
||||
+ Starting the controller
|
||||
+ USB XHCI 1.00
|
||||
+ scanning bus xhci_pci for devices... 3 USB Device(s) found
|
||||
+ Net: eth0: virtio-net#32
|
||||
+ Hit any key to stop autoboot: 0
|
||||
+ Scanning for bootflows in all bootdevs
|
||||
+ Seq Method State Uclass Part Name Filename
|
||||
+ --- ----------- ------ -------- ---- ------------------------ ----------------
|
||||
+ Scanning global bootmeth 'efi_mgr':
|
||||
+ Scanning bootdev 'fw-cfg@9020000.bootdev':
|
||||
+ fatal: no kernel available
|
||||
+ scanning bus for devices...
|
||||
+ Scanning bootdev 'virtio-blk#34.bootdev':
|
||||
+ 0 efi ready virtio 2 virtio-blk#34.bootdev.par efi/boot/bootaa64.efi
|
||||
+ ** Booting bootflow 'virtio-blk#34.bootdev.part_2' with efi
|
||||
+ Using prior-stage device tree
|
||||
+ Failed to load EFI variables
|
||||
+ Error: writing contents
|
||||
+ ** Unable to write file ubootefi.var **
|
||||
+ Failed to persist EFI variables
|
||||
+ Missing TPMv2 device for EFI_TCG_PROTOCOL
|
||||
+ Booting /efi\boot\bootaa64.efi
|
||||
+ Error: writing contents
|
||||
+ ** Unable to write file ubootefi.var **
|
||||
+ Failed to persist EFI variables
|
||||
+ Welcome to GRUB!
|
||||
+
|
||||
+Standard boot looks through various available devices and finds the virtio
|
||||
+disks, then boots from the first one. After a second or so the grub menu appears
|
||||
+and you can work through the installer flow normally.
|
||||
+
|
||||
+After the installation, you can boot into the installed system by running QEMU
|
||||
+again without the drive argument corresponding to the installer CD image.
|
||||
+
|
||||
Enabling TPMv2 support
|
||||
----------------------
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
tree="default"
|
||||
rev="4459ed60cb1e0562bc5b40405e2b4b9bbf766d57" # v2023.10
|
||||
xarch="aarch64-elf arm-eabi"
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +0,0 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +0,0 @@
|
|||
tree="default"
|
||||
xarch="i386-elf"
|
|
@ -56,7 +56,6 @@ prepare_new_tree()
|
|||
cp -R "src/${project}/${project}" "${tmpgit}" || \
|
||||
err "prepare_new_tree ${project}/${tree}: can't make tmpclone"
|
||||
git_prep "$PWD/$cfgsdir/$tree/patches" "src/$project/$tree" "update"
|
||||
nukeblobs "$project/$tree" "$project/$tree"
|
||||
}
|
||||
|
||||
fetch_project_repo()
|
||||
|
@ -70,10 +69,6 @@ fetch_project_repo()
|
|||
x_ ./update trees -f ${d}
|
||||
done
|
||||
rm -Rf "${tmpgit}" || err "fetch_repo: !rm -Rf ${tmpgit}"
|
||||
|
||||
for x in config/git/*; do
|
||||
[ -f "${x}" ] && nukeblobs "${x##*/}" "src/${x##*/}"; continue
|
||||
done
|
||||
}
|
||||
|
||||
clone_project()
|
||||
|
@ -117,33 +112,3 @@ git_am_patches()
|
|||
git_am_patches "$1" "$_patches"; continue
|
||||
done
|
||||
}
|
||||
|
||||
# can delete from multi- and single-tree projects.
|
||||
# called from build_projects() and handle_src_tree() on script/update/trees
|
||||
nukeblobs()
|
||||
{
|
||||
del="n"
|
||||
pjcfgdir="${1%/}"
|
||||
pjsrcdir="${2%/}"
|
||||
pjsrcdir="${pjsrcdir#src/}"
|
||||
[ ! -f "config/${pjcfgdir}/blobs.list" ] && return 0
|
||||
|
||||
while read -r blobfile; do
|
||||
rmf="$(realpath "src/${pjsrcdir}/${blobfile}" 2>/dev/null)" || \
|
||||
continue
|
||||
[ -L "${rmf}" ] && continue # we will delete the actual file
|
||||
[ "${rmf#${PWD}/src/${pjsrcdir}}" = "${rmf}" ] && continue
|
||||
[ "${rmf#${PWD}/src/}" = "${pjsrcdir}" ] && continue
|
||||
rmf="${rmf#${PWD}/}"
|
||||
[ -e "${rmf}" ] || continue
|
||||
del="y"
|
||||
rm -Rf "${rmf}" || \
|
||||
err "nukeblobs ${pjcfgdir}/blobs: can't rm \"${blobfile}\""
|
||||
printf "nukeblobs %s: deleted \"%s\"\n" "${pjcfgdir}" "${rmf}"
|
||||
done < "config/${pjcfgdir}/blobs.list"
|
||||
|
||||
[ "${del}" = "y" ] && return 0
|
||||
printf "nukeblobs %s: no defined blobs exist in dir, src/%s\n" 1>&2 \
|
||||
"${pjcfgdir}" "${pjsrcdir}"
|
||||
printf "(this is not an error)\n"
|
||||
}
|
||||
|
|
|
@ -19,9 +19,9 @@ cfgsdir="config/coreboot"
|
|||
# Disable all payloads by default.
|
||||
# target.cfg files have to specifically enable [a] payload(s)
|
||||
pv="payload_grub payload_grub_withseabios payload_seabios payload_memtest t"
|
||||
pv="${pv} payload_seabios_withgrub payload_seabios_grubonly payload_uboot memtest_bin"
|
||||
pv="${pv} payload_seabios_withgrub payload_seabios_grubonly memtest_bin"
|
||||
v="romdir cbrom initmode displaymode cbcfg targetdir tree keymaps"
|
||||
v="${v} grub_timeout ubdir board grub_scan_disk uboot_config"
|
||||
v="${v} grub_timeout board grub_scan_disk"
|
||||
eval "$(setvars "n" ${pv})"
|
||||
eval "$(setvars "" ${v} boards _displaymode _payload _keyboard all targets)"
|
||||
|
||||
|
@ -98,22 +98,16 @@ configure_target()
|
|||
# that doesn't mean GRUB-withSeaBIOS will. For example, the board
|
||||
# might have a graphics card whose vga rom coreboot doesn't execute
|
||||
[ "$payload_grub" != "y" ] && [ "$payload_seabios" != "y" ] && \
|
||||
[ "${payload_uboot}" != "y" ] && \
|
||||
for configfile in "${targetdir}/config/"*; do
|
||||
[ -e "${configfile}" ] || continue
|
||||
err "target '${board}' defines no payload"
|
||||
done
|
||||
|
||||
[ "$payload_uboot" != "n" ] && [ "$payload_uboot" != "y" ] && \
|
||||
payload_uboot="n"
|
||||
[ "$payload_uboot" = "y" ] && [ -z "$uboot_config" ] && \
|
||||
uboot_config="default"
|
||||
|
||||
# Override all payload directives with cmdline args
|
||||
[ -z "${_payload}" ] && return 0
|
||||
printf "setting payload to: %s\n" "${_payload}"
|
||||
eval "$(setvars "n" payload_grub payload_memtest payload_seabios \
|
||||
payload_seabios_withgrub payload_uboot payload_grub_withseabios \
|
||||
payload_seabios_withgrub payload_grub_withseabios \
|
||||
payload_seabios_grubonly)"
|
||||
eval "payload_${_payload}=y"
|
||||
}
|
||||
|
@ -136,7 +130,6 @@ build_payloads()
|
|||
if [ "$payload_grub" = "y" ] || [ "$payload_seabios_withgrub" = "y" ] \
|
||||
|| [ "$payload_seabios_grubonly" = "y" ]; then build_grub_payload
|
||||
fi
|
||||
[ "${payload_uboot}" = "y" ] && build_uboot_payload; return 0
|
||||
}
|
||||
|
||||
build_grub_payload()
|
||||
|
@ -181,17 +174,6 @@ build_grub_payload()
|
|||
err "could not generate grub.elf"
|
||||
}
|
||||
|
||||
build_uboot_payload()
|
||||
{
|
||||
x_ ./update trees -b u-boot ${board}
|
||||
ubdir="elf/u-boot/${board}/${uboot_config}"
|
||||
ubootelf="${ubdir}/u-boot.elf"
|
||||
[ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot" ] && \
|
||||
ubootelf="${ubdir}/u-boot"
|
||||
[ -f "${ubootelf}" ] && return 0
|
||||
err "Can't find u-boot build for board, $board";
|
||||
}
|
||||
|
||||
build_target_mainboard()
|
||||
{
|
||||
rm -f "${romdir}/"* || err "!prepare, rm files, ${romdir}"
|
||||
|
@ -238,9 +220,7 @@ build_roms()
|
|||
-f "src/${memtest_bin}" -n img/memtest -c lzma
|
||||
[ "${payload_seabios}" = "y" ] && build_seabios_roms
|
||||
[ "$payload_grub" != "y" ] || x_ build_grub_roms "$cbrom" "grub"
|
||||
[ "${payload_uboot}" = "y" ] || return 0
|
||||
x_ cp "${_cbrom}" "${cbrom}"
|
||||
build_uboot_roms
|
||||
return 0
|
||||
}
|
||||
|
||||
build_seabios_roms()
|
||||
|
@ -378,34 +358,6 @@ mkSeabiosGrubonlyRom()
|
|||
x_ moverom "${_grubrom}" "${_newrom%.rom}_grubonly.rom"
|
||||
}
|
||||
|
||||
build_uboot_roms()
|
||||
{
|
||||
tmprom=$(mkUbootRom "${cbrom}" "fallback/payload") || \
|
||||
err "build_uboot_roms $board: could not create tmprom"
|
||||
newrom="${romdir}/uboot_payload_${board}_${initmode}_${displaymode}.rom"
|
||||
x_ moverom "${tmprom}" "${newrom}"
|
||||
x_ rm -f "${tmprom}"
|
||||
}
|
||||
|
||||
# make a rom in /tmp/ and then print the path of that ROM
|
||||
mkUbootRom() {
|
||||
_cbrom="${1}"
|
||||
_uboot_cbfs_path="${2}"
|
||||
|
||||
_ubdir="elf/u-boot/${board}/${uboot_config}"
|
||||
_ubootelf="${_ubdir}/u-boot.elf"
|
||||
[ -f "${_ubootelf}" ] || _ubootelf="${_ubdir}/u-boot"
|
||||
[ -f "$_ubootelf" ] || err "mkUbootRom: $board: cant find u-boot"
|
||||
|
||||
tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
|
||||
|
||||
x_ cp "${_cbrom}" "${tmprom}"
|
||||
x_ "$cbfstool" "$tmprom" add-payload -f "$_ubootelf" \
|
||||
-n "${_uboot_cbfs_path}" -c lzma
|
||||
|
||||
printf "%s\n" "${tmprom}"
|
||||
}
|
||||
|
||||
moverom()
|
||||
{
|
||||
printf "Creating target image: %s\n" "$2"
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2023 Riku Viitanen <riku.viitanen@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
|
||||
eval "$(setvars "" pico_sdk_dir pico_src_dir stm32_src_dir boards_dir)"
|
||||
|
||||
pico_src_dir=src/pico-serprog
|
||||
pico_sdk_dir=src/pico-sdk
|
||||
stm32_src_dir=src/stm32-vserprog
|
||||
|
||||
usage="usage: ./build firmware serprog <rp2040|stm32> [board]"
|
||||
|
||||
main()
|
||||
{
|
||||
[ -z "${1+x}" ] && err "${usage}"
|
||||
[ "$1" != "rp2040" ] && [ "$1" != "stm32" ] && err "$usage"
|
||||
if [ "${1}" = "rp2040" ]; then
|
||||
boards_dir=${pico_sdk_dir}/src/boards/include/boards
|
||||
[ -d "$pico_src_dir" ] || x_ ./update trees -f "pico-serprog"
|
||||
elif [ "${1}" = "stm32" ]; then
|
||||
boards_dir=${stm32_src_dir}/boards
|
||||
[ -d "$stm32_src_dir" ] || x_ ./update trees -f "stm32-vserprog"
|
||||
fi
|
||||
x_ mkdir -p "bin/serprog_${1}"
|
||||
|
||||
if [ $# -gt 1 ] && [ "${2}" = "list" ]; then
|
||||
print_boards ${boards_dir}
|
||||
elif [ $# -gt 1 ]; then
|
||||
build_${1}_rom "${2}"
|
||||
else
|
||||
printf "Building all serprog targets\n"
|
||||
list_boards "${boards_dir}" | while read -r board; do
|
||||
build_${1}_rom "${board}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
build_rp2040_rom()
|
||||
{
|
||||
board=${1}
|
||||
printf "Building pico-serprog for %s\n" "${board}"
|
||||
x_ cmake -DPICO_BOARD="$board" -DPICO_SDK_PATH="$pico_sdk_dir" \
|
||||
-B "${pico_src_dir}/build" "${pico_src_dir}"
|
||||
x_ cmake --build "${pico_src_dir}/build"
|
||||
x_ mv ${pico_src_dir}/build/pico_serprog.uf2 \
|
||||
bin/serprog_rp2040/serprog_${board}.uf2
|
||||
printf "output to bin/serprog_rp2040/serprog_%s.uf2\n" "$board"
|
||||
}
|
||||
|
||||
build_stm32_rom()
|
||||
{
|
||||
board=${1}
|
||||
printf "Building stm32-vserprog for %s\n" "${board}"
|
||||
x_ make -C $stm32_src_dir libopencm3-just-make BOARD=$board
|
||||
x_ make -C ${stm32_src_dir} BOARD=${board}
|
||||
x_ mv ${stm32_src_dir}/stm32-vserprog.hex \
|
||||
bin/serprog_stm32/serprog_${board}.hex
|
||||
printf "output to bin/serprog_stm32/serprog_%s.hex\n" "$board"
|
||||
}
|
||||
|
||||
print_boards()
|
||||
{
|
||||
printf "Available boards:\n"
|
||||
list_boards "${1}"
|
||||
}
|
||||
|
||||
list_boards()
|
||||
{
|
||||
basename -a -s .h "${1}/"*.h || err "list_boards $1: can't list boards"
|
||||
}
|
||||
|
||||
main $@
|
|
@ -1,190 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: MIT
|
||||
# SPDX-FileCopyrightText: 2020-2023 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
eval "$(setvars "" vdir relname src_dirname srcdir _xm target romdir mode)"
|
||||
|
||||
main()
|
||||
{
|
||||
vdir="release"
|
||||
while getopts d:m: option; do
|
||||
[ -z "${OPTARG}" ] && err "Empty argument not allowed"
|
||||
case "${option}" in
|
||||
d) vdir="${OPTARG}" ;;
|
||||
m) mode="${OPTARG}" ;;
|
||||
*) err "Invalid option" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
check_project
|
||||
|
||||
vdir="${vdir}/${version}"
|
||||
relname="${projectname}-${version}"
|
||||
src_dirname="${relname}_src"
|
||||
srcdir="${vdir}/${src_dirname}"
|
||||
|
||||
[ -e "${vdir}" ] && err "already exists: \"${vdir}\""
|
||||
|
||||
mkvdir
|
||||
build_release
|
||||
|
||||
printf "DONE! Check release files under %s\n" "${vdir}"
|
||||
}
|
||||
|
||||
mkvdir()
|
||||
{
|
||||
mkdir -p "${vdir}" || err "mkvdir: !mkdir -p \"${vdir}\""
|
||||
git clone . "${srcdir}" || err "mkdir: !gitclone \"${srcdir}\""
|
||||
insert_version_files "$srcdir" || err "mkvdir $srcdir: versionfile"
|
||||
}
|
||||
|
||||
build_release()
|
||||
{
|
||||
_xm="build_release ${vdir}"
|
||||
(
|
||||
cd "${srcdir}" || err "${_xm}: !cd \"${srcdir}\""
|
||||
fetch_trees
|
||||
x_ mv src/docs docs
|
||||
) || err "can't create release files"
|
||||
(
|
||||
cd "${srcdir%/*}" || err "${_xm}: mktarball \"${srcdir}\""
|
||||
mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "$_xm: mksrc"
|
||||
) || err "can't create src tarball"
|
||||
[ "${mode}" = "src" ] && return 0
|
||||
|
||||
(
|
||||
cd "${srcdir}" || err "${_xm}: 2 !cd \"${srcdir}\""
|
||||
mkrom_images
|
||||
) || err "can't build rom images"
|
||||
|
||||
rm -Rf "${srcdir}" || err "!rm -Rf ${srcdir}"
|
||||
}
|
||||
|
||||
fetch_trees()
|
||||
{
|
||||
for x in config/git/*; do
|
||||
[ ! -f "${x}" ] || ./update trees -f "${x#config/git/}" || \
|
||||
err "${_xm}: fetch ${x#config/git/}"
|
||||
done
|
||||
for x in config/*/build.list; do
|
||||
[ -f "${x}" ] || continue
|
||||
xp="${x#*/}"; xp="${xp%/*}"
|
||||
[ -L "${xp}" ] || rm -Rf "src/${xp}/${xp}" || \
|
||||
err "!rm -Rf \"src/${xp}/${xp}\""
|
||||
done
|
||||
|
||||
find . -name ".git" -exec rm -Rf {} + || err "$_xm: rm .git"
|
||||
find . -name ".gitmodules" -exec rm -Rf {} + || err "$_xm: rm .gitmod"
|
||||
x_ rm -Rf tmp .git
|
||||
}
|
||||
|
||||
mkrom_images()
|
||||
{
|
||||
./build roms all || err "${_xm}: roms-all"
|
||||
./build serprog rp2040 || err "${_xm}: rp2040"
|
||||
./build serprog stm32 || err "${_xm}: stm32"
|
||||
|
||||
for rombuild in bin/*; do
|
||||
[ -d "${rombuild}" ] || continue
|
||||
handle_rom_archive "${rombuild}"
|
||||
done
|
||||
|
||||
mv "release/${version}/roms/" ../roms || err "${_xm}: copy roms/"
|
||||
}
|
||||
|
||||
handle_rom_archive()
|
||||
{
|
||||
builddir="${1}"
|
||||
romdir="tmp/romdir"
|
||||
rm -Rf "${romdir}" || err "!rm romdir, handle_rom_archive"
|
||||
target="${builddir##*/}"
|
||||
|
||||
if [ ! -f "config/coreboot/${target}/target.cfg" ]; then
|
||||
# No config, just make a tarball
|
||||
tarball="release/${version}/roms/${relname}_${target}.tar.xz"
|
||||
insert_copying_files "${builddir}" || \
|
||||
err "!insert copy, handle, ${builddir}"
|
||||
mktarball "${builddir}" "${tarball}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
romdir="${romdir}/bin/${target}"
|
||||
mkdir -p "${romdir}" || err "!mkdir -p romdir, handle_rom_archive"
|
||||
cp "$builddir/"* "$romdir" || err "!cp romdir, handle_rom_archive"
|
||||
|
||||
printf "Generating release/%s/roms/%s-%s_%s.tar.xz\n" \
|
||||
"${version}" "${projectname}" "${version}" "${target##*/}"
|
||||
insert_version_files "${romdir}" || \
|
||||
err "mkrom_tarball ${romdir}: versionfile"
|
||||
|
||||
insert_copying_files "$romdir" || err "!insert copy, handle 2, $romdir"
|
||||
mkrom_tarball
|
||||
}
|
||||
|
||||
insert_copying_files()
|
||||
{
|
||||
remkdir "${1}/licenses"
|
||||
l="${1}/licenses"
|
||||
# copy licenses to rom image archive, for completion
|
||||
cp "src/grub/COPYING" "${l}/COPYING.grub" || return 1
|
||||
cp "src/coreboot/default/COPYING" "${l}/COPYING.coreboot" || return 1
|
||||
cp -R "src/coreboot/default/LICENSES" "${l}/LICENSES.coreboot" || \
|
||||
return 1
|
||||
cp "src/seabios/default/COPYING" "${l}/COPYING.coreboot" || return 1
|
||||
cp "src/seabios/default/COPYING.LESSER" "$l/COPYING.LESSER.seabios" \
|
||||
|| return 1
|
||||
cp -R "src/u-boot/default/Licenses" "${l}/COPYING.u-boot" || return 1
|
||||
printf "Multiple licenses. Check corresponding %s source archive\n" \
|
||||
"${projectname}" > "${1}/COPYING" || return 1
|
||||
}
|
||||
|
||||
mkrom_tarball()
|
||||
{
|
||||
archivename="${relname}_${target##*/}"
|
||||
f="release/${version}/roms/${archivename}"
|
||||
mkdir -p "${f%/*}" || err "mkrom_tarball: !mkdir -p ${f%/*}"
|
||||
(
|
||||
cd "${romdir%"/bin/$target"}" || err "!cd ${romdir%"/bin/$target"}"
|
||||
mktarball "bin/${target}" "${archivename}.tar.xz"
|
||||
) || err "can't create rom tarball"
|
||||
mv "${romdir%"/bin/${target}"}/${archivename}.tar.xz"* "${f%/*}" || \
|
||||
err "mktar ${f%/*}/${romdir%"/bin/$target"}/$archivename.tar.xz"
|
||||
|
||||
printf "Created ROM archive: %s" "${f%/*}/${archivename}.tar.xz"
|
||||
}
|
||||
|
||||
insert_version_files()
|
||||
{
|
||||
printf "%s\n" "${version}" > "${1}/version" || return 1
|
||||
printf "%s\n" "${versiondate}" > "${1}/versiondate" || return 1
|
||||
printf "%s\n" "${projectname}" > "${1}/projectname" || return 1
|
||||
}
|
||||
|
||||
mktarball()
|
||||
{
|
||||
# preserve timestamps for reproducible tarballs
|
||||
tar_implementation=$(tar --version | head -n1) || :
|
||||
|
||||
[ "${2%/*}" = "${2}" ] || \
|
||||
mkdir -p "${2%/*}" || err "mk, !mkdir -p \"${2%/*}\""
|
||||
if [ "${tar_implementation% *}" = "tar (GNU tar)" ]; then
|
||||
tar --sort=name --owner=root:0 --group=root:0 \
|
||||
--mtime="UTC 2023-11-06" -c "$1" | xz -T0 -9e > "$2" || \
|
||||
err "mktarball 1, ${1}"
|
||||
else
|
||||
# TODO: reproducible tarballs on non-GNU systems
|
||||
tar -c "$1" | xz -T0 -9e > "$2" || err "mktarball 2, $1"
|
||||
fi
|
||||
(
|
||||
[ "${2%/*}" != "${2}" ] && x_ cd "${2%/*}"
|
||||
sha512sum "${2##*/}" > "${2##*/}.sha512" || \
|
||||
err "!sha512sum \"${2##*/}\" > \"${2##*/}.sha512\""
|
||||
) || err "failed to create tarball checksum"
|
||||
}
|
||||
|
||||
main $@
|
|
@ -25,9 +25,6 @@ main()
|
|||
-c) mode="distclean" ;;
|
||||
-x) mode="crossgcc-clean" ;;
|
||||
-f) mode="fetch" ;;
|
||||
-s) mode="savedefconfig" ;;
|
||||
-l) mode="olddefconfig" ;;
|
||||
-n) mode="nconfig" ;;
|
||||
*) err "Invalid option" ;;
|
||||
esac
|
||||
shift; project="${OPTARG#src/}"; shift
|
||||
|
@ -191,14 +188,8 @@ handle_makefile()
|
|||
|
||||
run_make_command || err "handle_makefile $codedir: no makefile!"
|
||||
|
||||
if [ -e "${codedir}/.git" ] && [ "$project" = "u-boot" ] && \
|
||||
[ "$mode" = "distclean" ]; then
|
||||
x_ git -C "$codedir" clean -fdx
|
||||
elif [ "$mode" = "oldconfig" ] || [ "$mode" = "olddefconfig" ] || \
|
||||
[ "$mode" = "menuconfig" ] || [ "$mode" = "nconfig" ]; then
|
||||
if [ "$mode" = "oldconfig" ] || [ "$mode" = "menuconfig" ]; then
|
||||
x_ cp "${codedir}/.config" "$config"
|
||||
elif [ "$mode" = "savedefconfig" ]; then
|
||||
x_ cp "${codedir}/defconfig" "$config"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue