Compare commits
277 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a91b9c7400 | ||
|
|
b4b4522e63 | ||
|
|
046ba99e91 | ||
|
|
43f9594c87 | ||
|
|
9a8e123411 | ||
|
|
48c3ea6fd7 | ||
|
|
3c94589006 | ||
|
|
3382f699e7 | ||
|
|
f5b935ada7 | ||
|
|
4244da4fe4 | ||
|
|
2c61a66f21 | ||
|
|
142d1f38b4 | ||
|
|
a1e40988a1 | ||
|
|
fd70ba8992 | ||
|
|
8d39a532b5 | ||
|
|
f9e1b87fe1 | ||
|
|
2461b54aa8 | ||
|
|
938aa7413f | ||
|
|
97b722418c | ||
|
|
817b3b7562 | ||
|
|
bd5916988a | ||
|
|
1af9d61495 | ||
|
|
6b141aac09 | ||
|
|
2f6c9f8632 | ||
|
|
2d7514186b | ||
|
|
875a47470e | ||
|
|
e81be1b267 | ||
|
|
bd1d787637 | ||
|
|
18a325d3a4 | ||
|
|
0b32232cde | ||
|
|
312984bdbd | ||
|
|
2e056c4776 | ||
|
|
7b062accfb | ||
|
|
a480672ef0 | ||
|
|
1b02ba29ab | ||
|
|
5ab7b6f267 | ||
|
|
53b14b7cee | ||
|
|
4ed30dd7cb | ||
|
|
4c4c1f54b3 | ||
|
|
1e94d7913a | ||
|
|
1992d651b8 | ||
|
|
dbe772104c | ||
|
|
c5faf339e2 | ||
|
|
5383540383 | ||
|
|
05bf32e2aa | ||
|
|
b39aef82bc | ||
|
|
24df18a148 | ||
|
|
29eb209010 | ||
|
|
b9d4a86552 | ||
|
|
ab14d47d9a | ||
|
|
761eb4ad9e | ||
|
|
06046f9e96 | ||
|
|
3e6603ec12 | ||
|
|
5ab51299c1 | ||
|
|
a29fdc342a | ||
|
|
f92e435be3 | ||
|
|
c33d41c401 | ||
|
|
20f5ac1c7d | ||
|
|
d4202afc1a | ||
|
|
78e5db397e | ||
|
|
56ca98a3b1 | ||
|
|
53c2f9ec2f | ||
|
|
807f5ab115 | ||
|
|
00a9042f4d | ||
|
|
61e995dc57 | ||
|
|
db84c38c06 | ||
|
|
c7618236c1 | ||
|
|
9c2d88fd4e | ||
|
|
b85c174ab0 | ||
|
|
fc010c219e | ||
|
|
86c4680beb | ||
|
|
57094b4322 | ||
|
|
3d49303118 | ||
|
|
039978541e | ||
|
|
e64dc2d46a | ||
|
|
de77e894a6 | ||
|
|
8e8285236f | ||
|
|
cc54944e20 | ||
|
|
87cb2999c3 | ||
|
|
a8f70006e7 | ||
|
|
1ede9257cc | ||
|
|
63093d7db0 | ||
|
|
cc40eeb370 | ||
|
|
87803da53c | ||
|
|
b90349589c | ||
|
|
615ab9a6c1 | ||
|
|
b42f1ddcc7 | ||
|
|
ee3155d779 | ||
|
|
f3dae29d03 | ||
|
|
e0f78310ec | ||
|
|
04ca8a7e73 | ||
|
|
972e56bdaf | ||
|
|
70f8b08042 | ||
|
|
b5df684e07 | ||
|
|
8a66521a6c | ||
|
|
606d756629 | ||
|
|
eaac12e842 | ||
|
|
d797a2f2b3 | ||
|
|
9f7e74ca53 | ||
|
|
427efc1cd1 | ||
|
|
d034b179ea | ||
|
|
78ea2e4ccd | ||
|
|
8e241ea84f | ||
|
|
c13d79854d | ||
|
|
5ab1fb461e | ||
|
|
842eb8b54f | ||
|
|
d1b3a69a87 | ||
|
|
e0467347ed | ||
|
|
8588985bb2 | ||
|
|
2113a945cd | ||
|
|
8f83cdaaff | ||
|
|
4f96c2851d | ||
|
|
e5874289eb | ||
|
|
c196cbcb21 | ||
|
|
8c3b1b77cf | ||
|
|
d9e4a18b9c | ||
|
|
720c61fff9 | ||
|
|
0243bc0795 | ||
|
|
206c6f0acd | ||
|
|
e877a047b3 | ||
|
|
efd28be743 | ||
|
|
5ad23bdad0 | ||
|
|
e83ec66f83 | ||
|
|
c0a0849e72 | ||
|
|
c6c872f494 | ||
|
|
b347b51250 | ||
|
|
aaabe7720f | ||
|
|
f0a248e16c | ||
|
|
07222174fd | ||
|
|
557d2e0e56 | ||
|
|
de55528c6e | ||
|
|
ade2368fae | ||
|
|
b4cae331e8 | ||
|
|
917a81b342 | ||
|
|
04557874c1 | ||
|
|
a24532ff04 | ||
|
|
3d5595d8f7 | ||
|
|
03824b9a6d | ||
|
|
4809708664 | ||
|
|
4ca5d89653 | ||
|
|
aeaba38754 | ||
|
|
fcdc7c2dde | ||
|
|
246c103203 | ||
|
|
5c75ee937a | ||
|
|
f3b41a0459 | ||
|
|
68135035ad | ||
|
|
499d0a5bf1 | ||
|
|
ec2b0f56d0 | ||
|
|
3b15f7defb | ||
|
|
52f9df9222 | ||
|
|
e7074c3efb | ||
|
|
6b0b1682a8 | ||
|
|
f104f0f9e7 | ||
|
|
9c5e04561b | ||
|
|
6cb4e00427 | ||
|
|
d9b36ca5f1 | ||
|
|
15e4ee06c3 | ||
|
|
e4990b58c9 | ||
|
|
7f19d7720f | ||
|
|
d8210fd0eb | ||
|
|
11d52d7e4d | ||
|
|
2520b55ae9 | ||
|
|
df341bd347 | ||
|
|
0746a50e01 | ||
|
|
77206b8220 | ||
|
|
a0e4c65124 | ||
|
|
cadcb1f908 | ||
|
|
ecd1646cc8 | ||
|
|
e7ae0ea2d0 | ||
|
|
bd4c654b78 | ||
|
|
d65a720a00 | ||
|
|
80c395b83c | ||
|
|
747fcc5e7a | ||
|
|
dcc8b10cc7 | ||
|
|
b6d097aaed | ||
|
|
e1dc75fdba | ||
|
|
d22c7d0f22 | ||
|
|
511b426a75 | ||
|
|
ba222b5976 | ||
|
|
40afb3d5b5 | ||
|
|
1e32ef4c14 | ||
|
|
26585c72d1 | ||
|
|
3f059c0d3c | ||
|
|
0852d93cbe | ||
|
|
3c34715aa9 | ||
|
|
027850d2e5 | ||
|
|
d69b380c3c | ||
|
|
a6be28c767 | ||
|
|
be164d261d | ||
|
|
edde5c1a44 | ||
|
|
f70be8d584 | ||
|
|
5db78454b2 | ||
|
|
7e31c9deac | ||
|
|
090890c5f7 | ||
|
|
4a161d729b | ||
|
|
0b0c59a4d0 | ||
|
|
cc70cadb32 | ||
|
|
a14661a72d | ||
|
|
66425c8e14 | ||
|
|
1b6e22b6a4 | ||
|
|
6485c37fa3 | ||
|
|
511d9df4f5 | ||
|
|
48ab6da3ef | ||
|
|
b4c08cf470 | ||
|
|
7495b6bb4f | ||
|
|
83d384ac0f | ||
|
|
16598bdf5e | ||
|
|
40161617be | ||
|
|
934b8d9ffd | ||
|
|
ce1a444880 | ||
|
|
9e45b5366d | ||
|
|
bcf93b1c39 | ||
|
|
043fe66390 | ||
|
|
94b0b7d79c | ||
|
|
2d17c16ff7 | ||
|
|
736d908465 | ||
|
|
7cedebe44e | ||
|
|
5ce885b30b | ||
|
|
7a597b92f1 | ||
|
|
1413869250 | ||
|
|
df61e43aab | ||
|
|
b903a3b393 | ||
|
|
243df597f3 | ||
|
|
b0a601d8c6 | ||
|
|
43d9a911b2 | ||
|
|
618b1b056c | ||
|
|
c04b02323c | ||
|
|
328bd0be09 | ||
|
|
2c372847af | ||
|
|
8edb067494 | ||
|
|
b6544fbb6c | ||
|
|
42f828d28b | ||
|
|
c2c336ce64 | ||
|
|
75feb672cb | ||
|
|
78e646240f | ||
|
|
506c14d8e1 | ||
|
|
e9fe4e6cb9 | ||
|
|
1395e6cedc | ||
|
|
fee0865740 | ||
|
|
ff0edf2450 | ||
|
|
c0682780f3 | ||
|
|
c299d465b8 | ||
|
|
17076edc90 | ||
|
|
74c4478ea9 | ||
|
|
b0bfaa8d5a | ||
|
|
4365f24835 | ||
|
|
657687322b | ||
|
|
1d5cb8c6db | ||
|
|
5ba2961cc9 | ||
|
|
82b82594e8 | ||
|
|
530bfe46dc | ||
|
|
755f3532d3 | ||
|
|
1e6d3f7bab | ||
|
|
2cc170a99e | ||
|
|
c35946ccad | ||
|
|
fc1b43b2e6 | ||
|
|
8d5f51706d | ||
|
|
dbc9de026b | ||
|
|
923a6df874 | ||
|
|
0d56cfabf4 | ||
|
|
04d64ab6d5 | ||
|
|
828f9053d9 | ||
|
|
e5f7a9fb71 | ||
|
|
3c7f868fe6 | ||
|
|
a5b3306b04 | ||
|
|
f002755659 | ||
|
|
7fab58374d | ||
|
|
0f20caa178 | ||
|
|
889abedd5b | ||
|
|
8d22410d93 | ||
|
|
4124af6626 | ||
|
|
30f9e284d9 | ||
|
|
bd83efd288 | ||
|
|
f6c0475732 | ||
|
|
a0890d709b | ||
|
|
f066ea7f9c | ||
|
|
5c6e7340ad |
@@ -3,6 +3,5 @@
|
||||
[b4]
|
||||
send-series-to = buildroot@buildroot.org
|
||||
send-auto-cc-cmd = "./utils/get-developers -e -"
|
||||
prep-perpatch-check-cmd = "./utils/check-package -q -p -"
|
||||
|
||||
# vim: set filetype=gitconfig:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,7 @@ BR2_i386=y
|
||||
# BR2_m68k is not set
|
||||
# BR2_mips is not set
|
||||
# BR2_mipsel is not set
|
||||
# BR2_nios2 is not set
|
||||
# BR2_powerpc is not set
|
||||
# BR2_sh is not set
|
||||
# BR2_sparc is not set
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -13,4 +13,3 @@
|
||||
*.rej
|
||||
*~
|
||||
*.pyc
|
||||
/br.log
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Configuration for Gitlab-CI.
|
||||
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||
|
||||
image: $CI_REGISTRY/buildroot.org/buildroot/base:20250218.2110
|
||||
image: $CI_REGISTRY/buildroot.org/buildroot/base:20230207.1123
|
||||
|
||||
stages:
|
||||
- generate-gitlab-ci
|
||||
|
||||
47
Config.in
47
Config.in
@@ -6,15 +6,6 @@ config BR2_HAVE_DOT_CONFIG
|
||||
bool
|
||||
default y
|
||||
|
||||
# Hidden symbol kept to false, to temporarily mark a configuration
|
||||
# known to be broken (by depending on it). Ideally, we don't want to
|
||||
# keep broken parts for too long. The intended use of this symbol is
|
||||
# to give some time to a developer to fix the feature. Features marked
|
||||
# as broken will be removed if they are not fixed in a reasonable
|
||||
# amount of time.
|
||||
config BR2_BROKEN
|
||||
bool
|
||||
|
||||
config BR2_VERSION
|
||||
string
|
||||
option env="BR2_VERSION_FULL"
|
||||
@@ -74,26 +65,6 @@ config BR2_HOST_GCC_AT_LEAST_11
|
||||
default y if BR2_HOST_GCC_VERSION = "11"
|
||||
select BR2_HOST_GCC_AT_LEAST_10
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_12
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "12"
|
||||
select BR2_HOST_GCC_AT_LEAST_11
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_13
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "13"
|
||||
select BR2_HOST_GCC_AT_LEAST_12
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_14
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "14"
|
||||
select BR2_HOST_GCC_AT_LEAST_13
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_15
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "15"
|
||||
select BR2_HOST_GCC_AT_LEAST_14
|
||||
|
||||
# When adding new entries above, be sure to update
|
||||
# the HOSTCC_MAX_VERSION variable in the Makefile.
|
||||
|
||||
@@ -134,15 +105,15 @@ menu "Commands"
|
||||
|
||||
config BR2_CURL
|
||||
string "Curl command"
|
||||
default "curl -q --ftp-pasv --retry 3 --connect-timeout 10"
|
||||
default "curl -q --ftp-pasv --retry 3"
|
||||
|
||||
config BR2_WGET
|
||||
string "Wget command"
|
||||
default "wget -nd -t 3 --connect-timeout=10"
|
||||
default "wget -nd -t 3"
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn --non-interactive --config-option servers:global:http-timeout=10"
|
||||
default "svn --non-interactive"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
@@ -162,11 +133,11 @@ config BR2_LOCALFILES
|
||||
|
||||
config BR2_SCP
|
||||
string "Secure copy (scp) command"
|
||||
default "scp -o ConnectTimeout=10"
|
||||
default "scp"
|
||||
|
||||
config BR2_SFTP
|
||||
string "Secure file transfer (sftp) command"
|
||||
default "sftp -o ConnectTimeout=10"
|
||||
default "sftp"
|
||||
|
||||
config BR2_HG
|
||||
string "Mercurial (hg) command"
|
||||
@@ -314,7 +285,7 @@ config BR2_KERNEL_MIRROR
|
||||
|
||||
config BR2_GNU_MIRROR
|
||||
string "GNU Software mirror"
|
||||
default "https://ftpmirror.gnu.org"
|
||||
default "http://ftpmirror.gnu.org"
|
||||
help
|
||||
GNU has multiple software mirrors scattered around the
|
||||
world. The following allows you to select your preferred
|
||||
@@ -828,6 +799,8 @@ config BR2_PIC_PIE_ARCH_SUPPORTS
|
||||
default y
|
||||
# Microblaze glibc toolchains don't work with PIC/PIE enabled
|
||||
depends on !BR2_microblaze
|
||||
# Nios2 toolchains produce non working binaries with -fPIC
|
||||
depends on !BR2_nios2
|
||||
|
||||
config BR2_PIC_PIE
|
||||
bool "Build code with PIC/PIE"
|
||||
@@ -990,7 +963,7 @@ config BR2_FORTIFY_SOURCE_2
|
||||
# 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 2 and some more
|
||||
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)
|
||||
@@ -999,7 +972,7 @@ config BR2_FORTIFY_SOURCE_3
|
||||
bool "Extended"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
||||
help
|
||||
This option sets _FORTIFY_SOURCE to 3 and even more
|
||||
This option sets _FORTIFY_SOURCES to 3 and even more
|
||||
checking is added compared to level 2. Extends checks at
|
||||
run-time that can introduce an additional performance
|
||||
overhead.
|
||||
|
||||
1314
Config.in.legacy
1314
Config.in.legacy
File diff suppressed because it is too large
Load Diff
626
DEVELOPERS
626
DEVELOPERS
File diff suppressed because it is too large
Load Diff
102
Makefile
102
Makefile
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2026.05-git
|
||||
export BR2_VERSION := 2024.08.2
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1772611600
|
||||
BR2_VERSION_EPOCH = 1729431000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -125,8 +125,7 @@ endif
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
print-version olddefconfig distclean manual manual-% check-package \
|
||||
check-package-external
|
||||
print-version olddefconfig distclean manual manual-% check-package
|
||||
|
||||
# Some global targets do not trigger a build, but are used to collect
|
||||
# metadata, or do various checks. When such targets are triggered,
|
||||
@@ -354,7 +353,7 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \
|
||||
|
||||
# When adding a new host gcc version in Config.in,
|
||||
# update the HOSTCC_MAX_VERSION variable:
|
||||
HOSTCC_MAX_VERSION := 15
|
||||
HOSTCC_MAX_VERSION := 11
|
||||
|
||||
HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \
|
||||
sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \
|
||||
@@ -408,28 +407,27 @@ ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
# Hide troublesome environment variables from sub processes
|
||||
#
|
||||
################################################################################
|
||||
unexport AR
|
||||
unexport CROSS_COMPILE
|
||||
unexport ARCH
|
||||
unexport CC
|
||||
unexport CFLAGS
|
||||
unexport CONFIG_SITE
|
||||
unexport CPP
|
||||
unexport CROSS_COMPILE
|
||||
unexport CXX
|
||||
unexport CXXFLAGS
|
||||
unexport DEVICE_TREE
|
||||
unexport GCC_COLORS
|
||||
unexport GREP_OPTIONS
|
||||
unexport LD
|
||||
unexport AR
|
||||
unexport CXX
|
||||
unexport CPP
|
||||
unexport RANLIB
|
||||
unexport CFLAGS
|
||||
unexport CXXFLAGS
|
||||
unexport GREP_OPTIONS
|
||||
unexport TAR_OPTIONS
|
||||
unexport CONFIG_SITE
|
||||
unexport QMAKESPEC
|
||||
unexport TERMINFO
|
||||
unexport MACHINE
|
||||
unexport O
|
||||
unexport OS
|
||||
unexport GCC_COLORS
|
||||
unexport PLATFORM
|
||||
unexport QMAKESPEC
|
||||
unexport RANLIB
|
||||
unexport TAR_OPTIONS
|
||||
unexport TERMINFO
|
||||
unexport TOPDIR
|
||||
unexport OS
|
||||
unexport DEVICE_TREE
|
||||
|
||||
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
|
||||
|
||||
@@ -602,16 +600,6 @@ prepare-sdk: world
|
||||
@$(call MESSAGE,"Preparing the SDK")
|
||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
||||
mkdir -p $(HOST_DIR)/share/buildroot
|
||||
(\
|
||||
export LC_ALL=C; \
|
||||
grep -lr '$(HOST_DIR)' '$(HOST_DIR)' | while read -r FILE; do \
|
||||
if file -b --mime-type "$$FILE" | grep -q '^text/' && \
|
||||
[ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-location' ] && \
|
||||
[ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-relocs' ]; then \
|
||||
echo "$$FILE"; \
|
||||
fi; \
|
||||
done \
|
||||
) | sed -e 's|^$(HOST_DIR)|.|g' > $(HOST_DIR)/share/buildroot/sdk-relocs
|
||||
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||
|
||||
BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot
|
||||
@@ -792,12 +780,19 @@ endif
|
||||
|
||||
# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
|
||||
# counterparts are appropriately setup as symlinks ones to the others.
|
||||
@$(call MESSAGE,"Sanity check in overlays $(call qstrip,$(BR2_ROOTFS_OVERLAY))")
|
||||
support/scripts/check-merged \
|
||||
-t overlay \
|
||||
$(if $(BR2_ROOTFS_MERGED_USR),-u) \
|
||||
$(if $(BR2_ROOTFS_MERGED_BIN),-b) \
|
||||
$(call qstrip,$(BR2_ROOTFS_OVERLAY))
|
||||
ifeq ($(BR2_ROOTFS_MERGED_USR),y)
|
||||
|
||||
$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
@$(call MESSAGE,"Sanity check in overlay $(d)")$(sep) \
|
||||
$(Q)not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \
|
||||
test -n "$$not_merged_dirs" && { \
|
||||
echo "ERROR: The overlay in $(d) is not" \
|
||||
"using a merged /usr for the following directories:" \
|
||||
$$not_merged_dirs; \
|
||||
exit 1; \
|
||||
} || true$(sep))
|
||||
|
||||
endif # merged /usr
|
||||
|
||||
$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
@$(call MESSAGE,"Copying overlay $(d)")$(sep) \
|
||||
@@ -1223,17 +1218,17 @@ help:
|
||||
# $(2): br2-external name, empty for bundled
|
||||
define list-defconfigs
|
||||
@first=true; \
|
||||
for defconfig in $$([ -d $(1)/configs ] && find $(1)/configs -name '*_defconfig' |sort); do \
|
||||
for defconfig in $(1)/configs/*_defconfig; do \
|
||||
[ -f "$${defconfig}" ] || continue; \
|
||||
if $${first}; then \
|
||||
if [ "$(2)" ]; then \
|
||||
printf 'External configs in "%s":\n' "$(call qstrip,$(2))"; \
|
||||
printf 'External configs in "$(call qstrip,$(2))":\n'; \
|
||||
else \
|
||||
printf "Built-in configs:\n"; \
|
||||
fi; \
|
||||
first=false; \
|
||||
fi; \
|
||||
defconfig="$${defconfig#$(1)/configs/}"; \
|
||||
defconfig="$${defconfig##*/}"; \
|
||||
printf " %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
|
||||
done; \
|
||||
$${first} || printf "\n"
|
||||
@@ -1254,41 +1249,20 @@ release: OUT = buildroot-$(BR2_VERSION)
|
||||
# documentation to the git output
|
||||
release:
|
||||
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
|
||||
SOURCE_DATE_EPOCH=$$(git log -1 --format=%at 2> /dev/null) \
|
||||
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
|
||||
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
|
||||
$(MAKE) O=$(OUT) distclean
|
||||
tar rf $(OUT).tar --owner=0 --group=0 \
|
||||
--mtime="$$(git log -1 --pretty=format:%ci)" $(OUT)
|
||||
gzip -9 -n -c < $(OUT).tar > $(OUT).tar.gz
|
||||
tar rf $(OUT).tar $(OUT)
|
||||
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
|
||||
xz -9 -c < $(OUT).tar > $(OUT).tar.xz
|
||||
rm -rf $(OUT) $(OUT).tar
|
||||
|
||||
print-version:
|
||||
@echo $(BR2_VERSION_FULL)
|
||||
|
||||
# $(1): br2-external path
|
||||
# $(2): br2-external description
|
||||
define check-package-external
|
||||
@$(call MESSAGE,"Checking packages in $(2)")
|
||||
$(Q)if [ -r "$(1)/.checkpackageignore" ]; then \
|
||||
ignore="--ignore-list=$(1)/.checkpackageignore" ; \
|
||||
else \
|
||||
ignore=""; \
|
||||
fi ; \
|
||||
$(TOPDIR)/utils/check-package \
|
||||
--br2-external $${ignore} \
|
||||
`git -C $(1) ls-tree -r --format='$(1)/%(path)' HEAD`
|
||||
endef
|
||||
|
||||
check-package:
|
||||
$(Q)./utils/check-package `git ls-tree -r --name-only HEAD` \
|
||||
--ignore-list=$(TOPDIR)/.checkpackageignore
|
||||
|
||||
check-package-external:
|
||||
$(foreach name,$(BR2_EXTERNAL_NAMES),\
|
||||
$(call check-package-external,$(BR2_EXTERNAL_$(name)_PATH),\
|
||||
$(BR2_EXTERNAL_$(name)_DESC))$(sep))
|
||||
|
||||
.PHONY: .checkpackageignore
|
||||
.checkpackageignore:
|
||||
$(Q)./utils/check-package --failed-only `git ls-tree -r --name-only HEAD` \
|
||||
|
||||
2
README
2
README
@@ -3,7 +3,7 @@ Linux systems through cross-compilation.
|
||||
|
||||
The documentation can be found in docs/manual. You can generate a text
|
||||
document with 'make manual-text' and read output/docs/manual/manual.text.
|
||||
Online documentation can be found at https://buildroot.org/docs.html
|
||||
Online documentation can be found at http://buildroot.org/docs.html
|
||||
|
||||
To build and use the buildroot stuff, do the following:
|
||||
|
||||
|
||||
@@ -12,9 +12,6 @@ config BR2_SOFT_FLOAT
|
||||
config BR2_USE_MMU
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture"
|
||||
default BR2_i386
|
||||
@@ -29,6 +26,14 @@ config BR2_arcle
|
||||
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_USE_MMU
|
||||
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
|
||||
@@ -65,14 +70,6 @@ config BR2_aarch64_be
|
||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_hppa
|
||||
bool "HPPA"
|
||||
select BR2_USE_MMU
|
||||
help
|
||||
Precision Architecture (a.k.a. PA-RISC) is a 32-bit
|
||||
(big endian) architecture developed by Hewlett Packard.
|
||||
https://en.wikipedia.org/wiki/PA-RISC
|
||||
|
||||
config BR2_i386
|
||||
bool "i386"
|
||||
select BR2_USE_MMU
|
||||
@@ -80,16 +77,6 @@ config BR2_i386
|
||||
Intel i386 architecture compatible microprocessor
|
||||
http://en.wikipedia.org/wiki/I386
|
||||
|
||||
config BR2_loongarch64
|
||||
bool "LoongArch64"
|
||||
select BR2_USE_MMU
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
help
|
||||
LoongArch64 is 64-bit architecture developed by Loongson.
|
||||
http://www.loongson.cn/
|
||||
https://en.wikipedia.org/wiki/Loongson
|
||||
|
||||
config BR2_m68k
|
||||
bool "m68k"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
|
||||
@@ -153,6 +140,14 @@ config BR2_mips64el
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_nios2
|
||||
bool "Nios II"
|
||||
select BR2_USE_MMU
|
||||
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_USE_MMU
|
||||
@@ -317,14 +312,6 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_16
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
@@ -363,12 +350,6 @@ config BR2_GCC_TARGET_FPU
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-simd=<value> when
|
||||
# building gcc (internal backend) or -simd=<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
config BR2_GCC_TARGET_SIMD
|
||||
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)
|
||||
@@ -385,7 +366,7 @@ config BR2_BINFMT_SUPPORTS_SHARED
|
||||
config BR2_READELF_ARCH_NAME
|
||||
string
|
||||
|
||||
if BR2_arcle
|
||||
if BR2_arcle || BR2_arceb
|
||||
source "arch/Config.in.arc"
|
||||
endif
|
||||
|
||||
@@ -393,14 +374,6 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
||||
source "arch/Config.in.arm"
|
||||
endif
|
||||
|
||||
if BR2_hppa
|
||||
source "arch/Config.in.hppa"
|
||||
endif
|
||||
|
||||
if BR2_loongarch64
|
||||
source "arch/Config.in.loongarch"
|
||||
endif
|
||||
|
||||
if BR2_m68k
|
||||
source "arch/Config.in.m68k"
|
||||
endif
|
||||
@@ -413,6 +386,10 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
||||
source "arch/Config.in.mips"
|
||||
endif
|
||||
|
||||
if BR2_nios2
|
||||
source "arch/Config.in.nios2"
|
||||
endif
|
||||
|
||||
if BR2_or1k
|
||||
source "arch/Config.in.or1k"
|
||||
endif
|
||||
@@ -460,16 +437,6 @@ config BR2_BINFMT_ELF
|
||||
and executables used across different architectures and
|
||||
operating systems.
|
||||
|
||||
config BR2_BINFMT_FDPIC
|
||||
bool "FDPIC"
|
||||
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF FDPIC binaries are based on ELF, but allow the individual
|
||||
load segments of a binary to be located in memory
|
||||
independently of each other. This makes this format ideal for
|
||||
use in environments where no MMU is available.
|
||||
|
||||
config BR2_BINFMT_FLAT
|
||||
bool "FLAT"
|
||||
depends on !BR2_USE_MMU
|
||||
|
||||
@@ -31,7 +31,7 @@ config BR2_archs38_full
|
||||
bool "ARC HS38 with Quad MAC & FPU"
|
||||
help
|
||||
Fully featured ARC HS with additional support for
|
||||
- Dual- and quad multiply and MC operations
|
||||
- Dual- and quad multiply and MC oprations
|
||||
- Double-precision FPU
|
||||
|
||||
It corresponds to "hs38_slc_full" ARC HS template in
|
||||
@@ -59,17 +59,19 @@ config BR2_ARC_ATOMIC_EXT
|
||||
default y if BR2_archs4x_rel31 || BR2_archs4x
|
||||
|
||||
config BR2_ARCH
|
||||
default "arc"
|
||||
default "arc" if BR2_arcle
|
||||
default "arceb" if BR2_arceb
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "arc"
|
||||
|
||||
config BR2_arc
|
||||
bool
|
||||
default y
|
||||
default y if BR2_arcle || BR2_arceb
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
default "LITTLE" if BR2_arcle
|
||||
default "BIG" if BR2_arceb
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc750d
|
||||
|
||||
@@ -89,20 +89,11 @@ config BR2_ARM_CPU_ARMV7A
|
||||
|
||||
config BR2_ARM_CPU_ARMV7M
|
||||
bool
|
||||
select BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
|
||||
config BR2_ARM_CPU_ARMV8A
|
||||
bool
|
||||
select BR2_USE_MMU
|
||||
|
||||
# Armv9.0-A base specification is a super-set of Armv8.5-A. It is
|
||||
# fully compatible with Armv8. This symbol is defined to allow checks
|
||||
# for doing Armv9 optimization. Armv8 is also selected for
|
||||
# compatibility.
|
||||
config BR2_ARM_CPU_ARMV9A
|
||||
bool
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_cortex_a53 if BR2_ARCH_IS_64
|
||||
@@ -474,14 +465,6 @@ config BR2_cortex_a76_a55
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||
config BR2_cortex_a78
|
||||
bool "cortex-A78"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
||||
config BR2_neoverse_n1
|
||||
bool "neoverse-N1 (aka ares)"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
@@ -498,58 +481,12 @@ config BR2_tsv110
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||
|
||||
comment "armv8.4a cores"
|
||||
config BR2_neoverse_v1
|
||||
bool "neoverse-V1 (aka zeus)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
||||
config BR2_saphira
|
||||
bool "saphira"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
|
||||
comment "armv9.0a cores"
|
||||
config BR2_cortex_a710
|
||||
bool "Cortex-A710 (aka matterhorn)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
config BR2_neoverse_n2
|
||||
bool "neoverse-N2 (aka perseus)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
||||
config BR2_neoverse_v2
|
||||
bool "neoverse-V2 (aka demeter)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
|
||||
comment "armv9.2a cores"
|
||||
config BR2_cortex_a720
|
||||
bool "Cortex-A720 (aka hunter)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
config BR2_neoverse_v3
|
||||
bool "neoverse-V3 (aka poseidon)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
config BR2_neoverse_v3ae
|
||||
bool "neoverse-V3AE (aka poseidon)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
endchoice
|
||||
|
||||
config BR2_ARM_ENABLE_NEON
|
||||
@@ -809,7 +746,7 @@ config BR2_ARM_INSTRUCTIONS_THUMB
|
||||
# Thumb-1 and VFP are not compatible
|
||||
depends on BR2_ARM_SOFT_FLOAT
|
||||
help
|
||||
This option instructs the compiler to generate Thumb
|
||||
This option instructions the compiler to generate Thumb
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
@@ -822,7 +759,7 @@ config BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
bool "Thumb2"
|
||||
depends on BR2_ARM_CPU_HAS_THUMB2
|
||||
help
|
||||
This option instructs the compiler to generate Thumb2
|
||||
This option instructions the compiler to generate Thumb2
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
@@ -938,20 +875,10 @@ config BR2_GCC_TARGET_CPU
|
||||
default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
|
||||
default "cortex-a76" if BR2_cortex_a76
|
||||
default "cortex-a76.cortex-a55" if BR2_cortex_a76_a55
|
||||
default "cortex-a78" if BR2_cortex_a78
|
||||
default "neoverse-n1" if BR2_neoverse_n1
|
||||
default "tsv110" if BR2_tsv110
|
||||
# armv8.4a
|
||||
default "neoverse-v1" if BR2_neoverse_v1
|
||||
default "saphira" if BR2_saphira
|
||||
# armv9.0a
|
||||
default "cortex-a710" if BR2_cortex_a710
|
||||
default "neoverse-n2" if BR2_neoverse_n2
|
||||
default "neoverse-v2" if BR2_neoverse_v2
|
||||
# armv9.2a
|
||||
default "cortex-a720" if BR2_cortex_a720
|
||||
default "neoverse-v3" if BR2_neoverse_v3
|
||||
default "neoverse-v3ae" if BR2_neoverse_v3ae
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Type"
|
||||
help
|
||||
Architecture type (or version) to use.
|
||||
|
||||
config BR2_parisc10
|
||||
bool "PA-RISC 1.0"
|
||||
config BR2_parisc11
|
||||
bool "PA-RISC 1.1"
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "hppa"
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "parisc"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "HPPA"
|
||||
@@ -1,138 +0,0 @@
|
||||
# LoongArch CPU
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_loongarch64_generic if BR2_ARCH_IS_64
|
||||
|
||||
config BR2_loongarch64_generic
|
||||
bool "Generic LoongArch 64-bit"
|
||||
depends on BR2_ARCH_IS_64
|
||||
help
|
||||
Generic LoongArch 64-bit processor.
|
||||
|
||||
config BR2_loongarch64_v1_0
|
||||
bool "LoongArch64 ISA version 1.0"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
help
|
||||
LoongArch64 ISA version 1.0 processor.
|
||||
|
||||
config BR2_loongarch64_v1_1
|
||||
bool "LoongArch64 ISA version 1.1"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
help
|
||||
LoongArch64 ISA version 1.1 processor.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "FPU Type"
|
||||
default BR2_LOONGARCH_FPU_64
|
||||
|
||||
config BR2_LOONGARCH_FPU_64
|
||||
bool "64"
|
||||
help
|
||||
Allow the use of hardware floating-point instructions for
|
||||
32-bit and 64-bit operations.
|
||||
|
||||
config BR2_LOONGARCH_FPU_32
|
||||
bool "32"
|
||||
# Only supported by lp64s and lp64f ABIs which are marked as broken
|
||||
depends on BR2_BROKEN
|
||||
help
|
||||
Allow the use of hardware floating-point instructions for
|
||||
32-bit operations only.
|
||||
|
||||
config BR2_LOONGARCH_FPU_NONE
|
||||
bool "none"
|
||||
# Only supported by lp64s ABI which is marked as broken
|
||||
depends on BR2_BROKEN
|
||||
help
|
||||
Prevent the use of hardware floating-point instructions.
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "SIMD Type"
|
||||
default BR2_LOONGARCH_SIMD_NONE
|
||||
|
||||
config BR2_LOONGARCH_SIMD_NONE
|
||||
bool "none"
|
||||
help
|
||||
Prevent the use of hardware SIMD instructions.
|
||||
|
||||
config BR2_LOONGARCH_SIMD_LSX
|
||||
bool "LSX"
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
help
|
||||
Enable generating instructions from the 128-bit LoongArch SIMD
|
||||
Extension (LSX).
|
||||
|
||||
config BR2_LOONGARCH_SIMD_LASX
|
||||
bool "LASX"
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
help
|
||||
Enable generating instructions from the 256-bit LoongArch
|
||||
Advanced SIMD Extension (LASX) and the 128-bit LoongArch
|
||||
SIMD Extension (LSX).
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
default BR2_LOONGARCH_ABI_LP64D if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_64
|
||||
default BR2_LOONGARCH_ABI_LP64F if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_32
|
||||
default BR2_LOONGARCH_ABI_LP64S if BR2_ARCH_IS_64 && BR2_LOONGARCH_SIMD_NONE
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64D
|
||||
bool "lp64d"
|
||||
depends on BR2_ARCH_IS_64
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64F
|
||||
bool "lp64f"
|
||||
depends on BR2_ARCH_IS_64
|
||||
# Failed to build host GCC initial, pending investigation
|
||||
depends on BR2_BROKEN
|
||||
depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64S
|
||||
bool "lp64s"
|
||||
depends on BR2_ARCH_IS_64
|
||||
# GCC can't find libraries, pending investigation
|
||||
depends on BR2_BROKEN
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "loongarch64" if BR2_ARCH_IS_64
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "loongarch"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_ARCH
|
||||
default "loongarch64" if BR2_loongarch64_generic
|
||||
default "la64v1.0" if BR2_loongarch64_v1_0
|
||||
default "la64v1.1" if BR2_loongarch64_v1_1
|
||||
|
||||
config BR2_GCC_TARGET_FPU
|
||||
default "64" if BR2_LOONGARCH_FPU_64
|
||||
default "32" if BR2_LOONGARCH_FPU_32
|
||||
default "none" if BR2_LOONGARCH_FPU_NONE
|
||||
|
||||
config BR2_GCC_TARGET_SIMD
|
||||
default "lasx" if BR2_LOONGARCH_SIMD_LASX
|
||||
default "lsx" if BR2_LOONGARCH_SIMD_LSX
|
||||
default "none" if BR2_LOONGARCH_FPU_NONE
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "lp64d" if BR2_LOONGARCH_ABI_LP64D
|
||||
default "lp64f" if BR2_LOONGARCH_ABI_LP64F
|
||||
default "lp64s" if BR2_LOONGARCH_ABI_LP64S
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "LoongArch"
|
||||
|
||||
# vim: ft=kconfig
|
||||
# -*- mode:kconfig; -*-
|
||||
@@ -23,11 +23,6 @@ choice
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_m68k_68030
|
||||
bool "68030"
|
||||
select BR2_m68k_m68k
|
||||
select BR2_USE_MMU
|
||||
|
||||
config BR2_m68k_68040
|
||||
bool "68040"
|
||||
select BR2_m68k_m68k
|
||||
@@ -41,7 +36,6 @@ config BR2_m68k_cf5208
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "68030" if BR2_m68k_68030
|
||||
default "68040" if BR2_m68k_68040
|
||||
default "5208" if BR2_m68k_cf5208
|
||||
|
||||
|
||||
14
arch/Config.in.nios2
Normal file
14
arch/Config.in.nios2
Normal file
@@ -0,0 +1,14 @@
|
||||
config BR2_ARCH
|
||||
default "nios2"
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "nios2"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Altera Nios II"
|
||||
|
||||
# vim: ft=kconfig
|
||||
# -*- mode:kconfig; -*-
|
||||
@@ -45,13 +45,6 @@ config BR2_RISCV_ISA_RVV
|
||||
bool "Vector Instructions (V)"
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
|
||||
config BR2_RISCV_ISA_EXTRA
|
||||
string "Append extra RISC-V ISA extensions"
|
||||
help
|
||||
Extra ISA extensions to append to the ISA extensions string.
|
||||
They are underscore-separated. For example,
|
||||
"zba_zbb_zvl256b".
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Size"
|
||||
default BR2_RISCV_64
|
||||
|
||||
@@ -16,7 +16,6 @@ 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_SIMD := $(call qstrip,$(BR2_GCC_TARGET_SIMD))
|
||||
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||
|
||||
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#
|
||||
# Configure the GCC_TARGET_ARCH variable.
|
||||
#
|
||||
|
||||
ifeq ($(BR2_hppa),y)
|
||||
|
||||
ifeq ($(BR2_parisc10),y)
|
||||
GCC_TARGET_ARCH := 1.0
|
||||
else ifeq ($(BR2_parisc11),y)
|
||||
GCC_TARGET_ARCH := 1.1
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -39,9 +39,4 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_12),y)
|
||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_zicsr_zifencei
|
||||
endif
|
||||
|
||||
ARCH_RISV_ISA_EXTRA = $(call qstrip, $(BR2_RISCV_ISA_EXTRA))
|
||||
ifneq ($(ARCH_RISV_ISA_EXTRA),)
|
||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_$(ARCH_RISV_ISA_EXTRA)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -24,7 +24,7 @@ image disk.img {
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type-uuid = root-arm64
|
||||
partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 8d1934a72a185f1be6b56e3ad8ea31fd9a381ffec0346c69f06c90d776da7cb8 linux-6.18.14.tar.xz
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "sama5d31.dtsi"
|
||||
#include "microchip/sama5d31.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Acme Systems Acqua SOM";
|
||||
@@ -149,14 +149,8 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eth0_addr: eth-mac-addr@9A {
|
||||
reg = <0x0 0x06>;
|
||||
};
|
||||
eth0_addr: eth-mac-addr@9A {
|
||||
reg = <0x0 0x06>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -281,11 +275,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb1: usb@600000 {
|
||||
usb1: ohci@600000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2: usb@700000 {
|
||||
usb2: ehci@700000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz
|
||||
|
||||
8
board/altera/socrates_cyclone5/boot-env.txt
Normal file
8
board/altera/socrates_cyclone5/boot-env.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
linux_load_address=0x100000
|
||||
linux_dtb_load_address=0x100
|
||||
linux_dtb=socfpga_cyclone5_socrates.dtb
|
||||
linux_load=mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} ${linux_dtb}
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p3 ro rootwait
|
||||
source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000
|
||||
bootcmd=run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address}
|
||||
bootdelay=1
|
||||
59
board/altera/socrates_cyclone5/genimage.cfg
Normal file
59
board/altera/socrates_cyclone5/genimage.cfg
Normal file
@@ -0,0 +1,59 @@
|
||||
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 = 17K # 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
|
||||
}
|
||||
}
|
||||
52
board/altera/socrates_cyclone5/readme.txt
Normal file
52
board/altera/socrates_cyclone5/readme.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
EBV SoCrates Evaluation Board
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
More information about this board can be found here:
|
||||
https://rocketboards.org/foswiki/Documentation/EBVSoCratesEvaluationBoard
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, load socrates config for buildroot
|
||||
|
||||
make socrates_cyclone5_defconfig
|
||||
|
||||
Build everything
|
||||
|
||||
make
|
||||
|
||||
Following files will be generated in output/images
|
||||
|
||||
.
|
||||
├── boot.vfat
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── socfpga_cyclone5_socrates.dtb
|
||||
├── u-boot-spl.bin
|
||||
├── u-boot-spl.bin.crc
|
||||
├── u-boot.bin
|
||||
├── u-boot.img
|
||||
├── uboot-env.bin
|
||||
├── uboot.img
|
||||
└── zImage
|
||||
|
||||
|
||||
Creating bootable SD card
|
||||
=========================
|
||||
|
||||
Simply invoke
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where X is your SD card device (not partition)
|
||||
|
||||
Booting
|
||||
=======
|
||||
|
||||
Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from
|
||||
sdcard set these pins to value 0x5 (101b). Remaining pins are used to determine
|
||||
how to configure FPGA and are not associated with booting into Linux kernel.
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
# Locally calculated
|
||||
sha256 880ace63ca2291b8b639e9bd862cc828649d3e1e00ccfee5861473debd2e4dec linux-6.1.91.tar.xz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 50b4482a505bc281ba8470c399a3c26e145e29b23500bc35c50debd7fa46bdf8 u-boot-2022.10.tar.bz2
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 c71af3d2c86c0a0deca4f54b51d1c35217082b030052cc3513dc42e852652733 linux-v6.0.y-andes.tar.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz
|
||||
@@ -0,0 +1,38 @@
|
||||
From 16aad5594e08550295ea3c12c1c9ed6f64774748 Mon Sep 17 00:00:00 2001
|
||||
From: Rick Chen <rick@andestech.com>
|
||||
Date: Tue, 29 Mar 2022 13:41:10 +0800
|
||||
Subject: [PATCH] mmc: ftsdc010_mci: Support DTS of ftsdc010 driver for
|
||||
generic dma
|
||||
|
||||
The ftsdc010 driver has been implemented for generic dma in Linux
|
||||
kernel. And its compatible is andestech,atfsdc010g to distinguish
|
||||
the legacy andestech,atfsdc010 which is not for generic dma.
|
||||
|
||||
Althought the ftsdc010_mci driver in U-Boot does not use dma, but
|
||||
it still can work well with the mmc node for generic dma. So add
|
||||
the compatible string to support it.
|
||||
|
||||
Signed-off-by: Rick Chen <rick@andestech.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
|
||||
---
|
||||
drivers/mmc/ftsdc010_mci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c
|
||||
index 570d54cf9d..65b1d447a8 100644
|
||||
--- a/drivers/mmc/ftsdc010_mci.c
|
||||
+++ b/drivers/mmc/ftsdc010_mci.c
|
||||
@@ -460,6 +460,7 @@ int ftsdc010_mmc_bind(struct udevice *dev)
|
||||
|
||||
static const struct udevice_id ftsdc010_mmc_ids[] = {
|
||||
{ .compatible = "andestech,atfsdc010" },
|
||||
+ { .compatible = "andestech,atfsdc010g" },
|
||||
{ }
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 933ad8a59f7fd9b2088badc3e97167d750a40b5a Mon Sep 17 00:00:00 2001
|
||||
From: Bin Meng <bmeng.cn@gmail.com>
|
||||
Date: Mon, 12 Jul 2021 11:52:31 +0800
|
||||
Subject: [PATCH] spl: Align device tree blob address at 8-byte boundary
|
||||
|
||||
Since libfdt v1.6.1, a new requirement on the device tree address via:
|
||||
|
||||
commit 5e735860c478 ("libfdt: Check for 8-byte address alignment in fdt_ro_probe_()")
|
||||
|
||||
must be met that the device tree must be loaded in to memory at an
|
||||
8-byte aligned address.
|
||||
|
||||
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
|
||||
|
||||
This patch was imported from U-boot patchwork:
|
||||
https://patchwork.ozlabs.org/project/uboot/patch/20210712035231.26475-1-bmeng.cn@gmail.com/
|
||||
|
||||
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
|
||||
---
|
||||
common/spl/spl_fit.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
|
||||
index a35be529..a76ad14a 100644
|
||||
--- a/common/spl/spl_fit.c
|
||||
+++ b/common/spl/spl_fit.c
|
||||
@@ -382,6 +382,12 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
|
||||
*/
|
||||
image_info.load_addr = spl_image->load_addr + spl_image->size;
|
||||
|
||||
+ /*
|
||||
+ * Since libfdt v1.6.1, the device tree must be loaded in to memory
|
||||
+ * at an 8-byte aligned address.
|
||||
+ */
|
||||
+ image_info.load_addr = roundup(image_info.load_addr, 8);
|
||||
+
|
||||
/* Figure out which device tree the board wants to use */
|
||||
node = spl_fit_get_image_node(ctx, FIT_FDT_PROP, index++);
|
||||
if (node < 0) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
cp "$BINARIES_DIR"/Image "$TARGET_DIR"/boot
|
||||
cp "$BINARIES_DIR"/ae350_ax45mp.dtb "$TARGET_DIR"/boot
|
||||
cp $BINARIES_DIR/Image $TARGET_DIR/boot
|
||||
cp $BINARIES_DIR/ae350_ax45mp.dtb $TARGET_DIR/boot
|
||||
|
||||
@@ -41,49 +41,6 @@ After building, you should obtain the following files:
|
||||
|-- u-boot-spl.bin
|
||||
`-- u-boot.itb
|
||||
|
||||
How to update the bootloader and device-tree
|
||||
============================================
|
||||
|
||||
To update the bootloader and device tree, make sure you have
|
||||
an ICEman (Andes OpenOCD [1]) and AICE [2] connection set up
|
||||
as below:
|
||||
|
||||
Local Host Local/Remote Host
|
||||
.-----------------. .--------------.
|
||||
| buildroot images| | |
|
||||
| | ICEman host <IP:PORT>
|
||||
| .----------. | | .--------. |
|
||||
| | SPI_burn |<---+--socket--+->| ICEman | |
|
||||
| '----------' | | '--.-----' |
|
||||
'-----------------' '-----|--------'
|
||||
|
|
||||
USB
|
||||
.--------------. |
|
||||
| target | .-----v-----.
|
||||
| board <----JTAG---| AICE |
|
||||
| | '-----------'
|
||||
'--------------'
|
||||
|
||||
[1] https://github.com/andestech/ICEman
|
||||
[2] https://www.andestech.com/en/products-solutions/andeshape-platforms/aice-micro/
|
||||
|
||||
The Andes SPI_burn tool will be located in output/host/bin. Use
|
||||
the following commands to update the bootloader and device tree:
|
||||
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x0 -i u-boot-spl.bin
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x10000 -i u-boot.itb
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0xf0000 -i ae350_ax45mp.dtb
|
||||
|
||||
Note that the --addr option specifies the offset starting from
|
||||
the flash base address 0x80000000 and set by U-Boot configurations.
|
||||
e.g.
|
||||
u-boot-spl.bin : CONFIG_SPL_TEXT_BASE=0x80000000
|
||||
u-boot.itb : CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
|
||||
ae350_ax45mp.dtb: CONFIG_SYS_FDT_BASE=0x800f0000
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Copy the sdcard.img to a SD card with "dd":
|
||||
|
||||
$ sudo dd if=sdcard.img of=/dev/sdX bs=4096
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_MMC=y
|
||||
# CONFIG_SPL_RAM_SUPPORT is not set
|
||||
CONFIG_SPL_OPENSBI_LOAD_ADDR=0x0
|
||||
CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS=0x0
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 3507dd105b0a0e1101bd43d294472fccf853429a259a5fa7c67467bba318f8e9 linux-6.15.7.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b0bb92d982f88380e5b2059349c3a862e0afa712e0646eb0e082b9c2c5cb5176 linux-6.8.10.tar.xz
|
||||
|
||||
@@ -1,39 +1,16 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
This is the support for the ARM Foundation v8 machine emulated by the
|
||||
ARM software simulator of the AArch64 architecture.
|
||||
|
||||
Building
|
||||
========
|
||||
First, one has to download the AArch64 software simulator from:
|
||||
|
||||
$ make arm_foundationv8_defconfig
|
||||
$ make
|
||||
https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FM_11_25/Foundation_Platform_11.25_15_Linux64.tgz
|
||||
|
||||
Generated files under output/images:
|
||||
|
||||
* linux-system.axf: An image comprising the boot-wrapper-aarch64 minimal
|
||||
firmware and bootloader, a Devicetree and the Linux kernel.
|
||||
* rootfs.ext2: The OS root filesystem.
|
||||
|
||||
Running on the simulator
|
||||
========================
|
||||
|
||||
Download the AArch64 software simulator from one of the following sources,
|
||||
corresponding to your host computer:
|
||||
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64_armv8l.tgz
|
||||
|
||||
The model will be located under one of the corresponding folders:
|
||||
|
||||
- Foundation_Platformpkg/models/Linux64_GCC-9.3
|
||||
- Foundation_Platformpkg/models/Linux64_armv8l_GCC-9.3
|
||||
Then, use the arm_foundationv8_defconfig configuration to build your
|
||||
Buildroot system.
|
||||
|
||||
Finally, boot your system with:
|
||||
|
||||
Foundation_Platform \
|
||||
--arm-v8.0 \
|
||||
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-9.3/Foundation_Platform \
|
||||
--image output/images/linux-system.axf \
|
||||
--block-device output/images/rootfs.ext2 \
|
||||
--network=nat \
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
# Arm A-Profile Base RevC AEM FVP config
|
||||
bp.secure_memory=1
|
||||
bp.terminal_1.start_telnet=0
|
||||
bp.ve_sysregs.exit_on_shutdown=1
|
||||
bp.virtio_net.enabled=1
|
||||
bp.virtio_net.hostbridge.userNetworking=1
|
||||
bp.vis.rate_limit-enable=1
|
||||
cache_state_modelled=0
|
||||
cluster0.NUM_CORES=4
|
||||
cluster0.cpu0.enable_crc32=1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 8c30a0c7fe0162de0618b26fb34cc91ea582e5f7 Mon Sep 17 00:00:00 2001
|
||||
From: Debbie Martin <Debbie.Martin@arm.com>
|
||||
Date: Wed, 27 Sep 2023 18:05:26 +0100
|
||||
Subject: [PATCH] feat(fvp): add stdout-path
|
||||
|
||||
Add stdout-path to the fvp-base devicetree to be passed to BL33 (U-Boot)
|
||||
and then to the Linux kernel to be compliant to Arm SystemReady IR:
|
||||
https://developer.arm.com/documentation/DUI1101/2-0/
|
||||
Configure-U-Boot-for-SystemReady/Adapt-the-Devicetree
|
||||
|
||||
This has been tested by booting fvp-base to Linux and ensuring the
|
||||
console is accessible.
|
||||
|
||||
Change-Id: Iae98630f18f735ce344c1158f41f358c2a49eeb6
|
||||
Signed-off-by: Diego Sueiro <Diego.Sueiro@arm.com>
|
||||
Signed-off-by: Debbie Martin <Debbie.Martin@arm.com>
|
||||
Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/+/8c30a0c7fe0162de0618b26fb34cc91ea582e5f7%5E!/
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
|
||||
---
|
||||
fdts/fvp-base-psci-common.dtsi | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/fdts/fvp-base-psci-common.dtsi b/fdts/fvp-base-psci-common.dtsi
|
||||
index 79cf37d3b0..ff31ba7616 100644
|
||||
--- a/fdts/fvp-base-psci-common.dtsi
|
||||
+++ b/fdts/fvp-base-psci-common.dtsi
|
||||
@@ -27,11 +27,12 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
#if (ENABLE_RME == 1)
|
||||
- chosen { bootargs = "console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda ip=on";};
|
||||
-#else
|
||||
- chosen {};
|
||||
+ bootargs = "console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda ip=on";
|
||||
#endif
|
||||
+ };
|
||||
|
||||
aliases {
|
||||
serial0 = &v2m_serial0;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 a899100d9d92ceb1290fd4d61f5dd3b8af6b0e937cebc3c711cb514ac5acfaed arm-trusted-firmware-v2.14.0-git4.tar.gz
|
||||
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b linux-6.18.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b78dcd09f6b725872a2c0c87a70a064b0fbbcccfe5ce60aa46c669934a9e28b6 linux-6.8.11.tar.xz
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 464b3bf5bc4a61830357dbf81a0e5b89414d3bca1c2a752570cb0e40d2f1e637 optee-client-4.8.0.tar.gz
|
||||
@@ -1,34 +0,0 @@
|
||||
From 1debd0c8bd46255f8c22b128ec16586ef9154869 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@arm.com>
|
||||
Date: Tue, 2 Dec 2025 15:53:23 +0100
|
||||
Subject: [PATCH] plat-vexpress: redirect console to uart0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
For consistency with TF-A, U-Boot and Linux.
|
||||
|
||||
Upstream: Not applicable. Buildroot specific.
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
|
||||
---
|
||||
core/arch/arm/plat-vexpress/platform_config.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/arch/arm/plat-vexpress/platform_config.h b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
index 9231f3048..76c7fdb36 100644
|
||||
--- a/core/arch/arm/plat-vexpress/platform_config.h
|
||||
+++ b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
#define IT_UART1 38
|
||||
|
||||
-#define CONSOLE_UART_BASE UART1_BASE
|
||||
-#define IT_CONSOLE_UART IT_UART1
|
||||
+#define CONSOLE_UART_BASE UART0_BASE
|
||||
+#undef IT_CONSOLE_UART
|
||||
|
||||
#elif defined(PLATFORM_FLAVOR_juno)
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d optee-os-4.8.0.tar.gz
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2
|
||||
sha256 077cf8ca283411103ad274a3724dacb5068ede824de749beff9c9e5b531b43ea u-boot-2024.07-rc3.tar.bz2
|
||||
|
||||
@@ -2,7 +2,7 @@ Introduction
|
||||
============
|
||||
|
||||
The arm_fvp_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR
|
||||
specification[1] and the Arm SystemReady Devicetree band[2].
|
||||
specification[1] and the Arm SystemReady IR[2] compliance program.
|
||||
It allows building an AArch64 U-Boot based firmware implementing the subset of
|
||||
UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run
|
||||
on the Arm A-Profile Base RevC AEM FVP.
|
||||
@@ -26,8 +26,8 @@ Running on the FVP
|
||||
Download the FVP from one of the following sources, corresponding to your host
|
||||
computer:
|
||||
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64_armv8l.tgz
|
||||
- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FM_11_25/FVP_Base_RevC-2xAEMvA_11.25_15_Linux64.tgz
|
||||
- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FM_11_25/FVP_Base_RevC-2xAEMvA_11.25_15_Linux64_armv8l.tgz
|
||||
|
||||
The FVP will be located under one of the corresponding folders:
|
||||
|
||||
@@ -53,58 +53,21 @@ supporting the EBBR specification.
|
||||
To run another OS on simulation using a live or pre-installed image, use the
|
||||
same FVP command line as for the generated OS but adapt the OS image path in the
|
||||
virtioblockdevice stanza.
|
||||
The image generated by the aarch64_efi_defconfig or the Arm ACS Devicetree
|
||||
images[3] are examples of pre-installed OS images.
|
||||
Linux distributions such as Debian, Fedora, openSUSE or Ubuntu, or FreeBSD
|
||||
provide live or pre-installed OS image.
|
||||
|
||||
Firmware details
|
||||
================
|
||||
|
||||
Noteworthy firmware features:
|
||||
|
||||
- TF-A, OP-TEE & U-Boot
|
||||
- UEFI, with EFI variables stored on disk in the ESP
|
||||
- Support for ethernet, RTC and LCD
|
||||
|
||||
Architecture diagram:
|
||||
|
||||
Non-Secure : Secure
|
||||
:
|
||||
+---------------------------+ :
|
||||
EL0 | Busybox | :
|
||||
+---------------------------+ : +--------+
|
||||
EL1 | Linux | : | OP-TEE | S-EL1
|
||||
+---------------------------+ : +--------+
|
||||
EL2 | U-Boot, GRUB, Linux (kvm) | :
|
||||
+---------------------------+ :
|
||||
...................................:
|
||||
+----------------------------------------+
|
||||
| TF-A | EL3
|
||||
+----------------------------------------+
|
||||
|
||||
Boot flow:
|
||||
|
||||
TF-A -+-> OP-TEE
|
||||
`-> U-Boot -> GRUB -> Linux -> Busybox
|
||||
|
||||
TF-A BL1 loads the fit image with the remaining pieces of TF-A, OP-TEE and
|
||||
U-Boot.
|
||||
OP-TEE boots, calls back TF-A to go to normal world.
|
||||
U-Boot loads GRUB with UEFI, boots Linux at EL2.
|
||||
|
||||
In this configuration, the Devicetree is static and fully contained in TF-A.
|
||||
The image generated by the aarch64_efi_defconfig or the Arm ACS-IR images[3] are
|
||||
examples of pre-installed OS images.
|
||||
Linux distributions such as Debian, Fedora, openSUSE or Ubuntu provide a
|
||||
pre-installed OS image.
|
||||
|
||||
Miscellaneous
|
||||
=============
|
||||
|
||||
This configuration is inspired by the arm_foundationv8_defconfig, the
|
||||
qemu_aarch64_virt_defconfig and the Arm SystemReady Devicetree Band Integration
|
||||
and Testing Guide[4].
|
||||
qemu_aarch64_virt_defconfig and the Arm SystemReady IR IoT Integration, Test,
|
||||
and Certification Guide[4].
|
||||
|
||||
Firmware update, GOP, MMC and RNG are currently not supported.
|
||||
Firmware update, MMC and network are currently not supported.
|
||||
|
||||
[1] https://github.com/ARM-software/ebbr
|
||||
[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band
|
||||
[3] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images
|
||||
[4] https://developer.arm.com/documentation/DUI1101/latest/
|
||||
[1]: https://github.com/ARM-software/ebbr
|
||||
[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR
|
||||
[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images
|
||||
[4]: https://developer.arm.com/documentation/DUI1101/latest/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CONFIG_ARM_SMCCC_FEATURES=y
|
||||
# CONFIG_USE_BOOTCOMMAND is not set
|
||||
CONFIG_BOOTCOMMAND="bootflow scan -lb"
|
||||
CONFIG_BOOTMETH_DISTRO=y
|
||||
CONFIG_BOOTM_EFI=y
|
||||
@@ -17,10 +17,8 @@ CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y
|
||||
CONFIG_CMD_GETTIME=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_POWEROFF=y
|
||||
CONFIG_CMD_RNG=y
|
||||
CONFIG_CMD_RTC=y
|
||||
CONFIG_CMD_SMC=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_DM_RNG=y
|
||||
CONFIG_DM_RTC=y
|
||||
@@ -31,7 +29,6 @@ CONFIG_EFI_LOADER=y
|
||||
CONFIG_EFI_LOADER_HII=y
|
||||
CONFIG_EFI_MM_COMM_TEE=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
|
||||
CONFIG_EFI_SECURE_BOOT=y
|
||||
CONFIG_EFI_SET_TIME=y
|
||||
CONFIG_EFI_UNICODE_CAPITALIZATION=y
|
||||
|
||||
@@ -30,11 +30,11 @@ image flash.img {
|
||||
partition fitimage {
|
||||
image = "image.itb"
|
||||
offset = 512K
|
||||
size = 7000K
|
||||
size = 4352K
|
||||
}
|
||||
|
||||
partition spare {
|
||||
offset = 7512K
|
||||
size = 25256K
|
||||
offset = 4864K
|
||||
size = 27904K
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 16da36d1832f058cf1a6673b6a2eedeef1260576c15e76c4998e30d0fb13d339 uboot-66672e5af36fe294df56f8e7942069e3909f3790-git4.tar.gz
|
||||
@@ -3,8 +3,8 @@
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
mkimage=$HOST_DIR/bin/mkimage
|
||||
|
||||
BOARD_DT=$(sed -nr \
|
||||
-e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(aspeed/)?([a-z0-9\-]*).*"$|\2|p' \
|
||||
BOARD_DT=$(sed -n \
|
||||
's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9\-]*\).*"$/\1/p' \
|
||||
${BR2_CONFIG})
|
||||
|
||||
sed -e "s/%BOARD_DTB%/${BOARD_DT}.dtb/" \
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally computed
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -12,7 +12,6 @@ image boot.vfat {
|
||||
"am335x-bonegreen.dtb",
|
||||
"am335x-boneblack-wireless.dtb",
|
||||
"am335x-bonegreen-wireless.dtb",
|
||||
"am335x-bonegreen-eco.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 d0a78bf3f0d12aaa10af3b5adcaed5bc767b5b78705e5ef885d5e930b72e25d5 linux-6.18.1.tar.xz
|
||||
# Locally calculated
|
||||
sha256 f1ae7325c6c146e0f852866a3bfd3f90ae1b5f46e414bc99a38384ed677e3721 linux-6.6.32-ti-arm32-r7.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
cp $BOARD_DIR/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
cp "${BOARD_DIR}/uEnv.txt" "${BINARIES_DIR}/uEnv.txt"
|
||||
|
||||
install -m 0644 -D "${BOARD_DIR}/extlinux.conf" "${BINARIES_DIR}/extlinux/extlinux.conf"
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
|
||||
@@ -31,7 +31,6 @@ output/images/
|
||||
+-- am335x-boneblack-wireless.dtb
|
||||
+-- am335x-boneblue.dtb
|
||||
+-- am335x-bonegreen.dtb
|
||||
+-- am335x-bonegreen-eco.dtb
|
||||
+-- am335x-bonegreen-wireless.dtb
|
||||
+-- am335x-bone.dtb
|
||||
+-- am335x-evm.dtb
|
||||
|
||||
@@ -19,7 +19,7 @@ image sdcard.img {
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 c435bd74d1c21fc5a950781a50d78bae2b93944144694843359948ad3afc72a5 linux-6.12.50.tar.xz
|
||||
sha256 c52bc1ffc396c11bce335c9ee5cd55fe4213cbc1fb4026ff62bb90c864c61f62 linux-5.10.217.tar.xz
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 0b161f8e89a411fe54059cf1d0ba61354ee1e8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Nelson <robertcnelson@gmail.com>
|
||||
Date: Wed, 3 Aug 2022 11:28:10 -0500
|
||||
Subject: [PATCH] am57xx/board.c: assume on failure its a BBONE-AI
|
||||
|
||||
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
||||
Upstream: https://github.com/beagleboard/u-boot/commit/0b161f8e89a411fe54059cf1d0ba61354ee1e8a2
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
board/ti/am57xx/board.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
|
||||
index cfc825e52a3..f369693f382 100644
|
||||
--- a/board/ti/am57xx/board.c
|
||||
+++ b/board/ti/am57xx/board.c
|
||||
@@ -529,8 +529,10 @@ void do_board_detect(void)
|
||||
|
||||
rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
|
||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
||||
- if (rc)
|
||||
+ if (rc) {
|
||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
||||
+ ti_i2c_eeprom_am_set("BBONE-AI", "A");
|
||||
+ };
|
||||
|
||||
#ifdef CONFIG_SUPPORT_EMMC_BOOT
|
||||
rc = board_bootmode_has_emmc();
|
||||
--
|
||||
2.39.5
|
||||
|
||||
@@ -0,0 +1,839 @@
|
||||
From 702ea30b462ba06f4fbee3393f0e6c19531f1e5f Mon Sep 17 00:00:00 2001
|
||||
From: Robert Nelson <robertcnelson@gmail.com>
|
||||
Date: Fri, 25 Jun 2021 11:33:25 -0500
|
||||
Subject: [PATCH] am57xx_evm-fixes
|
||||
|
||||
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
||||
[Patch from https://github.com/beagleboard/u-boot/commit/702ea30b462ba06f4fbee3393f0e6c19531f1e5f]
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
arch/arm/mach-omap2/omap5/hw_data.c | 1 +
|
||||
board/ti/am57xx/board.c | 167 +++++++++++-
|
||||
configs/am57xx_evm_defconfig | 15 +-
|
||||
include/configs/ti_armv7_common.h | 407 ++++++++++++++++++++++++++++
|
||||
include/configs/ti_omap5_common.h | 5 +
|
||||
include/environment/ti/boot.h | 32 ++-
|
||||
include/environment/ti/mmc.h | 49 +++-
|
||||
7 files changed, 651 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c
|
||||
index fa4e27063c..d5192b1671 100644
|
||||
--- a/arch/arm/mach-omap2/omap5/hw_data.c
|
||||
+++ b/arch/arm/mach-omap2/omap5/hw_data.c
|
||||
@@ -421,6 +421,7 @@ void enable_basic_clocks(void)
|
||||
(*prcm)->cm_l4per_uart1_clkctrl,
|
||||
(*prcm)->cm_l4per_uart3_clkctrl,
|
||||
(*prcm)->cm_l4per_i2c1_clkctrl,
|
||||
+ (*prcm)->cm_l4per_i2c4_clkctrl,
|
||||
#ifdef CONFIG_DRIVER_TI_CPSW
|
||||
(*prcm)->cm_gmac_gmac_clkctrl,
|
||||
#endif
|
||||
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
|
||||
index 73063faee6..ad05c41f22 100644
|
||||
--- a/board/ti/am57xx/board.c
|
||||
+++ b/board/ti/am57xx/board.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <mmc.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <hang.h>
|
||||
+#include <i2c.h>
|
||||
|
||||
#include "../common/board_detect.h"
|
||||
#include "mux_data.h"
|
||||
@@ -528,8 +529,10 @@ void do_board_detect(void)
|
||||
|
||||
rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
|
||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
||||
- if (rc)
|
||||
+ if (rc) {
|
||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
||||
+ ti_i2c_eeprom_am_set("BBONE-AI", "A");
|
||||
+ };
|
||||
|
||||
#ifdef CONFIG_SUPPORT_EMMC_BOOT
|
||||
rc = board_bootmode_has_emmc();
|
||||
@@ -579,6 +582,164 @@ void do_board_detect(void)
|
||||
"Board: %s REV %s\n", bname, board_ti_get_rev());
|
||||
}
|
||||
|
||||
+struct am335x_cape_eeprom_id {
|
||||
+ unsigned int header;
|
||||
+ char eeprom_rev[2];
|
||||
+ char board_name[32];
|
||||
+ char version[4];
|
||||
+ char manufacture[16];
|
||||
+ char part_number[16];
|
||||
+ char number_of_pins[2];
|
||||
+ char serial_number[12];
|
||||
+ char pin_usage[140];
|
||||
+ char vdd_3v3exp[ 2];
|
||||
+ char vdd_5v[ 2];
|
||||
+ char sys_5v[2];
|
||||
+ char dc_supplied[2];
|
||||
+};
|
||||
+
|
||||
+#define CAPE_EEPROM_BUS_NUM 3
|
||||
+#define CAPE_EEPROM_ADDR0 0x54
|
||||
+#define CAPE_EEPROM_ADDR1 0x55
|
||||
+#define CAPE_EEPROM_ADDR2 0x56
|
||||
+#define CAPE_EEPROM_ADDR3 0x57
|
||||
+
|
||||
+#define CAPE_EEPROM_ADDR_LEN 0x10
|
||||
+
|
||||
+static int probe_cape_eeprom(struct am335x_cape_eeprom_id *cape_header)
|
||||
+{
|
||||
+ int ret;
|
||||
+ struct udevice *dev;
|
||||
+ unsigned char addr;
|
||||
+ /* /lib/firmware/BB-CAPE-DISP-CT4-00A0.dtbo */
|
||||
+ /* 14 + 16 + 1 + 4 + 5 = 40 */
|
||||
+ char hash_cape_overlay[40];
|
||||
+ char cape_overlay[26];
|
||||
+ char process_cape_part_number[16];
|
||||
+ char process_cape_version[4];
|
||||
+ char end_part_number;
|
||||
+ char cape_overlay_pass_to_kernel[18];
|
||||
+
|
||||
+ strlcpy(cape_overlay_pass_to_kernel, "", 1);
|
||||
+
|
||||
+ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) {
|
||||
+ ret = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev);
|
||||
+ if (ret) {
|
||||
+ printf("BeagleBone Cape EEPROM: no EEPROM at address: 0x%x\n", addr);
|
||||
+ } else {
|
||||
+ printf("BeagleBone Cape EEPROM: found EEPROM at address: 0x%x\n", addr);
|
||||
+
|
||||
+ ret = i2c_set_chip_offset_len(dev, 2);
|
||||
+ if (ret) {
|
||||
+ printf("BeagleBone Cape EEPROM: i2c_set_chip_offset_len failure\n");
|
||||
+ }
|
||||
+
|
||||
+ ret = dm_i2c_read(dev, 0, (uchar *)cape_header, sizeof(struct am335x_cape_eeprom_id));
|
||||
+ if (ret) {
|
||||
+ printf("BeagleBone Cape EEPROM: Cannot read eeprom params\n");
|
||||
+ }
|
||||
+
|
||||
+ if (cape_header->header == 0xEE3355AA) {
|
||||
+ strlcpy(hash_cape_overlay, "/lib/firmware/", 14 + 1);
|
||||
+ strlcpy(cape_overlay, "", 2);
|
||||
+ strlcpy(cape_overlay_pass_to_kernel, "", 2);
|
||||
+ strlcpy(process_cape_part_number, "...............", 16 + 1);
|
||||
+ strlcpy(process_cape_version, "...", 4 + 1);
|
||||
+
|
||||
+ strlcpy(process_cape_part_number, cape_header->part_number, 16 + 1);
|
||||
+ printf("BeagleBone Cape EEPROM: debug part_number field:[%s]\n", process_cape_part_number);
|
||||
+
|
||||
+ //FIXME: some capes end with '.'
|
||||
+ if ( process_cape_part_number[15] == 0x2E ) {
|
||||
+ puts("debug: fixup, extra . in eeprom field\n");
|
||||
+ process_cape_part_number[15] = 0x00;
|
||||
+ if ( process_cape_part_number[14] == 0x2E ) {
|
||||
+ process_cape_part_number[14] = 0x00;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ //Find ending 0x00 or 0xFF
|
||||
+ puts("BeagleBone Cape EEPROM: debug part_number field HEX:[");
|
||||
+ end_part_number=16;
|
||||
+ for ( int i=0; i <= 16; i++ ) {
|
||||
+ if (( process_cape_part_number[i] == 0x00 ) || ( process_cape_part_number[i] == 0xFF )) {
|
||||
+ end_part_number=i;
|
||||
+ i=17;
|
||||
+ } else {
|
||||
+ printf("%x", process_cape_part_number[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ puts("]\n");
|
||||
+
|
||||
+ strncat(cape_overlay_pass_to_kernel, process_cape_part_number, end_part_number);
|
||||
+ strncat(cape_overlay_pass_to_kernel, ",", 1);
|
||||
+ //printf("debug: %s\n", cape_overlay_pass_to_kernel);
|
||||
+
|
||||
+ strncat(hash_cape_overlay, process_cape_part_number, end_part_number);
|
||||
+ strncat(cape_overlay, process_cape_part_number, end_part_number);
|
||||
+ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay);
|
||||
+
|
||||
+ strncat(hash_cape_overlay, "-", 1);
|
||||
+ strncat(cape_overlay, "-", 1);
|
||||
+ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay);
|
||||
+
|
||||
+ strlcpy(process_cape_version, cape_header->version, 4 + 1);
|
||||
+ //printf("debug: version field:[%s]\n", process_cape_version);
|
||||
+
|
||||
+ //Find invalid 0xFF -> 0x30 BBAI FAN Cape...
|
||||
+ puts("BeagleBone Cape EEPROM: debug version field HEX:[");
|
||||
+ for ( int i=0; i <= 3; i++ ) {
|
||||
+ printf("%x", process_cape_version[i]);
|
||||
+ if ( process_cape_version[i] == 0xFF ) {
|
||||
+ process_cape_version[i] = 0x30;
|
||||
+ }
|
||||
+ }
|
||||
+ puts("]\n");
|
||||
+
|
||||
+ strncat(hash_cape_overlay, process_cape_version, 4);
|
||||
+ strncat(cape_overlay, process_cape_version, 4);
|
||||
+ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay);
|
||||
+
|
||||
+ strncat(hash_cape_overlay, ".dtbo", 5);
|
||||
+ strncat(cape_overlay, ".dtbo", 5);
|
||||
+ //printf("debug: %s %s\n", hash_cape_overlay, cape_overlay);
|
||||
+
|
||||
+ printf("BeagleBone Cape EEPROM: 0x%x %s\n", addr, cape_overlay);
|
||||
+
|
||||
+ switch(addr) {
|
||||
+ case CAPE_EEPROM_ADDR0:
|
||||
+ env_set("uboot_overlay_addr0", cape_overlay);
|
||||
+ env_set("uboot_detected_capes_addr0", cape_overlay_pass_to_kernel);
|
||||
+ break;
|
||||
+ case CAPE_EEPROM_ADDR1:
|
||||
+ env_set("uboot_overlay_addr1", cape_overlay);
|
||||
+ env_set("uboot_detected_capes_addr1", cape_overlay_pass_to_kernel);
|
||||
+ break;
|
||||
+ case CAPE_EEPROM_ADDR2:
|
||||
+ env_set("uboot_overlay_addr2", cape_overlay);
|
||||
+ env_set("uboot_detected_capes_addr2", cape_overlay_pass_to_kernel);
|
||||
+ break;
|
||||
+ case CAPE_EEPROM_ADDR3:
|
||||
+ env_set("uboot_overlay_addr3", cape_overlay);
|
||||
+ env_set("uboot_detected_capes_addr3", cape_overlay_pass_to_kernel);
|
||||
+ break;
|
||||
+ }
|
||||
+ env_set("uboot_detected_capes", "1");
|
||||
+ } else {
|
||||
+ printf("BeagleBone Cape EEPROM: EEPROM contents not valid (or blank) on address: 0x%x\n", addr);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void do_cape_detect(void)
|
||||
+{
|
||||
+ struct am335x_cape_eeprom_id cape_header;
|
||||
+
|
||||
+ probe_cape_eeprom(&cape_header);
|
||||
+}
|
||||
+
|
||||
static void setup_board_eeprom_env(void)
|
||||
{
|
||||
char *name = "beagle_x15";
|
||||
@@ -782,8 +943,10 @@ int board_late_init(void)
|
||||
/* Just probe the potentially supported cdce913 device */
|
||||
uclass_get_device(UCLASS_CLK, 0, &dev);
|
||||
|
||||
- if (board_is_bbai())
|
||||
+ if (board_is_bbai()) {
|
||||
env_set("console", "ttyS0,115200n8");
|
||||
+ do_cape_detect();
|
||||
+ }
|
||||
|
||||
#if !defined(CONFIG_SPL_BUILD)
|
||||
board_ti_set_ethaddr(2);
|
||||
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
|
||||
index 4da4aaa1c7..ed5b8aec16 100644
|
||||
--- a/configs/am57xx_evm_defconfig
|
||||
+++ b/configs/am57xx_evm_defconfig
|
||||
@@ -10,16 +10,20 @@ CONFIG_SPL_TEXT_BASE=0x40300000
|
||||
CONFIG_OMAP54XX=y
|
||||
CONFIG_TARGET_AM57XX_EVM=y
|
||||
CONFIG_SPL=y
|
||||
-CONFIG_ENV_OFFSET_REDUND=0x280000
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI_SUPPORT=y
|
||||
CONFIG_ARMV7_LPAE=y
|
||||
-CONFIG_DEFAULT_DEVICE_TREE="am572x-idk"
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15-revc"
|
||||
CONFIG_AHCI=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
# CONFIG_USE_SPL_FIT_GENERATOR is not set
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_BOOTDELAY=1
|
||||
+CONFIG_AUTOBOOT_KEYED=y
|
||||
+CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
|
||||
+CONFIG_AUTOBOOT_DELAY_STR="d"
|
||||
+CONFIG_AUTOBOOT_STOP_STR=" "
|
||||
CONFIG_USE_BOOTARGS=y
|
||||
CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board"
|
||||
# CONFIG_USE_BOOTCOMMAND is not set
|
||||
@@ -48,13 +52,12 @@ CONFIG_BOOTP_DNS2=y
|
||||
CONFIG_CMD_AVB=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
-CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk"
|
||||
+CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai"
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
-CONFIG_ENV_IS_IN_MMC=y
|
||||
-CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||
+# CONFIG_ENV_IS_IN_FAT is not set
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
-CONFIG_SYS_MMC_ENV_DEV=1
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+# CONFIG_SPL_ENV_IS_NOWHERE is not set
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_BOOTP_SEND_HOSTNAME=y
|
||||
CONFIG_DM=y
|
||||
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
|
||||
index f13e9e5264..eabd03e27d 100644
|
||||
--- a/include/configs/ti_armv7_common.h
|
||||
+++ b/include/configs/ti_armv7_common.h
|
||||
@@ -92,6 +92,413 @@
|
||||
#define CONFIG_SYS_I2C
|
||||
#endif
|
||||
|
||||
+#define EEPROM_PROGRAMMING \
|
||||
+ "eeprom_dump=i2c dev 0; " \
|
||||
+ "i2c md 0x50 0x00.2 20; " \
|
||||
+ "\0" \
|
||||
+ "eeprom_blank=i2c dev 0; " \
|
||||
+ "i2c mw 0x50 0x00.2 ff; " \
|
||||
+ "i2c mw 0x50 0x01.2 ff; " \
|
||||
+ "i2c mw 0x50 0x02.2 ff; " \
|
||||
+ "i2c mw 0x50 0x03.2 ff; " \
|
||||
+ "i2c mw 0x50 0x04.2 ff; " \
|
||||
+ "i2c mw 0x50 0x05.2 ff; " \
|
||||
+ "i2c mw 0x50 0x06.2 ff; " \
|
||||
+ "i2c mw 0x50 0x07.2 ff; " \
|
||||
+ "i2c mw 0x50 0x08.2 ff; " \
|
||||
+ "i2c mw 0x50 0x09.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0a.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0b.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0c.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0d.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0e.2 ff; " \
|
||||
+ "i2c mw 0x50 0x0f.2 ff; " \
|
||||
+ "i2c mw 0x50 0x10.2 ff; " \
|
||||
+ "i2c mw 0x50 0x11.2 ff; " \
|
||||
+ "i2c mw 0x50 0x12.2 ff; " \
|
||||
+ "i2c mw 0x50 0x13.2 ff; " \
|
||||
+ "i2c mw 0x50 0x14.2 ff; " \
|
||||
+ "i2c mw 0x50 0x15.2 ff; " \
|
||||
+ "i2c mw 0x50 0x16.2 ff; " \
|
||||
+ "i2c mw 0x50 0x17.2 ff; " \
|
||||
+ "i2c mw 0x50 0x18.2 ff; " \
|
||||
+ "i2c mw 0x50 0x19.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1a.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1b.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1c.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1d.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1e.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1f.2 ff; " \
|
||||
+ "i2c md 0x50 0x00.2 20; " \
|
||||
+ "\0" \
|
||||
+ "eeprom_x15_b1=i2c dev 0; " \
|
||||
+ "i2c mw 0x50 0x00.2 aa; " \
|
||||
+ "i2c mw 0x50 0x01.2 55; " \
|
||||
+ "i2c mw 0x50 0x02.2 33; " \
|
||||
+ "i2c mw 0x50 0x03.2 ee; " \
|
||||
+ "i2c mw 0x50 0x04.2 42; " \
|
||||
+ "i2c mw 0x50 0x05.2 42; " \
|
||||
+ "i2c mw 0x50 0x06.2 52; " \
|
||||
+ "i2c mw 0x50 0x07.2 44; " \
|
||||
+ "i2c mw 0x50 0x08.2 58; " \
|
||||
+ "i2c mw 0x50 0x09.2 31; " \
|
||||
+ "i2c mw 0x50 0x0a.2 35; " \
|
||||
+ "i2c mw 0x50 0x0b.2 5f; " \
|
||||
+ "i2c mw 0x50 0x0c.2 42; " \
|
||||
+ "i2c mw 0x50 0x0d.2 2e; " \
|
||||
+ "i2c mw 0x50 0x0e.2 31; " \
|
||||
+ "i2c mw 0x50 0x0f.2 30; " \
|
||||
+ "i2c mw 0x50 0x10.2 57; " \
|
||||
+ "i2c mw 0x50 0x11.2 57; " \
|
||||
+ "i2c mw 0x50 0x12.2 59; " \
|
||||
+ "i2c mw 0x50 0x13.2 59; " \
|
||||
+ "i2c mw 0x50 0x14.2 34; " \
|
||||
+ "i2c mw 0x50 0x15.2 50; " \
|
||||
+ "i2c mw 0x50 0x16.2 35; " \
|
||||
+ "i2c mw 0x50 0x17.2 35; " \
|
||||
+ "i2c mw 0x50 0x18.2 30; " \
|
||||
+ "i2c mw 0x50 0x19.2 30; " \
|
||||
+ "i2c mw 0x50 0x1a.2 30; " \
|
||||
+ "i2c mw 0x50 0x1b.2 30; " \
|
||||
+ "i2c mw 0x50 0x1c.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1d.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1e.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1f.2 ff; " \
|
||||
+ "i2c md 0x50 0x00.2 20; " \
|
||||
+ "\0" \
|
||||
+ "eeprom_x15_c=i2c dev 0; " \
|
||||
+ "i2c mw 0x50 0x00.2 aa; " \
|
||||
+ "i2c mw 0x50 0x01.2 55; " \
|
||||
+ "i2c mw 0x50 0x02.2 33; " \
|
||||
+ "i2c mw 0x50 0x03.2 ee; " \
|
||||
+ "i2c mw 0x50 0x04.2 42; " \
|
||||
+ "i2c mw 0x50 0x05.2 42; " \
|
||||
+ "i2c mw 0x50 0x06.2 52; " \
|
||||
+ "i2c mw 0x50 0x07.2 44; " \
|
||||
+ "i2c mw 0x50 0x08.2 58; " \
|
||||
+ "i2c mw 0x50 0x09.2 31; " \
|
||||
+ "i2c mw 0x50 0x0a.2 35; " \
|
||||
+ "i2c mw 0x50 0x0b.2 5f; " \
|
||||
+ "i2c mw 0x50 0x0c.2 43; " \
|
||||
+ "i2c mw 0x50 0x0d.2 2e; " \
|
||||
+ "i2c mw 0x50 0x0e.2 30; " \
|
||||
+ "i2c mw 0x50 0x0f.2 30; " \
|
||||
+ "i2c mw 0x50 0x10.2 79; " \
|
||||
+ "i2c mw 0x50 0x11.2 79; " \
|
||||
+ "i2c mw 0x50 0x12.2 77; " \
|
||||
+ "i2c mw 0x50 0x13.2 77; " \
|
||||
+ "i2c mw 0x50 0x14.2 50; " \
|
||||
+ "i2c mw 0x50 0x15.2 58; " \
|
||||
+ "i2c mw 0x50 0x16.2 31; " \
|
||||
+ "i2c mw 0x50 0x17.2 35; " \
|
||||
+ "i2c mw 0x50 0x18.2 6e; " \
|
||||
+ "i2c mw 0x50 0x19.2 6e; " \
|
||||
+ "i2c mw 0x50 0x1a.2 6e; " \
|
||||
+ "i2c mw 0x50 0x1b.2 6e; " \
|
||||
+ "i2c mw 0x50 0x1c.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1d.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1e.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1f.2 ff; " \
|
||||
+ "i2c md 0x50 0x00.2 20; " \
|
||||
+ "eeprom_bbai_a2=i2c dev 0; " \
|
||||
+ "i2c mw 0x50 0x00.2 aa; " \
|
||||
+ "i2c mw 0x50 0x01.2 55; " \
|
||||
+ "i2c mw 0x50 0x02.2 33; " \
|
||||
+ "i2c mw 0x50 0x03.2 ee; " \
|
||||
+ "i2c mw 0x50 0x04.2 42; " \
|
||||
+ "i2c mw 0x50 0x05.2 42; " \
|
||||
+ "i2c mw 0x50 0x06.2 4F; " \
|
||||
+ "i2c mw 0x50 0x07.2 4E; " \
|
||||
+ "i2c mw 0x50 0x08.2 45; " \
|
||||
+ "i2c mw 0x50 0x09.2 2D; " \
|
||||
+ "i2c mw 0x50 0x0a.2 41; " \
|
||||
+ "i2c mw 0x50 0x0b.2 49; " \
|
||||
+ "i2c mw 0x50 0x0c.2 30; " \
|
||||
+ "i2c mw 0x50 0x0d.2 30; " \
|
||||
+ "i2c mw 0x50 0x0e.2 41; " \
|
||||
+ "i2c mw 0x50 0x0f.2 32; " \
|
||||
+ "i2c mw 0x50 0x10.2 57; " \
|
||||
+ "i2c mw 0x50 0x11.2 57; " \
|
||||
+ "i2c mw 0x50 0x12.2 59; " \
|
||||
+ "i2c mw 0x50 0x13.2 59; " \
|
||||
+ "i2c mw 0x50 0x14.2 53; " \
|
||||
+ "i2c mw 0x50 0x15.2 42; " \
|
||||
+ "i2c mw 0x50 0x16.2 41; " \
|
||||
+ "i2c mw 0x50 0x17.2 49; " \
|
||||
+ "i2c mw 0x50 0x18.2 30; " \
|
||||
+ "i2c mw 0x50 0x19.2 30; " \
|
||||
+ "i2c mw 0x50 0x1a.2 30; " \
|
||||
+ "i2c mw 0x50 0x1b.2 30; " \
|
||||
+ "i2c mw 0x50 0x1c.2 30; " \
|
||||
+ "i2c mw 0x50 0x1d.2 30; " \
|
||||
+ "i2c mw 0x50 0x1e.2 ff; " \
|
||||
+ "i2c mw 0x50 0x1f.2 ff; " \
|
||||
+ "i2c md 0x50 0x00.2 20; " \
|
||||
+ "\0" \
|
||||
+
|
||||
+#define EEWIKI_MMC_BOOT \
|
||||
+ "mmc_boot=${devtype} dev ${mmcdev}; ${devtype} part; " \
|
||||
+ "if ${devtype} rescan; then " \
|
||||
+ "echo Scanning ${devtype} device ${mmcdev};" \
|
||||
+ "setenv bootpart ${mmcdev}:1; " \
|
||||
+ "echo Checking for: /uEnv.txt ...;" \
|
||||
+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /uEnv.txt;" \
|
||||
+ "echo Checking if uenvcmd is set ...;" \
|
||||
+ "if test -n ${uenvcmd}; then " \
|
||||
+ "echo Running uenvcmd ...;" \
|
||||
+ "run uenvcmd;" \
|
||||
+ "fi;" \
|
||||
+ "fi; " \
|
||||
+ "echo Checking for: /boot/uEnv.txt ...;" \
|
||||
+ "for i in 1 2 3 4 5 6 7 ; do " \
|
||||
+ "setenv mmcpart ${i};" \
|
||||
+ "setenv bootpart ${mmcdev}:${mmcpart};" \
|
||||
+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /boot/uEnv.txt;" \
|
||||
+ "if test -n ${dtb}; then " \
|
||||
+ "setenv fdtfile ${dtb};" \
|
||||
+ "echo debug: [dtb=${fdtfile}] ...;" \
|
||||
+ "fi;" \
|
||||
+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \
|
||||
+ "if test -n ${uname_r}; then " \
|
||||
+ "echo debug: [uname_r=${uname_r}] ...;" \
|
||||
+ "setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart};" \
|
||||
+ "run uname_boot;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "done;" \
|
||||
+ "fi;\0" \
|
||||
+
|
||||
+#define EEWIKI_SCSI_BOOT \
|
||||
+ "scsi_boot=${devtype} reset ; " \
|
||||
+ "if ${devtype} dev ${mmcdev}; then " \
|
||||
+ "echo Scanning ${devtype} device ${mmcdev};" \
|
||||
+ "setenv bootpart ${mmcdev}:1; " \
|
||||
+ "echo Checking for: /uEnv.txt ...;" \
|
||||
+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /uEnv.txt;" \
|
||||
+ "echo Checking if uenvcmd is set ...;" \
|
||||
+ "if test -n ${uenvcmd}; then " \
|
||||
+ "echo Running uenvcmd ...;" \
|
||||
+ "run uenvcmd;" \
|
||||
+ "fi;" \
|
||||
+ "fi; " \
|
||||
+ "echo Checking for: /boot/uEnv.txt ...;" \
|
||||
+ "for i in 1 2 3 4 ; do " \
|
||||
+ "setenv mmcpart ${i};" \
|
||||
+ "setenv bootpart ${mmcdev}:${mmcpart};" \
|
||||
+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /boot/uEnv.txt;" \
|
||||
+ "if test -n ${dtb}; then " \
|
||||
+ "setenv fdtfile ${dtb};" \
|
||||
+ "echo debug: [dtb=${fdtfile}] ...;" \
|
||||
+ "fi;" \
|
||||
+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \
|
||||
+ "if test -n ${uname_r}; then " \
|
||||
+ "echo debug: [uname_r=${uname_r}] ...;" \
|
||||
+ "setenv oldroot /dev/sda${mmcpart};" \
|
||||
+ "run uname_boot;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "done;" \
|
||||
+ "fi;\0" \
|
||||
+
|
||||
+#define EEWIKI_USB_BOOT \
|
||||
+ "usb_boot=${devtype} reset ; " \
|
||||
+ "if ${devtype} dev ${mmcdev}; then " \
|
||||
+ "echo Scanning ${devtype} device ${mmcdev};" \
|
||||
+ "setenv bootpart ${mmcdev}:1; " \
|
||||
+ "echo Checking for: /uEnv.txt ...;" \
|
||||
+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /uEnv.txt;" \
|
||||
+ "echo Checking if uenvcmd is set in /uEnv.txt ...;" \
|
||||
+ "if test -n ${uenvcmd}; then " \
|
||||
+ "echo Running uenvcmd ...;" \
|
||||
+ "run uenvcmd;" \
|
||||
+ "fi;" \
|
||||
+ "fi; " \
|
||||
+ "echo Checking for: /boot/uEnv.txt ...;" \
|
||||
+ "for i in 1 2 3 4 ; do " \
|
||||
+ "setenv mmcpart ${i};" \
|
||||
+ "setenv bootpart ${mmcdev}:${mmcpart};" \
|
||||
+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \
|
||||
+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \
|
||||
+ "env import -t ${loadaddr} ${filesize};" \
|
||||
+ "echo Loaded environment from /boot/uEnv.txt;" \
|
||||
+ "if test -n ${dtb}; then " \
|
||||
+ "setenv fdtfile ${dtb};" \
|
||||
+ "echo debug: [dtb=${fdtfile}] ...;" \
|
||||
+ "fi;" \
|
||||
+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \
|
||||
+ "if test -n ${uname_r}; then " \
|
||||
+ "echo debug: [uname_r=${uname_r}] ...;" \
|
||||
+ "setenv oldroot /dev/sda${mmcpart};" \
|
||||
+ "run uname_boot;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "done;" \
|
||||
+ "fi;\0" \
|
||||
+
|
||||
+#define EEWIKI_UNAME_BOOT \
|
||||
+ "uname_boot="\
|
||||
+ "setenv bootdir /boot; " \
|
||||
+ "setenv bootfile vmlinuz-${uname_r}; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then " \
|
||||
+ "echo loading ${bootdir}/${bootfile} ...; "\
|
||||
+ "run loadimage;" \
|
||||
+ "setenv fdtdir /boot/dtbs/${uname_r}; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /boot/dtb-${uname_r}; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /boot/dtbs; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /boot/dtb; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "setenv fdtdir /boot; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \
|
||||
+ "run loadfdt;" \
|
||||
+ "else " \
|
||||
+ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\
|
||||
+ "run args_mmc;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi; " \
|
||||
+ "if test -n ${enable_uboot_overlays}; then " \
|
||||
+ "setenv fdt_buffer 0x60000;" \
|
||||
+ "if test -n ${uboot_fdt_buffer}; then " \
|
||||
+ "setenv fdt_buffer ${uboot_fdt_buffer};" \
|
||||
+ "fi;" \
|
||||
+ "echo uboot_overlays: [fdt_buffer=${fdt_buffer}] ... ;" \
|
||||
+ "if test -n ${uboot_overlay_addr0}; then " \
|
||||
+ "if test -n ${disable_uboot_overlay_addr0}; then " \
|
||||
+ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr0}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr0=1]...;" \
|
||||
+ "else " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr0}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr1}; then " \
|
||||
+ "if test -n ${disable_uboot_overlay_addr1}; then " \
|
||||
+ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr1}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr1=1]...;" \
|
||||
+ "else " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr1}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr2}; then " \
|
||||
+ "if test -n ${disable_uboot_overlay_addr2}; then " \
|
||||
+ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr2}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr2=1]...;" \
|
||||
+ "else " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr2}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr3}; then " \
|
||||
+ "if test -n ${disable_uboot_overlay_addr3}; then " \
|
||||
+ "echo uboot_overlays: uboot loading of [${uboot_overlay_addr3}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr3=1]...;" \
|
||||
+ "else " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr3}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr4}; then " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr4}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr5}; then " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr5}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr6}; then " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr6}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_addr7}; then " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_addr7}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uboot_overlay_pru}; then " \
|
||||
+ "setenv uboot_overlay ${uboot_overlay_pru}; " \
|
||||
+ "run virtualloadoverlay;" \
|
||||
+ "fi;" \
|
||||
+ "else " \
|
||||
+ "echo uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...;" \
|
||||
+ "fi;" \
|
||||
+ "setenv rdfile initrd.img-${uname_r}; " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then " \
|
||||
+ "echo loading ${bootdir}/${rdfile} ...; "\
|
||||
+ "run loadrd;" \
|
||||
+ "if test -n ${netinstall_enable}; then " \
|
||||
+ "run args_netinstall; run message;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uenv_root}; then " \
|
||||
+ "run args_uenv_root;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "if test -n ${uuid}; then " \
|
||||
+ "run args_mmc_uuid;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
|
||||
+ "else " \
|
||||
+ "run args_mmc_old;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "else " \
|
||||
+ "if test -n ${uenv_root}; then " \
|
||||
+ "run args_uenv_root;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} - ${fdtaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "run args_mmc_old;" \
|
||||
+ "echo debug: [${bootargs}] ... ;" \
|
||||
+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \
|
||||
+ "bootz ${loadaddr} - ${fdtaddr}; " \
|
||||
+ "fi;" \
|
||||
+ "fi;\0" \
|
||||
+
|
||||
/*
|
||||
* The following are general good-enough settings for U-Boot. We set a
|
||||
* large malloc pool as we generally have a lot of DDR, and we opt for
|
||||
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
|
||||
index de0a6af2fd..0cd2ccea03 100644
|
||||
--- a/include/configs/ti_omap5_common.h
|
||||
+++ b/include/configs/ti_omap5_common.h
|
||||
@@ -64,6 +64,11 @@
|
||||
DEFAULT_FIT_TI_ARGS \
|
||||
DEFAULT_COMMON_BOOT_TI_ARGS \
|
||||
DEFAULT_FDT_TI_ARGS \
|
||||
+ EEWIKI_USB_BOOT \
|
||||
+ EEWIKI_SCSI_BOOT \
|
||||
+ EEWIKI_MMC_BOOT \
|
||||
+ EEWIKI_UNAME_BOOT \
|
||||
+ EEPROM_PROGRAMMING \
|
||||
DFUARGS \
|
||||
NETARGS \
|
||||
NANDARGS \
|
||||
diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h
|
||||
index a9d8f28d46..1480b6e3df 100644
|
||||
--- a/include/environment/ti/boot.h
|
||||
+++ b/include/environment/ti/boot.h
|
||||
@@ -132,6 +132,7 @@
|
||||
"bootpart=0:2\0" \
|
||||
"bootdir=/boot\0" \
|
||||
"bootfile=zImage\0" \
|
||||
+ "board_eeprom_header=undefined\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"vram=16M\0" \
|
||||
AVB_VERIFY_CMD \
|
||||
@@ -183,7 +184,14 @@
|
||||
"else " \
|
||||
"echo $apart partition not found; " \
|
||||
"exit; " \
|
||||
- "fi;\0"
|
||||
+ "fi;\0 " \
|
||||
+ "read_board_eeprom=" \
|
||||
+ "if test $board_eeprom_header = beagle_x15_revb1_blank; then " \
|
||||
+ "run eeprom_dump; run eeprom_x15_b1; reset; fi; " \
|
||||
+ "if test $board_eeprom_header = beagle_x15_revc_blank; then " \
|
||||
+ "run eeprom_dump; run eeprom_x15_c; reset; fi; " \
|
||||
+ "if test $board_eeprom_header = bbai_a2_blank; then " \
|
||||
+ "run eeprom_dump; run eeprom_bbai_a2; reset; fi; \0 "
|
||||
|
||||
#ifdef CONFIG_OMAP54XX
|
||||
|
||||
@@ -223,19 +231,17 @@
|
||||
"echo WARNING: Could not determine device tree to use; fi; \0"
|
||||
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
- "if test ${dofastboot} -eq 1; then " \
|
||||
- "echo Boot fastboot requested, resetting dofastboot ...;" \
|
||||
- "setenv dofastboot 0; saveenv;" \
|
||||
- FASTBOOT_CMD \
|
||||
- "fi;" \
|
||||
- "if test ${boot_fit} -eq 1; then " \
|
||||
- "run update_to_fit;" \
|
||||
- "fi;" \
|
||||
+ "run read_board_eeprom; " \
|
||||
"run findfdt; " \
|
||||
- "run envboot; " \
|
||||
- "run mmcboot;" \
|
||||
- "run emmc_linux_boot; " \
|
||||
- "run emmc_android_boot; " \
|
||||
+ "setenv mmcdev 0; " \
|
||||
+ "setenv devtype usb; " \
|
||||
+ "echo usb_boot is currently disabled;" \
|
||||
+ "setenv devtype scsi; " \
|
||||
+ "echo scsi_boot is currently disabled;" \
|
||||
+ "setenv devtype mmc; " \
|
||||
+ "run mmc_boot;" \
|
||||
+ "setenv mmcdev 1; " \
|
||||
+ "run mmc_boot;" \
|
||||
""
|
||||
|
||||
#endif /* CONFIG_OMAP54XX */
|
||||
diff --git a/include/environment/ti/mmc.h b/include/environment/ti/mmc.h
|
||||
index b86c8dc7a4..0ec09f279a 100644
|
||||
--- a/include/environment/ti/mmc.h
|
||||
+++ b/include/environment/ti/mmc.h
|
||||
@@ -11,11 +11,31 @@
|
||||
#define DEFAULT_MMC_TI_ARGS \
|
||||
"mmcdev=0\0" \
|
||||
"mmcrootfstype=ext4 rootwait\0" \
|
||||
- "finduuid=part uuid mmc ${bootpart} uuid\0" \
|
||||
+ "finduuid=part uuid ${devtype} ${bootpart} uuid\0" \
|
||||
"args_mmc=run finduuid;setenv bootargs console=${console} " \
|
||||
"${optargs} " \
|
||||
- "root=PARTUUID=${uuid} rw " \
|
||||
- "rootfstype=${mmcrootfstype}\0" \
|
||||
+ "root=PARTUUID=${uuid} ro " \
|
||||
+ "rootfstype=${mmcrootfstype} " \
|
||||
+ "${cmdline}\0" \
|
||||
+ "args_mmc_old=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
+ "root=${oldroot} ro " \
|
||||
+ "rootfstype=${mmcrootfstype} " \
|
||||
+ "${cmdline}\0" \
|
||||
+ "args_mmc_uuid=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
+ "root=UUID=${uuid} ro " \
|
||||
+ "rootfstype=${mmcrootfstype} " \
|
||||
+ "${cmdline}\0" \
|
||||
+ "args_uenv_root=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
+ "root=${uenv_root} ro " \
|
||||
+ "rootfstype=${mmcrootfstype} " \
|
||||
+ "${musb} ${cmdline}\0" \
|
||||
+ "args_netinstall=setenv bootargs ${netinstall_bootargs} " \
|
||||
+ "${optargs} " \
|
||||
+ "root=/dev/ram rw " \
|
||||
+ "${cmdline}\0" \
|
||||
"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
|
||||
"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
|
||||
"source ${loadaddr}\0" \
|
||||
@@ -24,7 +44,28 @@
|
||||
"env import -t ${loadaddr} ${filesize}\0" \
|
||||
"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \
|
||||
"loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
|
||||
- "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
|
||||
+ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \
|
||||
+ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \
|
||||
+ "loadoverlay=echo uboot_overlays: loading ${actual_uboot_overlay} ...; " \
|
||||
+ "load ${devtype} ${bootpart} ${rdaddr} ${actual_uboot_overlay}; " \
|
||||
+ "fdt addr ${fdtaddr}; fdt resize ${fdt_buffer}; " \
|
||||
+ "fdt apply ${rdaddr}; fdt resize ${fdt_buffer};\0" \
|
||||
+ "virtualloadoverlay=if test -e ${devtype} ${bootpart} ${fdtdir}/overlays/${uboot_overlay}; then " \
|
||||
+ "setenv actual_uboot_overlay ${fdtdir}/overlays/${uboot_overlay}; " \
|
||||
+ "run loadoverlay;" \
|
||||
+ "else " \
|
||||
+ "if test -e ${devtype} ${bootpart} /lib/firmware/${uboot_overlay}; then " \
|
||||
+ "setenv actual_uboot_overlay /lib/firmware/${uboot_overlay}; " \
|
||||
+ "run loadoverlay;" \
|
||||
+ "else " \
|
||||
+ "if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \
|
||||
+ "setenv actual_uboot_overlay ${uboot_overlay}; " \
|
||||
+ "run loadoverlay;" \
|
||||
+ "else " \
|
||||
+ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "fi;\0" \
|
||||
"envboot=mmc dev ${mmcdev}; " \
|
||||
"if mmc rescan; then " \
|
||||
"echo SD/MMC found on device ${mmcdev};" \
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2
|
||||
sha256 0d438b1bb5cceb57a18ea2de4a0d51f7be5b05b98717df05938636e0aadfe11a u-boot-2021.04.tar.bz2
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp board/beagleboard/beagleboneai/uEnv.txt "$BINARIES_DIR/uEnv.txt"
|
||||
cp board/beagleboard/beagleboneai/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
|
||||
# Locally calculated
|
||||
sha256 24fa01fb989c7a3e28453f117799168713766e119c5381dac30115f18f268149 linux-6.9.tar.xz
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../uboot/uboot.hash
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
|
||||
@@ -108,12 +108,12 @@ https://docs.beagleboard.org/latest/boards/beaglev/fire/demos-and-tutorials/gate
|
||||
Unzip the downloaded artifacts.zip file.
|
||||
|
||||
Go to the custom FPGA design directory:
|
||||
'cd artifacts/bitstreams/my_custom_fpga_design/LinuxProgramming/'
|
||||
'cd artifacts/bitstreams/my_custom_fpga_design'
|
||||
|
||||
On your Linux host development computer, copy the bitstream to BeagleV-Fire
|
||||
board, replacing </path/to/your/> with the path to your BeagleV-Fire root file
|
||||
system.
|
||||
'cp ./* /path/to/your/buildroot/board/beagleboard/beaglev_fire/rootfs-overlay/lib/firmware/'
|
||||
'cp -r ./LinuxProgramming /path/to/your/buildroot/board/beagleboard/beaglev_fire/rootfs-overlay/etc/'
|
||||
|
||||
To apply these changes to your image, make sure to re-build it with:
|
||||
`make`
|
||||
@@ -121,7 +121,14 @@ https://docs.beagleboard.org/latest/boards/beaglev/fire/demos-and-tutorials/gate
|
||||
Then, re-flash your image - to ensure you have the necessary firmware files - by
|
||||
following the above section "Flashing the image to your eMMC".
|
||||
|
||||
On BeagleV-Fire initiate the reprogramming of the FPGA with your gateware bitstream:
|
||||
`/usr/share/microchip/update-gateware.sh`
|
||||
On BeagleV-Fire,
|
||||
1. Make your update gateware script executable
|
||||
'chmod +x /usr/share/microchip/update-gateware.sh'
|
||||
2. Create a firmware directory
|
||||
'mkdir /lib/firmware'
|
||||
3. Change to the directory of your gateware script
|
||||
`cd /usr/share/microchip/`
|
||||
3. initiate the reprogramming of the FPGA with your gateware bitstream:
|
||||
'./update-gateware.sh /etc/LinuxProgramming/'
|
||||
|
||||
Wait for a couple of minutes for the BeagleV-Fire to reprogram itself.
|
||||
|
||||
@@ -11,5 +11,5 @@ bootm loados ${scriptaddr};
|
||||
# Try to load a ramdisk if available inside fitImage
|
||||
bootm ramdisk;
|
||||
bootm prep;
|
||||
run design_overlays;
|
||||
fdt set /soc/ethernet@20110000 mac-address ${beaglevfire_mac_addr0};
|
||||
bootm go;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 37191994758d521dc7223cb5010a67ef83bd061bf70194ea522abc9ef2b17391 linux-linux4microchip+fpga-2025.10.tar.gz
|
||||
sha256 dcb7b41fd363729675c34545fcb514d5a94dbb3714ee10f527a26ca7716c2579 linux-linux4microchip+fpga-2024.06.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 591c80f7e16d6f43192deb7ab7587ae81b31ba7c7de1a668c14b9997b6c976c8 uboot-linux4microchip+fpga-2025.10.tar.gz
|
||||
sha256 d461c45a9c5acd019776cdcf8ab2b571315282a880dd6580431f7dd5bfac3889 uboot-linux4microchip+fpga-2024.06.tar.gz
|
||||
|
||||
74
board/beagleboard/beaglev_fire/rootfs-overlay/usr/share/microchip/update-gateware.sh
Executable file → Normal file
74
board/beagleboard/beaglev_fire/rootfs-overlay/usr/share/microchip/update-gateware.sh
Executable file → Normal file
@@ -1,66 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No gateware location provided. Checking default location."
|
||||
if [ ! -e /lib/firmware/mpfs_bitstream.spi ]; then
|
||||
if [ ! -e "$1"/mpfs_bitstream.spi ]; then
|
||||
echo "No gateware file found."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Gateware location provided: $1"
|
||||
if [ ! -e "$1"/mpfs_bitstream.spi ]; then
|
||||
echo "No gateware file found."
|
||||
exit 1
|
||||
else
|
||||
if [ ! -d /lib/firmware ]; then
|
||||
mkdir /lib/firmware
|
||||
fi
|
||||
cp "$1"/mpfs_dtbo.spi /lib/firmware/mpfs_dtbo.spi
|
||||
cp "$1"/mpfs_bitstream.spi /lib/firmware/mpfs_bitstream.spi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d /lib/firmware ]
|
||||
then
|
||||
mkdir /lib/firmware
|
||||
fi
|
||||
|
||||
cp "$1"/mpfs_dtbo.spi /lib/firmware/mpfs_dtbo.spi
|
||||
cp "$1"/mpfs_bitstream.spi /lib/firmware/mpfs_bitstream.spi
|
||||
|
||||
mount -t debugfs none /sys/kernel/debug
|
||||
|
||||
# Trash existing device tree overlay in case the rest of the process fails:
|
||||
flash_erase /dev/mtd0 0 16
|
||||
flash_erase /dev/mtd0 0 1024
|
||||
|
||||
# Initiate FPGA update for dtbo
|
||||
echo 1 > /sys/class/firmware/mpfs-auto-update/loading
|
||||
|
||||
# Write device tree overlay
|
||||
cat /lib/firmware/mpfs_dtbo.spi > /sys/class/firmware/mpfs-auto-update/data
|
||||
|
||||
# Signal completion for dtbo load
|
||||
echo 0 > /sys/class/firmware/mpfs-auto-update/loading
|
||||
|
||||
while [ "$(cat /sys/class/firmware/mpfs-auto-update/status)" != "idle" ]; do
|
||||
# Do nothing, just keep checking
|
||||
sleep 1
|
||||
done
|
||||
# # Write device tree overlay
|
||||
dd if=/lib/firmware/mpfs_dtbo.spi of=/dev/mtd0 seek=1024
|
||||
|
||||
# Fake the presence of a golden image for now.
|
||||
dd if=/dev/zero of=/dev/mtd0 count=1 bs=4
|
||||
dd if=/dev/zero of=/dev/mtd0 count=4 bs=1
|
||||
|
||||
# Initiate FPGA update for bitstream
|
||||
echo 1 > /sys/class/firmware/mpfs-auto-update/loading
|
||||
# Initiate FPGA update.
|
||||
echo 1 > /sys/kernel/debug/fpga/microchip_exec_update
|
||||
|
||||
# Write the firmware image to the data sysfs file
|
||||
cat /lib/firmware/mpfs_bitstream.spi > /sys/class/firmware/mpfs-auto-update/data
|
||||
|
||||
# Signal completion for bitstream load
|
||||
echo 0 > /sys/class/firmware/mpfs-auto-update/loading
|
||||
|
||||
while [ "$(cat /sys/class/firmware/mpfs-auto-update/status)" != "idle" ]; do
|
||||
# Do nothing, just keep checking
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# When the status is 'idle' and no error has occured, reboot the system for
|
||||
# the gateware update to take effect. FPGA reprogramming takes places between
|
||||
# Linux shut-down and HSS restarting the board.
|
||||
if [ "$(cat /sys/class/firmware/mpfs-auto-update/error)" = "" ]; then
|
||||
echo "FPGA update ready. Rebooting."
|
||||
reboot
|
||||
else
|
||||
echo "FPGA update failed with status: $(cat /sys/class/firmware/mpfs-auto-update/error)"
|
||||
exit 1
|
||||
fi
|
||||
# Reboot Linux for the gateware update to take effect.
|
||||
# FPGA reprogramming takes places between Linux shut-down and HSS restarting the board.
|
||||
reboot
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
default buildroot
|
||||
label buildroot
|
||||
kernel /Image
|
||||
devicetreedir /
|
||||
append root=/dev/mmcblk1p2 rootwait rw console=ttyS2,115200n8
|
||||
@@ -1,32 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"tiboot3.bin",
|
||||
"tispl.bin",
|
||||
"u-boot.img",
|
||||
"Image",
|
||||
"ti",
|
||||
"extlinux",
|
||||
}
|
||||
|
||||
label = "boot"
|
||||
}
|
||||
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf
|
||||
@@ -1,38 +0,0 @@
|
||||
BeagleBoard.org BeagleY-AI Development Board
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This configuration will build a basic image for the BeagleBoard.org
|
||||
BeagleY-AI. For more details about the board, visit:
|
||||
|
||||
https://www.beagleboard.org/boards/beagley-ai
|
||||
|
||||
How to Build
|
||||
============
|
||||
|
||||
Select the default configuration for the target:
|
||||
|
||||
$ make beagley_ai_defconfig
|
||||
|
||||
Optional: modify the configuration:
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Build:
|
||||
|
||||
$ make
|
||||
|
||||
To copy the resulting output image file to an SD card use dd:
|
||||
|
||||
$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
|
||||
|
||||
How to Run
|
||||
==========
|
||||
|
||||
Insert the SD card into the BeagleY-AI board, and power it up
|
||||
through the USB Type-C connector. The system should come up.
|
||||
You can use a USB to serial adapter to connect to the connector
|
||||
labeled UART0 (J13) to communicate with the board.
|
||||
|
||||
https://docs.beagle.cc/boards/beagley/ai/02-quick-start.html
|
||||
4
board/beelink/gs1/extlinux.conf
Normal file
4
board/beelink/gs1/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-beelink-gs1.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
34
board/beelink/gs1/genimage.cfg
Normal file
34
board/beelink/gs1/genimage.cfg
Normal file
@@ -0,0 +1,34 @@
|
||||
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 = 8K
|
||||
size = 1016K # 1MB - 8KB
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user