Compare commits
211
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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:
|
||||
|
||||
+419
-39
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
|
||||
|
||||
@@ -13,4 +13,3 @@
|
||||
*.rej
|
||||
*~
|
||||
*.pyc
|
||||
/br.log
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+6
-1271
File diff suppressed because it is too large
Load Diff
+264
-376
File diff suppressed because it is too large
Load Diff
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2026.02-rc1
|
||||
export BR2_VERSION := 2024.08.1
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1771320000
|
||||
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` \
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
+21
-54
@@ -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
|
||||
|
||||
+6
-4
@@ -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
|
||||
|
||||
+2
-47
@@ -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
|
||||
@@ -504,28 +487,6 @@ config BR2_saphira
|
||||
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
|
||||
|
||||
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
|
||||
endchoice
|
||||
|
||||
config BR2_ARM_ENABLE_NEON
|
||||
@@ -785,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.
|
||||
@@ -798,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.
|
||||
@@ -914,16 +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 "saphira" if BR2_saphira
|
||||
# armv9.0a
|
||||
default "cortex-a710" if BR2_cortex_a710
|
||||
default "neoverse-n2" if BR2_neoverse_n2
|
||||
# armv9.2a
|
||||
default "cortex-a720" if BR2_cortex_a720
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 62148e7e17f54c4a5ab5e75ad4882682c54bee818948be61a5963234fc0849fc linux-6.11.11.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
|
||||
|
||||
+5
-11
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
+38
@@ -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
|
||||
|
||||
+42
@@ -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
|
||||
-34
@@ -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 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -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 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -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
|
||||
|
||||
-31
@@ -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
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 9b4ccec7d8ceff4824f149e476ec06e83c86546ae8af82582871647809a62ef0 linux-6.12.70.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
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz
|
||||
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz
|
||||
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 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.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
|
||||
|
||||
Executable → Regular
+20
-54
@@ -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 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 2bb586c954277d070c8fdf6d7275faa93b4807d9bf3353b491d8149cca02b4fc linux-6.15.6.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.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
|
||||
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-beelink-gs1.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user