buildroot long term support release 2024.02.3
buildroot-2024.02.3.tar.gz Signed-off-by: carbon <carbon@milkv.io>
This commit is contained in:
@ -1,23 +0,0 @@
|
|||||||
# Configuration for Gitlab-CI.
|
|
||||||
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
|
||||||
|
|
||||||
image: buildroot/base:20200814.2228
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- generate-gitlab-ci
|
|
||||||
- build
|
|
||||||
|
|
||||||
generate-gitlab-ci-yml:
|
|
||||||
stage: generate-gitlab-ci
|
|
||||||
script: ./support/scripts/generate-gitlab-ci-yml support/misc/gitlab-ci.yml.in > generated-gitlab-ci.yml
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- generated-gitlab-ci.yml
|
|
||||||
|
|
||||||
buildroot-pipeline:
|
|
||||||
stage: build
|
|
||||||
trigger:
|
|
||||||
include:
|
|
||||||
- artifact: generated-gitlab-ci.yml
|
|
||||||
job: generate-gitlab-ci-yml
|
|
||||||
strategy: depend
|
|
||||||
@ -1,899 +0,0 @@
|
|||||||
#
|
|
||||||
|
|
||||||
mainmenu "Buildroot $BR2_VERSION Configuration"
|
|
||||||
|
|
||||||
config BR2_HAVE_DOT_CONFIG
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config BR2_VERSION
|
|
||||||
string
|
|
||||||
option env="BR2_VERSION_FULL"
|
|
||||||
|
|
||||||
config BR2_HOSTARCH
|
|
||||||
string
|
|
||||||
option env="HOSTARCH"
|
|
||||||
|
|
||||||
config BR2_BASE_DIR
|
|
||||||
string
|
|
||||||
option env="BASE_DIR"
|
|
||||||
|
|
||||||
# br2-external paths definitions
|
|
||||||
source "$BR2_BASE_DIR/.br2-external.in.paths"
|
|
||||||
|
|
||||||
# Hidden config symbols for packages to check system gcc version
|
|
||||||
config BR2_HOST_GCC_VERSION
|
|
||||||
string
|
|
||||||
option env="HOST_GCC_VERSION"
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_4_9
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "4 9"
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_5
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "5"
|
|
||||||
select BR2_HOST_GCC_AT_LEAST_4_9
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_6
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "6"
|
|
||||||
select BR2_HOST_GCC_AT_LEAST_5
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_7
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "7"
|
|
||||||
select BR2_HOST_GCC_AT_LEAST_6
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_8
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "8"
|
|
||||||
select BR2_HOST_GCC_AT_LEAST_7
|
|
||||||
|
|
||||||
config BR2_HOST_GCC_AT_LEAST_9
|
|
||||||
bool
|
|
||||||
default y if BR2_HOST_GCC_VERSION = "9"
|
|
||||||
select BR2_HOST_GCC_AT_LEAST_8
|
|
||||||
|
|
||||||
# When adding new entries above, be sure to update
|
|
||||||
# the HOSTCC_MAX_VERSION variable in the Makefile.
|
|
||||||
|
|
||||||
# Hidden boolean selected by packages in need of Java in order to build
|
|
||||||
# (example: kodi)
|
|
||||||
config BR2_NEEDS_HOST_JAVA
|
|
||||||
bool
|
|
||||||
|
|
||||||
# Hidden boolean selected by pre-built packages for x86, when they
|
|
||||||
# need to run on x86-64 machines (example: pre-built external
|
|
||||||
# toolchains, binary tools like SAM-BA, etc.).
|
|
||||||
config BR2_HOSTARCH_NEEDS_IA32_LIBS
|
|
||||||
bool
|
|
||||||
|
|
||||||
# Hidden boolean selected by packages that need to build 32 bits
|
|
||||||
# binaries with the host compiler, even on 64 bits build machines (e.g
|
|
||||||
# bootloaders).
|
|
||||||
config BR2_HOSTARCH_NEEDS_IA32_COMPILER
|
|
||||||
bool
|
|
||||||
|
|
||||||
# Hidden boolean selected by packages that need the host to have an
|
|
||||||
# UTF8 locale.
|
|
||||||
config BR2_NEEDS_HOST_UTF8_LOCALE
|
|
||||||
bool
|
|
||||||
|
|
||||||
# Hidden boolean selected by packages that need the host to have
|
|
||||||
# support for building gcc plugins
|
|
||||||
config BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT
|
|
||||||
bool
|
|
||||||
|
|
||||||
source "arch/Config.in"
|
|
||||||
|
|
||||||
menu "Build options"
|
|
||||||
|
|
||||||
menu "Commands"
|
|
||||||
|
|
||||||
config BR2_WGET
|
|
||||||
string "Wget command"
|
|
||||||
default "wget --passive-ftp -nd -t 3"
|
|
||||||
|
|
||||||
config BR2_SVN
|
|
||||||
string "Subversion (svn) command"
|
|
||||||
default "svn --non-interactive"
|
|
||||||
|
|
||||||
config BR2_BZR
|
|
||||||
string "Bazaar (bzr) command"
|
|
||||||
default "bzr"
|
|
||||||
|
|
||||||
config BR2_GIT
|
|
||||||
string "Git command"
|
|
||||||
default "git"
|
|
||||||
|
|
||||||
config BR2_CVS
|
|
||||||
string "CVS command"
|
|
||||||
default "cvs"
|
|
||||||
|
|
||||||
config BR2_LOCALFILES
|
|
||||||
string "Local files retrieval command"
|
|
||||||
default "cp"
|
|
||||||
|
|
||||||
config BR2_SCP
|
|
||||||
string "Secure copy (scp) command"
|
|
||||||
default "scp"
|
|
||||||
|
|
||||||
config BR2_HG
|
|
||||||
string "Mercurial (hg) command"
|
|
||||||
default "hg"
|
|
||||||
|
|
||||||
config BR2_ZCAT
|
|
||||||
string "zcat command"
|
|
||||||
default "gzip -d -c"
|
|
||||||
help
|
|
||||||
Command to be used to extract a gzip'ed file to stdout. zcat
|
|
||||||
is identical to gunzip -c except that the former may not be
|
|
||||||
available on your system.
|
|
||||||
Default is "gzip -d -c"
|
|
||||||
Other possible values include "gunzip -c" or "zcat".
|
|
||||||
|
|
||||||
config BR2_BZCAT
|
|
||||||
string "bzcat command"
|
|
||||||
default "bzcat"
|
|
||||||
help
|
|
||||||
Command to be used to extract a bzip2'ed file to stdout.
|
|
||||||
bzcat is identical to bunzip2 -c except that the former may
|
|
||||||
not be available on your system.
|
|
||||||
Default is "bzcat"
|
|
||||||
Other possible values include "bunzip2 -c" or "bzip2 -d -c".
|
|
||||||
|
|
||||||
config BR2_XZCAT
|
|
||||||
string "xzcat command"
|
|
||||||
default "xzcat"
|
|
||||||
help
|
|
||||||
Command to be used to extract a xz'ed file to stdout.
|
|
||||||
Default is "xzcat"
|
|
||||||
|
|
||||||
config BR2_LZCAT
|
|
||||||
string "lzcat command"
|
|
||||||
default "lzip -d -c"
|
|
||||||
help
|
|
||||||
Command to be used to extract a lzip'ed file to stdout.
|
|
||||||
Default is "lzip -d -c"
|
|
||||||
|
|
||||||
config BR2_TAR_OPTIONS
|
|
||||||
string "Tar options"
|
|
||||||
default ""
|
|
||||||
help
|
|
||||||
Options to pass to tar when extracting the sources.
|
|
||||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal
|
|
||||||
files and to be verbose.
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
config BR2_DEFCONFIG_FROM_ENV
|
|
||||||
string
|
|
||||||
option env="BR2_DEFCONFIG"
|
|
||||||
|
|
||||||
config BR2_DEFCONFIG
|
|
||||||
string "Location to save buildroot config"
|
|
||||||
default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
|
|
||||||
default "$(CONFIG_DIR)/defconfig"
|
|
||||||
help
|
|
||||||
When running 'make savedefconfig', the defconfig file will be
|
|
||||||
saved in this location.
|
|
||||||
|
|
||||||
config BR2_DL_DIR
|
|
||||||
string "Download dir"
|
|
||||||
default "$(TOPDIR)/dl"
|
|
||||||
help
|
|
||||||
Directory to store all the source files that we need to fetch.
|
|
||||||
If the Linux shell environment has defined the BR2_DL_DIR
|
|
||||||
environment variable, then this overrides this configuration
|
|
||||||
item.
|
|
||||||
The directory is organized with a subdirectory for each
|
|
||||||
package. Each package has its own $(LIBFOO_DL_DIR) variable
|
|
||||||
that can be used to find the correct path.
|
|
||||||
|
|
||||||
The default is $(TOPDIR)/dl
|
|
||||||
|
|
||||||
config BR2_HOST_DIR
|
|
||||||
string "Host dir"
|
|
||||||
default "$(BASE_DIR)/host"
|
|
||||||
help
|
|
||||||
Directory to store all the binary files that are built for the
|
|
||||||
host. This includes the cross compilation toolchain when
|
|
||||||
building the internal buildroot toolchain.
|
|
||||||
|
|
||||||
The default is $(BASE_DIR)/host
|
|
||||||
|
|
||||||
menu "Mirrors and Download locations"
|
|
||||||
|
|
||||||
config BR2_PRIMARY_SITE
|
|
||||||
string "Primary download site"
|
|
||||||
default ""
|
|
||||||
help
|
|
||||||
Primary site to download from. If this option is set then
|
|
||||||
buildroot will try to download package source first from this
|
|
||||||
site and try the default if the file is not found.
|
|
||||||
Valid URIs are:
|
|
||||||
- URIs recognized by $(WGET)
|
|
||||||
- local URIs of the form file://absolutepath
|
|
||||||
- scp URIs of the form scp://[user@]host:path.
|
|
||||||
|
|
||||||
config BR2_PRIMARY_SITE_ONLY
|
|
||||||
bool "Only allow downloads from primary download site"
|
|
||||||
depends on BR2_PRIMARY_SITE != ""
|
|
||||||
help
|
|
||||||
If this option is enabled, downloads will only be attempted
|
|
||||||
from the primary download site. Other locations, like the
|
|
||||||
package's official download location or the backup download
|
|
||||||
site, will not be considered. Therefore, if the package is not
|
|
||||||
present on the primary site, the download fails.
|
|
||||||
|
|
||||||
This is useful for project developers who want to ensure that
|
|
||||||
the project can be built even if the upstream tarball
|
|
||||||
locations disappear.
|
|
||||||
|
|
||||||
if !BR2_PRIMARY_SITE_ONLY
|
|
||||||
|
|
||||||
config BR2_BACKUP_SITE
|
|
||||||
string "Backup download site"
|
|
||||||
default "http://sources.buildroot.net"
|
|
||||||
help
|
|
||||||
Backup site to download from. If this option is set then
|
|
||||||
buildroot will fall back to download package sources from here
|
|
||||||
if the normal location fails.
|
|
||||||
|
|
||||||
config BR2_KERNEL_MIRROR
|
|
||||||
string "Kernel.org mirror"
|
|
||||||
default "https://cdn.kernel.org/pub"
|
|
||||||
help
|
|
||||||
kernel.org is mirrored on a number of servers around the
|
|
||||||
world. The following allows you to select your preferred
|
|
||||||
mirror. By default, a CDN is used, which automatically
|
|
||||||
redirects to a mirror geographically close to you.
|
|
||||||
|
|
||||||
Have a look on the kernel.org site for a list of mirrors, then
|
|
||||||
enter the URL to the base directory. Examples:
|
|
||||||
|
|
||||||
http://www.XX.kernel.org/pub (XX = country code)
|
|
||||||
http://mirror.aarnet.edu.au/pub/ftp.kernel.org
|
|
||||||
|
|
||||||
config BR2_GNU_MIRROR
|
|
||||||
string "GNU Software mirror"
|
|
||||||
default "http://ftpmirror.gnu.org"
|
|
||||||
help
|
|
||||||
GNU has multiple software mirrors scattered around the
|
|
||||||
world. The following allows you to select your preferred
|
|
||||||
mirror. By default, a generic address is used, which
|
|
||||||
automatically selects an up-to-date and local mirror.
|
|
||||||
|
|
||||||
Have a look on the gnu.org site for a list of mirrors, then
|
|
||||||
enter the URL to the base directory. Examples:
|
|
||||||
|
|
||||||
http://ftp.gnu.org/pub/gnu
|
|
||||||
http://mirror.aarnet.edu.au/pub/gnu
|
|
||||||
|
|
||||||
config BR2_LUAROCKS_MIRROR
|
|
||||||
string "LuaRocks mirror"
|
|
||||||
default "http://rocks.moonscript.org"
|
|
||||||
help
|
|
||||||
LuaRocks repository.
|
|
||||||
|
|
||||||
See http://luarocks.org
|
|
||||||
|
|
||||||
config BR2_CPAN_MIRROR
|
|
||||||
string "CPAN mirror (Perl packages)"
|
|
||||||
default "http://cpan.metacpan.org"
|
|
||||||
help
|
|
||||||
CPAN (Comprehensive Perl Archive Network) is a repository of
|
|
||||||
Perl packages. It has multiple software mirrors scattered
|
|
||||||
around the world. This option allows you to select a mirror.
|
|
||||||
|
|
||||||
The list of mirrors is available at:
|
|
||||||
http://search.cpan.org/mirror
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
config BR2_JLEVEL
|
|
||||||
int "Number of jobs to run simultaneously (0 for auto)"
|
|
||||||
default "0"
|
|
||||||
help
|
|
||||||
Number of jobs to run simultaneously. If 0, determine
|
|
||||||
automatically according to number of CPUs on the host system.
|
|
||||||
|
|
||||||
config BR2_CCACHE
|
|
||||||
bool "Enable compiler cache"
|
|
||||||
help
|
|
||||||
This option will enable the use of ccache, a compiler cache.
|
|
||||||
It will cache the result of previous builds to speed up future
|
|
||||||
builds. By default, the cache is stored in
|
|
||||||
$HOME/.buildroot-ccache.
|
|
||||||
|
|
||||||
Note that Buildroot does not try to invalidate the cache
|
|
||||||
contents when the compiler changes in an incompatible way.
|
|
||||||
Therefore, if you make a change to the compiler version and/or
|
|
||||||
configuration, you are responsible for purging the ccache
|
|
||||||
cache by removing the $HOME/.buildroot-ccache directory.
|
|
||||||
|
|
||||||
if BR2_CCACHE
|
|
||||||
|
|
||||||
config BR2_CCACHE_DIR
|
|
||||||
string "Compiler cache location"
|
|
||||||
default "$(HOME)/.buildroot-ccache"
|
|
||||||
help
|
|
||||||
Where ccache should store cached files.
|
|
||||||
If the Linux shell environment has defined the BR2_CCACHE_DIR
|
|
||||||
environment variable, then this overrides this configuration
|
|
||||||
item.
|
|
||||||
|
|
||||||
config BR2_CCACHE_INITIAL_SETUP
|
|
||||||
string "Compiler cache initial setup"
|
|
||||||
help
|
|
||||||
Initial ccache settings to apply, such as --max-files or
|
|
||||||
--max-size.
|
|
||||||
|
|
||||||
For example, if your project is known to require more space
|
|
||||||
than the default max cache size, then you might want to
|
|
||||||
increase the cache size to a suitable amount using the -M
|
|
||||||
(--max-size) option.
|
|
||||||
|
|
||||||
The string you specify here is passed verbatim to ccache.
|
|
||||||
Refer to ccache documentation for more details.
|
|
||||||
|
|
||||||
These initial settings are applied after ccache has been
|
|
||||||
compiled.
|
|
||||||
|
|
||||||
config BR2_CCACHE_USE_BASEDIR
|
|
||||||
bool "Use relative paths"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Allow ccache to convert absolute paths within the output
|
|
||||||
directory into relative paths.
|
|
||||||
|
|
||||||
During the build, many -I include directives are given with an
|
|
||||||
absolute path. These absolute paths end up in the hashes that
|
|
||||||
are computed by ccache. Therefore, when you build from a
|
|
||||||
different directory, the hash will be different and the cached
|
|
||||||
object will not be used.
|
|
||||||
|
|
||||||
To improve cache performance, set this option to y. This
|
|
||||||
allows ccache to rewrite absolute paths within the output
|
|
||||||
directory into relative paths. Note that only paths within the
|
|
||||||
output directory will be rewritten; therefore, if you change
|
|
||||||
BR2_HOST_DIR to point outside the output directory and
|
|
||||||
subsequently move it to a different location, this will lead
|
|
||||||
to cache misses.
|
|
||||||
|
|
||||||
This option has as a result that the debug information in the
|
|
||||||
object files also has only relative paths. Therefore, make
|
|
||||||
sure you cd to the build directory before starting gdb. See
|
|
||||||
the section "COMPILING IN DIFFERENT DIRECTORIES" in the ccache
|
|
||||||
manual for more information.
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
config BR2_ENABLE_DEBUG
|
|
||||||
bool "build packages with debugging symbols"
|
|
||||||
help
|
|
||||||
Build packages with debugging symbols enabled. All libraries
|
|
||||||
and binaries in the 'staging' directory will have debugging
|
|
||||||
symbols, which allows remote debugging even if libraries and
|
|
||||||
binaries are stripped on the target. Whether libraries and
|
|
||||||
binaries are stripped on the target is controlled by the
|
|
||||||
BR2_STRIP_* options below.
|
|
||||||
|
|
||||||
if BR2_ENABLE_DEBUG
|
|
||||||
choice
|
|
||||||
prompt "gcc debug level"
|
|
||||||
default BR2_DEBUG_2
|
|
||||||
help
|
|
||||||
Set the debug level for gcc
|
|
||||||
|
|
||||||
config BR2_DEBUG_1
|
|
||||||
bool "debug level 1"
|
|
||||||
help
|
|
||||||
Debug level 1 produces minimal information, enough for making
|
|
||||||
backtraces in parts of the program that you don't plan to
|
|
||||||
debug. This includes descriptions of functions and external
|
|
||||||
variables, but no information about local variables and no
|
|
||||||
line numbers.
|
|
||||||
|
|
||||||
config BR2_DEBUG_2
|
|
||||||
bool "debug level 2"
|
|
||||||
help
|
|
||||||
The default gcc debug level is 2
|
|
||||||
|
|
||||||
config BR2_DEBUG_3
|
|
||||||
bool "debug level 3"
|
|
||||||
help
|
|
||||||
Level 3 includes extra information, such as all the macro
|
|
||||||
definitions present in the program. Some debuggers support
|
|
||||||
macro expansion when you use -g3.
|
|
||||||
endchoice
|
|
||||||
endif
|
|
||||||
|
|
||||||
config BR2_STRIP_strip
|
|
||||||
bool "strip target binaries"
|
|
||||||
default y
|
|
||||||
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
|
||||||
help
|
|
||||||
Binaries and libraries in the target filesystem will be
|
|
||||||
stripped using the normal 'strip' command. This allows to save
|
|
||||||
space, mainly by removing debugging symbols. Debugging symbols
|
|
||||||
on the target are needed for native debugging, but not when
|
|
||||||
remote debugging is used.
|
|
||||||
|
|
||||||
config BR2_STRIP_EXCLUDE_FILES
|
|
||||||
string "executables that should not be stripped"
|
|
||||||
default ""
|
|
||||||
depends on BR2_STRIP_strip
|
|
||||||
help
|
|
||||||
You may specify a space-separated list of binaries and
|
|
||||||
libraries here that should not be stripped on the target.
|
|
||||||
|
|
||||||
config BR2_STRIP_EXCLUDE_DIRS
|
|
||||||
string "directories that should be skipped when stripping"
|
|
||||||
default ""
|
|
||||||
depends on BR2_STRIP_strip
|
|
||||||
help
|
|
||||||
You may specify a space-separated list of directories that
|
|
||||||
should be skipped when stripping. Binaries and libraries in
|
|
||||||
these directories will not be touched. The directories should
|
|
||||||
be specified relative to the target directory, without leading
|
|
||||||
slash.
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "gcc optimization level"
|
|
||||||
default BR2_OPTIMIZE_S
|
|
||||||
help
|
|
||||||
Set the optimization level for gcc
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_0
|
|
||||||
bool "optimization level 0"
|
|
||||||
help
|
|
||||||
Do not optimize.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_1
|
|
||||||
bool "optimization level 1"
|
|
||||||
help
|
|
||||||
Optimize. Optimizing compilation takes somewhat more time, and
|
|
||||||
a lot more memory for a large function. With -O, the compiler
|
|
||||||
tries to reduce code size and execution time, without
|
|
||||||
performing any optimizations that take a great deal of
|
|
||||||
compilation time. -O turns on the following optimization
|
|
||||||
flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
|
|
||||||
-fcprop-registers -floop-optimize -fif-conversion
|
|
||||||
-fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
|
|
||||||
-ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
|
|
||||||
-ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants. -O
|
|
||||||
also turns on -fomit-frame-pointer on machines where doing so
|
|
||||||
does not interfere with debugging.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_2
|
|
||||||
bool "optimization level 2"
|
|
||||||
help
|
|
||||||
Optimize even more. GCC performs nearly all supported
|
|
||||||
optimizations that do not involve a space-speed tradeoff. The
|
|
||||||
compiler does not perform loop unrolling or function inlining
|
|
||||||
when you specify -O2. As compared to -O, this option increases
|
|
||||||
both compilation time and the performance of the generated
|
|
||||||
code. -O2 turns on all optimization flags specified by -O. It
|
|
||||||
also turns on the following optimization flags:
|
|
||||||
-fthread-jumps -fcrossjumping -foptimize-sibling-calls
|
|
||||||
-fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
|
|
||||||
-fexpensive-optimizations -fstrength-reduce
|
|
||||||
-frerun-cse-after-loop -frerun-loop-opt -fcaller-saves
|
|
||||||
-fpeephole2 -fschedule-insns -fschedule-insns2
|
|
||||||
-fsched-interblock -fsched-spec -fregmove -fstrict-aliasing
|
|
||||||
-fdelete-null-pointer-checks -freorder-blocks
|
|
||||||
-freorder-functions -falign-functions -falign-jumps
|
|
||||||
-falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
|
|
||||||
note the warning under -fgcse about invoking -O2 on programs
|
|
||||||
that use computed gotos.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_3
|
|
||||||
bool "optimization level 3"
|
|
||||||
help
|
|
||||||
Optimize yet more. -O3 turns on all optimizations specified by
|
|
||||||
-O2 and also turns on the -finline-functions, -funswitch-loops
|
|
||||||
and -fgcse-after-reload options.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_G
|
|
||||||
bool "optimize for debugging"
|
|
||||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
||||||
help
|
|
||||||
Optimize for debugging. This enables optimizations that do not
|
|
||||||
interfere with debugging. It should be the optimization level
|
|
||||||
of choice for the standard edit-compile-debug cycle, offering
|
|
||||||
a reasonable level of optimization while maintaining fast
|
|
||||||
compilation and a good debugging experience.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_S
|
|
||||||
bool "optimize for size"
|
|
||||||
help
|
|
||||||
Optimize for size. -Os enables all -O2 optimizations that do
|
|
||||||
not typically increase code size. It also performs further
|
|
||||||
optimizations designed to reduce code size. -Os disables the
|
|
||||||
following optimization flags: -falign-functions -falign-jumps
|
|
||||||
-falign-loops -falign-labels -freorder-blocks
|
|
||||||
-freorder-blocks-and-partition -fprefetch-loop-arrays
|
|
||||||
-ftree-vect-loop-version
|
|
||||||
This is the default.
|
|
||||||
|
|
||||||
config BR2_OPTIMIZE_FAST
|
|
||||||
bool "optimize for fast (may break packages!)"
|
|
||||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
|
|
||||||
help
|
|
||||||
Optimize for fast. Disregard strict standards
|
|
||||||
compliance. -Ofast enables all -O3 optimizations. It also
|
|
||||||
enables optimizations that are not valid for all
|
|
||||||
standard-compliant programs, so be careful, as it may break
|
|
||||||
some packages. It turns on -ffast-math and the
|
|
||||||
Fortran-specific -fstack-arrays, unless -fmax-stack-var-size
|
|
||||||
is specified, and -fno-protect-parens.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_GOOGLE_BREAKPAD_ENABLE
|
|
||||||
bool "Enable google-breakpad support"
|
|
||||||
depends on BR2_INSTALL_LIBSTDCPP
|
|
||||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
|
||||||
depends on BR2_USE_WCHAR
|
|
||||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
||||||
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
|
|
||||||
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
|
||||||
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
|
||||||
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
|
||||||
help
|
|
||||||
This option will enable the use of google breakpad, a library
|
|
||||||
and tool suite that allows you to distribute an application to
|
|
||||||
users with compiler-provided debugging information removed,
|
|
||||||
record crashes in compact "minidump" files, send them back to
|
|
||||||
your server and produce C and C++ stack traces from these
|
|
||||||
minidumps. Breakpad can also write minidumps on request for
|
|
||||||
programs that have not crashed.
|
|
||||||
|
|
||||||
if BR2_GOOGLE_BREAKPAD_ENABLE
|
|
||||||
|
|
||||||
config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
|
|
||||||
string "List of executables and libraries to extract symbols from"
|
|
||||||
default ""
|
|
||||||
help
|
|
||||||
You may specify a space-separated list of binaries and
|
|
||||||
libraries with full paths relative to $(TARGET_DIR) of which
|
|
||||||
debug symbols will be dumped for further use with google
|
|
||||||
breakpad.
|
|
||||||
|
|
||||||
A directory structure that can be used by minidump-stackwalk
|
|
||||||
will be created at:
|
|
||||||
|
|
||||||
$(STAGING_DIR)/usr/share/google-breakpad-symbols
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
choice
|
|
||||||
bool "libraries"
|
|
||||||
default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
help
|
|
||||||
Select the type of libraries you want to use on the target.
|
|
||||||
|
|
||||||
The default is to build dynamic libraries and use those on the
|
|
||||||
target filesystem, except when the architecture and/or the
|
|
||||||
selected binary format does not support shared libraries.
|
|
||||||
|
|
||||||
config BR2_STATIC_LIBS
|
|
||||||
bool "static only"
|
|
||||||
help
|
|
||||||
Build and use only static libraries. No shared libraries will
|
|
||||||
be installed on the target. This potentially increases your
|
|
||||||
code size and should only be used if you know what you are
|
|
||||||
doing. Note that some packages may not be available when this
|
|
||||||
option is enabled, due to their need for dynamic library
|
|
||||||
support.
|
|
||||||
|
|
||||||
config BR2_SHARED_LIBS
|
|
||||||
bool "shared only"
|
|
||||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
help
|
|
||||||
Build and use only shared libraries. This is the recommended
|
|
||||||
solution as it saves space and build time.
|
|
||||||
|
|
||||||
config BR2_SHARED_STATIC_LIBS
|
|
||||||
bool "both static and shared"
|
|
||||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
help
|
|
||||||
Build both shared and static libraries, but link executables
|
|
||||||
dynamically. While building both shared and static libraries
|
|
||||||
take more time and more disk space, having static libraries
|
|
||||||
may be useful to link some of the applications statically.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_PACKAGE_OVERRIDE_FILE
|
|
||||||
string "location of a package override file"
|
|
||||||
default "$(CONFIG_DIR)/local.mk"
|
|
||||||
help
|
|
||||||
A package override file is a short makefile that contains
|
|
||||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
|
|
||||||
allows to tell Buildroot to use an existing directory as the
|
|
||||||
source directory for a particular package. See the Buildroot
|
|
||||||
documentation for more details on this feature.
|
|
||||||
|
|
||||||
config BR2_GLOBAL_PATCH_DIR
|
|
||||||
string "global patch directories"
|
|
||||||
help
|
|
||||||
You may specify a space separated list of one or more
|
|
||||||
directories containing global package patches. For a specific
|
|
||||||
version <packageversion> of a specific package <packagename>,
|
|
||||||
patches are applied as follows:
|
|
||||||
|
|
||||||
First, the default Buildroot patch set for the package is
|
|
||||||
applied from the package's directory in Buildroot.
|
|
||||||
|
|
||||||
Then for every directory - <global-patch-dir> - that exists in
|
|
||||||
BR2_GLOBAL_PATCH_DIR, if the directory
|
|
||||||
<global-patch-dir>/<packagename>/<packageversion>/ exists,
|
|
||||||
then all *.patch files in this directory will be applied.
|
|
||||||
|
|
||||||
Otherwise, if the directory <global-patch-dir>/<packagename>
|
|
||||||
exists, then all *.patch files in the directory will be
|
|
||||||
applied.
|
|
||||||
|
|
||||||
menu "Advanced"
|
|
||||||
|
|
||||||
config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
|
||||||
bool "paranoid check of library/header paths"
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
By default, when this option is disabled, when the Buildroot
|
|
||||||
cross-compiler will encounter an unsafe library or header path
|
|
||||||
(such as /usr/include, or /usr/lib), the compiler will display
|
|
||||||
a warning.
|
|
||||||
|
|
||||||
By enabling this option, this warning is turned into an error,
|
|
||||||
which will completely abort the build when such unsafe paths
|
|
||||||
are encountered.
|
|
||||||
|
|
||||||
Note that this mechanism is available for both the internal
|
|
||||||
toolchain (through the toolchain wrapper and binutils patches)
|
|
||||||
and external toolchain backends (through the toolchain
|
|
||||||
wrapper).
|
|
||||||
|
|
||||||
config BR2_FORCE_HOST_BUILD
|
|
||||||
bool "Force the building of host dependencies"
|
|
||||||
help
|
|
||||||
Build all available host dependencies, even if they are
|
|
||||||
already installed on the system.
|
|
||||||
|
|
||||||
This option can be used to ensure that the download cache of
|
|
||||||
source archives for packages remain consistent between
|
|
||||||
different build hosts.
|
|
||||||
|
|
||||||
This option will increase build time.
|
|
||||||
|
|
||||||
config BR2_REPRODUCIBLE
|
|
||||||
bool "Make the build reproducible (experimental)"
|
|
||||||
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
|
|
||||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
|
||||||
help
|
|
||||||
This option will remove all sources of non-reproducibility
|
|
||||||
from the build process. For a given Buildroot configuration,
|
|
||||||
this allows to generate exactly identical binaries from one
|
|
||||||
build to the other, including on different machines.
|
|
||||||
|
|
||||||
The current implementation is restricted to builds with the
|
|
||||||
same output directory. Many (absolute) paths are recorded in
|
|
||||||
intermediary files, and it is very likely that some of these
|
|
||||||
paths leak into the target rootfs. If you build with the
|
|
||||||
same O=... path, however, the result is identical.
|
|
||||||
|
|
||||||
This is labeled as an experimental feature, as not all
|
|
||||||
packages behave properly to ensure reproducibility.
|
|
||||||
|
|
||||||
config BR2_PER_PACKAGE_DIRECTORIES
|
|
||||||
bool "Use per-package directories (experimental)"
|
|
||||||
help
|
|
||||||
This option will change the build process of Buildroot
|
|
||||||
package to use per-package target and host directories.
|
|
||||||
|
|
||||||
This is useful for two related purposes:
|
|
||||||
|
|
||||||
- Cleanly isolate the build of each package, so that a
|
|
||||||
given package only "sees" the dependencies it has
|
|
||||||
explicitly expressed, and not other packages that may
|
|
||||||
have by chance been built before.
|
|
||||||
|
|
||||||
- Enable top-level parallel build.
|
|
||||||
|
|
||||||
This is labeled as an experimental feature, as not all
|
|
||||||
packages behave properly with per-package directories.
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
comment "Security Hardening Options"
|
|
||||||
|
|
||||||
config BR2_PIC_PIE
|
|
||||||
bool "Build code with PIC/PIE"
|
|
||||||
default y
|
|
||||||
# Nios2 toolchains produce non working binaries with -fPIC
|
|
||||||
depends on !BR2_nios2
|
|
||||||
depends on BR2_SHARED_LIBS
|
|
||||||
depends on BR2_TOOLCHAIN_SUPPORTS_PIE
|
|
||||||
help
|
|
||||||
Generate Position-Independent Code (PIC) and link
|
|
||||||
Position-Independent Executables (PIE).
|
|
||||||
|
|
||||||
comment "PIC/PIE needs a toolchain w/ PIE"
|
|
||||||
depends on !BR2_nios2
|
|
||||||
depends on BR2_SHARED_LIBS
|
|
||||||
depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
|
|
||||||
|
|
||||||
choice
|
|
||||||
bool "Stack Smashing Protection"
|
|
||||||
default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
|
|
||||||
default BR2_SSP_STRONG if BR2_TOOLCHAIN_HAS_SSP_STRONG
|
|
||||||
default BR2_SSP_REGULAR
|
|
||||||
depends on BR2_TOOLCHAIN_HAS_SSP
|
|
||||||
help
|
|
||||||
Enable stack smashing protection support using GCC's
|
|
||||||
-fstack-protector option family.
|
|
||||||
|
|
||||||
See
|
|
||||||
http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
|
|
||||||
for details.
|
|
||||||
|
|
||||||
Note that this requires the toolchain to have SSP support.
|
|
||||||
This is always the case for glibc and eglibc toolchain, but is
|
|
||||||
optional in uClibc toolchains.
|
|
||||||
|
|
||||||
config BR2_SSP_NONE
|
|
||||||
bool "None"
|
|
||||||
help
|
|
||||||
Disable stack-smashing protection.
|
|
||||||
|
|
||||||
config BR2_SSP_REGULAR
|
|
||||||
bool "-fstack-protector"
|
|
||||||
help
|
|
||||||
Emit extra code to check for buffer overflows, such as stack
|
|
||||||
smashing attacks. This is done by adding a guard variable to
|
|
||||||
functions with vulnerable objects. This includes functions
|
|
||||||
that call alloca, and functions with buffers larger than 8
|
|
||||||
bytes. The guards are initialized when a function is entered
|
|
||||||
and then checked when the function exits. If a guard check
|
|
||||||
fails, an error message is printed and the program exits.
|
|
||||||
|
|
||||||
config BR2_SSP_STRONG
|
|
||||||
bool "-fstack-protector-strong"
|
|
||||||
depends on BR2_TOOLCHAIN_HAS_SSP_STRONG
|
|
||||||
help
|
|
||||||
Like -fstack-protector but includes additional functions to be
|
|
||||||
protected - those that have local array definitions, or have
|
|
||||||
references to local frame addresses.
|
|
||||||
|
|
||||||
-fstack-protector-strong officially appeared in gcc 4.9, but
|
|
||||||
some vendors have backported -fstack-protector-strong to older
|
|
||||||
versions of gcc.
|
|
||||||
|
|
||||||
config BR2_SSP_ALL
|
|
||||||
bool "-fstack-protector-all"
|
|
||||||
help
|
|
||||||
Like -fstack-protector except that all functions are
|
|
||||||
protected. This option might have a significant performance
|
|
||||||
impact on the compiled binaries.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_SSP_OPTION
|
|
||||||
string
|
|
||||||
default "-fstack-protector" if BR2_SSP_REGULAR
|
|
||||||
default "-fstack-protector-strong" if BR2_SSP_STRONG
|
|
||||||
default "-fstack-protector-all" if BR2_SSP_ALL
|
|
||||||
|
|
||||||
comment "Stack Smashing Protection needs a toolchain w/ SSP"
|
|
||||||
depends on !BR2_TOOLCHAIN_HAS_SSP
|
|
||||||
|
|
||||||
choice
|
|
||||||
bool "RELRO Protection"
|
|
||||||
default BR2_RELRO_FULL if BR2_TOOLCHAIN_SUPPORTS_PIE
|
|
||||||
default BR2_RELRO_PARTIAL
|
|
||||||
depends on BR2_SHARED_LIBS
|
|
||||||
help
|
|
||||||
Enable a link-time protection know as RELRO (RELocation Read
|
|
||||||
Only) which helps to protect from certain type of exploitation
|
|
||||||
techniques altering the content of some ELF sections.
|
|
||||||
|
|
||||||
config BR2_RELRO_NONE
|
|
||||||
bool "None"
|
|
||||||
help
|
|
||||||
Disables Relocation link-time protections.
|
|
||||||
|
|
||||||
config BR2_RELRO_PARTIAL
|
|
||||||
bool "Partial"
|
|
||||||
help
|
|
||||||
This option makes the dynamic section not writeable after
|
|
||||||
initialization (with almost no performance penalty).
|
|
||||||
|
|
||||||
config BR2_RELRO_FULL
|
|
||||||
bool "Full"
|
|
||||||
depends on !BR2_nios2 # BR2_PIC_PIE
|
|
||||||
depends on BR2_TOOLCHAIN_SUPPORTS_PIE
|
|
||||||
select BR2_PIC_PIE
|
|
||||||
help
|
|
||||||
This option includes the partial configuration, but also marks
|
|
||||||
the GOT as read-only at the cost of initialization time during
|
|
||||||
program loading, i.e every time an executable is started.
|
|
||||||
|
|
||||||
comment "RELRO Full needs a toolchain w/ PIE"
|
|
||||||
depends on !BR2_nios2
|
|
||||||
depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
comment "RELocation Read Only (RELRO) needs shared libraries"
|
|
||||||
depends on !BR2_SHARED_LIBS
|
|
||||||
|
|
||||||
choice
|
|
||||||
bool "Buffer-overflow Detection (FORTIFY_SOURCE)"
|
|
||||||
default BR2_FORTIFY_SOURCE_1
|
|
||||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
||||||
depends on !BR2_OPTIMIZE_0
|
|
||||||
help
|
|
||||||
Enable the _FORTIFY_SOURCE macro which introduces additional
|
|
||||||
checks to detect buffer-overflows in the following standard
|
|
||||||
library functions: memcpy, mempcpy, memmove, memset, strcpy,
|
|
||||||
stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf,
|
|
||||||
vsnprintf, gets.
|
|
||||||
|
|
||||||
NOTE: This feature requires an optimization level of s/1/2/3/g
|
|
||||||
|
|
||||||
Support for this feature has been present since GCC 4.x.
|
|
||||||
|
|
||||||
config BR2_FORTIFY_SOURCE_NONE
|
|
||||||
bool "None"
|
|
||||||
help
|
|
||||||
Disables additional checks to detect buffer-overflows.
|
|
||||||
|
|
||||||
config BR2_FORTIFY_SOURCE_1
|
|
||||||
bool "Conservative"
|
|
||||||
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
|
|
||||||
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
||||||
help
|
|
||||||
This option sets _FORTIFY_SOURCE to 1 and only introduces
|
|
||||||
checks that shouldn't change the behavior of conforming
|
|
||||||
programs. Adds checks at compile-time only.
|
|
||||||
|
|
||||||
config BR2_FORTIFY_SOURCE_2
|
|
||||||
bool "Aggressive"
|
|
||||||
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
|
|
||||||
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
||||||
help
|
|
||||||
This option sets _FORTIFY_SOURCES to 2 and some more
|
|
||||||
checking is added, but some conforming programs might fail.
|
|
||||||
Also adds checks at run-time (detected buffer overflow
|
|
||||||
terminates the program)
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
comment "Fortify Source needs a glibc toolchain and optimization"
|
|
||||||
depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0)
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
source "toolchain/Config.in"
|
|
||||||
|
|
||||||
source "system/Config.in"
|
|
||||||
|
|
||||||
source "linux/Config.in"
|
|
||||||
|
|
||||||
source "package/Config.in"
|
|
||||||
|
|
||||||
source "fs/Config.in"
|
|
||||||
|
|
||||||
source "boot/Config.in"
|
|
||||||
|
|
||||||
source "package/Config.in.host"
|
|
||||||
|
|
||||||
source "Config.in.legacy"
|
|
||||||
|
|
||||||
# br2-external menus definitions
|
|
||||||
source "$BR2_BASE_DIR/.br2-external.in.menus"
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,489 +0,0 @@
|
|||||||
menu "Target options"
|
|
||||||
|
|
||||||
config BR2_ARCH_IS_64
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_KERNEL_64_USERLAND_32
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_SOFT_FLOAT
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_ARCH_HAS_MMU_OPTIONAL
|
|
||||||
bool
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Target Architecture"
|
|
||||||
default BR2_i386
|
|
||||||
help
|
|
||||||
Select the target architecture family to build for.
|
|
||||||
|
|
||||||
config BR2_arcle
|
|
||||||
bool "ARC (little endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Synopsys' DesignWare ARC Processor Cores are a family of
|
|
||||||
32-bit CPUs that can be used from deeply embedded to high
|
|
||||||
performance host applications. Little endian.
|
|
||||||
|
|
||||||
config BR2_arceb
|
|
||||||
bool "ARC (big endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Synopsys' DesignWare ARC Processor Cores are a family of
|
|
||||||
32-bit CPUs that can be used from deeply embedded to high
|
|
||||||
performance host applications. Big endian.
|
|
||||||
|
|
||||||
config BR2_arm
|
|
||||||
bool "ARM (little endian)"
|
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
|
||||||
help
|
|
||||||
ARM is a 32-bit reduced instruction set computer (RISC)
|
|
||||||
instruction set architecture (ISA) developed by ARM Holdings.
|
|
||||||
Little endian.
|
|
||||||
http://www.arm.com/
|
|
||||||
http://en.wikipedia.org/wiki/ARM
|
|
||||||
|
|
||||||
config BR2_armeb
|
|
||||||
bool "ARM (big endian)"
|
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
|
||||||
help
|
|
||||||
ARM is a 32-bit reduced instruction set computer (RISC)
|
|
||||||
instruction set architecture (ISA) developed by ARM Holdings.
|
|
||||||
Big endian.
|
|
||||||
http://www.arm.com/
|
|
||||||
http://en.wikipedia.org/wiki/ARM
|
|
||||||
|
|
||||||
config BR2_aarch64
|
|
||||||
bool "AArch64 (little endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
||||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
||||||
http://en.wikipedia.org/wiki/ARM
|
|
||||||
|
|
||||||
config BR2_aarch64_be
|
|
||||||
bool "AArch64 (big endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
||||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
||||||
http://en.wikipedia.org/wiki/ARM
|
|
||||||
|
|
||||||
config BR2_csky
|
|
||||||
bool "csky"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
# Most variants are supported by gcc-9+, except one that is
|
|
||||||
# handled as a special exception in package/gcc/Config.in.host
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
|
||||||
help
|
|
||||||
csky is processor IP from china.
|
|
||||||
http://www.c-sky.com/
|
|
||||||
http://www.github.com/c-sky
|
|
||||||
|
|
||||||
config BR2_i386
|
|
||||||
bool "i386"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Intel i386 architecture compatible microprocessor
|
|
||||||
http://en.wikipedia.org/wiki/I386
|
|
||||||
|
|
||||||
config BR2_m68k
|
|
||||||
bool "m68k"
|
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
|
|
||||||
help
|
|
||||||
Motorola 68000 family microprocessor
|
|
||||||
http://en.wikipedia.org/wiki/M68k
|
|
||||||
|
|
||||||
config BR2_microblazeel
|
|
||||||
bool "Microblaze AXI (little endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
|
|
||||||
bus based architecture (little endian)
|
|
||||||
http://www.xilinx.com
|
|
||||||
http://en.wikipedia.org/wiki/Microblaze
|
|
||||||
|
|
||||||
config BR2_microblazebe
|
|
||||||
bool "Microblaze non-AXI (big endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
|
|
||||||
bus based architecture (non-AXI, big endian)
|
|
||||||
http://www.xilinx.com
|
|
||||||
http://en.wikipedia.org/wiki/Microblaze
|
|
||||||
|
|
||||||
config BR2_mips
|
|
||||||
bool "MIPS (big endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
|
||||||
endian.
|
|
||||||
http://www.mips.com/
|
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
||||||
|
|
||||||
config BR2_mipsel
|
|
||||||
bool "MIPS (little endian)"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
|
||||||
endian.
|
|
||||||
http://www.mips.com/
|
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
||||||
|
|
||||||
config BR2_mips64
|
|
||||||
bool "MIPS64 (big endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
|
||||||
endian.
|
|
||||||
http://www.mips.com/
|
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
||||||
|
|
||||||
config BR2_mips64el
|
|
||||||
bool "MIPS64 (little endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
|
||||||
endian.
|
|
||||||
http://www.mips.com/
|
|
||||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
||||||
|
|
||||||
config BR2_nds32
|
|
||||||
bool "nds32"
|
|
||||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
nds32 is a 32-bit architecture developed by Andes Technology.
|
|
||||||
https://en.wikipedia.org/wiki/Andes_Technology
|
|
||||||
|
|
||||||
config BR2_nios2
|
|
||||||
bool "Nios II"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
Nios II is a soft core processor from Altera Corporation.
|
|
||||||
http://www.altera.com/
|
|
||||||
http://en.wikipedia.org/wiki/Nios_II
|
|
||||||
|
|
||||||
config BR2_or1k
|
|
||||||
bool "OpenRISC"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
OpenRISC is a free and open processor for embedded system.
|
|
||||||
http://openrisc.io
|
|
||||||
|
|
||||||
config BR2_powerpc
|
|
||||||
bool "PowerPC"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
||||||
alliance. Big endian.
|
|
||||||
http://www.power.org/
|
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
|
||||||
|
|
||||||
config BR2_powerpc64
|
|
||||||
bool "PowerPC64 (big endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
||||||
alliance. Big endian.
|
|
||||||
http://www.power.org/
|
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
|
||||||
|
|
||||||
config BR2_powerpc64le
|
|
||||||
bool "PowerPC64 (little endian)"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
||||||
alliance. Little endian.
|
|
||||||
http://www.power.org/
|
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
|
||||||
|
|
||||||
config BR2_riscv
|
|
||||||
bool "RISCV"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
||||||
help
|
|
||||||
RISC-V is an open, free Instruction Set Architecture created
|
|
||||||
by the UC Berkeley Architecture Research group and supported
|
|
||||||
and promoted by RISC-V Foundation.
|
|
||||||
https://riscv.org/
|
|
||||||
https://en.wikipedia.org/wiki/RISC-V
|
|
||||||
|
|
||||||
config BR2_s390x
|
|
||||||
bool "s390x"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
s390x is a big-endian architecture made by IBM.
|
|
||||||
http://www.ibm.com/
|
|
||||||
http://en.wikipedia.org/wiki/IBM_System/390
|
|
||||||
|
|
||||||
config BR2_sh
|
|
||||||
bool "SuperH"
|
|
||||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
|
||||||
help
|
|
||||||
SuperH (or SH) is a 32-bit reduced instruction set computer
|
|
||||||
(RISC) instruction set architecture (ISA) developed by
|
|
||||||
Hitachi.
|
|
||||||
http://www.hitachi.com/
|
|
||||||
http://en.wikipedia.org/wiki/SuperH
|
|
||||||
|
|
||||||
config BR2_sparc
|
|
||||||
bool "SPARC"
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
SPARC (from Scalable Processor Architecture) is a RISC
|
|
||||||
instruction set architecture (ISA) developed by Sun
|
|
||||||
Microsystems.
|
|
||||||
http://www.oracle.com/sun
|
|
||||||
http://en.wikipedia.org/wiki/Sparc
|
|
||||||
|
|
||||||
config BR2_sparc64
|
|
||||||
bool "SPARC64"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
SPARC (from Scalable Processor Architecture) is a RISC
|
|
||||||
instruction set architecture (ISA) developed by Sun
|
|
||||||
Microsystems.
|
|
||||||
http://www.oracle.com/sun
|
|
||||||
http://en.wikipedia.org/wiki/Sparc
|
|
||||||
|
|
||||||
config BR2_x86_64
|
|
||||||
bool "x86_64"
|
|
||||||
select BR2_ARCH_IS_64
|
|
||||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
|
||||||
help
|
|
||||||
x86-64 is an extension of the x86 instruction set (Intel i386
|
|
||||||
architecture compatible microprocessor).
|
|
||||||
http://en.wikipedia.org/wiki/X86_64
|
|
||||||
|
|
||||||
config BR2_xtensa
|
|
||||||
bool "Xtensa"
|
|
||||||
# MMU support is set by the subarchitecture file, arch/Config.in.xtensa
|
|
||||||
help
|
|
||||||
Xtensa is a Tensilica processor IP architecture.
|
|
||||||
http://en.wikipedia.org/wiki/Xtensa
|
|
||||||
http://www.tensilica.com/
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
# For some architectures or specific cores, our internal toolchain
|
|
||||||
# backend is not suitable (like, missing support in upstream gcc, or
|
|
||||||
# no ChipCo fork exists...)
|
|
||||||
config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
|
|
||||||
bool
|
|
||||||
default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
||||||
|
|
||||||
# The following symbols are selected by the individual
|
|
||||||
# Config.in.$ARCH files
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
||||||
|
|
||||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
|
||||||
bool
|
|
||||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
|
||||||
|
|
||||||
# The following string values are defined by the individual
|
|
||||||
# Config.in.$ARCH files
|
|
||||||
config BR2_ARCH
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_ENDIAN
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_ARCH
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_ABI
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_NAN
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_FP32_MODE
|
|
||||||
string
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_CPU
|
|
||||||
string
|
|
||||||
|
|
||||||
# The value of this option will be passed as --with-fpu=<value> when
|
|
||||||
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
|
||||||
# wrapper (external toolchain)
|
|
||||||
config BR2_GCC_TARGET_FPU
|
|
||||||
string
|
|
||||||
|
|
||||||
# The value of this option will be passed as --with-float=<value> when
|
|
||||||
# building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
|
|
||||||
# wrapper (external toolchain)
|
|
||||||
config BR2_GCC_TARGET_FLOAT_ABI
|
|
||||||
string
|
|
||||||
|
|
||||||
# The value of this option will be passed as --with-mode=<value> when
|
|
||||||
# building gcc (internal backend) or -m<value> in the toolchain
|
|
||||||
# wrapper (external toolchain)
|
|
||||||
config BR2_GCC_TARGET_MODE
|
|
||||||
string
|
|
||||||
|
|
||||||
# Must be selected by binary formats that support shared libraries.
|
|
||||||
config BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
bool
|
|
||||||
|
|
||||||
# Must match the name of the architecture from readelf point of view,
|
|
||||||
# i.e the "Machine:" field of readelf output. See get_machine_name()
|
|
||||||
# in binutils/readelf.c for the list of possible values.
|
|
||||||
config BR2_READELF_ARCH_NAME
|
|
||||||
string
|
|
||||||
|
|
||||||
# Set up target binary format
|
|
||||||
choice
|
|
||||||
prompt "Target Binary Format"
|
|
||||||
default BR2_BINFMT_ELF if BR2_USE_MMU
|
|
||||||
default BR2_BINFMT_FLAT
|
|
||||||
|
|
||||||
config BR2_BINFMT_ELF
|
|
||||||
bool "ELF"
|
|
||||||
depends on BR2_USE_MMU
|
|
||||||
select BR2_BINFMT_SUPPORTS_SHARED
|
|
||||||
help
|
|
||||||
ELF (Executable and Linkable Format) is a format for libraries
|
|
||||||
and executables used across different architectures and
|
|
||||||
operating systems.
|
|
||||||
|
|
||||||
config BR2_BINFMT_FLAT
|
|
||||||
bool "FLAT"
|
|
||||||
depends on !BR2_USE_MMU
|
|
||||||
help
|
|
||||||
FLAT binary is a relatively simple and lightweight executable
|
|
||||||
format based on the original a.out format. It is widely used
|
|
||||||
in environment where no MMU is available.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
# Set up flat binary type
|
|
||||||
choice
|
|
||||||
prompt "FLAT Binary type"
|
|
||||||
default BR2_BINFMT_FLAT_ONE
|
|
||||||
depends on BR2_BINFMT_FLAT
|
|
||||||
|
|
||||||
config BR2_BINFMT_FLAT_ONE
|
|
||||||
bool "One memory region"
|
|
||||||
help
|
|
||||||
All segments are linked into one memory region.
|
|
||||||
|
|
||||||
config BR2_BINFMT_FLAT_SHARED
|
|
||||||
bool "Shared binary"
|
|
||||||
depends on BR2_m68k
|
|
||||||
# Even though this really generates shared binaries, there is no libdl
|
|
||||||
# and dlopen() cannot be used. So packages that require shared
|
|
||||||
# libraries cannot be built. Therefore, we don't select
|
|
||||||
# BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
|
|
||||||
# Although this adds -static to the compilation, that's not a problem
|
|
||||||
# because the -mid-shared-library option overrides it.
|
|
||||||
help
|
|
||||||
Allow to load and link indiviual FLAT binaries at run time.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
if BR2_arcle || BR2_arceb
|
|
||||||
source "arch/Config.in.arc"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
|
||||||
source "arch/Config.in.arm"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_csky
|
|
||||||
source "arch/Config.in.csky"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_m68k
|
|
||||||
source "arch/Config.in.m68k"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_microblazeel || BR2_microblazebe
|
|
||||||
source "arch/Config.in.microblaze"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
|
||||||
source "arch/Config.in.mips"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_nds32
|
|
||||||
source "arch/Config.in.nds32"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_nios2
|
|
||||||
source "arch/Config.in.nios2"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_or1k
|
|
||||||
source "arch/Config.in.or1k"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
|
||||||
source "arch/Config.in.powerpc"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_riscv
|
|
||||||
source "arch/Config.in.riscv"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_s390x
|
|
||||||
source "arch/Config.in.s390x"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_sh
|
|
||||||
source "arch/Config.in.sh"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_sparc || BR2_sparc64
|
|
||||||
source "arch/Config.in.sparc"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_i386 || BR2_x86_64
|
|
||||||
source "arch/Config.in.x86"
|
|
||||||
endif
|
|
||||||
|
|
||||||
if BR2_xtensa
|
|
||||||
source "arch/Config.in.xtensa"
|
|
||||||
endif
|
|
||||||
|
|
||||||
endmenu # Target options
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
choice
|
|
||||||
prompt "Target Architecture Variant"
|
|
||||||
default BR2_ck610
|
|
||||||
help
|
|
||||||
Specific CPU variant to use
|
|
||||||
|
|
||||||
config BR2_ck610
|
|
||||||
# Not supported by upstream gcc <= 9, and handled as a special
|
|
||||||
# exception in package/gcc/Config.in.host
|
|
||||||
bool "ck610"
|
|
||||||
|
|
||||||
config BR2_ck807
|
|
||||||
bool "ck807"
|
|
||||||
|
|
||||||
config BR2_ck810
|
|
||||||
bool "ck810"
|
|
||||||
|
|
||||||
config BR2_ck860
|
|
||||||
bool "ck860"
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_CSKY_FPU
|
|
||||||
bool "Enable FPU coprocessor"
|
|
||||||
depends on BR2_ck810 || BR2_ck807 || BR2_ck860
|
|
||||||
help
|
|
||||||
You can say N here if your C-SKY CPU doesn't have a
|
|
||||||
Floating-Point Coprocessor or if you don't need FPU support
|
|
||||||
for your user-space programs.
|
|
||||||
|
|
||||||
config BR2_CSKY_VDSP
|
|
||||||
bool "Enable VDSP enhanced instructions Co-processor"
|
|
||||||
depends on BR2_CSKY_FPU
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_FLOAT_ABI
|
|
||||||
default "soft" if !BR2_CSKY_FPU
|
|
||||||
default "hard" if BR2_CSKY_FPU
|
|
||||||
|
|
||||||
config BR2_ARCH
|
|
||||||
default "csky"
|
|
||||||
|
|
||||||
config BR2_ENDIAN
|
|
||||||
default "LITTLE"
|
|
||||||
|
|
||||||
config BR2_READELF_ARCH_NAME
|
|
||||||
default "CSKY"
|
|
||||||
|
|
||||||
# vim: ft=kconfig
|
|
||||||
# -*- mode:kconfig; -*-
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
config BR2_ARCH
|
|
||||||
default "nds32le"
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_ARCH
|
|
||||||
default "v3"
|
|
||||||
|
|
||||||
config BR2_ENDIAN
|
|
||||||
default "LITTLE"
|
|
||||||
|
|
||||||
config BR2_READELF_ARCH_NAME
|
|
||||||
default "Andes Technology compact code size embedded RISC processor family"
|
|
||||||
|
|
||||||
# vim: ft=kconfig
|
|
||||||
# -*- mode:kconfig; -*-
|
|
||||||
@ -1,209 +0,0 @@
|
|||||||
config BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
bool
|
|
||||||
|
|
||||||
config BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
bool
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Target Architecture Variant"
|
|
||||||
default BR2_generic_powerpc
|
|
||||||
help
|
|
||||||
Specific CPU variant to use
|
|
||||||
config BR2_generic_powerpc
|
|
||||||
bool "generic"
|
|
||||||
config BR2_powerpc_401
|
|
||||||
bool "401"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_403
|
|
||||||
bool "403"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_405
|
|
||||||
bool "405"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_405fp
|
|
||||||
bool "405 with FPU"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_440
|
|
||||||
bool "440"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_440fp
|
|
||||||
bool "440 with FPU"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_464
|
|
||||||
bool "464"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_464fp
|
|
||||||
bool "464 with FPU"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_476
|
|
||||||
bool "476"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_476fp
|
|
||||||
bool "476 with FPU"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_505
|
|
||||||
bool "505"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_602
|
|
||||||
bool "602"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_603
|
|
||||||
bool "603"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_603e
|
|
||||||
bool "603e"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_604
|
|
||||||
bool "604"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_604e
|
|
||||||
bool "604e"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_620
|
|
||||||
bool "620"
|
|
||||||
config BR2_powerpc_630
|
|
||||||
bool "630"
|
|
||||||
config BR2_powerpc_740
|
|
||||||
bool "740"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_7400
|
|
||||||
bool "7400"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_7450
|
|
||||||
bool "7450"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_750
|
|
||||||
bool "750"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_821
|
|
||||||
bool "821"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_823
|
|
||||||
bool "823"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_860
|
|
||||||
bool "860"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_970
|
|
||||||
bool "970"
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_8540
|
|
||||||
bool "8540 / e500v1"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
select BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
config BR2_powerpc_8548
|
|
||||||
bool "8548 / e500v2"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
select BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
config BR2_powerpc_e300c2
|
|
||||||
bool "e300c2"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_e300c3
|
|
||||||
bool "e300c3"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_e500mc
|
|
||||||
bool "e500mc"
|
|
||||||
depends on !BR2_ARCH_IS_64
|
|
||||||
config BR2_powerpc_e5500
|
|
||||||
bool "e5500"
|
|
||||||
depends on !BR2_powerpc64le
|
|
||||||
config BR2_powerpc_e6500
|
|
||||||
bool "e6500"
|
|
||||||
depends on !BR2_powerpc64le
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_power4
|
|
||||||
bool "power4"
|
|
||||||
config BR2_powerpc_power5
|
|
||||||
bool "power5"
|
|
||||||
config BR2_powerpc_power6
|
|
||||||
bool "power6"
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_power7
|
|
||||||
bool "power7"
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
config BR2_powerpc_power8
|
|
||||||
bool "power8"
|
|
||||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Target ABI"
|
|
||||||
default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
default BR2_powerpc_CLASSIC
|
|
||||||
help
|
|
||||||
Application Binary Interface to use
|
|
||||||
|
|
||||||
config BR2_powerpc_CLASSIC
|
|
||||||
bool "Classic"
|
|
||||||
depends on !BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
config BR2_powerpc_SPE
|
|
||||||
bool "SPE"
|
|
||||||
depends on BR2_POWERPC_CPU_HAS_SPE
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_POWERPC_SOFT_FLOAT
|
|
||||||
bool "Use soft-float"
|
|
||||||
select BR2_SOFT_FLOAT
|
|
||||||
help
|
|
||||||
If your target CPU does not have a Floating Point Unit (FPU)
|
|
||||||
or a kernel FPU emulator, but you still wish to support
|
|
||||||
floating point functions, then everything will need to be
|
|
||||||
compiled with soft floating point support (-msoft-float).
|
|
||||||
|
|
||||||
config BR2_ARCH
|
|
||||||
default "powerpc" if BR2_powerpc
|
|
||||||
default "powerpc64" if BR2_powerpc64
|
|
||||||
default "powerpc64le" if BR2_powerpc64le
|
|
||||||
|
|
||||||
config BR2_ENDIAN
|
|
||||||
default "BIG" if BR2_powerpc || BR2_powerpc64
|
|
||||||
default "LITTLE" if BR2_powerpc64le
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_CPU
|
|
||||||
default "401" if BR2_powerpc_401
|
|
||||||
default "403" if BR2_powerpc_403
|
|
||||||
default "405" if BR2_powerpc_405
|
|
||||||
default "405fp" if BR2_powerpc_405fp
|
|
||||||
default "440" if BR2_powerpc_440
|
|
||||||
default "440fp" if BR2_powerpc_440fp
|
|
||||||
default "464" if BR2_powerpc_464
|
|
||||||
default "464fp" if BR2_powerpc_464fp
|
|
||||||
default "476" if BR2_powerpc_476
|
|
||||||
default "476fp" if BR2_powerpc_476fp
|
|
||||||
default "505" if BR2_powerpc_505
|
|
||||||
default "602" if BR2_powerpc_602
|
|
||||||
default "603" if BR2_powerpc_603
|
|
||||||
default "603e" if BR2_powerpc_603e
|
|
||||||
default "604" if BR2_powerpc_604
|
|
||||||
default "604e" if BR2_powerpc_604e
|
|
||||||
default "620" if BR2_powerpc_620
|
|
||||||
default "630" if BR2_powerpc_630
|
|
||||||
default "740" if BR2_powerpc_740
|
|
||||||
default "7400" if BR2_powerpc_7400
|
|
||||||
default "7450" if BR2_powerpc_7450
|
|
||||||
default "750" if BR2_powerpc_750
|
|
||||||
default "821" if BR2_powerpc_821
|
|
||||||
default "823" if BR2_powerpc_823
|
|
||||||
default "860" if BR2_powerpc_860
|
|
||||||
default "970" if BR2_powerpc_970
|
|
||||||
default "8540" if BR2_powerpc_8540
|
|
||||||
default "8548" if BR2_powerpc_8548
|
|
||||||
default "e300c2" if BR2_powerpc_e300c2
|
|
||||||
default "e300c3" if BR2_powerpc_e300c3
|
|
||||||
default "e500mc" if BR2_powerpc_e500mc
|
|
||||||
default "e5500" if BR2_powerpc_e5500
|
|
||||||
default "e6500" if BR2_powerpc_e6500
|
|
||||||
default "power4" if BR2_powerpc_power4
|
|
||||||
default "power5" if BR2_powerpc_power5
|
|
||||||
default "power6" if BR2_powerpc_power6
|
|
||||||
default "power7" if BR2_powerpc_power7
|
|
||||||
default "power8" if BR2_powerpc_power8
|
|
||||||
|
|
||||||
config BR2_READELF_ARCH_NAME
|
|
||||||
default "PowerPC" if BR2_powerpc
|
|
||||||
default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le
|
|
||||||
|
|
||||||
# vim: ft=kconfig
|
|
||||||
# -*- mode:kconfig; -*-
|
|
||||||
@ -1,312 +0,0 @@
|
|||||||
# i386/x86_64 cpu features
|
|
||||||
config BR2_X86_CPU_HAS_MMX
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_3DNOW
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSE
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSE2
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSE3
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSSE3
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSE4
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_SSE42
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_AVX
|
|
||||||
bool
|
|
||||||
config BR2_X86_CPU_HAS_AVX2
|
|
||||||
bool
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Target Architecture Variant"
|
|
||||||
default BR2_x86_i586 if BR2_i386
|
|
||||||
depends on BR2_i386 || BR2_x86_64
|
|
||||||
help
|
|
||||||
Specific CPU variant to use
|
|
||||||
|
|
||||||
config BR2_x86_i486
|
|
||||||
bool "i486"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_i586
|
|
||||||
bool "i586"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_x1000
|
|
||||||
bool "x1000"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
help
|
|
||||||
The Intel X1000 is a Pentium class microprocessor in the
|
|
||||||
Quark (sub-Atom) Product Line. The X1000 has a bug on the
|
|
||||||
lock prefix requiring that prefix must be stripped at build
|
|
||||||
time.
|
|
||||||
|
|
||||||
See https://en.wikipedia.org/wiki/Intel_Quark
|
|
||||||
|
|
||||||
config BR2_x86_i686
|
|
||||||
bool "i686"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_pentiumpro
|
|
||||||
bool "pentium pro"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_pentium_mmx
|
|
||||||
bool "pentium MMX"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
config BR2_x86_pentium_m
|
|
||||||
bool "pentium mobile"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
config BR2_x86_pentium2
|
|
||||||
bool "pentium2"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
config BR2_x86_pentium3
|
|
||||||
bool "pentium3"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
config BR2_x86_pentium4
|
|
||||||
bool "pentium4"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
config BR2_x86_prescott
|
|
||||||
bool "prescott"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
config BR2_x86_nocona
|
|
||||||
bool "nocona"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
config BR2_x86_core2
|
|
||||||
bool "core2"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
config BR2_x86_corei7
|
|
||||||
bool "corei7"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
config BR2_x86_westmere
|
|
||||||
bool "westmere"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
config BR2_x86_corei7_avx
|
|
||||||
bool "corei7-avx"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
select BR2_X86_CPU_HAS_AVX
|
|
||||||
config BR2_x86_core_avx2
|
|
||||||
bool "core-avx2"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
select BR2_X86_CPU_HAS_AVX
|
|
||||||
select BR2_X86_CPU_HAS_AVX2
|
|
||||||
config BR2_x86_atom
|
|
||||||
bool "atom"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
config BR2_x86_silvermont
|
|
||||||
bool "silvermont"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
config BR2_x86_k6
|
|
||||||
bool "k6"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
config BR2_x86_k6_2
|
|
||||||
bool "k6-2"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_3DNOW
|
|
||||||
config BR2_x86_athlon
|
|
||||||
bool "athlon"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_3DNOW
|
|
||||||
config BR2_x86_athlon_4
|
|
||||||
bool "athlon-4"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_3DNOW
|
|
||||||
config BR2_x86_opteron
|
|
||||||
bool "opteron"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
config BR2_x86_opteron_sse3
|
|
||||||
bool "opteron w/ SSE3"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
config BR2_x86_barcelona
|
|
||||||
bool "barcelona"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
config BR2_x86_jaguar
|
|
||||||
bool "jaguar"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
config BR2_x86_steamroller
|
|
||||||
bool "steamroller"
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
select BR2_X86_CPU_HAS_SSE2
|
|
||||||
select BR2_X86_CPU_HAS_SSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSSE3
|
|
||||||
select BR2_X86_CPU_HAS_SSE4
|
|
||||||
select BR2_X86_CPU_HAS_SSE42
|
|
||||||
config BR2_x86_geode
|
|
||||||
bool "geode"
|
|
||||||
# Don't include MMX support because there several variant of geode
|
|
||||||
# processor, some with MMX support, some without.
|
|
||||||
# See: http://en.wikipedia.org/wiki/Geode_%28processor%29
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
config BR2_x86_c3
|
|
||||||
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_3DNOW
|
|
||||||
config BR2_x86_c32
|
|
||||||
bool "Via C3-2 (Nehemiah cores)"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
select BR2_X86_CPU_HAS_SSE
|
|
||||||
config BR2_x86_winchip_c6
|
|
||||||
bool "IDT Winchip C6"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
config BR2_x86_winchip2
|
|
||||||
bool "IDT Winchip 2"
|
|
||||||
depends on !BR2_x86_64
|
|
||||||
select BR2_X86_CPU_HAS_MMX
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config BR2_ARCH
|
|
||||||
default "i486" if BR2_x86_i486
|
|
||||||
default "i586" if BR2_x86_i586
|
|
||||||
default "i586" if BR2_x86_x1000
|
|
||||||
default "i586" if BR2_x86_pentium_mmx
|
|
||||||
default "i586" if BR2_x86_geode
|
|
||||||
default "i586" if BR2_x86_c3
|
|
||||||
default "i686" if BR2_x86_c32
|
|
||||||
default "i586" if BR2_x86_winchip_c6
|
|
||||||
default "i586" if BR2_x86_winchip2
|
|
||||||
default "i686" if BR2_x86_i686
|
|
||||||
default "i686" if BR2_x86_pentium2
|
|
||||||
default "i686" if BR2_x86_pentium3
|
|
||||||
default "i686" if BR2_x86_pentium4
|
|
||||||
default "i686" if BR2_x86_pentium_m
|
|
||||||
default "i686" if BR2_x86_pentiumpro
|
|
||||||
default "i686" if BR2_x86_prescott
|
|
||||||
default "i686" if BR2_x86_nocona && BR2_i386
|
|
||||||
default "i686" if BR2_x86_core2 && BR2_i386
|
|
||||||
default "i686" if BR2_x86_corei7 && BR2_i386
|
|
||||||
default "i686" if BR2_x86_westmere && BR2_i386
|
|
||||||
default "i686" if BR2_x86_corei7_avx && BR2_i386
|
|
||||||
default "i686" if BR2_x86_core_avx2 && BR2_i386
|
|
||||||
default "i686" if BR2_x86_atom && BR2_i386
|
|
||||||
default "i686" if BR2_x86_silvermont && BR2_i386
|
|
||||||
default "i686" if BR2_x86_opteron && BR2_i386
|
|
||||||
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
|
|
||||||
default "i686" if BR2_x86_barcelona && BR2_i386
|
|
||||||
default "i686" if BR2_x86_jaguar && BR2_i386
|
|
||||||
default "i686" if BR2_x86_steamroller && BR2_i386
|
|
||||||
default "i686" if BR2_x86_k6
|
|
||||||
default "i686" if BR2_x86_k6_2
|
|
||||||
default "i686" if BR2_x86_athlon
|
|
||||||
default "i686" if BR2_x86_athlon_4
|
|
||||||
default "x86_64" if BR2_x86_64
|
|
||||||
|
|
||||||
config BR2_ENDIAN
|
|
||||||
default "LITTLE"
|
|
||||||
|
|
||||||
config BR2_GCC_TARGET_ARCH
|
|
||||||
default "i486" if BR2_x86_i486
|
|
||||||
default "i586" if BR2_x86_i586
|
|
||||||
default "i586" if BR2_x86_x1000
|
|
||||||
default "pentium-mmx" if BR2_x86_pentium_mmx
|
|
||||||
default "i686" if BR2_x86_i686
|
|
||||||
default "pentiumpro" if BR2_x86_pentiumpro
|
|
||||||
default "pentium-m" if BR2_x86_pentium_m
|
|
||||||
default "pentium2" if BR2_x86_pentium2
|
|
||||||
default "pentium3" if BR2_x86_pentium3
|
|
||||||
default "pentium4" if BR2_x86_pentium4
|
|
||||||
default "prescott" if BR2_x86_prescott
|
|
||||||
default "nocona" if BR2_x86_nocona
|
|
||||||
default "core2" if BR2_x86_core2
|
|
||||||
default "corei7" if BR2_x86_corei7
|
|
||||||
default "corei7-avx" if BR2_x86_corei7_avx
|
|
||||||
default "core-avx2" if BR2_x86_core_avx2
|
|
||||||
default "atom" if BR2_x86_atom
|
|
||||||
default "westmere" if BR2_x86_westmere
|
|
||||||
default "silvermont" if BR2_x86_silvermont
|
|
||||||
default "k8" if BR2_x86_opteron
|
|
||||||
default "k8-sse3" if BR2_x86_opteron_sse3
|
|
||||||
default "barcelona" if BR2_x86_barcelona
|
|
||||||
default "btver2" if BR2_x86_jaguar
|
|
||||||
default "bdver3" if BR2_x86_steamroller
|
|
||||||
default "k6" if BR2_x86_k6
|
|
||||||
default "k6-2" if BR2_x86_k6_2
|
|
||||||
default "athlon" if BR2_x86_athlon
|
|
||||||
default "athlon-4" if BR2_x86_athlon_4
|
|
||||||
default "winchip-c6" if BR2_x86_winchip_c6
|
|
||||||
default "winchip2" if BR2_x86_winchip2
|
|
||||||
default "c3" if BR2_x86_c3
|
|
||||||
default "c3-2" if BR2_x86_c32
|
|
||||||
default "geode" if BR2_x86_geode
|
|
||||||
|
|
||||||
config BR2_READELF_ARCH_NAME
|
|
||||||
default "Intel 80386" if BR2_i386
|
|
||||||
default "Advanced Micro Devices X86-64" if BR2_x86_64
|
|
||||||
|
|
||||||
# vim: ft=kconfig
|
|
||||||
# -*- mode:kconfig; -*-
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Architecture-specific definitions
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Allow GCC target configuration settings to be optionally
|
|
||||||
# overwritten by architecture specific makefiles.
|
|
||||||
|
|
||||||
# Makefiles must use the GCC_TARGET_* variables below instead
|
|
||||||
# of the BR2_GCC_TARGET_* versions.
|
|
||||||
GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH))
|
|
||||||
GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI))
|
|
||||||
GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN))
|
|
||||||
GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE))
|
|
||||||
GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU))
|
|
||||||
GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU))
|
|
||||||
GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
|
|
||||||
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
|
||||||
|
|
||||||
# Include any architecture specific makefiles.
|
|
||||||
-include $(sort $(wildcard arch/arch.mk.*))
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
ifeq ($(BR2_arc),y)
|
|
||||||
|
|
||||||
# -matomic is always required when the ARC core has the atomic extensions
|
|
||||||
ifeq ($(BR2_ARC_ATOMIC_EXT),y)
|
|
||||||
ARCH_TOOLCHAIN_WRAPPER_OPTS = -matomic
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
|
||||||
ifeq ($(BR2_ARC_PAGE_SIZE_4K),y)
|
|
||||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096
|
|
||||||
else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y)
|
|
||||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192
|
|
||||||
else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y)
|
|
||||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
#
|
|
||||||
# Configure the GCC_TARGET_ARCH variable and append the
|
|
||||||
# appropriate C-SKY ISA extensions.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(BR2_csky),y)
|
|
||||||
|
|
||||||
ifeq ($(BR2_ck610),y)
|
|
||||||
GCC_TARGET_CPU := ck610
|
|
||||||
else ifeq ($(BR2_ck807),y)
|
|
||||||
GCC_TARGET_CPU := ck807
|
|
||||||
else ifeq ($(BR2_ck810),y)
|
|
||||||
GCC_TARGET_CPU := ck810
|
|
||||||
else ifeq ($(BR2_ck860),y)
|
|
||||||
GCC_TARGET_CPU := ck860
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(BR2_CSKY_FPU),y)
|
|
||||||
GCC_TARGET_CPU := $(GCC_TARGET_CPU)f
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(BR2_CSKY_VDSP),y)
|
|
||||||
GCC_TARGET_CPU := $(GCC_TARGET_CPU)v
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
#
|
|
||||||
# Configure the GCC_TARGET_ARCH variable and append the
|
|
||||||
# appropriate RISC-V ISA extensions.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(BR2_riscv),y)
|
|
||||||
|
|
||||||
ifeq ($(BR2_RISCV_64),y)
|
|
||||||
GCC_TARGET_ARCH := rv64i
|
|
||||||
else
|
|
||||||
GCC_TARGET_ARCH := rv32i
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(BR2_RISCV_ISA_RVM),y)
|
|
||||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m
|
|
||||||
endif
|
|
||||||
ifeq ($(BR2_RISCV_ISA_RVA),y)
|
|
||||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a
|
|
||||||
endif
|
|
||||||
ifeq ($(BR2_RISCV_ISA_RVF),y)
|
|
||||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f
|
|
||||||
endif
|
|
||||||
ifeq ($(BR2_RISCV_ISA_RVD),y)
|
|
||||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d
|
|
||||||
endif
|
|
||||||
ifeq ($(BR2_RISCV_ISA_RVC),y)
|
|
||||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
image efi-part.vfat {
|
|
||||||
vfat {
|
|
||||||
file startup.nsh {
|
|
||||||
image = "efi-part/startup.nsh"
|
|
||||||
}
|
|
||||||
file EFI {
|
|
||||||
image = "efi-part/EFI"
|
|
||||||
}
|
|
||||||
file Image {
|
|
||||||
image = "Image"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 32M
|
|
||||||
}
|
|
||||||
|
|
||||||
image disk.img {
|
|
||||||
hdimage {
|
|
||||||
gpt = true
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
image = "efi-part.vfat"
|
|
||||||
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
|
||||||
offset = 32768
|
|
||||||
bootable = true
|
|
||||||
}
|
|
||||||
|
|
||||||
partition root {
|
|
||||||
partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
|
|
||||||
The aarch64_efi_defconfig allows to build a minimal Linux system that
|
|
||||||
can boot on all AArch64 servers providing an EFI firmware.
|
|
||||||
|
|
||||||
This includes all Arm EBBR[1] compliant systems, and all Arm SystemReady[2]
|
|
||||||
compliant systems for example.
|
|
||||||
|
|
||||||
|
|
||||||
Building and booting
|
|
||||||
====================
|
|
||||||
|
|
||||||
$ make aarch64_efi_defconfig
|
|
||||||
$ make
|
|
||||||
|
|
||||||
The file output/images/disk.img is a complete disk image that can be
|
|
||||||
booted, it includes the grub2 bootloader, Linux kernel and root
|
|
||||||
filesystem.
|
|
||||||
|
|
||||||
Testing under Qemu
|
|
||||||
==================
|
|
||||||
|
|
||||||
This image can also be tested using Qemu:
|
|
||||||
|
|
||||||
qemu-system-aarch64 \
|
|
||||||
-M virt \
|
|
||||||
-cpu cortex-a57 \
|
|
||||||
-m 512 \
|
|
||||||
-nographic \
|
|
||||||
-bios </path/to/QEMU_EFI.fd> \
|
|
||||||
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
|
||||||
-device virtio-blk-device,drive=hd0 \
|
|
||||||
-netdev user,id=eth0 \
|
|
||||||
-device virtio-net-device,netdev=eth0
|
|
||||||
|
|
||||||
Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI
|
|
||||||
firmware image for qemu.
|
|
||||||
It may be provided by your distribution as a edk2-aarch64 or AAVMF
|
|
||||||
package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd .
|
|
||||||
|
|
||||||
U-Boot based qemu firmware
|
|
||||||
==========================
|
|
||||||
|
|
||||||
A qemu firmware with support for UEFI based on U-Boot can be built following
|
|
||||||
the instructions in [3], with qemu_arm64_defconfig.
|
|
||||||
|
|
||||||
This should give you a nor_flash.bin, which you can use with qemu as an
|
|
||||||
alternative to QEMU_EFI.fd. You will also need to change the machine
|
|
||||||
specification to "-M virt,secure" on qemu command line, to enable TrustZone
|
|
||||||
support, and you will need to increase the memory with "-m 1024".
|
|
||||||
|
|
||||||
[1]: https://github.com/ARM-software/ebbr
|
|
||||||
[2]: https://developer.arm.com/architectures/system-architectures/arm-systemready
|
|
||||||
[3]: https://github.com/glikely/u-boot-tfa-build
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
# Minimal SD card image for the Acme Systems Acqua A5
|
|
||||||
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"boot.bin",
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d3_acqua.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
# Minimal SD card image for the Acmesystems Aria G25
|
|
||||||
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
file zImage {
|
|
||||||
image = "zImage"
|
|
||||||
}
|
|
||||||
|
|
||||||
file at91-ariag25.dtb {
|
|
||||||
image = "at91-ariag25.dtb"
|
|
||||||
}
|
|
||||||
|
|
||||||
file boot.bin {
|
|
||||||
image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.8.13.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
# Minimal SD card image for the Acmesystems Arietta G25
|
|
||||||
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
file zImage {
|
|
||||||
image = "zImage"
|
|
||||||
}
|
|
||||||
|
|
||||||
file acme-arietta.dtb {
|
|
||||||
image = "at91-ariettag25.dtb"
|
|
||||||
}
|
|
||||||
|
|
||||||
file boot.bin {
|
|
||||||
image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.8.13.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"socfpga_cyclone5_socrates.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
image uboot.img {
|
|
||||||
hdimage {
|
|
||||||
partition-table = "no"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition spl {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-spl.bin.crc"
|
|
||||||
offset = 0
|
|
||||||
size = 64k
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot-full {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot.img"
|
|
||||||
offset = 256k
|
|
||||||
}
|
|
||||||
|
|
||||||
size = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot-env {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "uboot-env.bin"
|
|
||||||
offset = 17408 # 512 * 34 -> just after gpt
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xc
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot {
|
|
||||||
partition-type = 0xa2
|
|
||||||
image = "uboot.img"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
size = 500M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
label linux-4.17.0-rc3
|
|
||||||
kernel /Image
|
|
||||||
devicetree /sun50i-a64-amarula-relic.dtb
|
|
||||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"Image",
|
|
||||||
"sun50i-a64-amarula-relic.dtb",
|
|
||||||
"extlinux"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
@ -1,90 +0,0 @@
|
|||||||
Amarula A64 Relic
|
|
||||||
================
|
|
||||||
|
|
||||||
Amarula A64-Relic is an Allwinner A64 based IoT device, which supports:
|
|
||||||
- Allwinner A64 Cortex-A53
|
|
||||||
- Mali-400MP2 GPU
|
|
||||||
- AXP803 PMIC
|
|
||||||
- 1GB DDR3 RAM
|
|
||||||
- 8GB eMMC
|
|
||||||
- AP6330 Wifi/BLE
|
|
||||||
- MIPI-DSI
|
|
||||||
- CSI: OV5640 sensor
|
|
||||||
- USB OTG
|
|
||||||
- 12V DC power supply
|
|
||||||
|
|
||||||
Wiki link:
|
|
||||||
https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic
|
|
||||||
|
|
||||||
Build
|
|
||||||
=====
|
|
||||||
|
|
||||||
$ make amarula_a64_relic_defconfig
|
|
||||||
|
|
||||||
$ make
|
|
||||||
|
|
||||||
build files at output/images/:
|
|
||||||
- sunxi-spl.bin
|
|
||||||
- u-boot.itb
|
|
||||||
- Image
|
|
||||||
- sun50i-a64-amarula-relic.dtb
|
|
||||||
- boot.vfat
|
|
||||||
- rootfs.ext4
|
|
||||||
|
|
||||||
Write eMMC
|
|
||||||
=========
|
|
||||||
|
|
||||||
The board comes with an operating system preloaded on the eMMC.
|
|
||||||
To replace it with the Buildroot-built system, take the following
|
|
||||||
steps
|
|
||||||
|
|
||||||
1. Connect the board UART with host and open minicom(ttyUSBx/115200N8)
|
|
||||||
|
|
||||||
2. Supply 12V DC for power-on the board.
|
|
||||||
|
|
||||||
3. Interrupt U-Boot by pressing enter
|
|
||||||
|
|
||||||
4. Create GPT partitions
|
|
||||||
=> mmc dev 1
|
|
||||||
=> gpt write mmc 1 $partitions
|
|
||||||
|
|
||||||
5. Connect the board USB-OTG with USB slot on the host.
|
|
||||||
|
|
||||||
6. Initiate fastboot
|
|
||||||
=> fastboot 0
|
|
||||||
|
|
||||||
7. Write images from host onto eMMC using fastboot
|
|
||||||
$ cd output/images
|
|
||||||
$ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin
|
|
||||||
$ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb
|
|
||||||
$ sudo fastboot -i 0x1f3a flash esp boot.vfat
|
|
||||||
$ sudo fastboot -i 0x1f3a flash system rootfs.ext4
|
|
||||||
|
|
||||||
Update eMMC during Development
|
|
||||||
==============================
|
|
||||||
|
|
||||||
During development, reflashing the entire filesystem image at every
|
|
||||||
change is time consuming. A useful alternative is to directly access
|
|
||||||
over USB the filesystem stored on the eMMC, using the USB Mass Storage
|
|
||||||
capability of U-Boot. To achieve this:
|
|
||||||
|
|
||||||
1. Build U-Boot by enabling UMS
|
|
||||||
$ make uboot-menuconfig
|
|
||||||
(select CONFIG_CMD_USB_MASS_STORAGE=y)
|
|
||||||
|
|
||||||
2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host
|
|
||||||
=> mmc dev 1
|
|
||||||
=> ums 0 mmc 1
|
|
||||||
|
|
||||||
WiFi
|
|
||||||
====
|
|
||||||
|
|
||||||
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
|
||||||
(type password and enter)
|
|
||||||
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
|
||||||
# udhcpc -i wlan0
|
|
||||||
# ping google.com
|
|
||||||
|
|
||||||
--
|
|
||||||
Jagan Teki <jagan@amarulasolutions.com>
|
|
||||||
29-Jun-2018
|
|
||||||
@ -1,83 +0,0 @@
|
|||||||
#AP6330_NVRAM_V1.0_20121130
|
|
||||||
#Sample variables file for BCM94330 SD FC AGB board
|
|
||||||
manfid=0x2d0
|
|
||||||
prodid=0x0547
|
|
||||||
vendid=0x14e4
|
|
||||||
devid=0x4360
|
|
||||||
boardtype=0x05e1
|
|
||||||
boardrev=0x1202
|
|
||||||
boardflags=0x0080200
|
|
||||||
nocrc=1
|
|
||||||
xtalfreq=26000
|
|
||||||
boardnum=22
|
|
||||||
macaddr=00:90:4c:c5:12:38
|
|
||||||
ag0=254
|
|
||||||
aa2g=1
|
|
||||||
ccode=ALL
|
|
||||||
pa0itssit=0x20
|
|
||||||
pa0b0=5587
|
|
||||||
pa0b1=-633
|
|
||||||
pa0b2=-158
|
|
||||||
rssismf2g=0xa
|
|
||||||
rssismc2g=0x3
|
|
||||||
rssisav2g=0x7
|
|
||||||
#rssi params for 5GHz
|
|
||||||
rssismf5g=0x4
|
|
||||||
rssismc5g=0x3
|
|
||||||
rssisav5g=0x7
|
|
||||||
#PA parameters for lower a-band
|
|
||||||
pa1lob0=4748
|
|
||||||
pa1lob1=-566
|
|
||||||
pa1lob2=-180
|
|
||||||
#PA parameters for midband
|
|
||||||
pa1b0=4762
|
|
||||||
pa1b1=-593
|
|
||||||
pa1b2=-172
|
|
||||||
#PA parameters for high band
|
|
||||||
#pa1hib0=4596
|
|
||||||
pa1hib0=4666
|
|
||||||
pa1hib1=-619
|
|
||||||
pa1hib2=-163
|
|
||||||
rxpo5g=0
|
|
||||||
maxp2ga0=74
|
|
||||||
maxp5ga0=66
|
|
||||||
maxp5gla0=66
|
|
||||||
maxp5gha0=66
|
|
||||||
# 2.4G Tx Power offsets
|
|
||||||
cck2gpo=0x2222
|
|
||||||
ofdm2gpo=0x44444444
|
|
||||||
mcs2gpo0=0x6666
|
|
||||||
mcs2gpo1=0x6666
|
|
||||||
# 5G Tx Power offsets
|
|
||||||
ofdm5gpo=0x44444444
|
|
||||||
ofdm5glpo=0x44444444
|
|
||||||
ofdm5ghpo=0x44444444
|
|
||||||
mcs5gpo0=0x6666
|
|
||||||
mcs5gpo1=0x6666
|
|
||||||
mcs5glpo0=0x6666
|
|
||||||
mcs5glpo1=0x6666
|
|
||||||
mcs5ghpo0=0x6666
|
|
||||||
mcs5ghpo1=0x6666
|
|
||||||
sromrev=3
|
|
||||||
il0macaddr=00:90:4c:c5:12:38
|
|
||||||
wl0id=0x431b
|
|
||||||
cckPwrOffset=4
|
|
||||||
swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
|
|
||||||
triso5g=0
|
|
||||||
swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
|
|
||||||
rfreg033=0x19
|
|
||||||
rfreg033_cck=0x1f
|
|
||||||
dacrate2g=160
|
|
||||||
dacrate5g=160
|
|
||||||
txalpfbyp2g=1
|
|
||||||
bphyscale=17
|
|
||||||
cckPwrIdxCorr=-15
|
|
||||||
pacalidx2g=50
|
|
||||||
#pacalidx5g=20
|
|
||||||
noise_cal_ref_2g=53
|
|
||||||
noise_cal_po_2g=0
|
|
||||||
noise_cal_ref_5g=52
|
|
||||||
noise_cal_po_5g=5,0,0
|
|
||||||
# 4330 OOB parameter: High level trigger
|
|
||||||
muxenab=0x10
|
|
||||||
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Shyam Saini <shyam.saini@amarulasolutions.com>
|
|
||||||
Date: Mon, 15 Apr 2019 16:16:16 +0530
|
|
||||||
Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB
|
|
||||||
|
|
||||||
The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which
|
|
||||||
causes board reset because of larger uImage size.
|
|
||||||
|
|
||||||
Error log snippet:
|
|
||||||
Booting using the fdt blob at 0x1f00000
|
|
||||||
Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN
|
|
||||||
Must RESET board to recover
|
|
||||||
resetting ...
|
|
||||||
|
|
||||||
Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
|
|
||||||
---
|
|
||||||
include/configs/rk3288_common.h | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
|
|
||||||
index 72a54bc0ab..eab7cf4d86 100644
|
|
||||||
--- a/include/configs/rk3288_common.h
|
|
||||||
+++ b/include/configs/rk3288_common.h
|
|
||||||
@@ -9,6 +9,8 @@
|
|
||||||
#include <asm/arch/hardware.h>
|
|
||||||
#include "rockchip-common.h"
|
|
||||||
|
|
||||||
+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */
|
|
||||||
+
|
|
||||||
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
|
|
||||||
#define CONFIG_SYS_MALLOC_LEN (32 << 20)
|
|
||||||
#define CONFIG_SYS_CBSIZE 1024
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
||||||
@ -1 +0,0 @@
|
|||||||
CONFIG_NDS32_BUILTIN_DTB="ae3xx"
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
From 90d52d180dcc5d1300dc352ca709eb6453894143 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nylon Chen <nylon7@andestech.com>
|
|
||||||
Date: Wed, 28 Nov 2018 16:26:46 +0800
|
|
||||||
Subject: [PATCH] nds32: Fix boot messages garbled
|
|
||||||
|
|
||||||
In order to display uart correctly we have to pass the correct setting of uart to kernel by bootarg.
|
|
||||||
This patch will provide such settings to set the correct uart baud rate.
|
|
||||||
|
|
||||||
Signed-off-by: Nylon Chen <nylon7@andestech.com>
|
|
||||||
---
|
|
||||||
arch/nds32/boot/dts/ae3xx.dts | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/arch/nds32/boot/dts/ae3xx.dts b/arch/nds32/boot/dts/ae3xx.dts
|
|
||||||
index bb39749a6673..aefe2090926a 100644
|
|
||||||
--- a/arch/nds32/boot/dts/ae3xx.dts
|
|
||||||
+++ b/arch/nds32/boot/dts/ae3xx.dts
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
+ bootargs = "memblock=debug earlycon console=ttyS0,38400n8 debug loglevel=7";
|
|
||||||
stdout-path = &serial0;
|
|
||||||
};
|
|
||||||
|
|
||||||
--
|
|
||||||
2.18.0
|
|
||||||
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
Andestech(nds32) AE3XX Platform
|
|
||||||
|
|
||||||
The AE3XX prototype demonstrates the AE3XX example platform on the FPGA.
|
|
||||||
It is composed of one Andestech(nds32) processor and AE3XX.
|
|
||||||
|
|
||||||
How to build it
|
|
||||||
===============
|
|
||||||
|
|
||||||
Configure Buildroot
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
The andes_ae3xx_defconfig configuration is a sample configuration with
|
|
||||||
all that is required to bring the FPGA Development Board:
|
|
||||||
|
|
||||||
$ make andes_ae3xx_defconfig
|
|
||||||
|
|
||||||
Build everything
|
|
||||||
----------------
|
|
||||||
Note: you will need to have access to the network, since Buildroot will
|
|
||||||
download the packages' sources.
|
|
||||||
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Result of the build
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
After building, you should obtain this tree:
|
|
||||||
|
|
||||||
output/images/
|
|
||||||
+-- vmlinux
|
|
||||||
+-- rootfs.cpio
|
|
||||||
+-- rootfs.tar
|
|
||||||
|
|
||||||
How to run it
|
|
||||||
=============
|
|
||||||
|
|
||||||
Run
|
|
||||||
---
|
|
||||||
|
|
||||||
Setup the Console with the rate 38400/8-N-1.
|
|
||||||
|
|
||||||
$ cd output/images
|
|
||||||
$ ../host/bin/nds32le-linux-gdb vmlinux
|
|
||||||
$ target remote [your host]
|
|
||||||
$ lo
|
|
||||||
$ c
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
mkdir -p ${TARGET_DIR}/lib/firmware
|
|
||||||
cp -f ${BUILD_DIR}/linux-custom/firmware/ppfe/* ${TARGET_DIR}/lib/firmware/
|
|
||||||
cp -f ${BUILD_DIR}/linux-custom/br2-ucls1012a.its ${BINARIES_DIR}/
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
Arcturus uCLS1012A SoM
|
|
||||||
======================
|
|
||||||
|
|
||||||
This tutorial describes how to use the predefined Buildroot
|
|
||||||
configuration for the Arcturus uCLS101A SoM platform.
|
|
||||||
|
|
||||||
Additional information about the uCLS1012A System on Module can be found at
|
|
||||||
https://www.arcturusnetworks.com/products/ucls1012a
|
|
||||||
and product support for registered users at
|
|
||||||
https://www.arcturusnetworks.com/support
|
|
||||||
|
|
||||||
Building
|
|
||||||
--------
|
|
||||||
|
|
||||||
Return to the top directory <buildrootdir> and execute the following commands.
|
|
||||||
|
|
||||||
make arcturus_ucls1012a_defconfig
|
|
||||||
make
|
|
||||||
|
|
||||||
Result of the build
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
After building, you should obtain this tree:
|
|
||||||
|
|
||||||
output/images/
|
|
||||||
+-- arc-ucls1012a.dtb
|
|
||||||
+-- Image
|
|
||||||
+-- part0-000000.itb
|
|
||||||
+-- rootfs.cpio
|
|
||||||
+-- rootfs.cpio.gz
|
|
||||||
+-- rootfs.tar
|
|
||||||
+-- u-boot.bin
|
|
||||||
+-- ucls1012a.its
|
|
||||||
|
|
||||||
Flashing
|
|
||||||
--------
|
|
||||||
|
|
||||||
You'll need to program the image created by buildroot into the SPI NOR flash.
|
|
||||||
|
|
||||||
1. Reboot your module and via the serial console press <escape> to enter the B$
|
|
||||||
u-boot shell.
|
|
||||||
From the shell you will need to update four environment variables replacing the
|
|
||||||
IPv4 IP Address with ones that will work with your network and tftp server.
|
|
||||||
|
|
||||||
B$ setenv ipaddr 192.168.1.81
|
|
||||||
B$ setenv serverip 192.168.1.80
|
|
||||||
B$ setenv gatewayip 192.168.1.1
|
|
||||||
B$ setenv netmask 255.255.255.0
|
|
||||||
B$ saveenv
|
|
||||||
|
|
||||||
2. Enable tftp server to serve the <buildrootdir>/output/images/ folder.
|
|
||||||
|
|
||||||
3. Program the new U-Boot binary (optional)
|
|
||||||
If you don't feel confident upgrading your bootloader then don't do it,
|
|
||||||
it's unnecessary most of the time.
|
|
||||||
|
|
||||||
B$ tftp u-boot.bin
|
|
||||||
B$ run program_uboot
|
|
||||||
|
|
||||||
4. Program the ITB image (includes Kernel, DTB and Ramdisk)
|
|
||||||
|
|
||||||
B$ tftp part0-000000.itb
|
|
||||||
B$ run iprogram
|
|
||||||
|
|
||||||
5. Booting your new system
|
|
||||||
|
|
||||||
Reboot your system by reset command
|
|
||||||
B$ reset
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
B$ run bootcmd
|
|
||||||
|
|
||||||
Good Luck !
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
modprobe pfe
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
;;
|
|
||||||
restart|reload)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop|restart}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
This is the support for the ARM Foundation v8 machine emulated by the
|
|
||||||
ARM software simulator of the AArch64 architecture.
|
|
||||||
|
|
||||||
First, one has to download the AArch64 software simulator from:
|
|
||||||
|
|
||||||
https://silver.arm.com/download/download.tm?pv=4807186
|
|
||||||
|
|
||||||
Then, use the arm_foundationv8_defconfig configuration to build your
|
|
||||||
Buildroot system.
|
|
||||||
|
|
||||||
Finally, boot your system with:
|
|
||||||
|
|
||||||
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-6.4/Foundation_Platform \
|
|
||||||
--image output/images/linux-system.axf \
|
|
||||||
--block-device output/images/rootfs.ext2 \
|
|
||||||
--network=nat \
|
|
||||||
--cores 4
|
|
||||||
|
|
||||||
You can get network access from within the simulated environment
|
|
||||||
by requesting an IP address using DHCP (run the command 'udhcpc').
|
|
||||||
@ -1,169 +0,0 @@
|
|||||||
CONFIG_SMP=y
|
|
||||||
CONFIG_SYSVIPC=y
|
|
||||||
CONFIG_POSIX_MQUEUE=y
|
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_AUDIT=y
|
|
||||||
CONFIG_NO_HZ_IDLE=y
|
|
||||||
CONFIG_HIGH_RES_TIMERS=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
|
||||||
CONFIG_TASKSTATS=y
|
|
||||||
CONFIG_TASK_DELAY_ACCT=y
|
|
||||||
CONFIG_TASK_XACCT=y
|
|
||||||
CONFIG_TASK_IO_ACCOUNTING=y
|
|
||||||
CONFIG_IKCONFIG=y
|
|
||||||
CONFIG_IKCONFIG_PROC=y
|
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
|
||||||
CONFIG_MEMCG=y
|
|
||||||
CONFIG_MEMCG_SWAP=y
|
|
||||||
CONFIG_MEMCG_KMEM=y
|
|
||||||
CONFIG_CGROUP_HUGETLB=y
|
|
||||||
CONFIG_SCHED_AUTOGROUP=y
|
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
|
||||||
CONFIG_KALLSYMS_ALL=y
|
|
||||||
CONFIG_PROFILING=y
|
|
||||||
CONFIG_JUMP_LABEL=y
|
|
||||||
CONFIG_MODULES=y
|
|
||||||
CONFIG_MODULE_UNLOAD=y
|
|
||||||
CONFIG_ARCH_VEXPRESS=y
|
|
||||||
CONFIG_PCI=y
|
|
||||||
CONFIG_PCI_MSI=y
|
|
||||||
CONFIG_PCI_HOST_GENERIC=y
|
|
||||||
CONFIG_PCIEPORTBUS=y
|
|
||||||
CONFIG_HOTPLUG_PCI_PCIE=y
|
|
||||||
CONFIG_HOTPLUG_PCI=y
|
|
||||||
CONFIG_NR_CPUS=6
|
|
||||||
CONFIG_PREEMPT=y
|
|
||||||
CONFIG_KSM=y
|
|
||||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
|
||||||
CONFIG_CMA=y
|
|
||||||
CONFIG_CMDLINE="console=ttyAMA0"
|
|
||||||
CONFIG_COMPAT=y
|
|
||||||
CONFIG_CPU_IDLE=y
|
|
||||||
CONFIG_ARM_CPUIDLE=y
|
|
||||||
CONFIG_CPU_FREQ=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
|
|
||||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
|
||||||
CONFIG_ARM_DT_BL_CPUFREQ=y
|
|
||||||
CONFIG_ARM_SCPI_CPUFREQ=y
|
|
||||||
CONFIG_NET=y
|
|
||||||
CONFIG_PACKET=y
|
|
||||||
CONFIG_UNIX=y
|
|
||||||
CONFIG_INET=y
|
|
||||||
CONFIG_IP_PNP=y
|
|
||||||
CONFIG_IP_PNP_DHCP=y
|
|
||||||
CONFIG_IP_PNP_BOOTP=y
|
|
||||||
CONFIG_BPF_JIT=y
|
|
||||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
|
||||||
CONFIG_DEVTMPFS=y
|
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
|
||||||
CONFIG_BLK_DEV_LOOP=y
|
|
||||||
CONFIG_BLK_DEV_RAM=y
|
|
||||||
CONFIG_BLK_DEV_SD=y
|
|
||||||
CONFIG_ATA=y
|
|
||||||
CONFIG_SATA_AHCI=y
|
|
||||||
CONFIG_SATA_AHCI_PLATFORM=y
|
|
||||||
CONFIG_AHCI_XGENE=y
|
|
||||||
CONFIG_PATA_PLATFORM=y
|
|
||||||
CONFIG_PATA_OF_PLATFORM=y
|
|
||||||
CONFIG_NETDEVICES=y
|
|
||||||
CONFIG_TUN=y
|
|
||||||
CONFIG_SKY2=y
|
|
||||||
CONFIG_SMC91X=y
|
|
||||||
CONFIG_SMSC911X=y
|
|
||||||
CONFIG_INPUT_EVDEV=y
|
|
||||||
CONFIG_SERIO_AMBAKMI=y
|
|
||||||
CONFIG_LEGACY_PTY_COUNT=16
|
|
||||||
CONFIG_SERIAL_8250=y
|
|
||||||
CONFIG_SERIAL_8250_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_OF_PLATFORM=y
|
|
||||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
|
||||||
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
|
||||||
CONFIG_I2C_CHARDEV=y
|
|
||||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
|
||||||
CONFIG_I2C_SLAVE=y
|
|
||||||
CONFIG_SPI=y
|
|
||||||
CONFIG_SPI_PL022=y
|
|
||||||
CONFIG_PTP_1588_CLOCK=m
|
|
||||||
CONFIG_GPIO_PL061=y
|
|
||||||
CONFIG_GPIO_XGENE=y
|
|
||||||
CONFIG_POWER_RESET_XGENE=y
|
|
||||||
CONFIG_POWER_RESET_SYSCON=y
|
|
||||||
CONFIG_REGULATOR=y
|
|
||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|
||||||
CONFIG_REGULATOR_VEXPRESS=m
|
|
||||||
CONFIG_DRM=y
|
|
||||||
CONFIG_DRM_I2C_NXP_TDA998X=y
|
|
||||||
CONFIG_DRM_ARM=y
|
|
||||||
CONFIG_DRM_HDLCD=y
|
|
||||||
CONFIG_DRM_VIRTUAL_HDLCD=y
|
|
||||||
CONFIG_FB_ARMCLCD=y
|
|
||||||
CONFIG_LOGO=y
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
|
||||||
CONFIG_USB_EHCI_HCD=y
|
|
||||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
|
||||||
CONFIG_USB_OHCI_HCD=y
|
|
||||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
|
||||||
CONFIG_USB_STORAGE=y
|
|
||||||
CONFIG_USB_ISP1760=y
|
|
||||||
CONFIG_NOP_USB_XCEIV=y
|
|
||||||
CONFIG_USB_ULPI=y
|
|
||||||
CONFIG_MMC=y
|
|
||||||
CONFIG_MMC_ARMMMCI=y
|
|
||||||
CONFIG_MMC_SDHCI=y
|
|
||||||
CONFIG_MMC_SDHCI_PLTFM=y
|
|
||||||
CONFIG_MMC_SPI=y
|
|
||||||
CONFIG_RTC_CLASS=y
|
|
||||||
CONFIG_RTC_DRV_EFI=y
|
|
||||||
CONFIG_RTC_DRV_PL030=y
|
|
||||||
CONFIG_RTC_DRV_PL031=y
|
|
||||||
CONFIG_DMADEVICES=y
|
|
||||||
CONFIG_PL330_DMA=y
|
|
||||||
CONFIG_COMMON_CLK_SCPI=y
|
|
||||||
CONFIG_ARM_TIMER_SP804=y
|
|
||||||
CONFIG_MAILBOX=y
|
|
||||||
CONFIG_ARM_MHU=y
|
|
||||||
CONFIG_PHY_XGENE=y
|
|
||||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
|
||||||
CONFIG_EXT2_FS=y
|
|
||||||
CONFIG_EXT3_FS=y
|
|
||||||
CONFIG_FANOTIFY=y
|
|
||||||
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
|
||||||
CONFIG_QUOTA=y
|
|
||||||
CONFIG_AUTOFS4_FS=y
|
|
||||||
CONFIG_FUSE_FS=y
|
|
||||||
CONFIG_CUSE=y
|
|
||||||
CONFIG_VFAT_FS=y
|
|
||||||
CONFIG_TMPFS=y
|
|
||||||
CONFIG_HUGETLBFS=y
|
|
||||||
CONFIG_EFIVAR_FS=y
|
|
||||||
CONFIG_NLS_CODEPAGE_437=y
|
|
||||||
CONFIG_NLS_ISO8859_1=y
|
|
||||||
CONFIG_VIRTUALIZATION=y
|
|
||||||
CONFIG_KVM=y
|
|
||||||
CONFIG_DYNAMIC_DEBUG=y
|
|
||||||
CONFIG_DEBUG_INFO=y
|
|
||||||
CONFIG_DEBUG_FS=y
|
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
|
||||||
CONFIG_DEBUG_KERNEL=y
|
|
||||||
CONFIG_LOCKUP_DETECTOR=y
|
|
||||||
CONFIG_SECURITY=y
|
|
||||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
|
||||||
CONFIG_ARM64_CRYPTO=y
|
|
||||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
|
||||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
|
||||||
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
|
||||||
CONFIG_SOUND=y
|
|
||||||
CONFIG_SND=y
|
|
||||||
CONFIG_SND_SOC=y
|
|
||||||
CONFIG_SND_SIMPLE_CARD=y
|
|
||||||
CONFIG_SND_DESIGNWARE_I2S=y
|
|
||||||
CONFIG_CMA=y
|
|
||||||
CONFIG_CMA_SIZE_MBYTES=64
|
|
||||||
@ -1,134 +0,0 @@
|
|||||||
ARM Juno r1/r0
|
|
||||||
|
|
||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
These instructions apply to all models of the ARM Juno:
|
|
||||||
- Juno r0 (does not support PCIe)
|
|
||||||
- Juno r1 (supports PCIe)
|
|
||||||
- Juno r2 (Big Cluster with A72)
|
|
||||||
|
|
||||||
Buildroot will generate the kernel image, device tree blob, bootloader binaries
|
|
||||||
and a minimal root filesystem.
|
|
||||||
|
|
||||||
How to build it
|
|
||||||
===============
|
|
||||||
|
|
||||||
Configure Buildroot
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
Configuring Buildroot is pretty simple, just execute:
|
|
||||||
|
|
||||||
$ make arm_juno_defconfig
|
|
||||||
|
|
||||||
Build the rootfs, kernel and DTB
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
Note: you will need to have access to the network, since Buildroot will
|
|
||||||
download the packages' sources.
|
|
||||||
|
|
||||||
You may now build your rootfs with:
|
|
||||||
|
|
||||||
$ make
|
|
||||||
|
|
||||||
(This may take a while)
|
|
||||||
|
|
||||||
Result of the build
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
After building, you should obtain this tree:
|
|
||||||
|
|
||||||
output/images/
|
|
||||||
+-- rootfs.tar
|
|
||||||
+-- juno.dtb (if Juno r0 is used)
|
|
||||||
+-- juno-r1.dtb (if Juno r1 is used)
|
|
||||||
+-- juno-r2.dtb (if Juno r2 is used)
|
|
||||||
+-- Image
|
|
||||||
+-- bl1.bin
|
|
||||||
+-- bl2.bin
|
|
||||||
+-- bl2u.bin
|
|
||||||
+-- bl31.bin
|
|
||||||
+-- fip.bin
|
|
||||||
+-- scp-fw.bin
|
|
||||||
+-- u-boot.bin
|
|
||||||
|
|
||||||
Preparing your rootfs
|
|
||||||
======================
|
|
||||||
|
|
||||||
Format your pen drive as a ext3 filesystem by executing:
|
|
||||||
|
|
||||||
$ mkfs.ext3 /dev/<your device>
|
|
||||||
|
|
||||||
Preparing your rootfs
|
|
||||||
======================
|
|
||||||
|
|
||||||
Format your pen drive as a ext3 filesystem by executing:
|
|
||||||
|
|
||||||
$ mkfs.ext3 /dev/<your device>
|
|
||||||
|
|
||||||
Installing your rootfs
|
|
||||||
======================
|
|
||||||
|
|
||||||
After mounting the pen drive please execute the following:
|
|
||||||
|
|
||||||
$ sudo tar -xvf output/images/rootfs.tar -C <pen drive mount path>
|
|
||||||
|
|
||||||
When completed make sure to unmount the device:
|
|
||||||
|
|
||||||
$ umount <pen drive mount path>
|
|
||||||
|
|
||||||
Insert the pen drive in one of the ARM Juno' USB type A connectors.
|
|
||||||
|
|
||||||
Configure *.dtb in the boot configuration for Juno r0
|
|
||||||
=====================================================
|
|
||||||
|
|
||||||
SITE1/HBI0262B/images.txt
|
|
||||||
.....
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x00C00000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify Image name to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
......
|
|
||||||
|
|
||||||
Configure *.dtb in the boot configuration for Juno r1
|
|
||||||
=====================================================
|
|
||||||
|
|
||||||
SITE1/HBI0262C/images.txt
|
|
||||||
......
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x00C00000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
......
|
|
||||||
|
|
||||||
Configure *.dtb in the boot configuration for Juno r2
|
|
||||||
=====================================================
|
|
||||||
|
|
||||||
SITE1/HBI0262D/images.txt
|
|
||||||
......
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x02000000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
......
|
|
||||||
|
|
||||||
Installing kernel image and DTB
|
|
||||||
===============================
|
|
||||||
|
|
||||||
1. Connect to the ARM Juno UART0 and execute USB_ON in the terminal
|
|
||||||
2. Connect a USB cable between your PC and ARM Juno USB type B connector
|
|
||||||
A mass storage device should appear in your desktop.
|
|
||||||
3. Open the software/ folder
|
|
||||||
4. Copy the 'Image' file to software/
|
|
||||||
5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/
|
|
||||||
6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/
|
|
||||||
7. Press the red button in the front pannel of ARM Juno
|
|
||||||
|
|
||||||
At this time, the board will erase the Flash entry for each new item and
|
|
||||||
replace it with the lastest ones.
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
label Tinker linux-next
|
|
||||||
kernel /boot/uImage
|
|
||||||
devicetree /boot/rk3288-tinker.dtb
|
|
||||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot-spl-dtb {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-spl-dtb.img"
|
|
||||||
offset = 32K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Shyam Saini <shyam.saini@amarulasolutions.com>
|
|
||||||
Date: Mon, 15 Apr 2019 16:16:16 +0530
|
|
||||||
Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB
|
|
||||||
|
|
||||||
The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which
|
|
||||||
causes board reset because of larger uImage size.
|
|
||||||
|
|
||||||
Error log snippet:
|
|
||||||
Booting using the fdt blob at 0x1f00000
|
|
||||||
Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN
|
|
||||||
Must RESET board to recover
|
|
||||||
resetting ...
|
|
||||||
|
|
||||||
Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
|
|
||||||
---
|
|
||||||
include/configs/rk3288_common.h | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
|
|
||||||
index 72a54bc0ab..eab7cf4d86 100644
|
|
||||||
--- a/include/configs/rk3288_common.h
|
|
||||||
+++ b/include/configs/rk3288_common.h
|
|
||||||
@@ -9,6 +9,8 @@
|
|
||||||
#include <asm/arch/hardware.h>
|
|
||||||
#include "rockchip-common.h"
|
|
||||||
|
|
||||||
+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */
|
|
||||||
+
|
|
||||||
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
|
|
||||||
#define CONFIG_SYS_MALLOC_LEN (32 << 20)
|
|
||||||
#define CONFIG_SYS_CBSIZE 1024
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
|
||||||
BOARD_DIR="$(dirname $0)"
|
|
||||||
|
|
||||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
|
||||||
cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img
|
|
||||||
|
|
||||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
Tinker RK3288
|
|
||||||
=============
|
|
||||||
|
|
||||||
Tinker Board is a Single Board Computer (SBC) in an ultra-small form
|
|
||||||
factor that offers class-leading performance while leveraging outstanding
|
|
||||||
mechanical compatibility.
|
|
||||||
|
|
||||||
Tinker link:
|
|
||||||
https://www.asus.com/in/Single-Board-Computer/Tinker-Board/
|
|
||||||
|
|
||||||
Wiki link:
|
|
||||||
https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288
|
|
||||||
|
|
||||||
How to build it
|
|
||||||
===============
|
|
||||||
|
|
||||||
$ make asus_tinker_rk3288_defconfig
|
|
||||||
|
|
||||||
Then you can edit the build options using
|
|
||||||
|
|
||||||
$ make menuconfig
|
|
||||||
|
|
||||||
Compile all and build rootfs image:
|
|
||||||
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Prepare your SDCard
|
|
||||||
===================
|
|
||||||
|
|
||||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
|
||||||
the card. The image will be in output/images/sdcard.img.
|
|
||||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
|
||||||
|
|
||||||
$ sudo dd if=output/images/sdcard.img of=/dev/xxx
|
|
||||||
$ sudo sync
|
|
||||||
|
|
||||||
Finally, you can insert the SD card to the Tinker RK3288 board and boot it.
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
# Image for SD card boot on Atmel at91sam9x5ek boards
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91sam9g15ek.dtb",
|
|
||||||
"at91sam9g25ek.dtb",
|
|
||||||
"at91sam9g35ek.dtb",
|
|
||||||
"at91sam9x25ek.dtb",
|
|
||||||
"at91sam9x35ek.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
|
|
||||||
file uboot.env {
|
|
||||||
image = "uboot-env.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,177 +0,0 @@
|
|||||||
This document explains how to set up a basic Buildroot system on
|
|
||||||
various Atmel/Microchip boards. Additional details can also be found
|
|
||||||
on the Linux4SAM website: http://www.linux4sam.org
|
|
||||||
|
|
||||||
This guide covers the following configurations:
|
|
||||||
- at91sam9g45m10ek_defconfig
|
|
||||||
- at91sam9rlek_defconfig
|
|
||||||
- at91sam9x5ek_defconfig (at91sam9g15, at91sam9g25, at91sam9x25,
|
|
||||||
at91sam9g35 and at91sam9x35)
|
|
||||||
- atmel_sama5d3xek_defconfig (sama5d31, sama5d33, sama5d34, sama5d35,
|
|
||||||
sama5d36)
|
|
||||||
- atmel_sama5d3_xplained_defconfig
|
|
||||||
- atmel_sama5d3_xplained_dev_defconfig
|
|
||||||
- atmel_sama5d3_xplained_mmc_defconfig
|
|
||||||
- atmel_sama5d3_xplained_mmc_dev_defconfig
|
|
||||||
- atmel_sama5d4_xplained_defconfig
|
|
||||||
- atmel_sama5d4_xplained_dev_defconfig
|
|
||||||
- atmel_sama5d4_xplained_mmc_defconfig
|
|
||||||
- atmel_sama5d4_xplained_mmc_dev_defconfig
|
|
||||||
- atmel_sama5d2_xplained_mmc_defconfig
|
|
||||||
- atmel_sama5d2_xplained_mmc_dev_defconfig
|
|
||||||
- microchip_sama5d27_wlsom1_ek_mmc_defconfig
|
|
||||||
- microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
|
|
||||||
- microchip_sam9x60ek_mmc_defconfig
|
|
||||||
- microchip_sam9x60ek_mmc_dev_defconfig
|
|
||||||
|
|
||||||
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
|
|
||||||
the git trees maintained by Atmel.
|
|
||||||
|
|
||||||
The configurations labeled as 'dev' provide a development rootfs with tools to
|
|
||||||
tests the features of the SoC:
|
|
||||||
- ALSA tools to test audio
|
|
||||||
- FFMPEG to record video from the ISI/ISC
|
|
||||||
- I2C, SPI, CAN, etc. tools
|
|
||||||
- modetest for LCD screens, HDMI
|
|
||||||
- Wilc1000/Wilc3000 firmware for the Atmel Wireless sdio module
|
|
||||||
- SSH for convenience
|
|
||||||
- GDB/GDB server for debug
|
|
||||||
|
|
||||||
Configuring and building Buildroot
|
|
||||||
==================================
|
|
||||||
|
|
||||||
For the Xplained/Evaluation Kit boards, the Buildroot configuration is
|
|
||||||
provided to boot from an SD card. Those configurations are labeled as
|
|
||||||
'mmc'. In this case, after building Buildroot, follow the instructions
|
|
||||||
in the "Preparing the SD card" section.
|
|
||||||
|
|
||||||
For the other configurations listed above, the Buildroot configuration
|
|
||||||
assumes the system will be flashed on NAND. In this case, after
|
|
||||||
building Buildroot, follow the instructions in the "Flashing the NAND
|
|
||||||
using SAM-BA" section below.
|
|
||||||
|
|
||||||
To configure and build Buildroot, run:
|
|
||||||
|
|
||||||
make <board>_defconfig
|
|
||||||
make
|
|
||||||
|
|
||||||
Flashing the NAND using SAM-BA
|
|
||||||
==============================
|
|
||||||
|
|
||||||
Flashing the board
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Connect the board:
|
|
||||||
o at91sam9g45m10ek: DBGU: J10, USB sam-ba: J14
|
|
||||||
o at91sam9rlek: DBGU: J19, USB sam-ba: J21
|
|
||||||
o at91sam9x5ek: DBGU: J11, USB sam-ba: J20
|
|
||||||
o sama5d3xek: DBGU: J14, USB sam-ba: J20
|
|
||||||
o sama5d3 Xplained: DBGU: J23, USB sam-ba: J6
|
|
||||||
o sama5d4ek: DBGU: J22 or J24, USB sam-ba: J1
|
|
||||||
o sama5d4 Xplained: DBGU: J1, USB sam-ba: J11
|
|
||||||
|
|
||||||
Start the board in RomBOOT:
|
|
||||||
o at91sam9g45m10ek:
|
|
||||||
1. open JP8, JP10 and JP12
|
|
||||||
2. start the board
|
|
||||||
3. close JP8, JP10 and JP12
|
|
||||||
|
|
||||||
o at91sam9rlek:
|
|
||||||
1. J11 on 1-2 (BMS=1), open J12 and J13
|
|
||||||
2. start the board
|
|
||||||
3. close J12 and J13
|
|
||||||
|
|
||||||
o at91sam9x5ek:
|
|
||||||
1. open JP9 and:
|
|
||||||
- Cogent: open *NCS jumper
|
|
||||||
- Embest: open SW1
|
|
||||||
- Ronetix: open J1 and J2
|
|
||||||
2. start the board
|
|
||||||
3. close JP9 and:
|
|
||||||
- Cogent: close *NCS jumper
|
|
||||||
- Embest: close SW1 (ON position)
|
|
||||||
- Ronetix: close J1 and J2
|
|
||||||
|
|
||||||
o sama5d3xek:
|
|
||||||
1. start the board
|
|
||||||
2. push BP4 and BP1
|
|
||||||
3. release BP1
|
|
||||||
4. release BP4
|
|
||||||
|
|
||||||
o sama5d3 Xplained:
|
|
||||||
1. open JP5 (NANDCS) and JP6 (SPICS)
|
|
||||||
2. start the board
|
|
||||||
3. close JP5 ans JP6
|
|
||||||
|
|
||||||
o sama5d4ek:
|
|
||||||
1. start the board
|
|
||||||
2. push BP3 and BP4
|
|
||||||
3. release BP4
|
|
||||||
4. release BP3
|
|
||||||
|
|
||||||
o sama5d4 Xplained:
|
|
||||||
1. close JP7 (BOOT_DIS)
|
|
||||||
2. start the board
|
|
||||||
3. open JP7
|
|
||||||
|
|
||||||
"RomBOOT" should appear on your console (this should be ttyUSBx or ttyACMx)
|
|
||||||
|
|
||||||
Now locate the USB sam-ba interface it should be ttyACMx, usually ttyACM0
|
|
||||||
dmesg on your machine should give:
|
|
||||||
usb 1-2.1.4: New USB device found, idVendor=03eb, idProduct=6124
|
|
||||||
usb 1-2.1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
|
|
||||||
cdc_acm 1-2.1.4:1.0: ttyACM0: USB ACM device
|
|
||||||
|
|
||||||
Look for idVendor=03eb, idProduct=6124, this is the interface you want to use.
|
|
||||||
|
|
||||||
You can then flash the board using the provided flasher.sh script in board/atmel:
|
|
||||||
|
|
||||||
board/atmel/flasher.sh <builddir_path> <interface> <board>
|
|
||||||
|
|
||||||
For example, for an out of tree build made in
|
|
||||||
/tmp/atmel_sama5d3_xplained/ for the sama5d3 Xplained, you would use:
|
|
||||||
board/atmel/flasher.sh /tmp/atmel_sama5d3_xplained/ /dev/ttyACM0 sama5d3_xplained
|
|
||||||
|
|
||||||
Reboot, the system should boot up to the buildroot login invite.
|
|
||||||
|
|
||||||
Preparing the SD card
|
|
||||||
=====================
|
|
||||||
|
|
||||||
An image named sdcard.img is automatically generated. With this image,
|
|
||||||
you no longer have to care about the creation of the partition and
|
|
||||||
copying files to the SD card.
|
|
||||||
|
|
||||||
You need at least a 1GB SD card. All the data on the SD card will be
|
|
||||||
lost. To copy the image on the SD card:
|
|
||||||
|
|
||||||
/!\ Caution be sure to do it on the right mmcblk device /!\
|
|
||||||
|
|
||||||
dd if=output/images/sdcard.img of=/dev/mmcblk0
|
|
||||||
|
|
||||||
Insert your SD card in your Xplained/Evaluation Kit board, and
|
|
||||||
enjoy. The default U-Boot environment will load properly the kernel
|
|
||||||
and Device Tree blob from the first partition of the SD card, so
|
|
||||||
everything works automatically.
|
|
||||||
|
|
||||||
By default a 16MB FAT partition is created. It contains at91bootstrap,
|
|
||||||
u-boot, the kernel image and all dtb variants for your board. The dtb
|
|
||||||
used is the basic one:
|
|
||||||
|
|
||||||
U-Boot> print
|
|
||||||
[...]
|
|
||||||
bootcmd=fatload mmc 1:1 0x21000000 at91-sama5d2_xplained.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000
|
|
||||||
[...]
|
|
||||||
|
|
||||||
If you want to use a variant such as the _pda7 one, you will have to
|
|
||||||
update your u-boot environment:
|
|
||||||
|
|
||||||
U-Boot> setenv bootcmd 'fatload mmc 1:1 0x21000000 at91-sama5d2_xplained_pda7.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000'
|
|
||||||
U-Boot> save
|
|
||||||
Saving Environment to FAT...
|
|
||||||
writing uboot.env
|
|
||||||
done
|
|
||||||
|
|
||||||
A 512MB ext4 partition is also created to store the rootfs generated.
|
|
||||||
|
|
||||||
If you want to customize the size of the partitions and their content,
|
|
||||||
take a look at the the genimage.cfg file in the board directory.
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d27_som1_ek.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
# Image for SD card boot on Microchip SAMA5D27 WLSOM1 EK
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d27_wlsom1_ek.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d2_xplained.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
# Image for SD card boot on Atmel SAMA5D3 Xplained boards
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d3_xplained.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
# Image for SD card boot on Atmel SAMA5D4 Xplained boards
|
|
||||||
#
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"at91-sama5d4_xplained.dtb",
|
|
||||||
"boot.bin",
|
|
||||||
"u-boot.bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 1M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
|
||||||
|
|
||||||
mmc dev 0
|
|
||||||
fatload mmc 0 $kernel_addr_r zImage
|
|
||||||
fatload mmc 0 $fdt_addr_r sun7i-a20-bananapi.dtb
|
|
||||||
|
|
||||||
bootz $kernel_addr_r - $fdt_addr_r
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"sun7i-a20-bananapi.dtb",
|
|
||||||
"boot.scr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-sunxi-with-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
size = 1040384 # 1MB - 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
This default configuration will allow you to start experimenting with the
|
|
||||||
buildroot environment for the Bananapi M1. With the current configuration
|
|
||||||
it will bring-up the board, and allow access through the serial console.
|
|
||||||
|
|
||||||
Bananapi M1 link:
|
|
||||||
http://www.banana-pi.org/m1.html
|
|
||||||
|
|
||||||
Wiki link:
|
|
||||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M1
|
|
||||||
|
|
||||||
This configuration uses U-Boot mainline and kernel mainline.
|
|
||||||
|
|
||||||
How to build
|
|
||||||
============
|
|
||||||
|
|
||||||
$ make bananapi_m1_defconfig
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Note: you will need access to the internet to download the required
|
|
||||||
sources.
|
|
||||||
|
|
||||||
How to write the SD card
|
|
||||||
========================
|
|
||||||
|
|
||||||
Once the build process is finished you will have an image called "sdcard.img"
|
|
||||||
in the output/images/ directory.
|
|
||||||
|
|
||||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
|
||||||
|
|
||||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
|
||||||
$ sudo sync
|
|
||||||
|
|
||||||
Insert the micro SDcard in your Bananapi M1 and power it up. The console
|
|
||||||
is on the serial line, 115200 8N1.
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
|
||||||
|
|
||||||
mmc dev 0
|
|
||||||
fatload mmc 0 $kernel_addr_r zImage
|
|
||||||
fatload mmc 0 $fdt_addr_r sun8i-r40-bananapi-m2-ultra.dtb
|
|
||||||
|
|
||||||
bootz $kernel_addr_r - $fdt_addr_r
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"sun8i-r40-bananapi-m2-ultra.dtb",
|
|
||||||
"boot.scr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-sunxi-with-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
size = 1040384 # 1MB - 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"sun8i-h2-plus-bananapi-m2-zero.dtb",
|
|
||||||
"boot.scr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-sunxi-with-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
size = 1040384 # 1MB - 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
|
||||||
|
|
||||||
fatload mmc 0 $kernel_addr_r Image
|
|
||||||
fatload mmc 0 $fdt_addr_r sun50i-a64-bananapi-m64.dtb
|
|
||||||
|
|
||||||
booti $kernel_addr_r - $fdt_addr_r
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"Image",
|
|
||||||
"sun50i-a64-bananapi-m64.dtb",
|
|
||||||
"boot.scr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition spl {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "sunxi-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot.itb"
|
|
||||||
offset = 40K
|
|
||||||
size = 1M # 1MB - 40K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
This default configuration will allow you to start experimenting with the
|
|
||||||
buildroot environment for the Bananapi M64. With the current configuration
|
|
||||||
it will bring-up the board, and allow access through the serial console.
|
|
||||||
|
|
||||||
Bananapi M64 link:
|
|
||||||
http://www.banana-pi.org/m64.html
|
|
||||||
|
|
||||||
Wiki link:
|
|
||||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M64
|
|
||||||
|
|
||||||
This configuration uses U-Boot mainline and kernel mainline.
|
|
||||||
|
|
||||||
How to build
|
|
||||||
============
|
|
||||||
|
|
||||||
$ make bananapi_m64_defconfig
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Note: you will need access to the internet to download the required
|
|
||||||
sources.
|
|
||||||
|
|
||||||
How to write the SD card
|
|
||||||
========================
|
|
||||||
|
|
||||||
Once the build process is finished you will have an image called "sdcard.img"
|
|
||||||
in the output/images/ directory.
|
|
||||||
|
|
||||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
|
||||||
|
|
||||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
|
||||||
$ sudo sync
|
|
||||||
|
|
||||||
Insert the micro SDcard in your Bananapi M64 and power it up. The console
|
|
||||||
is on the serial line, 115200 8N1.
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"MLO",
|
|
||||||
"u-boot.img"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 4M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"MLO",
|
|
||||||
"u-boot.img",
|
|
||||||
"zImage",
|
|
||||||
"uEnv.txt",
|
|
||||||
"am335x-evm.dtb",
|
|
||||||
"am335x-evmsk.dtb",
|
|
||||||
"am335x-bone.dtb",
|
|
||||||
"am335x-boneblack.dtb",
|
|
||||||
"am335x-bonegreen.dtb",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,62 +0,0 @@
|
|||||||
CircuitCo BeagleBone
|
|
||||||
Texas Instuments AM335x Evaluation Module (TMDXEVM3358)
|
|
||||||
|
|
||||||
Description
|
|
||||||
===========
|
|
||||||
|
|
||||||
This configuration will build a complete image for the beaglebone and
|
|
||||||
the TI AM335x-EVM, the board type is identified by the on-board
|
|
||||||
EEPROM. The configuration is based on the
|
|
||||||
ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone
|
|
||||||
variants and the evm-sk are built too.
|
|
||||||
|
|
||||||
For Qt5 support support use the beaglebone_qt5_defconfig.
|
|
||||||
|
|
||||||
How to build it
|
|
||||||
===============
|
|
||||||
|
|
||||||
Select the default configuration for the target:
|
|
||||||
$ make beaglebone_defconfig
|
|
||||||
|
|
||||||
Optional: modify the configuration:
|
|
||||||
$ make menuconfig
|
|
||||||
|
|
||||||
Build:
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Result of the build
|
|
||||||
===================
|
|
||||||
output/images/
|
|
||||||
+-- am335x-boneblack.dtb
|
|
||||||
+-- am335x-bone.dtb
|
|
||||||
+-- am335x-evm.dtb
|
|
||||||
+-- am335x-evmsk.dtb
|
|
||||||
+-- boot.vfat
|
|
||||||
+-- MLO
|
|
||||||
+-- rootfs.ext2
|
|
||||||
+-- rootfs.tar
|
|
||||||
+-- sdcard.img
|
|
||||||
+-- u-boot.img
|
|
||||||
+-- uEnv.txt
|
|
||||||
+-- zImage
|
|
||||||
|
|
||||||
To copy the image file to the sdcard use dd:
|
|
||||||
$ dd if=output/images/sdcard.img of=/dev/XXX
|
|
||||||
|
|
||||||
|
|
||||||
Running Qt5 hellowindow opengl demo:
|
|
||||||
===================
|
|
||||||
# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json
|
|
||||||
# export QT_QPA_PLATFORM=eglfs
|
|
||||||
# export QT_QPA_EGLFS_INTEGRATION=none
|
|
||||||
# /usr/lib/qt/examples/opengl/hellowindow/hellowindow
|
|
||||||
|
|
||||||
|
|
||||||
Tested hardware
|
|
||||||
===============
|
|
||||||
am335x-evm (rev. 1.1A)
|
|
||||||
beagleboneblack (rev. A5A)
|
|
||||||
beaglebone (rev. A6)
|
|
||||||
|
|
||||||
2020, Adam Duskett <aduskett@gmail.com>
|
|
||||||
2016, Lothar Felten <lothar.felten@gmail.com>
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"MLO",
|
|
||||||
"u-boot.img",
|
|
||||||
"zImage",
|
|
||||||
"am5729-beagleboneai.dtb",
|
|
||||||
"uEnv.txt"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +0,0 @@
|
|||||||
label linux
|
|
||||||
kernel /boot/Image
|
|
||||||
devicetree /boot/starfive_vic7100_beagle_v.dtb
|
|
||||||
append console=ttyS0,115200 earlyprintk root=PARTUUID=0fef845a-c6e1-45bc-82f7-002fa720f958 rootwait
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
gpt = true
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224
|
|
||||||
partition-uuid = 0fef845a-c6e1-45bc-82f7-002fa720f958
|
|
||||||
bootable = "true"
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
From 2c4c813940c577590f3352cef0c49a8def17905d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
||||||
Date: Wed, 28 Apr 2021 22:58:45 +0200
|
|
||||||
Subject: [PATCH] include/configs/starfive-vic7100: adjust fdt_addr_r
|
|
||||||
|
|
||||||
The default fdt_addr_r of 0x88000000 doesn't work, the kernel never
|
|
||||||
boots. Using 0x90000000 works fine.
|
|
||||||
|
|
||||||
Since it would overlap with the kernel_comp_addr_r area, this one is
|
|
||||||
moved 16 MB further, at 0x91000000.
|
|
||||||
|
|
||||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
||||||
---
|
|
||||||
include/configs/starfive-vic7100.h | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/configs/starfive-vic7100.h b/include/configs/starfive-vic7100.h
|
|
||||||
index 8c5915a73c..7150a23873 100644
|
|
||||||
--- a/include/configs/starfive-vic7100.h
|
|
||||||
+++ b/include/configs/starfive-vic7100.h
|
|
||||||
@@ -111,13 +111,13 @@
|
|
||||||
"fdt_high=0xffffffffffffffff\0" \
|
|
||||||
"initrd_high=0xffffffffffffffff\0" \
|
|
||||||
"kernel_addr_r=0x84000000\0" \
|
|
||||||
- "fdt_addr_r=0x88000000\0" \
|
|
||||||
+ "fdt_addr_r=0x90000000\0" \
|
|
||||||
"scriptaddr=0x88100000\0" \
|
|
||||||
"script_offset_f=0x1fff000\0" \
|
|
||||||
"script_size_f=0x1000\0" \
|
|
||||||
"pxefile_addr_r=0x88200000\0" \
|
|
||||||
"ramdisk_addr_r=0x88300000\0" \
|
|
||||||
- "kernel_comp_addr_r=0x90000000\0" \
|
|
||||||
+ "kernel_comp_addr_r=0x91000000\0" \
|
|
||||||
"kernel_comp_size=0x10000000\0" \
|
|
||||||
"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
|
|
||||||
"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
|
|
||||||
--
|
|
||||||
2.30.2
|
|
||||||
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
BOARD_DIR=$(dirname $0)
|
|
||||||
|
|
||||||
# The DTB to use is provided within the U-Boot source tree, so we grab
|
|
||||||
# it from there, and install it to TARGET_DIR/boot/.
|
|
||||||
eval $(make -C ${CONFIG_DIR} --no-print-directory QUOTED_VARS=YES VARS=UBOOT_DIR printvars)
|
|
||||||
install -D -m0644 ${UBOOT_DIR}/arch/riscv/dts/starfive_vic7100_beagle_v.dtb \
|
|
||||||
${TARGET_DIR}/boot/starfive_vic7100_beagle_v.dtb
|
|
||||||
|
|
||||||
# Bring the extlinux.conf file in.
|
|
||||||
install -D -m 0644 ${BOARD_DIR}/extlinux.conf \
|
|
||||||
${TARGET_DIR}/boot/extlinux/extlinux.conf
|
|
||||||
|
|
||||||
# To be reflashed through Xmodem, the bootloader needs to be prepended
|
|
||||||
# with a 4-byte header that contains the total size of the file.
|
|
||||||
perl -e 'print pack("l", (stat @ARGV[0])[7])' ${BINARIES_DIR}/fw_payload.bin > ${BINARIES_DIR}/fw_payload.bin.out
|
|
||||||
cat ${BINARIES_DIR}/fw_payload.bin >> ${BINARIES_DIR}/fw_payload.bin.out
|
|
||||||
@ -1,124 +0,0 @@
|
|||||||
BeagleV
|
|
||||||
=======
|
|
||||||
|
|
||||||
BeagleV is a low-cost RISC-V 64-bit based platform, powered by a
|
|
||||||
Starfive JH7100 processor. The current defconfig in Buildroot has been
|
|
||||||
tested with the JH7100 chip used on the beta version of the BeagleV
|
|
||||||
board.
|
|
||||||
|
|
||||||
How to build
|
|
||||||
============
|
|
||||||
|
|
||||||
$ make beaglev_defconfig
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Build results
|
|
||||||
=============
|
|
||||||
|
|
||||||
After building, output/images contains:
|
|
||||||
|
|
||||||
+ bootloader-BEAGLEV-buildroot.bin.out
|
|
||||||
+ ddrinit-2133-buildroot.bin.out
|
|
||||||
+ Image
|
|
||||||
+ fw_payload.bin
|
|
||||||
+ fw_payload.bin.out
|
|
||||||
+ fw_payload.elf
|
|
||||||
+ rootfs.ext2
|
|
||||||
+ rootfs.ext4
|
|
||||||
+ sdcard.img
|
|
||||||
+ u-boot.bin
|
|
||||||
|
|
||||||
The four important files are:
|
|
||||||
|
|
||||||
- bootloader-BEAGLEV-buildroot.bin.out, the first stage bootloader
|
|
||||||
|
|
||||||
- ddrinit-2133-buildroot.bin.out, the DDR initialization firmware
|
|
||||||
|
|
||||||
- fw_payload.bin.out, which is the bootloader image, containing
|
|
||||||
both OpenSBI and U-Boot.
|
|
||||||
|
|
||||||
- sdcard.img, the SD card image, which contains the root filesystem,
|
|
||||||
kernel image and Device Tree.
|
|
||||||
|
|
||||||
Flashing the SD card image
|
|
||||||
==========================
|
|
||||||
|
|
||||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
|
||||||
|
|
||||||
Preparing the board
|
|
||||||
===================
|
|
||||||
|
|
||||||
Connect the Beagle-V fan to the 5V supply (pin 2 or 4 of the GPIO
|
|
||||||
connector) and GND (pin 6 of the GPIO connector).
|
|
||||||
|
|
||||||
Connect a TTL UART cable to pin 8 (TX), 10 (RX) and 14 (GND).
|
|
||||||
|
|
||||||
Insert your SD card.
|
|
||||||
|
|
||||||
Power-up the board using an USB-C cable.
|
|
||||||
|
|
||||||
Flashing OpenSBI/U-Boot
|
|
||||||
=======================
|
|
||||||
|
|
||||||
The bootloader pre-flashed on the Beagle-V has a non-working
|
|
||||||
fdt_addr_r environment variable value, so it won't work
|
|
||||||
as-is. Reflashing the bootloader with the bootloader image produced by
|
|
||||||
Buildroot is necessary.
|
|
||||||
|
|
||||||
When the board starts up, a pre-loader shows a count down of 2
|
|
||||||
seconds, interrupt by pressing any key. You should reach a menu like
|
|
||||||
this:
|
|
||||||
|
|
||||||
--------8<----------
|
|
||||||
|
|
||||||
bootloader version:210209-4547a8d
|
|
||||||
ddr 0x00000000, 1M test
|
|
||||||
ddr 0x00100000, 2M test
|
|
||||||
DDR clk 2133M,Version: 210302-5aea32f
|
|
||||||
0
|
|
||||||
***************************************************
|
|
||||||
*************** FLASH PROGRAMMING *****************
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
0:update uboot
|
|
||||||
1:quit
|
|
||||||
select the function:
|
|
||||||
|
|
||||||
--------8<----------
|
|
||||||
|
|
||||||
Press 0 and Enter. You will now see "C" characters being
|
|
||||||
displayed. Ask your serial port communication program to send
|
|
||||||
fw_payload.bin.out using the Xmodem protocol.
|
|
||||||
|
|
||||||
After reflashing is complete, restart the board, it will automatically
|
|
||||||
start the system from the SD card, and reach the login prompt.
|
|
||||||
|
|
||||||
Flashing low-level bootloaders
|
|
||||||
==============================
|
|
||||||
|
|
||||||
The BeagleV comes pre-flashed with functional low-level bootloaders
|
|
||||||
(called "secondboot" and "ddrinit"). Re-flashing them is not necessary
|
|
||||||
to use this Buildroot defconfig. However, for the sake of
|
|
||||||
completeness, Buildroot builds and provides those low-level bootloader
|
|
||||||
images.
|
|
||||||
|
|
||||||
You can flash them as follows:
|
|
||||||
|
|
||||||
- In the same "pre-loader" menu as the one used above, instead of
|
|
||||||
entering 0 or 1, enter the magic "root@s5t" string. This enters the
|
|
||||||
"expert" features.
|
|
||||||
|
|
||||||
- Then, press 0 and send over X-modem the
|
|
||||||
bootloader-BEAGLEV-buildroot.bin.out file.
|
|
||||||
|
|
||||||
- Then, press 1 and send over X-modem the
|
|
||||||
ddrinit-2133-buildroot.bin.out.
|
|
||||||
|
|
||||||
Note that the reflashing mechanism itself relies on those low-level
|
|
||||||
bootloaders, so if you flash non-working versions, you'll have to go
|
|
||||||
through a recovery process. This requires wiring up to a separate
|
|
||||||
debug UART, which pins are located near the HDMI connector. See
|
|
||||||
https://wiki.seeedstudio.com/BeagleV-Update-bootloader-ddr-init-boot-uboot-Recover-bootloader/
|
|
||||||
section "Recover the bootloader" for more details. The instructions
|
|
||||||
make use of a jh7100-recover tool, which Buildroot has built as part
|
|
||||||
of this defconfig: it is available as output/host/bin/jh7100-recover.
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"Image",
|
|
||||||
"sun50i-h6-beelink-gs1.dtb",
|
|
||||||
"extlinux"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-sunxi-with-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
size = 1040384 # 1MB - 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,453 +0,0 @@
|
|||||||
CONFIG_SYSVIPC=y
|
|
||||||
CONFIG_NO_HZ_IDLE=y
|
|
||||||
CONFIG_HIGH_RES_TIMERS=y
|
|
||||||
CONFIG_PREEMPT=y
|
|
||||||
CONFIG_IRQ_TIME_ACCOUNTING=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
|
||||||
CONFIG_IKCONFIG=y
|
|
||||||
CONFIG_IKCONFIG_PROC=y
|
|
||||||
CONFIG_NUMA_BALANCING=y
|
|
||||||
CONFIG_MEMCG=y
|
|
||||||
CONFIG_BLK_CGROUP=y
|
|
||||||
CONFIG_CGROUP_PIDS=y
|
|
||||||
CONFIG_CGROUP_HUGETLB=y
|
|
||||||
CONFIG_CPUSETS=y
|
|
||||||
CONFIG_CGROUP_DEVICE=y
|
|
||||||
CONFIG_CGROUP_CPUACCT=y
|
|
||||||
CONFIG_CGROUP_PERF=y
|
|
||||||
CONFIG_USER_NS=y
|
|
||||||
CONFIG_SCHED_AUTOGROUP=y
|
|
||||||
CONFIG_RELAY=y
|
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
|
||||||
CONFIG_KALLSYMS_ALL=y
|
|
||||||
# CONFIG_COMPAT_BRK is not set
|
|
||||||
CONFIG_SLAB=y
|
|
||||||
CONFIG_PROFILING=y
|
|
||||||
CONFIG_ARCH_MEDIATEK=y
|
|
||||||
CONFIG_ARM64_VA_BITS_48=y
|
|
||||||
CONFIG_SCHED_MC=y
|
|
||||||
CONFIG_SCHED_SMT=y
|
|
||||||
CONFIG_NR_CPUS=4
|
|
||||||
CONFIG_NUMA=y
|
|
||||||
CONFIG_SECCOMP=y
|
|
||||||
CONFIG_PARAVIRT=y
|
|
||||||
CONFIG_CRASH_DUMP=y
|
|
||||||
CONFIG_COMPAT=y
|
|
||||||
CONFIG_RANDOMIZE_BASE=y
|
|
||||||
# CONFIG_EFI is not set
|
|
||||||
# CONFIG_SUSPEND is not set
|
|
||||||
CONFIG_PM=y
|
|
||||||
CONFIG_PM_DEBUG=y
|
|
||||||
CONFIG_PM_ADVANCED_DEBUG=y
|
|
||||||
CONFIG_CPU_IDLE=y
|
|
||||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
|
||||||
CONFIG_ARM_CPUIDLE=y
|
|
||||||
CONFIG_ARM_PSCI_CPUIDLE=y
|
|
||||||
CONFIG_CPU_FREQ=y
|
|
||||||
CONFIG_CPU_FREQ_STAT=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
|
||||||
CONFIG_CPUFREQ_DT=y
|
|
||||||
CONFIG_ARM_SCPI_CPUFREQ=y
|
|
||||||
CONFIG_ARM_MEDIATEK_CPUFREQ=y
|
|
||||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
|
||||||
CONFIG_JUMP_LABEL=y
|
|
||||||
CONFIG_MODULES=y
|
|
||||||
CONFIG_MODULE_UNLOAD=y
|
|
||||||
# CONFIG_BLK_DEBUG_FS is not set
|
|
||||||
# CONFIG_MQ_IOSCHED_KYBER is not set
|
|
||||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
|
||||||
CONFIG_KSM=y
|
|
||||||
CONFIG_MEMORY_FAILURE=y
|
|
||||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
|
||||||
CONFIG_CMA=y
|
|
||||||
CONFIG_NET=y
|
|
||||||
CONFIG_PACKET=y
|
|
||||||
CONFIG_UNIX=y
|
|
||||||
CONFIG_UNIX_DIAG=y
|
|
||||||
CONFIG_INET=y
|
|
||||||
CONFIG_IP_MULTICAST=y
|
|
||||||
CONFIG_INET_UDP_DIAG=y
|
|
||||||
# CONFIG_IPV6 is not set
|
|
||||||
CONFIG_CFG80211=y
|
|
||||||
# CONFIG_CFG80211_DEFAULT_PS is not set
|
|
||||||
CONFIG_MAC80211=y
|
|
||||||
CONFIG_DEVTMPFS=y
|
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
|
||||||
CONFIG_FW_LOADER_USER_HELPER=y
|
|
||||||
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
|
|
||||||
CONFIG_BRCMSTB_GISB_ARB=y
|
|
||||||
CONFIG_VEXPRESS_CONFIG=y
|
|
||||||
CONFIG_MTD=y
|
|
||||||
CONFIG_MTD_BLOCK=y
|
|
||||||
CONFIG_MTD_CFI=y
|
|
||||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
|
||||||
CONFIG_MTD_CFI_INTELEXT=y
|
|
||||||
CONFIG_MTD_CFI_AMDSTD=y
|
|
||||||
CONFIG_MTD_CFI_STAA=y
|
|
||||||
CONFIG_MTD_PHYSMAP=y
|
|
||||||
CONFIG_MTD_PHYSMAP_OF=y
|
|
||||||
CONFIG_MTD_DATAFLASH=y
|
|
||||||
CONFIG_MTD_SST25L=y
|
|
||||||
CONFIG_MTD_RAW_NAND=y
|
|
||||||
CONFIG_MTD_NAND_DENALI_DT=y
|
|
||||||
CONFIG_MTD_SPI_NOR=y
|
|
||||||
CONFIG_SPI_CADENCE_QUADSPI=y
|
|
||||||
CONFIG_OF_OVERLAY=y
|
|
||||||
# CONFIG_BLK_DEV is not set
|
|
||||||
CONFIG_SRAM=y
|
|
||||||
CONFIG_EEPROM_AT24=m
|
|
||||||
CONFIG_EEPROM_AT25=m
|
|
||||||
CONFIG_RAID_ATTRS=m
|
|
||||||
CONFIG_SCSI=y
|
|
||||||
# CONFIG_SCSI_PROC_FS is not set
|
|
||||||
CONFIG_BLK_DEV_SD=y
|
|
||||||
CONFIG_SCSI_SAS_LIBSAS=y
|
|
||||||
CONFIG_SCSI_UFSHCD=y
|
|
||||||
CONFIG_SCSI_UFSHCD_PLATFORM=y
|
|
||||||
CONFIG_MD=y
|
|
||||||
CONFIG_BLK_DEV_MD=m
|
|
||||||
CONFIG_BLK_DEV_DM=m
|
|
||||||
CONFIG_DM_MIRROR=m
|
|
||||||
CONFIG_DM_ZERO=m
|
|
||||||
CONFIG_NETDEVICES=y
|
|
||||||
# CONFIG_ETHERNET is not set
|
|
||||||
CONFIG_USB_RTL8152=y
|
|
||||||
CONFIG_USB_USBNET=y
|
|
||||||
# CONFIG_USB_NET_AX88179_178A is not set
|
|
||||||
# CONFIG_USB_NET_NET1080 is not set
|
|
||||||
# CONFIG_USB_NET_CDC_SUBSET is not set
|
|
||||||
# CONFIG_USB_NET_ZAURUS is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_ADMTEK is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_ATH is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_ATMEL is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_BROADCOM is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_CISCO is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_INTEL is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_INTERSIL is not set
|
|
||||||
CONFIG_MWIFIEX=m
|
|
||||||
CONFIG_MWIFIEX_SDIO=m
|
|
||||||
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_RALINK is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_REALTEK is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_RSI is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_ST is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_TI is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_ZYDAS is not set
|
|
||||||
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
|
|
||||||
CONFIG_INPUT_POLLDEV=m
|
|
||||||
CONFIG_INPUT_EVDEV=y
|
|
||||||
CONFIG_KEYBOARD_ADC=m
|
|
||||||
CONFIG_KEYBOARD_GPIO=y
|
|
||||||
CONFIG_KEYBOARD_CROS_EC=y
|
|
||||||
CONFIG_MOUSE_ELAN_I2C=y
|
|
||||||
CONFIG_INPUT_TOUCHSCREEN=y
|
|
||||||
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
|
||||||
CONFIG_TOUCHSCREEN_ELAN=y
|
|
||||||
CONFIG_INPUT_MISC=y
|
|
||||||
# CONFIG_SERIO_SERPORT is not set
|
|
||||||
CONFIG_SERIO_AMBAKMI=y
|
|
||||||
CONFIG_LEGACY_PTY_COUNT=16
|
|
||||||
CONFIG_SERIAL_8250=y
|
|
||||||
CONFIG_SERIAL_8250_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_8250_EXTENDED=y
|
|
||||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
|
||||||
CONFIG_SERIAL_8250_DW=y
|
|
||||||
CONFIG_SERIAL_8250_MT6577=y
|
|
||||||
CONFIG_SERIAL_OF_PLATFORM=y
|
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
|
||||||
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_FSL_LPUART=y
|
|
||||||
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_FSL_LINFLEXUART=y
|
|
||||||
CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_DEV_BUS=y
|
|
||||||
CONFIG_VIRTIO_CONSOLE=y
|
|
||||||
CONFIG_IPMI_HANDLER=m
|
|
||||||
CONFIG_IPMI_DEVICE_INTERFACE=m
|
|
||||||
CONFIG_IPMI_SI=m
|
|
||||||
CONFIG_TCG_TPM=y
|
|
||||||
CONFIG_TCG_TIS_I2C_INFINEON=y
|
|
||||||
CONFIG_I2C_CHARDEV=y
|
|
||||||
CONFIG_I2C_MUX_PCA954x=y
|
|
||||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
|
||||||
CONFIG_I2C_GPIO=m
|
|
||||||
CONFIG_I2C_MT65XX=y
|
|
||||||
CONFIG_I2C_RK3X=y
|
|
||||||
CONFIG_I2C_CROS_EC_TUNNEL=y
|
|
||||||
CONFIG_I2C_SLAVE=y
|
|
||||||
CONFIG_SPI=y
|
|
||||||
CONFIG_SPI_NXP_FLEXSPI=y
|
|
||||||
CONFIG_SPI_GPIO=y
|
|
||||||
CONFIG_SPI_MT65XX=y
|
|
||||||
CONFIG_SPI_PL022=y
|
|
||||||
CONFIG_SPI_ROCKCHIP=y
|
|
||||||
CONFIG_SPI_SPIDEV=y
|
|
||||||
CONFIG_PINCTRL_SINGLE=y
|
|
||||||
CONFIG_PINCTRL_MAX77620=y
|
|
||||||
CONFIG_GPIO_ALTERA=m
|
|
||||||
CONFIG_GPIO_DWAPB=y
|
|
||||||
CONFIG_GPIO_MB86S7X=y
|
|
||||||
CONFIG_GPIO_PL061=y
|
|
||||||
CONFIG_GPIO_XGENE=y
|
|
||||||
CONFIG_GPIO_MAX732X=y
|
|
||||||
CONFIG_GPIO_PCA953X=y
|
|
||||||
CONFIG_GPIO_PCA953X_IRQ=y
|
|
||||||
CONFIG_GPIO_BD9571MWV=m
|
|
||||||
CONFIG_GPIO_MAX77620=y
|
|
||||||
CONFIG_POWER_AVS=y
|
|
||||||
CONFIG_POWER_RESET_BRCMSTB=y
|
|
||||||
CONFIG_POWER_RESET_XGENE=y
|
|
||||||
CONFIG_POWER_RESET_SYSCON=y
|
|
||||||
CONFIG_SYSCON_REBOOT_MODE=y
|
|
||||||
CONFIG_BATTERY_SBS=m
|
|
||||||
CONFIG_BATTERY_BQ27XXX=y
|
|
||||||
CONFIG_SENSORS_ARM_SCPI=y
|
|
||||||
CONFIG_SENSORS_LM90=m
|
|
||||||
CONFIG_SENSORS_PWM_FAN=m
|
|
||||||
CONFIG_SENSORS_INA2XX=m
|
|
||||||
CONFIG_SENSORS_INA3221=m
|
|
||||||
CONFIG_THERMAL=y
|
|
||||||
CONFIG_CPU_THERMAL=y
|
|
||||||
CONFIG_DEVFREQ_THERMAL=y
|
|
||||||
CONFIG_THERMAL_EMULATION=y
|
|
||||||
CONFIG_WATCHDOG=y
|
|
||||||
CONFIG_MEDIATEK_WATCHDOG=y
|
|
||||||
CONFIG_MFD_BD9571MWV=y
|
|
||||||
CONFIG_MFD_AXP20X_I2C=y
|
|
||||||
CONFIG_MFD_HI6421_PMIC=y
|
|
||||||
CONFIG_MFD_MAX77620=y
|
|
||||||
CONFIG_MFD_MT6397=y
|
|
||||||
CONFIG_MFD_RK808=y
|
|
||||||
CONFIG_MFD_SEC_CORE=y
|
|
||||||
CONFIG_MFD_ROHM_BD718XX=y
|
|
||||||
CONFIG_REGULATOR_DEBUG=y
|
|
||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|
||||||
CONFIG_REGULATOR_AXP20X=y
|
|
||||||
CONFIG_REGULATOR_BD718XX=y
|
|
||||||
CONFIG_REGULATOR_BD9571MWV=y
|
|
||||||
CONFIG_REGULATOR_DA9211=y
|
|
||||||
CONFIG_REGULATOR_FAN53555=y
|
|
||||||
CONFIG_REGULATOR_GPIO=y
|
|
||||||
CONFIG_REGULATOR_HI6421V530=y
|
|
||||||
CONFIG_REGULATOR_MAX77620=y
|
|
||||||
CONFIG_REGULATOR_MAX8973=y
|
|
||||||
CONFIG_REGULATOR_MT6397=y
|
|
||||||
CONFIG_REGULATOR_PFUZE100=y
|
|
||||||
CONFIG_REGULATOR_PWM=y
|
|
||||||
CONFIG_REGULATOR_RK808=y
|
|
||||||
CONFIG_REGULATOR_S2MPS11=y
|
|
||||||
CONFIG_REGULATOR_VCTRL=m
|
|
||||||
CONFIG_MEDIA_SUPPORT=y
|
|
||||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
|
||||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
|
||||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
|
||||||
CONFIG_MEDIA_SDR_SUPPORT=y
|
|
||||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
|
||||||
CONFIG_MEDIA_USB_SUPPORT=y
|
|
||||||
CONFIG_USB_VIDEO_CLASS=m
|
|
||||||
CONFIG_DRM=y
|
|
||||||
CONFIG_DRM_I2C_CH7006=m
|
|
||||||
CONFIG_DRM_I2C_SIL164=m
|
|
||||||
CONFIG_DRM_I2C_NXP_TDA998X=m
|
|
||||||
CONFIG_DRM_MALI_DISPLAY=m
|
|
||||||
CONFIG_DRM_PANEL_LVDS=m
|
|
||||||
CONFIG_DRM_PANEL_SIMPLE=y
|
|
||||||
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
|
|
||||||
CONFIG_DRM_DISPLAY_CONNECTOR=y
|
|
||||||
CONFIG_DRM_PARADE_PS8640=y
|
|
||||||
CONFIG_DRM_SII902X=m
|
|
||||||
CONFIG_DRM_THINE_THC63LVD1024=m
|
|
||||||
CONFIG_DRM_TI_SN65DSI86=m
|
|
||||||
CONFIG_DRM_ANALOGIX_ANX78XX=y
|
|
||||||
CONFIG_DRM_I2C_ADV7511=m
|
|
||||||
CONFIG_DRM_MEDIATEK=y
|
|
||||||
CONFIG_DRM_MEDIATEK_HDMI=y
|
|
||||||
CONFIG_FB_MODE_HELPERS=y
|
|
||||||
CONFIG_FB_SIMPLE=y
|
|
||||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
|
||||||
CONFIG_BACKLIGHT_PWM=y
|
|
||||||
CONFIG_BACKLIGHT_LP855X=y
|
|
||||||
CONFIG_SOUND=y
|
|
||||||
CONFIG_SND=y
|
|
||||||
CONFIG_SND_SOC=y
|
|
||||||
CONFIG_SND_SOC_MT8173=y
|
|
||||||
CONFIG_SND_SOC_MT8173_RT5650_RT5676=y
|
|
||||||
CONFIG_I2C_HID=m
|
|
||||||
CONFIG_USB_CONN_GPIO=y
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_USB_XHCI_HCD=y
|
|
||||||
CONFIG_USB_EHCI_HCD=y
|
|
||||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
|
||||||
CONFIG_USB_OHCI_HCD=y
|
|
||||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
|
||||||
CONFIG_USB_STORAGE=y
|
|
||||||
CONFIG_USB_MTU3=y
|
|
||||||
CONFIG_USB_MUSB_HDRC=y
|
|
||||||
CONFIG_USB_DWC3=y
|
|
||||||
CONFIG_USB_DWC2=y
|
|
||||||
CONFIG_USB_CHIPIDEA=y
|
|
||||||
CONFIG_USB_CHIPIDEA_UDC=y
|
|
||||||
CONFIG_USB_CHIPIDEA_HOST=y
|
|
||||||
CONFIG_USB_ISP1760=y
|
|
||||||
CONFIG_USB_SERIAL=y
|
|
||||||
CONFIG_USB_SERIAL_CONSOLE=y
|
|
||||||
CONFIG_USB_SERIAL_PL2303=y
|
|
||||||
CONFIG_USB_HSIC_USB3503=y
|
|
||||||
CONFIG_NOP_USB_XCEIV=y
|
|
||||||
CONFIG_USB_ULPI=y
|
|
||||||
CONFIG_USB_GADGET=y
|
|
||||||
CONFIG_USB_SNP_UDC_PLAT=y
|
|
||||||
CONFIG_USB_BDC_UDC=y
|
|
||||||
CONFIG_USB_ETH=m
|
|
||||||
CONFIG_USB_ETH_EEM=y
|
|
||||||
CONFIG_TYPEC=m
|
|
||||||
CONFIG_TYPEC_TCPM=m
|
|
||||||
CONFIG_TYPEC_FUSB302=m
|
|
||||||
CONFIG_MMC=y
|
|
||||||
CONFIG_MMC_BLOCK_MINORS=32
|
|
||||||
CONFIG_MMC_ARMMMCI=y
|
|
||||||
CONFIG_MMC_SDHCI=y
|
|
||||||
CONFIG_MMC_SDHCI_PLTFM=y
|
|
||||||
CONFIG_MMC_SDHCI_OF_ARASAN=y
|
|
||||||
CONFIG_MMC_SDHCI_CADENCE=y
|
|
||||||
CONFIG_MMC_SDHCI_F_SDH30=y
|
|
||||||
CONFIG_MMC_SPI=y
|
|
||||||
CONFIG_MMC_DW=y
|
|
||||||
CONFIG_MMC_DW_EXYNOS=y
|
|
||||||
CONFIG_MMC_DW_HI3798CV200=y
|
|
||||||
CONFIG_MMC_DW_K3=y
|
|
||||||
CONFIG_MMC_MTK=y
|
|
||||||
CONFIG_MMC_SDHCI_XENON=y
|
|
||||||
CONFIG_NEW_LEDS=y
|
|
||||||
CONFIG_LEDS_CLASS=y
|
|
||||||
CONFIG_LEDS_GPIO=y
|
|
||||||
CONFIG_LEDS_PWM=y
|
|
||||||
CONFIG_LEDS_SYSCON=y
|
|
||||||
CONFIG_LEDS_TRIGGERS=y
|
|
||||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
|
||||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
|
||||||
CONFIG_LEDS_TRIGGER_CPU=y
|
|
||||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
|
||||||
CONFIG_LEDS_TRIGGER_PANIC=y
|
|
||||||
CONFIG_RTC_CLASS=y
|
|
||||||
CONFIG_RTC_DRV_DS1307=m
|
|
||||||
CONFIG_RTC_DRV_MAX77686=y
|
|
||||||
CONFIG_RTC_DRV_RK808=m
|
|
||||||
CONFIG_RTC_DRV_PCF85363=m
|
|
||||||
CONFIG_RTC_DRV_RX8581=m
|
|
||||||
CONFIG_RTC_DRV_S5M=y
|
|
||||||
CONFIG_RTC_DRV_DS3232=y
|
|
||||||
CONFIG_RTC_DRV_PCF2127=m
|
|
||||||
CONFIG_RTC_DRV_CROS_EC=y
|
|
||||||
CONFIG_RTC_DRV_PL031=y
|
|
||||||
CONFIG_DMADEVICES=y
|
|
||||||
CONFIG_FSL_EDMA=y
|
|
||||||
CONFIG_MV_XOR_V2=y
|
|
||||||
CONFIG_PL330_DMA=y
|
|
||||||
CONFIG_MTK_CQDMA=y
|
|
||||||
CONFIG_QCOM_HIDMA_MGMT=y
|
|
||||||
CONFIG_QCOM_HIDMA=y
|
|
||||||
# CONFIG_VIRTIO_MENU is not set
|
|
||||||
CONFIG_MFD_CROS_EC=y
|
|
||||||
CONFIG_CROS_EC_I2C=y
|
|
||||||
CONFIG_CROS_EC_SPI=y
|
|
||||||
CONFIG_COMMON_CLK_RK808=y
|
|
||||||
CONFIG_COMMON_CLK_SCPI=y
|
|
||||||
CONFIG_COMMON_CLK_CS2000_CP=y
|
|
||||||
CONFIG_COMMON_CLK_S2MPS11=y
|
|
||||||
CONFIG_CLK_QORIQ=y
|
|
||||||
CONFIG_COMMON_CLK_XGENE=y
|
|
||||||
CONFIG_COMMON_CLK_PWM=y
|
|
||||||
CONFIG_COMMON_CLK_VC5=y
|
|
||||||
CONFIG_COMMON_CLK_MT6797_MMSYS=y
|
|
||||||
CONFIG_COMMON_CLK_MT6797_IMGSYS=y
|
|
||||||
CONFIG_COMMON_CLK_MT6797_VDECSYS=y
|
|
||||||
CONFIG_COMMON_CLK_MT6797_VENCSYS=y
|
|
||||||
CONFIG_HWSPINLOCK=y
|
|
||||||
CONFIG_ARM_MHU=y
|
|
||||||
CONFIG_PLATFORM_MHU=y
|
|
||||||
CONFIG_ARM_SMMU=y
|
|
||||||
CONFIG_ARM_SMMU_V3=y
|
|
||||||
CONFIG_MTK_IOMMU=y
|
|
||||||
CONFIG_REMOTEPROC=y
|
|
||||||
CONFIG_MTK_CMDQ=y
|
|
||||||
CONFIG_MTK_PMIC_WRAP=y
|
|
||||||
CONFIG_EXTCON_USB_GPIO=y
|
|
||||||
CONFIG_EXTCON_USBC_CROS_EC=y
|
|
||||||
CONFIG_IIO=y
|
|
||||||
CONFIG_MAX9611=m
|
|
||||||
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
|
|
||||||
CONFIG_IIO_CROS_EC_SENSORS=m
|
|
||||||
CONFIG_IIO_CROS_EC_LIGHT_PROX=m
|
|
||||||
CONFIG_SENSORS_ISL29018=m
|
|
||||||
CONFIG_IIO_CROS_EC_BARO=m
|
|
||||||
CONFIG_MPL3115=m
|
|
||||||
CONFIG_PWM=y
|
|
||||||
CONFIG_PWM_CROS_EC=m
|
|
||||||
CONFIG_PWM_MTK_DISP=y
|
|
||||||
CONFIG_PWM_MEDIATEK=y
|
|
||||||
CONFIG_PHY_XGENE=y
|
|
||||||
CONFIG_PHY_FSL_IMX8MQ_USB=y
|
|
||||||
CONFIG_PHY_MTK_TPHY=y
|
|
||||||
CONFIG_PHY_QCOM_USB_HS=y
|
|
||||||
CONFIG_PHY_SAMSUNG_USB2=y
|
|
||||||
CONFIG_EXT2_FS=y
|
|
||||||
CONFIG_EXT3_FS=y
|
|
||||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
|
||||||
CONFIG_FANOTIFY=y
|
|
||||||
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
|
||||||
CONFIG_QUOTA=y
|
|
||||||
CONFIG_AUTOFS4_FS=y
|
|
||||||
CONFIG_FUSE_FS=m
|
|
||||||
CONFIG_CUSE=m
|
|
||||||
CONFIG_OVERLAY_FS=y
|
|
||||||
CONFIG_OVERLAY_FS_INDEX=y
|
|
||||||
CONFIG_OVERLAY_FS_XINO_AUTO=y
|
|
||||||
CONFIG_OVERLAY_FS_METACOPY=y
|
|
||||||
CONFIG_VFAT_FS=y
|
|
||||||
CONFIG_TMPFS=y
|
|
||||||
CONFIG_TMPFS_POSIX_ACL=y
|
|
||||||
CONFIG_HUGETLBFS=y
|
|
||||||
CONFIG_CONFIGFS_FS=y
|
|
||||||
CONFIG_PSTORE=y
|
|
||||||
CONFIG_NLS_CODEPAGE_437=y
|
|
||||||
CONFIG_NLS_ISO8859_1=y
|
|
||||||
CONFIG_SECURITY=y
|
|
||||||
CONFIG_CRYPTO_CRYPTD=y
|
|
||||||
CONFIG_CRYPTO_DH=m
|
|
||||||
CONFIG_CRYPTO_ECDH=m
|
|
||||||
CONFIG_CRYPTO_SEQIV=y
|
|
||||||
CONFIG_CRYPTO_ECHAINIV=y
|
|
||||||
CONFIG_CRYPTO_CBC=y
|
|
||||||
CONFIG_CRYPTO_ECB=y
|
|
||||||
CONFIG_CRYPTO_XXHASH=m
|
|
||||||
CONFIG_CRYPTO_SHA1=y
|
|
||||||
CONFIG_CRYPTO_SHA3=m
|
|
||||||
CONFIG_CRYPTO_DES=m
|
|
||||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
|
||||||
CONFIG_CRYPTO_DEV_CCREE=m
|
|
||||||
CONFIG_PACKING=y
|
|
||||||
CONFIG_INDIRECT_PIO=y
|
|
||||||
CONFIG_CRC_CCITT=m
|
|
||||||
CONFIG_CRC_T10DIF=y
|
|
||||||
CONFIG_LIBCRC32C=m
|
|
||||||
CONFIG_DMA_CMA=y
|
|
||||||
CONFIG_CMA_SIZE_MBYTES=32
|
|
||||||
CONFIG_IRQ_POLL=y
|
|
||||||
CONFIG_PRINTK_TIME=y
|
|
||||||
CONFIG_DEBUG_INFO=y
|
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
|
||||||
CONFIG_DEBUG_FS=y
|
|
||||||
CONFIG_DEBUG_KERNEL=y
|
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
|
||||||
# CONFIG_DEBUG_PREEMPT is not set
|
|
||||||
CONFIG_STACKTRACE=y
|
|
||||||
# CONFIG_FTRACE is not set
|
|
||||||
# CONFIG_STRICT_DEVMEM is not set
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
From 510d0ad0ce1b51c072309ba12dfb024fc2c3dbac Mon Sep 17 00:00:00 2001
|
|
||||||
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Date: Wed, 26 Aug 2020 10:15:22 +0200
|
|
||||||
Subject: [PATCH 1/5] drm/bridge_connector: Set default status connected for
|
|
||||||
eDP connectors
|
|
||||||
|
|
||||||
In an eDP application, HPD is not required and on most bridge chips
|
|
||||||
useless. If HPD is not used, we need to set initial status as connected,
|
|
||||||
otherwise the connector created by the drm_bridge_connector API remains
|
|
||||||
in an unknown state.
|
|
||||||
|
|
||||||
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
||||||
Acked-by: Sam Ravnborg <sam@ravnborg.org>
|
|
||||||
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Reviewed-by: Bilal Wasim <bwasim.lkml@gmail.com>
|
|
||||||
Tested-by: Bilal Wasim <bwasim.lkml@gmail.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/drm_bridge_connector.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/drm_bridge_connector.c
|
|
||||||
index c6994fe673f3..a58cbde59c34 100644
|
|
||||||
--- a/drivers/gpu/drm/drm_bridge_connector.c
|
|
||||||
+++ b/drivers/gpu/drm/drm_bridge_connector.c
|
|
||||||
@@ -187,6 +187,7 @@ drm_bridge_connector_detect(struct drm_connector *connector, bool force)
|
|
||||||
case DRM_MODE_CONNECTOR_DPI:
|
|
||||||
case DRM_MODE_CONNECTOR_LVDS:
|
|
||||||
case DRM_MODE_CONNECTOR_DSI:
|
|
||||||
+ case DRM_MODE_CONNECTOR_eDP:
|
|
||||||
status = connector_status_connected;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
From cc0f2fea61fb34ca84e4812a615e0035d812aa8b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Date: Wed, 26 Aug 2020 10:15:23 +0200
|
|
||||||
Subject: [PATCH 2/5] drm/bridge: ps8640: Get the EDID from eDP control
|
|
||||||
|
|
||||||
The PS8640 DSI-to-eDP bridge can retrieve the EDID, so implement the
|
|
||||||
.get_edid callback and set the flag to indicate the core to use it.
|
|
||||||
|
|
||||||
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
||||||
Acked-by: Sam Ravnborg <sam@ravnborg.org>
|
|
||||||
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/bridge/parade-ps8640.c | 12 ++++++++++++
|
|
||||||
1 file changed, 12 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
index 4b099196afeb..13755d278db6 100644
|
|
||||||
--- a/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
+++ b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
@@ -242,8 +242,18 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
|
|
||||||
+ struct drm_connector *connector)
|
|
||||||
+{
|
|
||||||
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
+
|
|
||||||
+ return drm_get_edid(connector,
|
|
||||||
+ ps_bridge->page[PAGE0_DP_CNTL]->adapter);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static const struct drm_bridge_funcs ps8640_bridge_funcs = {
|
|
||||||
.attach = ps8640_bridge_attach,
|
|
||||||
+ .get_edid = ps8640_bridge_get_edid,
|
|
||||||
.post_disable = ps8640_post_disable,
|
|
||||||
.pre_enable = ps8640_pre_enable,
|
|
||||||
};
|
|
||||||
@@ -294,6 +304,8 @@ static int ps8640_probe(struct i2c_client *client)
|
|
||||||
|
|
||||||
ps_bridge->bridge.funcs = &ps8640_bridge_funcs;
|
|
||||||
ps_bridge->bridge.of_node = dev->of_node;
|
|
||||||
+ ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
|
|
||||||
+ ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
|
|
||||||
|
|
||||||
ps_bridge->page[PAGE0_DP_CNTL] = client;
|
|
||||||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
From 62afc499fc46c8018f40733c31a675b28f0717d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Date: Wed, 26 Aug 2020 10:15:24 +0200
|
|
||||||
Subject: [PATCH 3/5] drm/bridge: ps8640: Return an error for incorrect attach
|
|
||||||
flags
|
|
||||||
|
|
||||||
Bridge drivers that implement the new model only shall return an error
|
|
||||||
from their attach() handler when the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag
|
|
||||||
is not set. So make sure we return an error because only the new
|
|
||||||
drm_bridge model is supported.
|
|
||||||
|
|
||||||
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
|
|
||||||
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/bridge/parade-ps8640.c | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
index 13755d278db6..ce3e8b2da8c9 100644
|
|
||||||
--- a/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
+++ b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
@@ -200,6 +200,10 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
|
|
||||||
.channel = 0,
|
|
||||||
.node = NULL,
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR))
|
|
||||||
+ return -EINVAL;
|
|
||||||
+
|
|
||||||
/* port@0 is ps8640 dsi input port */
|
|
||||||
in_ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1);
|
|
||||||
if (!in_ep)
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
From 4897262a71cbf55d726d9174f5f646897dc13704 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Date: Wed, 26 Aug 2020 10:15:25 +0200
|
|
||||||
Subject: [PATCH 4/5] drm/bridge: ps8640: Print an error if VDO control fails
|
|
||||||
|
|
||||||
Print an error message inside ps8640_bridge_vdo_control() function when
|
|
||||||
it fails so we can simplify a bit the callers, they will only need to
|
|
||||||
check the error code.
|
|
||||||
|
|
||||||
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
|
|
||||||
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/bridge/parade-ps8640.c | 13 ++++++-------
|
|
||||||
1 file changed, 6 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
index ce3e8b2da8c9..9f7b7a9c53c5 100644
|
|
||||||
--- a/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
+++ b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
@@ -82,8 +82,11 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge,
|
|
||||||
ret = i2c_smbus_write_i2c_block_data(client, PAGE3_SET_ADD,
|
|
||||||
sizeof(vdo_ctrl_buf),
|
|
||||||
vdo_ctrl_buf);
|
|
||||||
- if (ret < 0)
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ DRM_ERROR("failed to %sable VDO: %d\n",
|
|
||||||
+ ctrl == ENABLE ? "en" : "dis", ret);
|
|
||||||
return ret;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -150,10 +153,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = ps8640_bridge_vdo_control(ps_bridge, ENABLE);
|
|
||||||
- if (ret) {
|
|
||||||
- DRM_ERROR("failed to enable VDO: %d\n", ret);
|
|
||||||
+ if (ret)
|
|
||||||
goto err_regulators_disable;
|
|
||||||
- }
|
|
||||||
|
|
||||||
/* Switch access edp panel's edid through i2c */
|
|
||||||
ret = i2c_smbus_write_byte_data(client, PAGE2_I2C_BYPASS,
|
|
||||||
@@ -175,9 +176,7 @@ static void ps8640_post_disable(struct drm_bridge *bridge)
|
|
||||||
struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
- ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE);
|
|
||||||
- if (ret < 0)
|
|
||||||
- DRM_ERROR("failed to disable VDO: %d\n", ret);
|
|
||||||
+ ps8640_bridge_vdo_control(ps_bridge, DISABLE);
|
|
||||||
|
|
||||||
gpiod_set_value(ps_bridge->gpio_reset, 1);
|
|
||||||
gpiod_set_value(ps_bridge->gpio_powerdown, 1);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,162 +0,0 @@
|
|||||||
From 5bb60fe7c748a0aae2bdbab10e73b2dc48c09dda Mon Sep 17 00:00:00 2001
|
|
||||||
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
Date: Wed, 26 Aug 2020 10:15:26 +0200
|
|
||||||
Subject: [PATCH 5/5] drm/bridge: ps8640: Rework power state handling
|
|
||||||
|
|
||||||
The get_edid() callback can be triggered anytime by an ioctl, i.e
|
|
||||||
|
|
||||||
drm_mode_getconnector (ioctl)
|
|
||||||
-> drm_helper_probe_single_connector_modes
|
|
||||||
-> drm_bridge_connector_get_modes
|
|
||||||
-> ps8640_bridge_get_edid
|
|
||||||
|
|
||||||
Actually if the bridge pre_enable() function was not called before
|
|
||||||
get_edid(), the driver will not be able to get the EDID properly and
|
|
||||||
display will not work until a second get_edid() call is issued and if
|
|
||||||
pre_enable() is called before. The side effect of this, for example, is
|
|
||||||
that you see anything when `Frecon` starts, neither the splash screen,
|
|
||||||
until the graphical session manager starts.
|
|
||||||
|
|
||||||
To fix this we need to make sure that all we need is enabled before
|
|
||||||
reading the EDID. This means the following:
|
|
||||||
|
|
||||||
1. If get_edid() is called before having the device powered we need to
|
|
||||||
power on the device. In such case, the driver will power off again the
|
|
||||||
device.
|
|
||||||
|
|
||||||
2. If get_edid() is called after having the device powered, all should
|
|
||||||
just work. We added a powered flag in order to avoid recurrent calls
|
|
||||||
to ps8640_bridge_poweron() and unneeded delays.
|
|
||||||
|
|
||||||
3. This seems to be specific for this device, but we need to make sure
|
|
||||||
the panel is powered on before do a power on cycle on this device.
|
|
||||||
Otherwise the device fails to retrieve the EDID.
|
|
||||||
|
|
||||||
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/bridge/parade-ps8640.c | 64 +++++++++++++++++++++++---
|
|
||||||
1 file changed, 58 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
index 9f7b7a9c53c5..c5d76e209bda 100644
|
|
||||||
--- a/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
+++ b/drivers/gpu/drm/bridge/parade-ps8640.c
|
|
||||||
@@ -65,6 +65,7 @@ struct ps8640 {
|
|
||||||
struct regulator_bulk_data supplies[2];
|
|
||||||
struct gpio_desc *gpio_reset;
|
|
||||||
struct gpio_desc *gpio_powerdown;
|
|
||||||
+ bool powered;
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline struct ps8640 *bridge_to_ps8640(struct drm_bridge *e)
|
|
||||||
@@ -91,13 +92,15 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge,
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void ps8640_pre_enable(struct drm_bridge *bridge)
|
|
||||||
+static void ps8640_bridge_poweron(struct ps8640 *ps_bridge)
|
|
||||||
{
|
|
||||||
- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
struct i2c_client *client = ps_bridge->page[PAGE2_TOP_CNTL];
|
|
||||||
unsigned long timeout;
|
|
||||||
int ret, status;
|
|
||||||
|
|
||||||
+ if (ps_bridge->powered)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
ret = regulator_bulk_enable(ARRAY_SIZE(ps_bridge->supplies),
|
|
||||||
ps_bridge->supplies);
|
|
||||||
if (ret < 0) {
|
|
||||||
@@ -164,6 +167,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
|
|
||||||
goto err_regulators_disable;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ ps_bridge->powered = true;
|
|
||||||
+
|
|
||||||
return;
|
|
||||||
|
|
||||||
err_regulators_disable:
|
|
||||||
@@ -171,12 +176,12 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
|
|
||||||
ps_bridge->supplies);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void ps8640_post_disable(struct drm_bridge *bridge)
|
|
||||||
+static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge)
|
|
||||||
{
|
|
||||||
- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
- ps8640_bridge_vdo_control(ps_bridge, DISABLE);
|
|
||||||
+ if (!ps_bridge->powered)
|
|
||||||
+ return;
|
|
||||||
|
|
||||||
gpiod_set_value(ps_bridge->gpio_reset, 1);
|
|
||||||
gpiod_set_value(ps_bridge->gpio_powerdown, 1);
|
|
||||||
@@ -184,6 +189,28 @@ static void ps8640_post_disable(struct drm_bridge *bridge)
|
|
||||||
ps_bridge->supplies);
|
|
||||||
if (ret < 0)
|
|
||||||
DRM_ERROR("cannot disable regulators %d\n", ret);
|
|
||||||
+
|
|
||||||
+ ps_bridge->powered = false;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void ps8640_pre_enable(struct drm_bridge *bridge)
|
|
||||||
+{
|
|
||||||
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
+ int ret;
|
|
||||||
+
|
|
||||||
+ ps8640_bridge_poweron(ps_bridge);
|
|
||||||
+
|
|
||||||
+ ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE);
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ ps8640_bridge_poweroff(ps_bridge);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void ps8640_post_disable(struct drm_bridge *bridge)
|
|
||||||
+{
|
|
||||||
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
+
|
|
||||||
+ ps8640_bridge_vdo_control(ps_bridge, DISABLE);
|
|
||||||
+ ps8640_bridge_poweroff(ps_bridge);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ps8640_bridge_attach(struct drm_bridge *bridge,
|
|
||||||
@@ -249,9 +276,34 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
|
|
||||||
struct drm_connector *connector)
|
|
||||||
{
|
|
||||||
struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
|
|
||||||
+ bool poweroff = !ps_bridge->powered;
|
|
||||||
+ struct edid *edid;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * When we end calling get_edid() triggered by an ioctl, i.e
|
|
||||||
+ *
|
|
||||||
+ * drm_mode_getconnector (ioctl)
|
|
||||||
+ * -> drm_helper_probe_single_connector_modes
|
|
||||||
+ * -> drm_bridge_connector_get_modes
|
|
||||||
+ * -> ps8640_bridge_get_edid
|
|
||||||
+ *
|
|
||||||
+ * We need to make sure that what we need is enabled before reading
|
|
||||||
+ * EDID, for this chip, we need to do a full poweron, otherwise it will
|
|
||||||
+ * fail.
|
|
||||||
+ */
|
|
||||||
+ drm_bridge_chain_pre_enable(bridge);
|
|
||||||
|
|
||||||
- return drm_get_edid(connector,
|
|
||||||
+ edid = drm_get_edid(connector,
|
|
||||||
ps_bridge->page[PAGE0_DP_CNTL]->adapter);
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * If we call the get_edid() function without having enabled the chip
|
|
||||||
+ * before, return the chip to its original power state.
|
|
||||||
+ */
|
|
||||||
+ if (poweroff)
|
|
||||||
+ drm_bridge_chain_post_disable(bridge);
|
|
||||||
+
|
|
||||||
+ return edid;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct drm_bridge_funcs ps8640_bridge_funcs = {
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
From 51109530891c981b681816152bd205724deabcca Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jitao Shi <jitao.shi@mediatek.com>
|
|
||||||
Date: Sat, 10 Oct 2020 15:09:09 +0800
|
|
||||||
Subject: [PATCH] Revert "drm/mediatek: dsi: Fix scrolling of panel with small
|
|
||||||
hfp or hbp"
|
|
||||||
|
|
||||||
This reverts commit 35bf948f1edbf507f6e57e0879fa6ea36d2d2930.
|
|
||||||
|
|
||||||
Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
|
|
||||||
Reviewed-by: Bilal Wasim <bilal.wasim@imgtec.com>
|
|
||||||
Tested-by: Bilal Wasim <bilal.wasim@imgtec.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/mediatek/mtk_dsi.c | 9 +++++----
|
|
||||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
||||||
index 80b7a082e874..16fd99dcdacf 100644
|
|
||||||
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
||||||
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
||||||
@@ -466,13 +466,14 @@ static void mtk_dsi_config_vdo_timing(struct mtk_dsi *dsi)
|
|
||||||
horizontal_sync_active_byte = (vm->hsync_len * dsi_tmp_buf_bpp - 10);
|
|
||||||
|
|
||||||
if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)
|
|
||||||
- horizontal_backporch_byte = vm->hback_porch * dsi_tmp_buf_bpp;
|
|
||||||
+ horizontal_backporch_byte =
|
|
||||||
+ (vm->hback_porch * dsi_tmp_buf_bpp - 10);
|
|
||||||
else
|
|
||||||
- horizontal_backporch_byte = (vm->hback_porch + vm->hsync_len) *
|
|
||||||
- dsi_tmp_buf_bpp;
|
|
||||||
+ horizontal_backporch_byte = ((vm->hback_porch + vm->hsync_len) *
|
|
||||||
+ dsi_tmp_buf_bpp - 10);
|
|
||||||
|
|
||||||
data_phy_cycles = timing->lpx + timing->da_hs_prepare +
|
|
||||||
- timing->da_hs_zero + timing->da_hs_exit;
|
|
||||||
+ timing->da_hs_zero + timing->da_hs_exit + 3;
|
|
||||||
|
|
||||||
if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) {
|
|
||||||
if ((vm->hfront_porch + vm->hback_porch) * dsi_tmp_buf_bpp >
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot-spl {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-spl.bin"
|
|
||||||
offset = 512
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot.img"
|
|
||||||
offset = 14k
|
|
||||||
}
|
|
||||||
|
|
||||||
partition uboot-env {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "uboot-env.bin"
|
|
||||||
offset = 526k
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
offset = 2M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
tar jtag jtag://127.0.0.1:1025
|
|
||||||
reset
|
|
||||||
|
|
||||||
# setup CCR (Cache Config Reg)
|
|
||||||
# 0-1:MP,2:IE,3:DE,4:WB,5:RS,6:Z,7:BE
|
|
||||||
set $cr18 = 0x7d
|
|
||||||
|
|
||||||
# vendor custom setup, double cache line & preload
|
|
||||||
set $cr30 = 0xc
|
|
||||||
|
|
||||||
# pin mux for serial8250
|
|
||||||
set *(unsigned int *) 0xa030a14c |= (1 << 22) | (1 << 23)
|
|
||||||
|
|
||||||
# pass devicetree blob
|
|
||||||
# r2 is magic
|
|
||||||
# r3 is address
|
|
||||||
set $r2 = 0x20150401
|
|
||||||
set $r3 = 0x92000000
|
|
||||||
restore gx6605s.dtb binary 0x92000000
|
|
||||||
|
|
||||||
# flush cache
|
|
||||||
set $cr17 = 0x33
|
|
||||||
|
|
||||||
load
|
|
||||||
|
|
||||||
@ -1,155 +0,0 @@
|
|||||||
/dts-v1/;
|
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
|
||||||
#include <dt-bindings/input/input.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
model = "C-SKY gx6605s";
|
|
||||||
compatible = "csky,gx6605s";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
memory {
|
|
||||||
device_type = "memory";
|
|
||||||
reg = <0x10000000 0x04000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
soc {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
compatible = "simple-bus";
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
dummy_apb: apb-clock {
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <27000000>;
|
|
||||||
clock-output-names = "dummy_apb";
|
|
||||||
#clock-cells = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
intc: interrupt-controller@500000 {
|
|
||||||
compatible = "csky,gx6605s-intc";
|
|
||||||
reg = <0x00500000 0x400>;
|
|
||||||
interrupt-controller;
|
|
||||||
#interrupt-cells = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
timer@20a000 {
|
|
||||||
compatible = "csky,gx6605s-timer";
|
|
||||||
reg = <0x0020a000 0x400>;
|
|
||||||
clocks = <&dummy_apb>;
|
|
||||||
interrupts = <10>;
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ehci-hcd@900000 {
|
|
||||||
compatible = "generic-ehci";
|
|
||||||
reg = <0x00900000 0x400>;
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
interrupts = <59>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ohci-hcd0@a00000 {
|
|
||||||
compatible = "generic-ohci";
|
|
||||||
reg = <0x00a00000 0x400>;
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
interrupts = <58>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ohci-hcd1@b00000 {
|
|
||||||
compatible = "generic-ohci";
|
|
||||||
reg = <0x00b00000 0x400>;
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
interrupts = <57>;
|
|
||||||
};
|
|
||||||
|
|
||||||
serial@403000 {
|
|
||||||
compatible = "ns16550a";
|
|
||||||
reg = <0x00403000 0x400>;
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
interrupts = <15>;
|
|
||||||
clock-frequency = <29491200>;
|
|
||||||
baud = <115200>;
|
|
||||||
reg-shift = <2>;
|
|
||||||
reg-io-width = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio0: gpio@305000 {
|
|
||||||
compatible = "wd,mbl-gpio";
|
|
||||||
reg-names = "dirout", "dat", "set", "clr";
|
|
||||||
reg = <0x305000 4>, <0x305004 4>, <0x305008 4>, <0x30500c 4>;
|
|
||||||
bgpio-base = <0>;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
gpio-controller;
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio_buttons {
|
|
||||||
compatible = "gpio-keys-polled";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
poll-interval = <100>;
|
|
||||||
autorepeat;
|
|
||||||
|
|
||||||
button0 {
|
|
||||||
label = "button8";
|
|
||||||
linux,code = <KEY_LEFT>;
|
|
||||||
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button1 {
|
|
||||||
label = "button6";
|
|
||||||
linux,code = <KEY_RIGHT>;
|
|
||||||
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button2 {
|
|
||||||
label = "button5";
|
|
||||||
linux,code = <KEY_UP>;
|
|
||||||
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button3 {
|
|
||||||
label = "button9";
|
|
||||||
linux,code = <KEY_DOWN>;
|
|
||||||
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
button4 {
|
|
||||||
label = "button7";
|
|
||||||
linux,code = <KEY_ENTER>;
|
|
||||||
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio_leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
|
|
||||||
led0 {
|
|
||||||
label = "led10";
|
|
||||||
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,default-trigger = "heartbeat";
|
|
||||||
};
|
|
||||||
|
|
||||||
led1 {
|
|
||||||
label = "led11";
|
|
||||||
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,default-trigger = "timer";
|
|
||||||
};
|
|
||||||
|
|
||||||
led2 {
|
|
||||||
label = "led12";
|
|
||||||
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,default-trigger = "default-on";
|
|
||||||
};
|
|
||||||
|
|
||||||
led3 {
|
|
||||||
label = "led13";
|
|
||||||
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,default-trigger = "default-on";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
bootargs = "console=ttyS0,115200 init=/sbin/init root=/dev/sda2 rw rootwait";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@ -1,88 +0,0 @@
|
|||||||
C-SKY Development Kit
|
|
||||||
|
|
||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
C-SKY is a CPU Architecture from www.c-sky.com and has it own instruction set.
|
|
||||||
Just like arm and mips in linux/arch, it named as 'csky'.
|
|
||||||
|
|
||||||
gx6605s develop board is made by Hangzhou Nationalchip and C-SKY.
|
|
||||||
|
|
||||||
Hardware Spec:
|
|
||||||
* CPU: ck610 up to 594Mhz
|
|
||||||
* Integrate with 64MB ddr2 in SOC.
|
|
||||||
* Integrate with hardware Jtag.
|
|
||||||
* Integrate with usb-to-serial chip.
|
|
||||||
* USB ehci controller in SOC.
|
|
||||||
* Power Supply: DC 5V from two micro-usb.
|
|
||||||
|
|
||||||
How to build it
|
|
||||||
===============
|
|
||||||
|
|
||||||
Configure Buildroot
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
The csky_gx6605s_defconfig configuration is a sample configuration with
|
|
||||||
all that is required to bring the gx6605s Development Board:
|
|
||||||
|
|
||||||
$ make csky_gx6605s_defconfig
|
|
||||||
|
|
||||||
Build everything
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Note: you will need to have access to the network, since Buildroot will
|
|
||||||
download the packages' sources.
|
|
||||||
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Result of the build
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
After building, you should obtain this tree:
|
|
||||||
|
|
||||||
output/images/
|
|
||||||
+-- vmlinux
|
|
||||||
+-- rootfs.ext2
|
|
||||||
+-- <board name>.dtb
|
|
||||||
|
|
||||||
How to run it
|
|
||||||
=============
|
|
||||||
|
|
||||||
Prepare Jtag-Server
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
Download the Jtag-Server here:
|
|
||||||
|
|
||||||
https://github.com/c-sky/tools/raw/master/DebugServerConsole-linux-x86_64-V4.2.00-20161213.tar.gz
|
|
||||||
|
|
||||||
Go to the unpacked directory:
|
|
||||||
|
|
||||||
$./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
|
||||||
|
|
||||||
Perhaps you need to use "sudo", which need libusb to detect c510:b210
|
|
||||||
|
|
||||||
$ sudo ./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
|
||||||
|
|
||||||
Prepare USB drive
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
You sould determine which device associated to the usb drive
|
|
||||||
carefully. eg:
|
|
||||||
|
|
||||||
$ cat /proc/partitions
|
|
||||||
8 48 1971712 sdd
|
|
||||||
8 49 976720 sdd1
|
|
||||||
|
|
||||||
$ sudo dd if=rootfs.ext2 of=/dev/sdd1
|
|
||||||
$ sudo sync
|
|
||||||
|
|
||||||
Run
|
|
||||||
---
|
|
||||||
|
|
||||||
Plug the usb drive on gx6605s dev board.
|
|
||||||
|
|
||||||
Setup the Console with the rate 115200/8-N-1.
|
|
||||||
|
|
||||||
$ cd output/images
|
|
||||||
$ ../host/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux
|
|
||||||
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
# Minimal SD card image for the Cubieboard2
|
|
||||||
# Based in the Orange Pi genimage.cfg
|
|
||||||
|
|
||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"zImage",
|
|
||||||
"sun7i-a20-cubieboard2.dtb",
|
|
||||||
"boot.scr"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 10M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-sunxi-with-spl.bin"
|
|
||||||
offset = 8192
|
|
||||||
size = 1040384 # 1MB - 8192
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
size = 512M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1 +0,0 @@
|
|||||||
mnt/system/
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
${CVI_SHOPTS}
|
|
||||||
#
|
|
||||||
# Start firmware
|
|
||||||
#
|
|
||||||
export USERDATAPATH=/mnt/data/
|
|
||||||
export SYSTEMPATH=/mnt/system/
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
echo "init mpp system..."
|
|
||||||
if [ -d $SYSTEMPATH/ko ]; then
|
|
||||||
sh $SYSTEMPATH/ko/loadsystemko.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Starting app..."
|
|
||||||
if [ -f $USERDATAPATH/auto.sh ]; then
|
|
||||||
usleep 30000
|
|
||||||
. $USERDATAPATH/auto.sh &
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -f $SYSTEMPATH/auto.sh ]; then
|
|
||||||
usleep 30000
|
|
||||||
. $SYSTEMPATH/auto.sh &
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
;;
|
|
||||||
restart|reload)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop|restart}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
# /etc/inittab
|
|
||||||
#
|
|
||||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Note: BusyBox init doesn't support runlevels. The runlevels field is
|
|
||||||
# completely ignored by BusyBox init. If you want runlevels, use
|
|
||||||
# sysvinit.
|
|
||||||
#
|
|
||||||
# Format for each entry: <id>:<runlevels>:<action>:<process>
|
|
||||||
#
|
|
||||||
# id == tty to run on, or empty for /dev/console
|
|
||||||
# runlevels == ignored
|
|
||||||
# action == one of sysinit, respawn, askfirst, wait, and once
|
|
||||||
# process == program to run
|
|
||||||
|
|
||||||
# Startup the system
|
|
||||||
::sysinit:/bin/mount -t proc proc /proc
|
|
||||||
::sysinit:/bin/mount -o remount,rw /
|
|
||||||
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
|
|
||||||
::sysinit:/bin/mount -a
|
|
||||||
::sysinit:/sbin/swapon -a
|
|
||||||
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
|
|
||||||
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
|
||||||
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
|
||||||
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
|
||||||
::sysinit:/bin/hostname -F /etc/hostname
|
|
||||||
# now run any rc scripts
|
|
||||||
::sysinit:/etc/init.d/rcS
|
|
||||||
|
|
||||||
# Put a getty on the serial port
|
|
||||||
# console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
|
|
||||||
console::respawn:/sbin/getty -L console 115200 vt100 -n -l /usr/local/bin/autologin
|
|
||||||
|
|
||||||
# Stuff to do for the 3-finger salute
|
|
||||||
#::ctrlaltdel:/sbin/reboot
|
|
||||||
|
|
||||||
# Stuff to do before rebooting
|
|
||||||
::shutdown:/etc/init.d/rcK
|
|
||||||
::shutdown:/sbin/swapoff -a
|
|
||||||
::shutdown:/bin/umount -a -r
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
|
||||||
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin:/mnt/data/bin:/mnt/data/sbin"
|
|
||||||
|
|
||||||
if [ "$PS1" ]; then
|
|
||||||
if [ "`id -u`" -eq 0 ]; then
|
|
||||||
export PS1='# '
|
|
||||||
else
|
|
||||||
export PS1='$ '
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
export PAGER='/bin/more '
|
|
||||||
export EDITOR='/bin/vi'
|
|
||||||
|
|
||||||
# Source configuration files from /etc/profile.d
|
|
||||||
for i in /etc/profile.d/*.sh ; do
|
|
||||||
if [ -r "$i" ]; then
|
|
||||||
. $i
|
|
||||||
fi
|
|
||||||
unset i
|
|
||||||
done
|
|
||||||
|
|
||||||
export HOSTNAME="$(hostname)"
|
|
||||||
export OLDPWD=/root
|
|
||||||
|
|
||||||
if [ '$USER' == 'root' ]; then
|
|
||||||
export PS1='[\u@\h]\w\# '
|
|
||||||
else
|
|
||||||
export PS1='[\u@\h]\w\$ '
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias ll='ls -alF'
|
|
||||||
alias la='ls -A'
|
|
||||||
alias l='ls -CF'
|
|
||||||
|
|
||||||
export TERM=vt100
|
|
||||||
export TERMINFO=/usr/share/terminfo
|
|
||||||
@ -1,292 +0,0 @@
|
|||||||
CLASS=acm
|
|
||||||
VID=0x3346
|
|
||||||
PID=0x1003
|
|
||||||
MSC_PID=0x1008
|
|
||||||
RNDIS_PID=0x1009
|
|
||||||
UVC_PID=0x100A
|
|
||||||
UAC_PID=0x100B
|
|
||||||
ADB_VID=0x18D1
|
|
||||||
ADB_PID=0x4EE0
|
|
||||||
ADB_PID_M1=0x4EE2
|
|
||||||
ADB_PID_M2=0x4EE4
|
|
||||||
MANUFACTURER="Cvitek"
|
|
||||||
PRODUCT="USB Com Port"
|
|
||||||
PRODUCT_RNDIS="RNDIS"
|
|
||||||
PRODUCT_UVC="UVC"
|
|
||||||
PRODUCT_UAC="UAC"
|
|
||||||
PRODUCT_ADB="ADB"
|
|
||||||
ADBD_PATH=/usr/bin/
|
|
||||||
SERIAL="0123456789"
|
|
||||||
MSC_FILE=$3
|
|
||||||
CVI_DIR=/tmp/usb
|
|
||||||
CVI_GADGET=$CVI_DIR/usb_gadget/cvitek
|
|
||||||
CVI_FUNC=$CVI_GADGET/functions
|
|
||||||
FUNC_NUM=0
|
|
||||||
MAX_EP_NUM=4
|
|
||||||
TMP_NUM=0
|
|
||||||
INTF_NUM=0
|
|
||||||
EP_IN=0
|
|
||||||
EP_OUT=0
|
|
||||||
|
|
||||||
case "$2" in
|
|
||||||
acm)
|
|
||||||
CLASS=acm
|
|
||||||
;;
|
|
||||||
msc)
|
|
||||||
CLASS=mass_storage
|
|
||||||
PID=$MSC_PID
|
|
||||||
;;
|
|
||||||
cvg)
|
|
||||||
CLASS=cvg
|
|
||||||
;;
|
|
||||||
rndis)
|
|
||||||
CLASS=rndis
|
|
||||||
PID=$RNDIS_PID
|
|
||||||
PRODUCT=$PRODUCT_RNDIS
|
|
||||||
;;
|
|
||||||
uvc)
|
|
||||||
CLASS=uvc
|
|
||||||
PID=$UVC_PID
|
|
||||||
PRODUCT=$PRODUCT_UVC
|
|
||||||
;;
|
|
||||||
uac1)
|
|
||||||
CLASS=uac1
|
|
||||||
PID=$UAC_PID
|
|
||||||
PRODUCT=$PRODUCT_UAC
|
|
||||||
;;
|
|
||||||
adb)
|
|
||||||
CLASS=ffs.adb
|
|
||||||
VID=$ADB_VID
|
|
||||||
PID=$ADB_PID
|
|
||||||
PRODUCT=$PRODUCT_ADB
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ "$1" = "probe" ] ; then
|
|
||||||
echo "Usage: $0 probe {acm|msc|cvg|rndis|uvc|uac1|adb}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
esac
|
|
||||||
|
|
||||||
calc_func() {
|
|
||||||
FUNC_NUM=$(ls $CVI_GADGET/functions -l | grep ^d | wc -l)
|
|
||||||
echo "$FUNC_NUM file(s)"
|
|
||||||
}
|
|
||||||
|
|
||||||
res_check() {
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "acm*" | wc -l)
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
TMP_NUM=$(($TMP_NUM * 2))
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "mass_storage*" | wc -l)
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "cvg*" | wc -l)
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l)
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
TMP_NUM=$(($TMP_NUM * 2))
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uvc*" | wc -l)
|
|
||||||
TMP_NUM=$(($TMP_NUM * 2))
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uac1*" | wc -l)
|
|
||||||
TMP_NUM=$(($TMP_NUM * 2))
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name ffs.adb | wc -l)
|
|
||||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
|
||||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
|
||||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
|
||||||
|
|
||||||
if [ "$CLASS" = "acm" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+2))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "mass_storage" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+1))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "cvg" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+1))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "rndis" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+2))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "uvc" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+2))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "uac1" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+1))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
|
||||||
EP_IN=$(($EP_IN+1))
|
|
||||||
EP_OUT=$(($EP_OUT+1))
|
|
||||||
fi
|
|
||||||
echo "$EP_IN in ep"
|
|
||||||
echo "$EP_OUT out ep"
|
|
||||||
if [ $EP_IN -gt $MAX_EP_NUM ]; then
|
|
||||||
echo "reach maximum resource"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ $EP_OUT -gt $MAX_EP_NUM ]; then
|
|
||||||
echo "reach maximum resource"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
probe() {
|
|
||||||
if [ ! -d $CVI_DIR ]; then
|
|
||||||
mkdir $CVI_DIR
|
|
||||||
fi
|
|
||||||
if [ ! -d $CVI_DIR/usb_gadget ]; then
|
|
||||||
# Enale USB ConfigFS
|
|
||||||
mount none $CVI_DIR -t configfs
|
|
||||||
# Create gadget dev
|
|
||||||
mkdir $CVI_GADGET
|
|
||||||
# Set the VID and PID
|
|
||||||
echo $VID >$CVI_GADGET/idVendor
|
|
||||||
echo $PID >$CVI_GADGET/idProduct
|
|
||||||
# Set the product information string
|
|
||||||
mkdir $CVI_GADGET/strings/0x409
|
|
||||||
echo $MANUFACTURER>$CVI_GADGET/strings/0x409/manufacturer
|
|
||||||
echo $PRODUCT>$CVI_GADGET/strings/0x409/product
|
|
||||||
echo $SERIAL>$CVI_GADGET/strings/0x409/serialnumber
|
|
||||||
# Set the USB configuration
|
|
||||||
mkdir $CVI_GADGET/configs/c.1
|
|
||||||
mkdir $CVI_GADGET/configs/c.1/strings/0x409
|
|
||||||
echo "config1">$CVI_GADGET/configs/c.1/strings/0x409/configuration
|
|
||||||
# Set the MaxPower of USB descriptor
|
|
||||||
echo 120 >$CVI_GADGET/configs/c.1/MaxPower
|
|
||||||
fi
|
|
||||||
# get current functions number
|
|
||||||
calc_func
|
|
||||||
# assign the class code for composite device
|
|
||||||
if [ ! $FUNC_NUM -eq 0 ]; then
|
|
||||||
echo 0xEF >$CVI_GADGET/bDeviceClass
|
|
||||||
echo 0x02 >$CVI_GADGET/bDeviceSubClass
|
|
||||||
echo 0x01 >$CVI_GADGET/bDeviceProtocol
|
|
||||||
fi
|
|
||||||
# resource check
|
|
||||||
res_check
|
|
||||||
# create the desired function
|
|
||||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
|
||||||
# adb shall be the last function to probe. Override the pid/vid
|
|
||||||
echo $VID >$CVI_GADGET/idVendor
|
|
||||||
echo $PID >$CVI_GADGET/idProduct
|
|
||||||
# choose pid for different function number
|
|
||||||
if [ $INTF_NUM -eq 1 ]; then
|
|
||||||
echo $ADB_PID_M1 >$CVI_GADGET/idProduct
|
|
||||||
fi
|
|
||||||
if [ $INTF_NUM -eq 2 ]; then
|
|
||||||
echo $ADB_PID_M2 >$CVI_GADGET/idProduct
|
|
||||||
fi
|
|
||||||
mkdir $CVI_GADGET/functions/$CLASS
|
|
||||||
else
|
|
||||||
mkdir $CVI_GADGET/functions/$CLASS.usb$FUNC_NUM
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "mass_storage" ] ; then
|
|
||||||
echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file
|
|
||||||
fi
|
|
||||||
if [ "$CLASS" = "rndis" ] ; then
|
|
||||||
#OS STRING
|
|
||||||
echo 1 >$CVI_GADGET/os_desc/use
|
|
||||||
echo 0xcd >$CVI_GADGET/os_desc/b_vendor_code
|
|
||||||
echo MSFT100 >$CVI_GADGET/os_desc/qw_sign
|
|
||||||
#COMPATIBLE ID
|
|
||||||
echo RNDIS >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/compatible_id
|
|
||||||
#MAKE c.1 THE ONE ASSOCIATED WITH OS DESCRIPTORS
|
|
||||||
ln -s $CVI_GADGET/configs/c.1 $CVI_GADGET/os_desc
|
|
||||||
#MAKE "Icons" EXTENDED PROPERTY
|
|
||||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons
|
|
||||||
echo 2 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/type
|
|
||||||
echo "%SystemRoot%\\system32\\shell32.dll,-233" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/data
|
|
||||||
#MAKE "Label" EXTENDED PROPERTY
|
|
||||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label
|
|
||||||
echo 1 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/type
|
|
||||||
echo "XYZ Device" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/data
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
# link this function to the configuration
|
|
||||||
calc_func
|
|
||||||
if [ $FUNC_NUM -eq 0 ]; then
|
|
||||||
echo "Functions Empty!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
|
||||||
FUNC_NUM=$(($FUNC_NUM-1))
|
|
||||||
fi
|
|
||||||
for i in `seq 0 $(($FUNC_NUM-1))`;
|
|
||||||
do
|
|
||||||
find $CVI_GADGET/functions/ -name "*.usb$i" | xargs -I % ln -s % $CVI_GADGET/configs/c.1
|
|
||||||
done
|
|
||||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
|
||||||
ln -s $CVI_GADGET/functions/ffs.adb $CVI_GADGET/configs/c.1
|
|
||||||
mkdir /dev/usb-ffs/adb -p
|
|
||||||
mount -t functionfs adb /dev/usb-ffs/adb
|
|
||||||
if [ -f $ADBD_PATH/adbd ]; then
|
|
||||||
$ADBD_PATH/adbd &
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Start the gadget driver
|
|
||||||
UDC=`ls /sys/class/udc/ | awk '{print $1}'`
|
|
||||||
echo ${UDC} >$CVI_GADGET/UDC
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
if [ -d $CVI_GADGET/configs/c.1/ffs.adb ]; then
|
|
||||||
pkill adbd
|
|
||||||
rm $CVI_GADGET/configs/c.1/ffs.adb
|
|
||||||
else
|
|
||||||
echo "" >$CVI_GADGET/UDC
|
|
||||||
fi
|
|
||||||
find $CVI_GADGET/configs/ -name "*.usb*" | xargs rm -f
|
|
||||||
rmdir $CVI_GADGET/configs/c.*/strings/0x409/
|
|
||||||
tmp_dirs=$(find $CVI_GADGET/os_desc/c.* -type d)
|
|
||||||
if [ -n tmp_dirs ]; then
|
|
||||||
echo "remove os_desc!"
|
|
||||||
rm -rf $CVI_GADGET/os_desc/c.*/
|
|
||||||
find $CVI_GADGET/functions/ -name Icons | xargs rmdir
|
|
||||||
find $CVI_GADGET/functions/ -name Label | xargs rmdir
|
|
||||||
fi
|
|
||||||
rmdir $CVI_GADGET/configs/c.*/
|
|
||||||
rmdir $CVI_GADGET/functions/*
|
|
||||||
rmdir $CVI_GADGET/strings/0x409/
|
|
||||||
rmdir $CVI_GADGET
|
|
||||||
umount $CVI_DIR
|
|
||||||
rmdir $CVI_DIR
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
probe)
|
|
||||||
probe
|
|
||||||
;;
|
|
||||||
UDC)
|
|
||||||
ls /sys/class/udc/ >$CVI_GADGET/UDC
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 probe {acm|msc|cvg|uvc|uac1} {file (msc)}"
|
|
||||||
echo "Usage: $0 start"
|
|
||||||
echo "Usage: $0 stop"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
exit $?
|
|
||||||
@ -1,83 +0,0 @@
|
|||||||
GPIO_HUBPORT_EN=449
|
|
||||||
GPIO_ROLESEL=450
|
|
||||||
GPIO_HUBRST=451
|
|
||||||
SYS_GPIO=/sys/class/gpio
|
|
||||||
|
|
||||||
hub_on() {
|
|
||||||
echo "turn on usb hub"
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
|
||||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
|
||||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
|
||||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
|
||||||
|
|
||||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
|
||||||
echo 0 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
|
||||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
|
||||||
}
|
|
||||||
|
|
||||||
hub_off() {
|
|
||||||
echo "turn off usb hub"
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
|
||||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
|
||||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
|
||||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
|
||||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
|
||||||
|
|
||||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
|
||||||
echo 1 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
|
||||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
|
||||||
}
|
|
||||||
|
|
||||||
inst_mod() {
|
|
||||||
insmod /mnt/system/ko/configfs.ko
|
|
||||||
insmod /mnt/system/ko/libcomposite.ko
|
|
||||||
insmod /mnt/system/ko/u_serial.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_acm.ko
|
|
||||||
insmod /mnt/system/ko/cvi_usb_f_cvg.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_uvc.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_fs.ko
|
|
||||||
insmod /mnt/system/ko/u_audio.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_uac1.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_serial.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_mass_storage.ko
|
|
||||||
insmod /mnt/system/ko/u_ether.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_ecm.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_eem.ko
|
|
||||||
insmod /mnt/system/ko/usb_f_rndis.ko
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
host)
|
|
||||||
insmod /mnt/system/ko/dwc2.ko
|
|
||||||
echo host > /proc/cviusb/otg_role
|
|
||||||
;;
|
|
||||||
device)
|
|
||||||
echo device > /proc/cviusb/otg_role
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 host"
|
|
||||||
echo "Usage: $0 device"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
exit $?
|
|
||||||
@ -1 +0,0 @@
|
|||||||
../usr/lib64v0p7_xthead/lp64d/libc.so
|
|
||||||
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
exec /bin/login -f root
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot.imx"
|
|
||||||
offset = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
offset = 1M
|
|
||||||
size = 60M
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"uImage",
|
|
||||||
"imx6ul-geam-kit.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition SPL {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "SPL"
|
|
||||||
offset = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot-dtb {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-dtb.img"
|
|
||||||
offset = 69K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"uImage",
|
|
||||||
"imx6dl-icore.dtb",
|
|
||||||
"imx6q-icore.dtb",
|
|
||||||
"imx6q-icore-ofcap10.dtb",
|
|
||||||
"imx6q-icore-ofcap12.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition SPL {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "SPL"
|
|
||||||
offset = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot-dtb {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-dtb.img"
|
|
||||||
offset = 69K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"uImage",
|
|
||||||
"imx6dl-icore-rqs.dtb",
|
|
||||||
"imx6q-icore-rqs.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition SPL {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "SPL"
|
|
||||||
offset = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot-dtb {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-dtb.img"
|
|
||||||
offset = 69K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"uImage",
|
|
||||||
"imx6ul-isiot-emmc.dtb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
hdimage {
|
|
||||||
}
|
|
||||||
|
|
||||||
partition SPL {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "SPL"
|
|
||||||
offset = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
partition u-boot-dtb {
|
|
||||||
in-partition-table = "no"
|
|
||||||
image = "u-boot-dtb.img"
|
|
||||||
offset = 69K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
UBOOT_DTB=$2
|
|
||||||
if [ ! -e "$UBOOT_DTB" ]; then
|
|
||||||
echo "ERROR: couldn't find dtb: $UBOOT_DTB"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
|
||||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
|
||||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
|
||||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
|
||||||
rm -f ${BINARIES_DIR}/u-boot.its
|
|
||||||
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
|
||||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
|
||||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
|
||||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
|
||||||
rm -f ${BINARIES_DIR}/u-boot.its
|
|
||||||
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
|
|
||||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
|
||||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
|
||||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
|
||||||
rm -f ${BINARIES_DIR}/u-boot.its
|
|
||||||
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then
|
|
||||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
|
||||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
|
||||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
|
||||||
rm -f ${BINARIES_DIR}/u-boot.its
|
|
||||||
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
else
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -commit > ${BINARIES_DIR}/mkimg.commit
|
|
||||||
cat ${BINARIES_DIR}/u-boot.bin ${BINARIES_DIR}/mkimg.commit > ${BINARIES_DIR}/u-boot-hash.bin
|
|
||||||
cp ${BINARIES_DIR}/bl31.bin ${BINARIES_DIR}/u-boot-atf.bin
|
|
||||||
dd if=${BINARIES_DIR}/u-boot-hash.bin of=${BINARIES_DIR}/u-boot-atf.bin bs=1K seek=128
|
|
||||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -soc QM -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qm-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a53 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
else
|
|
||||||
${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
main $@
|
|
||||||
@ -1,109 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
|
|
||||||
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
|
|
||||||
# genimage configuration file
|
|
||||||
#
|
|
||||||
dtb_list()
|
|
||||||
{
|
|
||||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
|
||||||
|
|
||||||
for dt in $DTB_LIST; do
|
|
||||||
echo -n "\"`basename $dt`.dtb\", "
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
|
|
||||||
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
|
|
||||||
# configuration file
|
|
||||||
#
|
|
||||||
linux_image()
|
|
||||||
{
|
|
||||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "\"uImage\""
|
|
||||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "\"Image\""
|
|
||||||
else
|
|
||||||
echo "\"zImage\""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
genimage_type()
|
|
||||||
{
|
|
||||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_imx8"
|
|
||||||
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then
|
|
||||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_no_boot_part_spl"
|
|
||||||
fi
|
|
||||||
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "genimage.cfg.template_spl"
|
|
||||||
else
|
|
||||||
echo "genimage.cfg.template"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
imx_offset()
|
|
||||||
{
|
|
||||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "33K"
|
|
||||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "33K"
|
|
||||||
else
|
|
||||||
echo "32K"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
uboot_image()
|
|
||||||
{
|
|
||||||
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "u-boot-dtb.imx"
|
|
||||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "u-boot.imx"
|
|
||||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "u-boot-dtb.img"
|
|
||||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" ${BR2_CONFIG}; then
|
|
||||||
echo "u-boot.img"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
local FILES="$(dtb_list) $(linux_image)"
|
|
||||||
local IMXOFFSET="$(imx_offset)"
|
|
||||||
local UBOOTBIN="$(uboot_image)"
|
|
||||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
|
||||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
|
||||||
|
|
||||||
sed -e "s/%FILES%/${FILES}/" \
|
|
||||||
-e "s/%IMXOFFSET%/${IMXOFFSET}/" \
|
|
||||||
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
|
|
||||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
|
||||||
|
|
||||||
rm -rf "${GENIMAGE_TMP}"
|
|
||||||
|
|
||||||
genimage \
|
|
||||||
--rootpath "${TARGET_DIR}" \
|
|
||||||
--tmppath "${GENIMAGE_TMP}" \
|
|
||||||
--inputpath "${BINARIES_DIR}" \
|
|
||||||
--outputpath "${BINARIES_DIR}" \
|
|
||||||
--config "${GENIMAGE_CFG}"
|
|
||||||
|
|
||||||
rm -f ${GENIMAGE_CFG}
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
main $@
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
**************************
|
|
||||||
Freescale i.MX28 EVK board
|
|
||||||
**************************
|
|
||||||
|
|
||||||
This file documents the Buildroot support for the Freescale i.MX28 EVK board.
|
|
||||||
|
|
||||||
Read the i.MX28 Evaluation Kit Quick Start Guide [1] for an introduction to the
|
|
||||||
board.
|
|
||||||
|
|
||||||
Build
|
|
||||||
=====
|
|
||||||
|
|
||||||
First, configure Buildroot for your i.MX28 EVK board:
|
|
||||||
|
|
||||||
make freescale_imx28evk_defconfig
|
|
||||||
|
|
||||||
Build all components:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
You will find in ./output/images/ the following files:
|
|
||||||
- imx28-evk.dtb
|
|
||||||
- rootfs.tar
|
|
||||||
- u-boot.sd
|
|
||||||
- zImage
|
|
||||||
|
|
||||||
Create a bootable SD card
|
|
||||||
=========================
|
|
||||||
|
|
||||||
To determine the device associated to the SD card have a look in the
|
|
||||||
/proc/partitions file:
|
|
||||||
|
|
||||||
cat /proc/partitions
|
|
||||||
|
|
||||||
Then, run the following command as root:
|
|
||||||
|
|
||||||
*** WARNING! The command will destroy all the card content. Use with care! ***
|
|
||||||
|
|
||||||
sudo dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
|
|
||||||
|
|
||||||
Boot the i.MX28 EVK board
|
|
||||||
=========================
|
|
||||||
|
|
||||||
To boot your newly created system (refer to the i.MX28 EVK Quick Start Guide
|
|
||||||
[1] for guidance):
|
|
||||||
- insert the SD card in the SD Card Socket 0 of the board;
|
|
||||||
- verify that your i.MX28 EVK board jumpers and switches are set as mentioned
|
|
||||||
in the i.MX28 EVK Quick Start Guide [1];
|
|
||||||
- connect an RS232 UART cable to the Debug UART Port and connect using a
|
|
||||||
terminal emulator at 115200 bps, 8n1;
|
|
||||||
- power on the board.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
[1] http://cache.freescale.com/files/32bit/doc/user_guide/EVK_imx28_QuickStart.pdf
|
|
||||||
@ -1,171 +0,0 @@
|
|||||||
********************************************************
|
|
||||||
Freescale i.MX6 Q, DL and SoloX SABRE development boards
|
|
||||||
********************************************************
|
|
||||||
|
|
||||||
This file documents the Buildroot support for the Freescale SABRE Board
|
|
||||||
for Smart Devices Based on the i.MX 6 and i.MX 6SoloX Series (SABRESD),
|
|
||||||
as well as the Freescale SABRE Board for Automotive Infotainment.
|
|
||||||
|
|
||||||
Read the i.MX 6 SABRESD Quick Start Guide for an introduction to the
|
|
||||||
board:
|
|
||||||
http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf
|
|
||||||
|
|
||||||
Read the i.MX 6 SoloX SABRESD Quick Start Guide for an introduction to
|
|
||||||
the board:
|
|
||||||
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SOLOXQSG.pdf
|
|
||||||
|
|
||||||
Read the SABRE for Automotive Infotainment Quick Start Guide for an
|
|
||||||
introduction to the board:
|
|
||||||
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf
|
|
||||||
|
|
||||||
Building with NXP kernel and NXP U-Boot
|
|
||||||
=======================================
|
|
||||||
|
|
||||||
First, configure Buildroot for your SABRE board.
|
|
||||||
For i.MX6Q SABRE SD board:
|
|
||||||
|
|
||||||
make freescale_imx6qsabresd_defconfig
|
|
||||||
|
|
||||||
For i.MX6DL SABRE SD board:
|
|
||||||
|
|
||||||
make freescale_imx6dlsabresd_defconfig
|
|
||||||
|
|
||||||
For i.MX6 SoloX SABRE SD board:
|
|
||||||
|
|
||||||
make freescale_imx6sxsabresd_defconfig
|
|
||||||
|
|
||||||
For i.MX6Q SABRE Auto board:
|
|
||||||
|
|
||||||
make freescale_imx6qsabreauto_defconfig
|
|
||||||
|
|
||||||
For i.MX6DL SABRE Auto board:
|
|
||||||
|
|
||||||
make freescale_imx6dlsabreauto_defconfig
|
|
||||||
|
|
||||||
Build all components:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
You will find in ./output/images/ the following files:
|
|
||||||
- imx6dl-sabresd.dtb or imx6q-sabresd.dtb or imx6sx-sdb.dtb or
|
|
||||||
imx6q-sabreauto.dtb or imx6dl-sabreauto.dtb
|
|
||||||
- rootfs.ext2
|
|
||||||
- rootfs.tar
|
|
||||||
- u-boot.imx
|
|
||||||
- uImage, or zImage for i.MX6 SoloX
|
|
||||||
|
|
||||||
Building with mainline kernel and mainline U-Boot
|
|
||||||
=================================================
|
|
||||||
|
|
||||||
Mainline U-Boot uses SPL and can support the three
|
|
||||||
variants of mx6sabreauto boards: mx6q, mx6dl and mx6qp.
|
|
||||||
|
|
||||||
First, configure Buildroot for your mx6sabreauto board
|
|
||||||
|
|
||||||
make imx6-sabreauto_defconfig
|
|
||||||
|
|
||||||
Build all components:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
You will find in output/images/ the following files:
|
|
||||||
- imx6dl-sabresd.dtb, imx6q-sabresd.dtb, imx6q-sabresd.dtb
|
|
||||||
- rootfs.ext2
|
|
||||||
- SPL and u-boot.img
|
|
||||||
- u-boot.imx
|
|
||||||
- zImage
|
|
||||||
|
|
||||||
Create a bootable SD card
|
|
||||||
=========================
|
|
||||||
|
|
||||||
To determine the device associated to the SD card have a look in the
|
|
||||||
/proc/partitions file:
|
|
||||||
|
|
||||||
cat /proc/partitions
|
|
||||||
|
|
||||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
|
||||||
directory, ready to be dumped on a microSD card. Launch the following
|
|
||||||
command as root:
|
|
||||||
|
|
||||||
dd if=./output/images/sdcard.img of=/dev/<your-microsd-device>
|
|
||||||
|
|
||||||
*** WARNING! The script will destroy all the card content. Use with care! ***
|
|
||||||
|
|
||||||
For details about the medium image layout, see the definition in
|
|
||||||
board/freescale/common/imx/genimage.cfg.template.
|
|
||||||
|
|
||||||
Boot the SABRE board
|
|
||||||
====================
|
|
||||||
|
|
||||||
i.MX6 SABRE SD
|
|
||||||
--------------
|
|
||||||
|
|
||||||
To boot your newly created system on an i.MX6 SABRE SD Board (refer to
|
|
||||||
the i.MX6 SABRE SD Quick Start Guide for guidance):
|
|
||||||
- insert the SD card in the SD3 slot of the board;
|
|
||||||
- locate the BOOT dip switches (SW6), set dips 2 and 7 to ON, all others to OFF;
|
|
||||||
- connect a Micro USB cable to Debug Port and connect using a terminal emulator
|
|
||||||
at 115200 bps, 8n1;
|
|
||||||
- power on the board.
|
|
||||||
|
|
||||||
i.MX6 SoloX SABRE SD
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
To boot your newly created system on an i.MX6 SoloX SABRE SD Board
|
|
||||||
(refer to the i.MX6 SoloX SABRE SD Quick Start Guide for guidance):
|
|
||||||
- insert the SD card in the J4-SD4 socket at the bottom of the board;
|
|
||||||
- Set the SW10, SW11 and SW12 DIP switches at the top of the board in
|
|
||||||
their default position, to boot from SD card. Reference configuration:
|
|
||||||
|
|
||||||
SW10
|
|
||||||
1 2 3 4 5 6 7 8
|
|
||||||
off off off off off off off off
|
|
||||||
|
|
||||||
SW11
|
|
||||||
1 2 3 4 5 6 7 8
|
|
||||||
off off ON ON ON off off off
|
|
||||||
|
|
||||||
SW12
|
|
||||||
1 2 3 4 5 6 7 8
|
|
||||||
off ON off off off off off off
|
|
||||||
|
|
||||||
- connect a Micro USB cable to the J16 Debug Port at the bottom of the
|
|
||||||
board. This is a dual UART debug port; connect to the first tty using
|
|
||||||
a terminal emulator at 115200 bps, 8n1;
|
|
||||||
- power on the board with the SW1-PWR switch at the top of the board.
|
|
||||||
|
|
||||||
SABRE Auto
|
|
||||||
----------
|
|
||||||
|
|
||||||
To boot your newly created system on a SABRE Auto Board (refer to the SABRE for
|
|
||||||
Automotive Infotainment Quick Start Guide for guidance):
|
|
||||||
- insert the SD card in the CPU card SD card socket J14;
|
|
||||||
- Set the S1, S2 and S3 DIP switches and J3 jumper to boot from SD on CPU card.
|
|
||||||
Reference configuration:
|
|
||||||
|
|
||||||
S1
|
|
||||||
1 2 3 4 5 6 7 8 9 10
|
|
||||||
off ON off off ON off off off off off
|
|
||||||
|
|
||||||
S2
|
|
||||||
1 2 3 4
|
|
||||||
off off ON off
|
|
||||||
|
|
||||||
S3
|
|
||||||
1 2 3 4
|
|
||||||
off off ON ON
|
|
||||||
|
|
||||||
J3: 1-2
|
|
||||||
|
|
||||||
- connect an RS-232 UART cable to CPU card debug port J18 UART DB9 and
|
|
||||||
connect using a terminal emulator at 115200 bps, 8n1;
|
|
||||||
- power on the board.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
|
|
||||||
https://community.freescale.com/docs/DOC-95015
|
|
||||||
https://community.freescale.com/docs/DOC-95017
|
|
||||||
https://community.freescale.com/docs/DOC-99218
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
***************************
|
|
||||||
Freescale i.MX6UL EVK board
|
|
||||||
***************************
|
|
||||||
|
|
||||||
This file documents the Buildroot support for the Freescale i.MX6UL EVK board.
|
|
||||||
|
|
||||||
Please read the i.MX6UL Evaluation Kit Quick Start Guide [1] for an
|
|
||||||
introduction to the board.
|
|
||||||
|
|
||||||
Build
|
|
||||||
=====
|
|
||||||
|
|
||||||
First, configure Buildroot for your i.MX6UL EVK board:
|
|
||||||
|
|
||||||
In order to to do so there are two supported options:
|
|
||||||
|
|
||||||
make freescale_imx6ulevk_defconfig
|
|
||||||
|
|
||||||
if you plan to use NXP provided U-Boot and kernel.
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
make imx6ulevk_defconfig
|
|
||||||
|
|
||||||
if you plan to use mainline U-Boot and mainline kernel.
|
|
||||||
|
|
||||||
Build all components:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
You will find in ./output/images/ the following files:
|
|
||||||
- imx6ul-14x14-evk.dtb
|
|
||||||
- rootfs.ext4
|
|
||||||
- rootfs.tar
|
|
||||||
- sdcard.img
|
|
||||||
- u-boot.imx
|
|
||||||
- zImage
|
|
||||||
|
|
||||||
Create a bootable microSD card
|
|
||||||
==============================
|
|
||||||
|
|
||||||
To determine the device associated to the microSD card have a look in the
|
|
||||||
/proc/partitions file:
|
|
||||||
|
|
||||||
cat /proc/partitions
|
|
||||||
|
|
||||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
|
||||||
directory, ready to be dumped on a microSD card. Launch the following
|
|
||||||
command as root:
|
|
||||||
|
|
||||||
dd if=./output/images/sdcard.img of=/dev/<your-microsd-device>
|
|
||||||
|
|
||||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
|
||||||
|
|
||||||
For details about the medium image layout, see the definition in
|
|
||||||
board/freescale/common/imx/genimage.cfg.template.
|
|
||||||
|
|
||||||
Boot the i.MX6UL EVK board
|
|
||||||
=========================
|
|
||||||
|
|
||||||
To boot your newly created system (refer to the i.MX6UL EVK Quick Start Guide
|
|
||||||
[1] for guidance):
|
|
||||||
- insert the microSD card in the microSD slot of the board;
|
|
||||||
- verify that your i.MX6UL EVK board jumpers and switches are set as mentioned
|
|
||||||
in the i.MX6UL EVK Quick Start Guide [1];
|
|
||||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
|
||||||
emulator at 115200 bps, 8n1;
|
|
||||||
- power on the board.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf
|
|
||||||
@ -1,71 +0,0 @@
|
|||||||
****************************
|
|
||||||
Freescale i.MX6ULL EVK board
|
|
||||||
****************************
|
|
||||||
|
|
||||||
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board.
|
|
||||||
|
|
||||||
Build
|
|
||||||
=====
|
|
||||||
|
|
||||||
First, configure Buildroot for your i.MX6ULL EVK board:
|
|
||||||
|
|
||||||
In order to to do so there are two supported options:
|
|
||||||
|
|
||||||
make freescale_imx6ullevk_defconfig
|
|
||||||
|
|
||||||
if you plan to use NXP provided U-Boot and kernel.
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
make imx6ullevk_defconfig
|
|
||||||
|
|
||||||
if you plan to use mainline U-Boot and mainline kernel.
|
|
||||||
|
|
||||||
Build all components:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
You will find in output/images/ the following files:
|
|
||||||
- boot.vfat
|
|
||||||
- imx6ull-14x14-evk.dtb
|
|
||||||
- rootfs.ext2
|
|
||||||
- rootfs.ext4
|
|
||||||
- rootfs.tar
|
|
||||||
- sdcard.img
|
|
||||||
- u-boot.bin
|
|
||||||
- u-boot.imx
|
|
||||||
- zImage
|
|
||||||
|
|
||||||
Create a bootable SD card
|
|
||||||
=========================
|
|
||||||
|
|
||||||
To determine the device associated to the SD card have a look in the
|
|
||||||
/proc/partitions file:
|
|
||||||
|
|
||||||
cat /proc/partitions
|
|
||||||
|
|
||||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
|
||||||
directory, ready to be dumped on a SD card. Launch the following
|
|
||||||
command as root:
|
|
||||||
|
|
||||||
dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
|
|
||||||
|
|
||||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
|
||||||
|
|
||||||
For details about the medium image layout, see the definition in
|
|
||||||
board/freescale/common/imx/genimage.cfg.template.
|
|
||||||
|
|
||||||
Boot the i.MX6ULL EVK board
|
|
||||||
===========================
|
|
||||||
|
|
||||||
To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance):
|
|
||||||
- insert the SD card in the micro SD slot of the board;
|
|
||||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
|
||||||
emulator at 115200 bps, 8n1;
|
|
||||||
- power on the board.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
[1] https://www.nxp.com/files-static/32bit/doc/brochure/IMX6ULLQSG.pdf
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
label RK3399_NanoPC_T4 linux
|
|
||||||
kernel /Image
|
|
||||||
devicetree /rk3399-nanopc-t4.dtb
|
|
||||||
append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rootwait
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
image boot.vfat {
|
|
||||||
vfat {
|
|
||||||
files = {
|
|
||||||
"Image",
|
|
||||||
"rk3399-nanopc-t4.dtb",
|
|
||||||
"extlinux"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size = 64M
|
|
||||||
}
|
|
||||||
|
|
||||||
image sdcard.img {
|
|
||||||
|
|
||||||
hdimage {
|
|
||||||
gpt = true
|
|
||||||
}
|
|
||||||
|
|
||||||
partition loader1 {
|
|
||||||
image = "idbloader.img"
|
|
||||||
offset = 32K
|
|
||||||
}
|
|
||||||
|
|
||||||
partition loader2 {
|
|
||||||
image = "u-boot.itb"
|
|
||||||
offset = 8M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition boot {
|
|
||||||
partition-type = 0xC
|
|
||||||
bootable = "true"
|
|
||||||
image = "boot.vfat"
|
|
||||||
offset = 16M
|
|
||||||
}
|
|
||||||
|
|
||||||
partition rootfs {
|
|
||||||
partition-type = 0x83
|
|
||||||
image = "rootfs.ext4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
FriendlyARM NANOPC-T4
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Build:
|
|
||||||
|
|
||||||
$ make friendlyarm_nanopc_t4_defconfig
|
|
||||||
$ make
|
|
||||||
|
|
||||||
Files created in output directory
|
|
||||||
=================================
|
|
||||||
|
|
||||||
output/images
|
|
||||||
|
|
||||||
├── bl31.elf
|
|
||||||
├── boot.vfat
|
|
||||||
├── extlinux
|
|
||||||
├── idbloader.img
|
|
||||||
├── Image
|
|
||||||
├── rk3399-nanopc-t4.dtb
|
|
||||||
├── rootfs.ext2
|
|
||||||
├── rootfs.ext4 -> rootfs.ext2
|
|
||||||
├── rootfs.tar
|
|
||||||
├── sdcard.img
|
|
||||||
├── u-boot.bin
|
|
||||||
└── u-boot.itb
|
|
||||||
|
|
||||||
Creating bootable SD card:
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Simply invoke (as root)
|
|
||||||
|
|
||||||
sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
|
|
||||||
|
|
||||||
Where X is your SD card device
|
|
||||||
|
|
||||||
Serial console
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Baudrate for this board is 1500000
|
|
||||||
|
|
||||||
Login:
|
|
||||||
------
|
|
||||||
Apply power and press the PWR button for 3 sec. Enter 'root' as login user, and the prompt is ready.
|
|
||||||
|
|
||||||
https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/npc_t4.html
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
|
||||||
|
|
||||||
fatload mmc 0 $kernel_addr_r Image
|
|
||||||
fatload mmc 0 $fdt_addr_r sun50i-a64-nanopi-a64.dtb
|
|
||||||
|
|
||||||
booti $kernel_addr_r - $fdt_addr_r
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user