Compare commits
175
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8526e60a1f | ||
|
|
fef893cb60 | ||
|
|
4ffcb0c8c4 | ||
|
|
a9e949d89a | ||
|
|
c8d49d4960 | ||
|
|
e21749eae4 | ||
|
|
0960917efa | ||
|
|
10023b7626 | ||
|
|
6750152143 | ||
|
|
7fe875886f | ||
|
|
021ff73ef8 | ||
|
|
b003fea63b | ||
|
|
53f9551e97 | ||
|
|
4057fc05a3 | ||
|
|
5e90868588 | ||
|
|
26509bc06e | ||
|
|
4d45256263 | ||
|
|
005014ccf3 | ||
|
|
58a3ae71a6 | ||
|
|
0f08a78c07 | ||
|
|
f788b19bdc | ||
|
|
65483f4905 | ||
|
|
2f7926e2ed | ||
|
|
28949d6684 | ||
|
|
be5dd7cdfe | ||
|
|
46f61f9e28 | ||
|
|
df930e56f3 | ||
|
|
c3a2dcadf0 | ||
|
|
3b6bef1948 | ||
|
|
d29729be3c | ||
|
|
62d2ea5ef7 | ||
|
|
d0d3df4322 | ||
|
|
9127d41489 | ||
|
|
135dfcdb95 | ||
|
|
a7ef9bee46 | ||
|
|
29c7a6c5af | ||
|
|
0b55d5c2fc | ||
|
|
5a618731c2 | ||
|
|
7ebedf94b5 | ||
|
|
acaf6162fd | ||
|
|
533376412e | ||
|
|
cbc2ba71f1 | ||
|
|
14c3a7d8cd | ||
|
|
4af4bb2314 | ||
|
|
541c543abf | ||
|
|
316e12f8cc | ||
|
|
5547abb237 | ||
|
|
5536261b3f | ||
|
|
29b6749994 | ||
|
|
99ef2d0457 | ||
|
|
0ff0ef16e5 | ||
|
|
2c343d4109 | ||
|
|
fba48064c3 | ||
|
|
9993970d69 | ||
|
|
ee17138465 | ||
|
|
3729b5ecd1 | ||
|
|
aed89aae18 | ||
|
|
82db018b93 | ||
|
|
283825c22e | ||
|
|
3264bdb37c | ||
|
|
d2b043bfd9 | ||
|
|
10a49ee6a4 | ||
|
|
f3170667f0 | ||
|
|
29bac1a29b | ||
|
|
12a5a21fee | ||
|
|
0aab578d48 | ||
|
|
9d33bfe809 | ||
|
|
05b182a3b1 | ||
|
|
2564310fa2 | ||
|
|
8bcd8a6480 | ||
|
|
b2a8693a8d | ||
|
|
caafa2d5d7 | ||
|
|
0595f7c933 | ||
|
|
ad202bc68f | ||
|
|
b5bfff37f5 | ||
|
|
b725916535 | ||
|
|
5455abbcc8 | ||
|
|
fdc95ef078 | ||
|
|
cae6106629 | ||
|
|
611458d90a | ||
|
|
d321e346d2 | ||
|
|
0f4d904ad2 | ||
|
|
81cc02542b | ||
|
|
a35554eccd | ||
|
|
9a1f0a5607 | ||
|
|
777993cad7 | ||
|
|
194f0bca92 | ||
|
|
76984ced00 | ||
|
|
5aab043b78 | ||
|
|
ea4538688c | ||
|
|
e55eab4b96 | ||
|
|
9f891e825b | ||
|
|
d1772f1ddc | ||
|
|
c6a59147ac | ||
|
|
f7474d1065 | ||
|
|
9a6a2f9155 | ||
|
|
a2c303136f | ||
|
|
773db648fb | ||
|
|
3b07e4b0df | ||
|
|
c0c62f8cf0 | ||
|
|
d1a9aa8f92 | ||
|
|
8529a89b0f | ||
|
|
280aa23da6 | ||
|
|
573f5a6f72 | ||
|
|
105ce13d21 | ||
|
|
5909f8eae3 | ||
|
|
fb163d2c7d | ||
|
|
71f9acc72b | ||
|
|
ed75806fe9 | ||
|
|
60a96b42a2 | ||
|
|
cf70203bef | ||
|
|
1f4e5eafdf | ||
|
|
d6aa7c6b88 | ||
|
|
5e0beb18fe | ||
|
|
be8bd8743d | ||
|
|
5a803337de | ||
|
|
337d2aa885 | ||
|
|
806bb4a0a4 | ||
|
|
5f24ed88e0 | ||
|
|
f72c3292dc | ||
|
|
20e8a02477 | ||
|
|
3b5860f271 | ||
|
|
9519bde956 | ||
|
|
92f06caf4d | ||
|
|
a3d291e8f6 | ||
|
|
bbde803252 | ||
|
|
3203bf348b | ||
|
|
681d9d7683 | ||
|
|
a84c3d64a6 | ||
|
|
ec1b39ed8a | ||
|
|
5c0d8ab627 | ||
|
|
3cd431470a | ||
|
|
32b652d878 | ||
|
|
95b0692375 | ||
|
|
063bd87947 | ||
|
|
51d582a623 | ||
|
|
d51cd29632 | ||
|
|
9fa2a798dc | ||
|
|
6c9852c602 | ||
|
|
8fe4a7c812 | ||
|
|
3a23349e8c | ||
|
|
3873fd438d | ||
|
|
8a7f607ccf | ||
|
|
8bedbdf1fe | ||
|
|
fef6c598c5 | ||
|
|
c1855c5abe | ||
|
|
df95958b06 | ||
|
|
e37071ceaf | ||
|
|
3d1cafbb87 | ||
|
|
7c72381423 | ||
|
|
3a8bd9fdb9 | ||
|
|
07c91947be | ||
|
|
c794ede3e9 | ||
|
|
ae514155a1 | ||
|
|
14a8579cd0 | ||
|
|
dad5eb46da | ||
|
|
02fc3473e1 | ||
|
|
69a90b0739 | ||
|
|
386bcabcda | ||
|
|
147b3aef88 | ||
|
|
869c1c8d37 | ||
|
|
776e237126 | ||
|
|
9f1369eade | ||
|
|
43c6a32de1 | ||
|
|
647aae2148 | ||
|
|
a0fe90a27a | ||
|
|
a886ecd9fb | ||
|
|
f09b54312d | ||
|
|
c9b6f41c43 | ||
|
|
0f887e8d41 | ||
|
|
c276902ffa | ||
|
|
cf19090b83 | ||
|
|
678146f2ad | ||
|
|
ad6bc91a0a | ||
|
|
03bf8df2e6 |
+78
-14
@@ -31,6 +31,7 @@ board/chromebook/snow/sign.sh Shellcheck
|
||||
board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch Upstream
|
||||
board/cubietech/cubieboard2/post-image.sh Shellcheck
|
||||
board/freescale/common/imx/imx8-bootloader-prepare.sh Shellcheck
|
||||
board/freescale/common/imx/post-image.sh Shellcheck
|
||||
board/freescale/common/mxs/post-image.sh Shellcheck
|
||||
board/freescale/imx6sabre/patches/uboot/0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch Upstream
|
||||
board/friendlyarm/nanopi-r2s/post-build.sh Shellcheck
|
||||
@@ -75,6 +76,7 @@ board/qemu/microblazebe-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch
|
||||
board/qemu/microblazeel-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch Upstream
|
||||
board/qemu/x86/post-build.sh Shellcheck
|
||||
board/qemu/x86_64/post-build.sh Shellcheck
|
||||
board/qmtech/zynq/patches/linux/0001-DTS-for-QMTech-Zynq-starter-kit.patch Upstream
|
||||
board/radxa/rockpi-n8/post-build.sh Shellcheck
|
||||
board/raspberrypi/post-build.sh Shellcheck
|
||||
board/raspberrypi/post-image.sh Shellcheck
|
||||
@@ -103,6 +105,7 @@ boot/at91bootstrap/0002-gcc-4.6.x-ldscript-fix.patch Upstream
|
||||
boot/at91bootstrap/0003-u-boot-relocation-fix.patch Upstream
|
||||
boot/at91dataflashboot/0001-do-not-install.patch Upstream
|
||||
boot/at91dataflashboot/0002-eabi-fixes.patch Upstream
|
||||
boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch Upstream
|
||||
boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch Upstream
|
||||
boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch Upstream
|
||||
boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch Upstream
|
||||
@@ -158,8 +161,11 @@ package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch Upstream
|
||||
package/asterisk/0002-configure-fix-detection-of-libcrypt.patch Upstream
|
||||
package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch Upstream
|
||||
package/asterisk/0004-install-samples-need-the-data-files.patch Upstream
|
||||
package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch Upstream
|
||||
package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch Upstream
|
||||
package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch Upstream
|
||||
package/at/S99at Indent Variables
|
||||
package/atest/0001-seq.h-fix-build-with-gcc-10.patch Upstream
|
||||
package/attr/0001-build-with-older-GCCs.patch Upstream
|
||||
package/audit/S02auditd Shellcheck Variables
|
||||
package/aufs-util/0001-remove-user-settings.patch Upstream
|
||||
@@ -177,6 +183,7 @@ package/bandwidthd/0001-src-bandwidthd.h-fix-build-with-gcc-10.patch Upstream
|
||||
package/bash/0001-input.h-add-missing-include-on-stdio.h.patch Upstream
|
||||
package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch Upstream
|
||||
package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch Upstream
|
||||
package/bayer2rgb-neon/0001-add-some-_always_inline_-annotations.patch Upstream
|
||||
package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch Upstream
|
||||
package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch Upstream
|
||||
package/bc/0003-dc-fix-exit-code-of-q-command.patch Upstream
|
||||
@@ -198,12 +205,15 @@ package/bind/S81named Indent Shellcheck Variables
|
||||
package/binutils/2.39/0001-sh-conf.patch Upstream
|
||||
package/binutils/2.39/0002-poison-system-directories.patch Upstream
|
||||
package/binutils/2.39/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch Upstream
|
||||
package/binutils/arc-2020.09-release/0001-poison-system-directories.patch Upstream
|
||||
package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch Upstream
|
||||
package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch Upstream
|
||||
package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch Upstream
|
||||
package/bmx7/0002-Fix-linking-error.patch Upstream
|
||||
package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch Upstream
|
||||
package/boinc/S99boinc-client Indent Shellcheck Variables
|
||||
package/botan/0001-Add-superh-alias-needed-by-Debian.patch Upstream
|
||||
package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch Upstream
|
||||
package/brickd/S70brickd Indent Shellcheck Variables
|
||||
package/bridge-utils/0001-fix-build-on-musl.patch Upstream
|
||||
package/brltty/0001-Fix-linking-error-on-mips64el.patch Upstream
|
||||
@@ -225,9 +235,12 @@ package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch Upstrea
|
||||
package/c-icap/S96cicap Indent Shellcheck Variables
|
||||
package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch Upstream
|
||||
package/cache-calibrator/0001-Fix-conflicting-round-function.patch Upstream
|
||||
package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch Upstream
|
||||
package/cairo/0002-Fix-mask-usage-in-image-compositor.patch Upstream
|
||||
package/cairo/0001-fix-nofork-build.patch Upstream
|
||||
package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch Upstream
|
||||
package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch Upstream
|
||||
package/cairo/0004-Fix-mask-usage-in-image-compositor.patch Upstream
|
||||
package/caps/0001-Fix-stdint-types-with-musl.patch Upstream
|
||||
package/catatonit/0002-fix-build-with-kernel-5.9.patch Upstream
|
||||
package/cdrkit/0001-no-rcmd.patch Upstream
|
||||
package/cdrkit/0002-define-__THROW-to-avoid-build-issue-with-musl.patch Upstream
|
||||
package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch Upstream
|
||||
@@ -321,6 +334,10 @@ package/dropbear/S50dropbear Indent Shellcheck Variables
|
||||
package/dt/0001-adjust-os-symlink.patch Upstream
|
||||
package/dt/0002-dt-default-source-define.patch Upstream
|
||||
package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch Upstream
|
||||
package/duma/0001-fix-cross-compilation.patch Upstream
|
||||
package/duma/0002-no-tests.patch Upstream
|
||||
package/duma/0003-fix-C++14.patch Upstream
|
||||
package/duma/0004-Fix-build-with-latest-glibc.patch Upstream
|
||||
package/dvb-apps/0001-Fix-generate-keynames.patch Upstream
|
||||
package/dvb-apps/0002-Fix-compiler-warning-flags.patch Upstream
|
||||
package/dvb-apps/0003-handle-static-shared-only-build.patch Upstream
|
||||
@@ -411,6 +428,9 @@ package/flite/0001-fix-alsa-static.patch Upstream
|
||||
package/fltk/0001-disable-tests.patch Upstream
|
||||
package/fluxbox/0001-fixes-bug-1138.patch Upstream
|
||||
package/freeradius-client/0001-fix-for-nettle.patch Upstream
|
||||
package/freerdp/0001-Fix-variable-declaration-in-loop.patch Upstream
|
||||
package/freerdp/0002-Fixed-variable-declaration-in-loop.patch Upstream
|
||||
package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch Upstream
|
||||
package/freescale-imx/imx-kobs/0001-Fix-musl-build.patch Upstream
|
||||
package/freescale-imx/imx-kobs/0002-Fix-build-for-recent-toolchains.patch Upstream
|
||||
package/freescale-imx/imx-uuc/S80imx-uuc Indent Shellcheck Variables
|
||||
@@ -435,7 +455,20 @@ package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch Upstream
|
||||
package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch Upstream
|
||||
package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch Upstream
|
||||
package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch Upstream
|
||||
package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch Upstream
|
||||
package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch Sob Upstream
|
||||
package/gcc/arc-2020.09-release/0100-uclibc-conf.patch Upstream
|
||||
package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch Upstream
|
||||
package/gdal/0001-fix-uclibc-build-without-NPTL.patch Upstream
|
||||
package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream
|
||||
package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream
|
||||
package/gdb/11.2/0003-use-asm-sgidefs.h.patch Upstream
|
||||
package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch Upstream
|
||||
package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream
|
||||
package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream
|
||||
package/gdb/11.2/0007-fix-musl-build-on-riscv.patch Upstream
|
||||
package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream
|
||||
package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch Upstream
|
||||
package/gdb/12.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream
|
||||
package/gdb/12.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream
|
||||
package/gdb/12.1/0003-use-asm-sgidefs.h.patch Upstream
|
||||
@@ -454,15 +487,6 @@ package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream
|
||||
package/gdb/13.2/0007-fix-musl-build-on-riscv.patch Upstream
|
||||
package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream
|
||||
package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch Upstream
|
||||
package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream
|
||||
package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream
|
||||
package/gdb/14.1/0003-use-asm-sgidefs.h.patch Upstream
|
||||
package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch Upstream
|
||||
package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream
|
||||
package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream
|
||||
package/gdb/14.1/0007-fix-musl-build-on-riscv.patch Upstream
|
||||
package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream
|
||||
package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch Upstream
|
||||
package/gengetopt/0001-configure.ac-add-disable-doc-option.patch Upstream
|
||||
package/genpart/0001-fix-return-code.patch Upstream
|
||||
package/genromfs/0001-build-system.patch Sob Upstream
|
||||
@@ -471,6 +495,7 @@ package/gerbera/S99gerbera Indent
|
||||
package/giblib/0001-fix-imlib2-detection.patch Upstream
|
||||
package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch Upstream
|
||||
package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch Upstream
|
||||
package/gli/0001-Optional-building-tests.patch Upstream
|
||||
package/glog/0001-added-emscripten-support.patch Upstream
|
||||
package/glorytun/0001-Add-support-for-Apple-silicon.patch Upstream
|
||||
package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch Upstream
|
||||
@@ -506,6 +531,8 @@ package/harfbuzz/0001-meson.build-check-for-pthread.h.patch Upstream
|
||||
package/haserl/0001-add-haserl_lualib.inc.patch Upstream
|
||||
package/haveged/S21haveged Shellcheck Variables
|
||||
package/heirloom-mailx/0001-fix-libressl-support.patch Upstream
|
||||
package/highway/0001-Fix-compilation-for-armv7-with-gcc-8.patch Upstream
|
||||
package/highway/0002-Fix-compilation-for-armv7-targets-with-vfp-v4-and-gc.patch Upstream
|
||||
package/hplip/0001-build-use-pkg-config-to-discover-libusb.patch Upstream
|
||||
package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch Upstream
|
||||
package/htpdate/S43htpdate Shellcheck
|
||||
@@ -545,6 +572,7 @@ package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch Upstream
|
||||
package/intltool/0001-perl-5.26-compatibility.patch Upstream
|
||||
package/iotop/0001-Fix-build-error-with-Python-3.patch Upstream
|
||||
package/iozone/0001-Add-new-targets-for-iozone.patch Upstream
|
||||
package/iperf/0001-fix-single-threaded-compile-breakage.patch Upstream
|
||||
package/ipmitool/0001-configure.ac-fix-readline-static-build.patch Upstream
|
||||
package/ipmitool/0002-Fix-enterprise-numbers-URL.patch Upstream
|
||||
package/ipmitool/0003-Do-not-require-the-IANA-PEN-registry-file.patch Upstream
|
||||
@@ -560,6 +588,7 @@ package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch Up
|
||||
package/irrlicht/0002-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch Upstream
|
||||
package/iucode-tool/S00iucode-tool Variables
|
||||
package/iwd/S40iwd Shellcheck Variables
|
||||
package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch Upstream
|
||||
package/janus-gateway/0001-disable-ssp.patch Upstream
|
||||
package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch Upstream
|
||||
package/jose/0001-lib-hsh.c-rename-hsh-local-variable.patch Upstream
|
||||
@@ -590,6 +619,7 @@ package/libatasmart/0001-strpool-cross-flags.patch Upstream
|
||||
package/libavl/0001-fix-makefile.patch Upstream
|
||||
package/libb64/0001-Integer-overflows.patch Upstream
|
||||
package/libb64/0002-Initialize-C++-objects.patch Upstream
|
||||
package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch Upstream
|
||||
package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch Upstream
|
||||
package/libcec/0001-cecloader-h-fix-null-return.patch Upstream
|
||||
package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch Upstream
|
||||
@@ -638,6 +668,10 @@ package/libiio/S99iiod Shellcheck Variables
|
||||
package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch Upstream
|
||||
package/libiqrf/0002-use-only-c-language.patch Upstream
|
||||
package/libjson/0001-fix-broken-makefile.patch Upstream
|
||||
package/libjxl/0001-djxl-fix-segmentation-fault-when-JPEG-is-disabled.patch Upstream
|
||||
package/libkcapi/0001-lib-kcapi-kernel-if.c-fix-uclibc-build.patch Upstream
|
||||
package/libkcapi/0002-Add-disable-werror.patch Upstream
|
||||
package/libkcapi/0003-Fix-symver-build-error-on-non-ELF-platforms.patch Upstream
|
||||
package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch Upstream
|
||||
package/liblinear/0001-build-static-lib.patch Upstream
|
||||
package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch Upstream
|
||||
@@ -654,6 +688,7 @@ package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch Upstre
|
||||
package/libmng/0001-jpeg-9a.patch Upstream
|
||||
package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch Upstream
|
||||
package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch Upstream
|
||||
package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch Upstream
|
||||
package/libmpeg2/0001-altivec.patch Upstream
|
||||
package/libmpeg2/0002-armv4l.patch Upstream
|
||||
package/libmpeg2/0003-fix-arm-detection.patch Upstream
|
||||
@@ -666,8 +701,9 @@ package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch U
|
||||
package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch Upstream
|
||||
package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch Upstream
|
||||
package/libodb-mysql/0002-mariadb-FTBFS-fix.patch Upstream
|
||||
package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch Upstream
|
||||
package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch Upstream
|
||||
package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch Upstream
|
||||
package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch Upstream
|
||||
package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch Upstream
|
||||
package/liboping/0001-fix-utf8-support.patch Upstream
|
||||
package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch Upstream
|
||||
package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch Upstream
|
||||
@@ -675,6 +711,7 @@ package/liboping/0004-Fix-compile-error-on-GCC-7.patch Upstream
|
||||
package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch Upstream
|
||||
package/libp11/0001-src-p11_attr.c-fix-build-with-gcc-4.8.patch Upstream
|
||||
package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch Upstream
|
||||
package/libpng/0001-Disable-pngfix-and-png-fix-itxt.patch Upstream
|
||||
package/libpthsem/0001-fix-build-on-linux-3.x-host.patch Upstream
|
||||
package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch Upstream
|
||||
package/libroxml/0001-src-roxml_mem.h-add-missing-extern.patch Upstream
|
||||
@@ -718,10 +755,13 @@ package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch Upstream
|
||||
package/libuio/0001-configure.ac-set-automake-strictness-to-foreign.patch Upstream
|
||||
package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch Upstream
|
||||
package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch Upstream
|
||||
package/libuwsc/0001-CMakeLists.txt-add-BUILD_EXAMPLE.patch Upstream
|
||||
package/libuwsc/0002-fix-bad-indentation.patch Upstream
|
||||
package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch Upstream
|
||||
package/libwebsock/0001-Switch-to-use-pkg-config-to-detect-libevent-and-open.patch Upstream
|
||||
package/libwebsock/0002-fix-ssl.patch Upstream
|
||||
package/libwebsock/0003-fix-incorrect-inline.patch Upstream
|
||||
package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-without-threads.patch Upstream
|
||||
package/libyuv/0001-i386-sse2.patch Upstream
|
||||
package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch Upstream
|
||||
package/lighttpd/S50lighttpd EmptyLastLine Indent Shellcheck Variables
|
||||
@@ -894,6 +934,9 @@ package/nginx/0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch Up
|
||||
package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch Upstream
|
||||
package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch Upstream
|
||||
package/nginx/S50nginx Indent Variables
|
||||
package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch Upstream
|
||||
package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch Upstream
|
||||
package/ngrep/0003-fix-disable-tcpkill.patch Upstream
|
||||
package/nilfs-utils/0001-nilfs_cleanerd-link-dynamically.patch Upstream
|
||||
package/nmap/0001-libdnet-wrapper-configure.patch Upstream
|
||||
package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch Upstream
|
||||
@@ -909,6 +952,7 @@ package/ntp/0001-nano.patch Upstream
|
||||
package/ntp/0002-ntp-syscalls-fallback.patch Upstream
|
||||
package/ntp/S49ntp.in Variables
|
||||
package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch Upstream
|
||||
package/ntpsec/0002-wscript-fix-build-without-stack-protector.patch Upstream
|
||||
package/numactl/0001-link-with-latomic-if-needed-again.patch Upstream
|
||||
package/nuttcp/0001-susv3-legacy.patch Upstream
|
||||
package/nvidia-driver/0001-use-LDFLAGS.patch Upstream
|
||||
@@ -1016,6 +1060,7 @@ package/php/0002-iconv-tweak-iconv-detection.patch Upstream
|
||||
package/php/0003-configure-disable-the-phar-tool.patch Upstream
|
||||
package/php/0004-Call-apxs-with-correct-prefix.patch Upstream
|
||||
package/php/0005-allow-opcache-cross-compiling.patch Upstream
|
||||
package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch Upstream
|
||||
package/pifmrds/0001-Makefile-cross-compile-friendly.patch Upstream
|
||||
package/pifmrds/0002-Makefile-use-LDFLAGS.patch Upstream
|
||||
package/pifmrds/0003-Makefile-fix-static-link.patch Upstream
|
||||
@@ -1023,6 +1068,7 @@ package/pigpio/S50pigpio Shellcheck Variables
|
||||
package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch Upstream
|
||||
package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch Upstream
|
||||
package/pixman/0001-Disable-tests.patch Upstream
|
||||
package/pkcs11-helper/0001-openssl-libressl-3-5-0-does-not-have-DSA_meth_set1_name.patch Upstream
|
||||
package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch Upstream
|
||||
package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch Upstream
|
||||
package/pkgconf/pkg-config.in Shellcheck
|
||||
@@ -1061,6 +1107,9 @@ package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch
|
||||
package/pulseview/0003-Support-glibmm-2.68.patch Upstream
|
||||
package/python-aiohttp-remotes/0001-Fix-flit_core-build-requires-backend.patch Upstream
|
||||
package/python-automat/0001-Remove-uneeded-dependency-to-wheel.patch Upstream
|
||||
package/python-crossbar/0001-Avoid-intentional-syntax-error.patch Upstream
|
||||
package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch Upstream
|
||||
package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch Upstream
|
||||
package/python-daphne/0001-remove-pytest-runner-requirement.patch Upstream
|
||||
package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch Upstream
|
||||
package/python-pylibftdi/0001-do-not-use-find-library.patch Upstream
|
||||
@@ -1166,12 +1215,16 @@ package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.p
|
||||
package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch Upstream
|
||||
package/rt-tests/0001-Fix-a-build-issue-with-uClibc-ng.patch Upstream
|
||||
package/rt-tests/0002-Makefile-drop-explicit-undefine-PYLIB-for-compatibil.patch Upstream
|
||||
package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch Upstream
|
||||
package/rtl_433/0002-minor-Fix-mongoose-build-without-threads.patch Upstream
|
||||
package/rtmpdump/0001-include-limits.h.patch Upstream
|
||||
package/rtorrent/0001-Added--disable-execinfo-option-to-configure.patch Upstream
|
||||
package/rtty/0001-CMakeLists.txt-prefer-pkg_check_modules.patch Upstream
|
||||
package/rubix/0001-dont-use-legacy-functions.patch Upstream
|
||||
package/rubix/0002-misc-fixes.patch Sob Upstream
|
||||
package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch Upstream
|
||||
package/ruby/0001-Fix-build-with-LibreSSL-3-5.patch Upstream
|
||||
package/rygel/0001-build-Add-man_pages-build-options.patch Upstream
|
||||
package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch Upstream
|
||||
package/rygel/S99rygel Indent Shellcheck Variables
|
||||
package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch Upstream
|
||||
package/s6-linux-utils/0001-src-s6-linux-utils-rngseed.c-fix-build-with-glibc.patch Upstream
|
||||
@@ -1210,6 +1263,7 @@ package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch Upstream
|
||||
package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch Upstream
|
||||
package/shairport-sync/0001-configure.ac-find-sndfile-through-pkg-config.patch Upstream
|
||||
package/shairport-sync/S99shairport-sync Indent Shellcheck Variables
|
||||
package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch Upstream
|
||||
package/shared-mime-info/0001-Remove-incorrect-dependency-from-install-data-hook.patch Upstream
|
||||
package/shellinabox/0001-Makefile-disable-always-building-statically.patch Upstream
|
||||
package/shellinabox/0002-CVE-2018-16789-fix-for-broken-multipart-form-data.patch Upstream
|
||||
@@ -1228,6 +1282,8 @@ package/snort/0005-fix-sparc.patch Upstream
|
||||
package/snort/0006-Fix-compile-error-when-building-against-uclibc-or-mu.patch Upstream
|
||||
package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch Upstream
|
||||
package/snort/0008-Fix-NO-OPTIMIZE.patch Upstream
|
||||
package/socat/0001-no-documentation.patch Upstream
|
||||
package/socat/0002-compat-set-NETDB_INTERNAL.patch Upstream
|
||||
package/socketcand/0001-Fix-GCC10-build-failure.patch Upstream
|
||||
package/softether/0001-Create-autotools-plumbing-for-SoftEther.patch Upstream
|
||||
package/softether/0002-Create-libsoftether.so-and-dynamically-link.patch Upstream
|
||||
@@ -1258,6 +1314,7 @@ package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch Upstream
|
||||
package/start-stop-daemon/0002-just-warn-on-missing-arch.patch Upstream
|
||||
package/statserial/0001-ncurses-link.patch Upstream
|
||||
package/stunnel/S50stunnel Indent Shellcheck Variables
|
||||
package/sudo/0001-configure.ac-fix-openssl-static-build.patch Upstream
|
||||
package/supervisor/S99supervisord Variables
|
||||
package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch Upstream
|
||||
package/suricata/S99suricata Shellcheck
|
||||
@@ -1273,6 +1330,8 @@ package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch Upstream
|
||||
package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch Upstream
|
||||
package/tcf-agent/S55tcf-agent Shellcheck Variables
|
||||
package/tcl/0001-Disable-tcl-compatibility-layers.patch Upstream
|
||||
package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch Upstream
|
||||
package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch Upstream
|
||||
package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch Upstream
|
||||
package/tftpd/S80tftpd-hpa Indent Shellcheck Variables
|
||||
package/ti-gfx/0001-newclkapi.patch Upstream
|
||||
@@ -1287,6 +1346,7 @@ package/tinyalsa/0001-include-time.h-before-asound.h.patch Upstream
|
||||
package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch Upstream
|
||||
package/tinycompress/0001-wave-add-time.h-missing-header-inclusion.patch Upstream
|
||||
package/tinydtls/0001-sha2-sha2.c-fix-build-on-big-endian.patch Upstream
|
||||
package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch Upstream
|
||||
package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch Upstream
|
||||
package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch Upstream
|
||||
package/tpm2-abrmd/S80tpm2-abrmd Indent Shellcheck Variables
|
||||
@@ -1378,6 +1438,7 @@ package/wampcc/0001-Add-RISC-V-endian-detection.patch Upstream
|
||||
package/wampcc/0002-include-wampcc-platform.h-fix-build-with-musl-1.2.0.patch Upstream
|
||||
package/wampcc/0003-Broken-build-on-Windows.patch Upstream
|
||||
package/watchdogd/S01watchdogd Indent NotExecutable
|
||||
package/webrtc-audio-processing/0001-Proper-detection-of-cxxabi.h-and-execinfo.h.patch Upstream
|
||||
package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch Upstream
|
||||
package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch Upstream
|
||||
package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch Upstream
|
||||
@@ -1387,9 +1448,11 @@ package/wilc-driver/0005-Fix-cast-warnings.patch Upstream
|
||||
package/wipe/0001-musl.patch Upstream
|
||||
package/wireless_tools/0001-remove-bzero.patch Upstream
|
||||
package/wireshark/0001-cmake-lemon-wipe-CMAKE_-EXE_LINKER_FLAGS-SYSROOT-if-.patch Upstream
|
||||
package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch Upstream
|
||||
package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch Upstream
|
||||
package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch Upstream
|
||||
package/wpa_supplicant/ifupdown.sh Shellcheck
|
||||
package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch Upstream
|
||||
package/x11r7/xapp_luit/0001-posix-openpt.patch Upstream
|
||||
package/x11r7/xapp_xdm/S99xdm Indent Variables
|
||||
package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch Upstream
|
||||
@@ -1441,6 +1504,7 @@ package/ympd/0001-only-c-language.patch Upstream
|
||||
package/ympd/0002-added-forward-declarations.patch Upstream
|
||||
package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch Upstream
|
||||
package/zabbix/0002-fix-build-with-libressl-3.5.0.patch Upstream
|
||||
package/zbar/0001-python-enum-fix-build-for-Python-3.11.patch Upstream
|
||||
package/zic/0001-remove-dependency-check-on-version-file.patch Upstream
|
||||
package/zip/0001-configure-Remove-Check-C-compiler-type-optimization-.patch Upstream
|
||||
package/zip/0002-configure-Don-t-use-host-CPP.patch Upstream
|
||||
|
||||
@@ -1,62 +1,3 @@
|
||||
2024.02-rc1, released February 25th, 2024
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Toolchain:
|
||||
|
||||
- GDB: Add version 14.1, default to 13.2.
|
||||
|
||||
- uClibc-ng updated to 1.0.45
|
||||
|
||||
- Bootlin external toolchains updated to 2023.11-1, moving the
|
||||
stable toolchains to GCC 12.3 / binutils 2.40 / GDB 13.2 /
|
||||
glibc 2.38 / musl 1.2.4 / uClibc-ng 1.0.45
|
||||
|
||||
- Add support for building a bare metal toolchain suitable for
|
||||
building firmware for certain (co-)processors, possibly
|
||||
using a different CPU architecture than the main Buildroot
|
||||
configuration.
|
||||
|
||||
Default optimization level changed from optimize for size
|
||||
(-Os) to optimize for speed (-O2).
|
||||
|
||||
Support: Use the Fraunhofer FKIE JSON files for CVE matching
|
||||
now that NVD is about to deprecate its feeds.
|
||||
|
||||
New defconfigs: AMD Zynqmp kria kd240 and kr260, zcu104, Avnet
|
||||
RZBoard V2L, Mangopi MQ1RDW2, NXP i.MX 93 11x11 EVK, QEMU
|
||||
Riscv64 virt-efi, TI AM574x Industrial Development Kit
|
||||
|
||||
Removed defconfigs: Zynq qmtech
|
||||
|
||||
New packages: binutils-bare-metal, dmenu-wayland, fcft, foot,
|
||||
firmware-ele-imx, ivi-homescreen, libjwt, libtraceevent,
|
||||
libtracefs, libutempter, lua-ansicolors, lua-argparse,
|
||||
lua-conciseserialization, lua-ubjson, minisign,
|
||||
newlib-bare-metal, python-aiosqlite, python-annotated-types,
|
||||
python-anyio, python-asyncssh, python-bitarray,
|
||||
python-cachetools, python-contourpy, python-decouple,
|
||||
python-fastapi-sessions, python-fastapi,
|
||||
python-google-api-core, python-google-auth,
|
||||
python-googleapis-common-protos, python-grpc-requests,
|
||||
python-grpcio-reflection, python-grpcio, python-httpcore,
|
||||
python-httpx, python-matplotlib-inline, python-ml-dtypes,
|
||||
python-multipart, python-pydantic-core, python-pypng,
|
||||
python-starlette, python-tcolorpy, python-trafaret,
|
||||
python-urwid-readline, python-uvicorn, rlwrap, tllist
|
||||
|
||||
Removed packages: davinci-bootcount (renamed to
|
||||
uboot-bootcount), flickcurl, gmpc, libmpd, micropython-lib,
|
||||
python-crossbar, python-pygame, tinymembench
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#10096: SH4 toolchain does not build Linux kernel magicpanelr2_..
|
||||
#15889: please update meson
|
||||
#15898: Unable to boot syslinux.efi produced by buildroot (EFI 64-..
|
||||
#15910: USB keyboard is not working by default "raspberrypicm4io_..
|
||||
#15952: Grub fails to load large rootfs files
|
||||
|
||||
2023.11.1, released January 15th, 2024
|
||||
|
||||
Important / security related fixes.
|
||||
@@ -216,24 +157,6 @@
|
||||
#15826: nodejs modules with native extensions fail to install
|
||||
#15835: Incompatibility between network-manager and libcurl 8.4
|
||||
|
||||
2023.08.4, released December 4th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Defconfigs: Raspberrypi: Fix DT overlay for autoproving of
|
||||
bluetooth driver, Toradex apalis i.mx6: Add download hashes
|
||||
for Linux and U-Boot.
|
||||
|
||||
Updated/fixed packages: gcc, erlang, exfatprogs, gsl,
|
||||
imagemagick, intel-microcode, libde265, libmemcached,
|
||||
libpjsip, libxml2, mariadb, memcached, motion, netsnmp, perl,
|
||||
postgresql, putty, rtty, samba4, speechd, squid, vim, vlc,
|
||||
xenomai, xtables-addons, zfs
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#15856: Using BR2_CONFIG= on a different file-system...
|
||||
|
||||
2023.08.3, released November 14th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
@@ -607,55 +530,6 @@
|
||||
#15376: Libiconv config
|
||||
#15461: QtVirtualKeyboard segfaults
|
||||
|
||||
2023.02.9, released January 15th, 2024
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Infrastructure:
|
||||
|
||||
- Download: Revert a permission fixup step in the tarball
|
||||
creation logic, which lead to a hash mismatch issue in two
|
||||
cargo-vendored packages, ripgrep and sentry-cli.
|
||||
|
||||
- Build: Pass GIT_DIR=. in the environment (through
|
||||
HOST_MAKE_ENV/TARGET_MAKE_ENV) to the build steps to
|
||||
workaround packages trying to detect if they are building in
|
||||
a git checkout and getting confused when building in a sub
|
||||
directory of a Buildroot git checkout.
|
||||
|
||||
Updated/fixed packages: apcupsd, arm-trusted-firmware, botan,
|
||||
cjson, cups, dropbear, duktape, edk2, exim, faad2, freeswitch,
|
||||
gcc, gdal, gdb, giflib, glibc, go, google-breakpad, gst-omx,
|
||||
gstd, gst1-devtools, gst1-libav, gst1-plugins-bad,
|
||||
gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly,
|
||||
gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1,
|
||||
gstreamer1-editing-services, ipcalc, jq, json-for-modern-cpp,
|
||||
ksmbd-tools, libaio, libcamera, libcap-ng, libcurl, libebml,
|
||||
libgtk3, libiec61850, libraw, libsigsegv, libssh, libssh2,
|
||||
libuev, libwebsockets, liquid-dsp, lvm2, madplay, mesa3d,
|
||||
micropython, mp4v2, opensc, openssh, orc, php, pipewire,
|
||||
postgis, postgresql, proftpd, putty, python-sip,
|
||||
python-werkzeug, rng-tools, shim, squid, strongswan, sway,
|
||||
tinyssh, tor, tree, uftp, valijson, wireshark, wolfssl,
|
||||
xserver_xorg-server, xwayland
|
||||
|
||||
2023.02.8, released December 4th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Defconfigs: Raspberrypi: Fix DT overlay for autoproving of
|
||||
bluetooth driver, Toradex apalis i.mx6: Add download hashes
|
||||
for Linux and U-Boot.
|
||||
|
||||
Updated/fixed packages: exfatprogs, gcc, imagemagick,
|
||||
intel-microcode, libpjsip, libxml2, mariadb, memcached,
|
||||
motion, netsnmp, perl, postgresql, rtty, samba4, speech,
|
||||
squid, vim, vlc, xenomai, xtables-addons, zfs
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#15856: Using BR2_CONFIG= on a different file-system...
|
||||
|
||||
2023.02.7, released November 14th, 2023
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -474,7 +474,7 @@ config BR2_STRIP_EXCLUDE_DIRS
|
||||
|
||||
choice
|
||||
prompt "gcc optimization level"
|
||||
default BR2_OPTIMIZE_2
|
||||
default BR2_OPTIMIZE_S
|
||||
help
|
||||
Set the optimization level for gcc
|
||||
|
||||
@@ -520,7 +520,6 @@ config BR2_OPTIMIZE_2
|
||||
-falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
|
||||
note the warning under -fgcse about invoking -O2 on programs
|
||||
that use computed gotos.
|
||||
This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_3
|
||||
bool "optimization level 3"
|
||||
@@ -549,6 +548,7 @@ config BR2_OPTIMIZE_S
|
||||
-falign-loops -falign-labels -freorder-blocks
|
||||
-freorder-blocks-and-partition -fprefetch-loop-arrays
|
||||
-ftree-vect-loop-version
|
||||
This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_FAST
|
||||
bool "optimize for fast (may break packages!)"
|
||||
|
||||
+3
-148
@@ -144,51 +144,7 @@ endif
|
||||
|
||||
###############################################################################
|
||||
|
||||
comment "Legacy options removed in 2024.02"
|
||||
|
||||
config BR2_PACKAGE_TINYMEMBENCH
|
||||
bool "tinymembench removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
tinymembench has been removed due to being abandoned.
|
||||
|
||||
config BR2_PACKAGE_DAVINCI_BOOTCOUNT
|
||||
bool "davinci-bootcount has been renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_UBOOT_BOOTCOUNT
|
||||
help
|
||||
The davinci-bootcount package has been renamed to
|
||||
uboot-bootcount.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_CROSSBAR
|
||||
bool "python-crossbar removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
python-crossbar has been removed. The current package has
|
||||
not received an update since Sat Oct 9 13:55:06 2021 commit:
|
||||
33ece2446e25e20929d1c7eefa9f3244a3b79a92 and is not python
|
||||
3.12.0 compatible.
|
||||
|
||||
Furthermore, the current version requires at least 42 new
|
||||
packages worth of depedencies of which several require
|
||||
patches to be python 3.12.0 compatible. As nobody has
|
||||
stepped up to maintain the package and its ever-growing list
|
||||
of dependencies, along with the other problems, it was time
|
||||
to drop the package.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYGAME
|
||||
bool "python-pygame removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
python-pygame has been removed due to being abandoned and
|
||||
the old version no longer building with python 3.12.0.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_14
|
||||
bool "kernel headers version 4.14.x are no longer supported"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.14.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed.
|
||||
comment "Legacy options removed in 2023.11"
|
||||
|
||||
config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI
|
||||
bool "libcamera pipeline 'raspberrypi' was renamed to 'rpi/vc4'"
|
||||
@@ -197,109 +153,8 @@ config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4
|
||||
help
|
||||
Since version 0.1.0, the pipeline option 'raspberrypi' was
|
||||
renamed to 'rpi/vc4'.
|
||||
|
||||
config BR2_GDB_VERSION_11
|
||||
bool "gdb 11.x removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
GDB 11.x has been removed, use a newer version.
|
||||
|
||||
config BR2_PACKAGE_LIBMPD
|
||||
bool "libmpd package was removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The libmpd package was only used by gmpc, both of which are
|
||||
no longer maintained upstream.
|
||||
|
||||
config BR2_PACKAGE_GMPC
|
||||
bool "gmpc package was removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The gmpc package was removed because it was unmaintained,
|
||||
and still using the old libsoup2 library.
|
||||
|
||||
config BR2_PACKAGE_FLICKCURL
|
||||
bool "flickcurl package was removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The flickcurl package was removed because it was
|
||||
unmaintained upstream and causing build failures.
|
||||
|
||||
config BR2_PACKAGE_ONEVPL
|
||||
bool "onevpl package was renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LIBVPL
|
||||
|
||||
config BR2_KERNEL_HEADERS_6_5
|
||||
bool "kernel headers version 6.5.x are no longer supported"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 6.5.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed.
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL
|
||||
int "watchdogd generic poll has been replaced"
|
||||
default 0
|
||||
help
|
||||
The generic script poll interval has been replaced upstream
|
||||
with a boolean on/off. Your configuration has been migrated.
|
||||
|
||||
Set this legacy option to 0 here to remove the warning.
|
||||
|
||||
# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in
|
||||
config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL_WRAP
|
||||
bool
|
||||
default y if BR2_PACKAGE_WATCHDOGD_GENERIC_POLL != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL
|
||||
int "watchdogd loadavg poll has been replaced"
|
||||
default 0
|
||||
help
|
||||
The CPU load average poll interval has been replaced upstream
|
||||
with a boolean on/off. Your configuration has been migrated.
|
||||
|
||||
Set this legacy option to 0 here to remove the warning.
|
||||
|
||||
# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in
|
||||
config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL_WRAP
|
||||
bool
|
||||
default y if BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_FILENR_POLL
|
||||
int "watchdogd filenr poll has been replaced"
|
||||
default 0
|
||||
help
|
||||
The file descriptor leak poll has been replaced upstream with
|
||||
a boolean on/off. Your configuration has been migrated.
|
||||
|
||||
Set this legacy option to 0 here to remove the warning.
|
||||
|
||||
# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in
|
||||
config BR2_PACKAGE_WATCHDOGD_FILENR_POLL_WRAP
|
||||
bool
|
||||
default y if BR2_PACKAGE_WATCHDOGD_FILENR_POLL != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL
|
||||
int "watchdogd meminfo poll has been replaced"
|
||||
default 0
|
||||
help
|
||||
The memleak detector poll interval has been replaced upstream
|
||||
with a boolean on/off. Your configuration has been migrated.
|
||||
|
||||
Set this legacy option to 0 here to remove the warning.
|
||||
|
||||
# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in
|
||||
config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL_WRAP
|
||||
bool
|
||||
default y if BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
comment "Legacy options removed in 2023.11"
|
||||
Since version 0.1.0 the libcamera pipeline option
|
||||
'raspberrypi' was renamed to 'rpi/vc4'.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYXB
|
||||
bool "python-pyxb removed"
|
||||
|
||||
+12
-108
@@ -28,16 +28,10 @@
|
||||
|
||||
N: Adam Duskett <adam.duskett@amarulasolutions.com>
|
||||
F: package/depot-tools/
|
||||
F: package/dmenu-wayland/
|
||||
F: package/fcft/
|
||||
F: package/foot/
|
||||
F: package/flutter-engine/
|
||||
F: package/flutter-gallery/
|
||||
F: package/flutter-pi/
|
||||
F: package/flutter-sdk-bin/
|
||||
F: package/ivi-homescreen/
|
||||
F: package/libutempter/
|
||||
F: package/tllist/
|
||||
F: support/testing/tests/package/test_flutter.py
|
||||
|
||||
N: Adam Heinrich <adam@adamh.cz>
|
||||
@@ -350,7 +344,6 @@ F: package/bitcoin/
|
||||
F: package/clamav/
|
||||
F: package/dav1d/
|
||||
F: package/dht/
|
||||
F: package/dnsmasq/
|
||||
F: package/dovecot/
|
||||
F: package/dovecot-pigeonhole/
|
||||
F: package/dtv-scan-tables/
|
||||
@@ -435,7 +428,6 @@ F: package/libva/
|
||||
F: package/libva-intel-driver/
|
||||
F: package/libva-utils/
|
||||
F: package/libvorbis/
|
||||
F: package/libvpl/
|
||||
F: package/libvpx/
|
||||
F: package/libyuv/
|
||||
F: package/linux-firmware/
|
||||
@@ -446,6 +438,7 @@ F: package/mjpg-streamer/
|
||||
F: package/mpg123/
|
||||
F: package/ntp/
|
||||
F: package/nut/
|
||||
F: package/onevpl/
|
||||
F: package/onevpl-intel-gpu/
|
||||
F: package/opus/
|
||||
F: package/pciutils/
|
||||
@@ -573,6 +566,7 @@ F: package/coremark/
|
||||
F: package/coremark-pro/
|
||||
F: package/gstreamer1/gst1-shark/
|
||||
F: package/micropython/
|
||||
F: package/micropython-lib/
|
||||
F: package/syslog-ng/
|
||||
|
||||
N: Christian Kellermann <christian.kellermann@solectrix.de>
|
||||
@@ -673,8 +667,6 @@ F: configs/beelink_gs1_defconfig
|
||||
N: Colin Foster <colin.foster@in-advantage.com>
|
||||
F: package/python-tftpy/
|
||||
F: package/rauc-hawkbit-updater/
|
||||
F: support/testing/tests/package/sample_python_tftpy.py
|
||||
F: support/testing/tests/package/test_python_tftpy.py
|
||||
|
||||
N: Corentin Guillevic <corentin.guillevic@smile.fr>
|
||||
F: package/libloki/
|
||||
@@ -761,7 +753,7 @@ F: package/sscep/
|
||||
F: package/uuu/
|
||||
|
||||
N: Dario Binacchi <dariobin@libero.it>
|
||||
F: package/uboot-bootcount/
|
||||
F: package/davinci-bootcount/
|
||||
F: package/libmnl/
|
||||
|
||||
N: David Bachelart <david.bachelart@bbright.com>
|
||||
@@ -1063,6 +1055,7 @@ F: package/snort3/
|
||||
F: package/suricata/
|
||||
F: package/tinycbor/
|
||||
F: package/tinydtls/
|
||||
F: package/tinymembench/
|
||||
F: package/whois/
|
||||
F: package/x11r7/xlib_libXpresent/
|
||||
F: package/zeek/
|
||||
@@ -1077,8 +1070,6 @@ F: package/python-pymodbus/
|
||||
N: Flávio Tapajós <flavio.tapajos@newtesc.com.br>
|
||||
F: configs/asus_tinker-s_rk3288_defconfig
|
||||
F: board/asus/tinker-s/
|
||||
F: package/python-sqlalchemy/
|
||||
F: package/rsyslog/
|
||||
|
||||
N: Florian Fainelli <f.fainelli@gmail.com>
|
||||
F: package/cpulimit/
|
||||
@@ -1212,7 +1203,6 @@ N: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
F: board/bananapi/bananapi-m2-ultra/
|
||||
F: board/freescale/imx6ullevk/
|
||||
F: board/freescale/imxrt1050evk/
|
||||
F: board/mangopi/mq1rdw2/
|
||||
F: board/olimex/a*
|
||||
F: board/pine64/rockpro64
|
||||
F: configs/amarula_vyasa_rk3288_defconfig
|
||||
@@ -1222,7 +1212,6 @@ F: configs/bananapi_m2_ultra_defconfig
|
||||
F: configs/freescale_imx6ullevk_defconfig
|
||||
F: configs/imx6ullevk_defconfig
|
||||
F: configs/imxrt1050-evk_defconfig
|
||||
F: configs/mangopi_mq1rdw2_defconfig
|
||||
F: configs/olimex_a*
|
||||
F: configs/rockpro64_defconfig
|
||||
F: package/at/
|
||||
@@ -1237,9 +1226,6 @@ F: package/libfuse3/
|
||||
F: package/libnspr/
|
||||
F: package/libnss/
|
||||
F: package/libnvme/
|
||||
F: package/libtraceevent/
|
||||
F: package/libtracefs
|
||||
F: package/linux-tools/linux-tool-rtla.mk.in
|
||||
F: package/mali-driver/
|
||||
F: package/minicom/
|
||||
F: package/mongoose/
|
||||
@@ -1387,12 +1373,6 @@ F: package/mrp/
|
||||
N: Ian Haylock <haylocki@yahoo.co.uk>
|
||||
F: package/python-rpi-gpio/
|
||||
|
||||
N: Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>
|
||||
F: package/binutils-bare-metal/
|
||||
F: package/gcc-bare-metal/
|
||||
F: package/newlib-bare-metal/
|
||||
F: toolchain/toolchain-bare-metal-buildroot/
|
||||
|
||||
N: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
|
||||
F: package/angularjs/
|
||||
|
||||
@@ -1706,6 +1686,7 @@ F: package/libcddb/
|
||||
F: package/libmodbus/
|
||||
F: package/ltris/
|
||||
F: package/opentyrian/
|
||||
F: package/python-pygame/
|
||||
|
||||
N: Julien Corjon <corjon.j@ecagroup.com>
|
||||
F: package/qt5/
|
||||
@@ -1718,14 +1699,14 @@ F: configs/ts7680_defconfig
|
||||
F: package/paho-mqtt-c
|
||||
|
||||
N: Julien Olivain <ju.o@free.fr>
|
||||
F: board/qemu/riscv64-virt-efi/
|
||||
F: board/qmtech/zynq/
|
||||
F: board/spike/
|
||||
F: board/technexion/imx8mmpico/
|
||||
F: board/technexion/imx8mpico/
|
||||
F: configs/imx8mmpico_defconfig
|
||||
F: configs/imx8mpico_defconfig
|
||||
F: configs/qemu_riscv64_virt_efi_defconfig
|
||||
F: configs/spike_riscv64_defconfig
|
||||
F: configs/zynq_qmtech_defconfig
|
||||
F: package/fluid-soundfont/
|
||||
F: package/fluidsynth/
|
||||
F: package/glslsandbox-player/
|
||||
@@ -1748,7 +1729,6 @@ F: package/python-magic-wormhole/
|
||||
F: package/python-magic-wormhole-mailbox-server/
|
||||
F: package/python-magic-wormhole-transit-relay/
|
||||
F: package/python-midiutil/
|
||||
F: package/python-ml-dtypes/
|
||||
F: package/python-pyalsa/
|
||||
F: package/python-spake2/
|
||||
F: package/rdma-core/
|
||||
@@ -1756,37 +1736,23 @@ F: package/riscv-isa-sim/
|
||||
F: package/tinycompress/
|
||||
F: package/z3/
|
||||
F: package/zynaddsubfx/
|
||||
F: support/testing/tests/boot/test_optee_os.py
|
||||
F: support/testing/tests/boot/test_optee_os/
|
||||
F: support/testing/tests/package/sample_python_distro.py
|
||||
F: support/testing/tests/package/sample_python_gnupg.py
|
||||
F: support/testing/tests/package/sample_python_hwdata.py
|
||||
F: support/testing/tests/package/sample_python_midiutil.py
|
||||
F: support/testing/tests/package/sample_python_ml_dtypes.py
|
||||
F: support/testing/tests/package/sample_python_pyalsa.py
|
||||
F: support/testing/tests/package/sample_python_spake2.py
|
||||
F: support/testing/tests/package/test_acl.py
|
||||
F: support/testing/tests/package/test_acpica.py
|
||||
F: support/testing/tests/package/test_acpica/
|
||||
F: support/testing/tests/package/test_apache.py
|
||||
F: support/testing/tests/package/test_bc.py
|
||||
F: support/testing/tests/package/test_brotli.py
|
||||
F: support/testing/tests/package/test_bzip2.py
|
||||
F: support/testing/tests/package/test_compressor_base.py
|
||||
F: support/testing/tests/package/test_coremark.py
|
||||
F: support/testing/tests/package/test_cryptsetup.py
|
||||
F: support/testing/tests/package/test_cryptsetup/
|
||||
F: support/testing/tests/package/test_ddrescue.py
|
||||
F: support/testing/tests/package/test_ddrescue/
|
||||
F: support/testing/tests/package/test_dos2unix.py
|
||||
F: support/testing/tests/package/test_file.py
|
||||
F: support/testing/tests/package/test_file/
|
||||
F: support/testing/tests/package/test_fluidsynth.py
|
||||
F: support/testing/tests/package/test_fluidsynth/
|
||||
F: support/testing/tests/package/test_fping.py
|
||||
F: support/testing/tests/package/test_gawk.py
|
||||
F: support/testing/tests/package/test_ghostscript.py
|
||||
F: support/testing/tests/package/test_ghostscript/
|
||||
F: support/testing/tests/package/test_glslsandbox_player.py
|
||||
F: support/testing/tests/package/test_glslsandbox_player/
|
||||
F: support/testing/tests/package/test_gnupg2.py
|
||||
@@ -1795,73 +1761,43 @@ F: support/testing/tests/package/test_gnuradio/
|
||||
F: support/testing/tests/package/test_gzip.py
|
||||
F: support/testing/tests/package/test_highway.py
|
||||
F: support/testing/tests/package/test_hwloc.py
|
||||
F: support/testing/tests/package/test_iozone.py
|
||||
F: support/testing/tests/package/test_iperf3.py
|
||||
F: support/testing/tests/package/test_jailhouse.py
|
||||
F: support/testing/tests/package/test_jq.py
|
||||
F: support/testing/tests/package/test_jq/
|
||||
F: support/testing/tests/package/test_kexec.py
|
||||
F: support/testing/tests/package/test_kexec/
|
||||
F: support/testing/tests/package/test_kmscube.py
|
||||
F: support/testing/tests/package/test_kmscube/
|
||||
F: support/testing/tests/package/test_less.py
|
||||
F: support/testing/tests/package/test_libcamera.py
|
||||
F: support/testing/tests/package/test_libcamera/
|
||||
F: support/testing/tests/package/test_libgpgme.py
|
||||
F: support/testing/tests/package/test_libjxl.py
|
||||
F: support/testing/tests/package/test_lrzip.py
|
||||
F: support/testing/tests/package/test_ltrace.py
|
||||
F: support/testing/tests/package/test_lzip.py
|
||||
F: support/testing/tests/package/test_lsof.py
|
||||
F: support/testing/tests/package/test_lz4.py
|
||||
F: support/testing/tests/package/test_lzop.py
|
||||
F: support/testing/tests/package/test_mdadm.py
|
||||
F: support/testing/tests/package/test_mdadm/
|
||||
F: support/testing/tests/package/test_micropython.py
|
||||
F: support/testing/tests/package/test_micropython/
|
||||
F: support/testing/tests/package/test_mtools.py
|
||||
F: support/testing/tests/package/test_mtr.py
|
||||
F: support/testing/tests/package/test_ncdu.py
|
||||
F: support/testing/tests/package/test_netcat.py
|
||||
F: support/testing/tests/package/test_nftables.py
|
||||
F: support/testing/tests/package/test_nftables/
|
||||
F: support/testing/tests/package/test_ngrep.py
|
||||
F: support/testing/tests/package/test_numactl.py
|
||||
F: support/testing/tests/package/test_numactl/
|
||||
F: support/testing/tests/package/test_octave.py
|
||||
F: support/testing/tests/package/test_ola.py
|
||||
F: support/testing/tests/package/test_ola/
|
||||
F: support/testing/tests/package/test_openblas.py
|
||||
F: support/testing/tests/package/test_pciutils.py
|
||||
F: support/testing/tests/package/test_perftest.py
|
||||
F: support/testing/tests/package/test_pigz.py
|
||||
F: support/testing/tests/package/test_postgresql.py
|
||||
F: support/testing/tests/package/test_python_distro.py
|
||||
F: support/testing/tests/package/test_python_gnupg.py
|
||||
F: support/testing/tests/package/test_python_hkdf.py
|
||||
F: support/testing/tests/package/test_python_hwdata.py
|
||||
F: support/testing/tests/package/test_python_magic_wormhole.py
|
||||
F: support/testing/tests/package/test_python_midiutil.py
|
||||
F: support/testing/tests/package/test_python_ml_dtypes.py
|
||||
F: support/testing/tests/package/test_python_pyalsa.py
|
||||
F: support/testing/tests/package/test_python_spake2.py
|
||||
F: support/testing/tests/package/test_rdma_core.py
|
||||
F: support/testing/tests/package/test_rdma_core/
|
||||
F: support/testing/tests/package/test_screen.py
|
||||
F: support/testing/tests/package/test_sed.py
|
||||
F: support/testing/tests/package/test_sox.py
|
||||
F: support/testing/tests/package/test_sqlite.py
|
||||
F: support/testing/tests/package/test_strace.py
|
||||
F: support/testing/tests/package/test_stress_ng.py
|
||||
F: support/testing/tests/package/test_tcl.py
|
||||
F: support/testing/tests/package/test_tcl/
|
||||
F: support/testing/tests/package/test_tcpdump.py
|
||||
F: support/testing/tests/package/test_tesseract_ocr.py
|
||||
F: support/testing/tests/package/test_thttpd.py
|
||||
F: support/testing/tests/package/test_trace_cmd.py
|
||||
F: support/testing/tests/package/test_trace_cmd/
|
||||
F: support/testing/tests/package/test_usbutils.py
|
||||
F: support/testing/tests/package/test_usbutils/
|
||||
F: support/testing/tests/package/test_weston.py
|
||||
F: support/testing/tests/package/test_weston/
|
||||
F: support/testing/tests/package/test_xz.py
|
||||
@@ -1896,11 +1832,9 @@ N: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
||||
F: package/libcamera/
|
||||
|
||||
N: Kilian Zinnecker <kilian.zinnecker@mail.de>
|
||||
F: board/avnet/rzboard_v2l/
|
||||
F: board/radxa/rock5b/
|
||||
F: configs/rock5b_defconfig
|
||||
F: configs/avnet_rzboard_v2l_defconfig
|
||||
F: package/rockchip-rkbin/
|
||||
F: configs/rock5b_defconfig
|
||||
F: board/radxa/rock5b/
|
||||
|
||||
N: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
|
||||
F: package/wqy-zenhei/
|
||||
@@ -2091,10 +2025,6 @@ F: package/selinux-python/
|
||||
F: utils/config
|
||||
F: utils/diffconfig
|
||||
|
||||
N: Marcus Hoffmann <bubu@bubu1.eu>
|
||||
F: support/testing/tests/package/test_python_fastapi.py
|
||||
F: support/testing/tests/package/sample_python_fastapi.py
|
||||
|
||||
N: Marek Belisko <marek.belisko@open-nandra.com>
|
||||
F: package/libatasmart/
|
||||
F: package/polkit/
|
||||
@@ -2116,12 +2046,6 @@ F: board/qemu/riscv64-virt/
|
||||
F: configs/qemu_riscv32_virt_defconfig
|
||||
F: configs/qemu_riscv64_virt_defconfig
|
||||
|
||||
N: Marleen Vos <marleen.vos@mind.be>
|
||||
F: board/stmicroelectronics/common/stm32mp157/
|
||||
F: configs/avenger96_defconfig
|
||||
F: configs/stm32mp157a_dk1_defconfig
|
||||
F: configs/stm32mp157c_dk2_defconfig
|
||||
|
||||
N: Martin Bark <martin@barkynet.com>
|
||||
F: board/raspberrypi/
|
||||
F: configs/raspberrypi3_defconfig
|
||||
@@ -2159,15 +2083,13 @@ F: board/technologic/ts4900/
|
||||
F: configs/ts4900_defconfig
|
||||
F: package/ts4900-fpga/
|
||||
|
||||
N: Matt Silva <dev@matt-silva.com>
|
||||
F: package/rlwrap/
|
||||
|
||||
N: Mauro Condarelli <mc5686@mclink.it>
|
||||
F: package/mc/
|
||||
F: package/python-autobahn/
|
||||
F: package/python-cbor/
|
||||
F: package/python-characteristic/
|
||||
F: package/python-click/
|
||||
F: package/python-crossbar/
|
||||
F: package/python-lmdb/
|
||||
F: package/python-mistune/
|
||||
F: package/python-netaddr/
|
||||
@@ -2197,11 +2119,6 @@ F: package/postgresql/
|
||||
F: package/protozero/
|
||||
F: package/timescaledb/
|
||||
|
||||
N: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
||||
F: package/libtraceevent/
|
||||
F: package/libtracefs
|
||||
F: package/linux-tools/linux-tool-rtla.mk.in
|
||||
|
||||
N: Michael Durrant <mdurrant@arcturusnetworks.com>
|
||||
F: board/arcturus/
|
||||
F: configs/arcturus_ucp1020_defconfig
|
||||
@@ -2286,18 +2203,11 @@ F: board/zynqmp/
|
||||
F: configs/versal_vck190_defconfig
|
||||
F: configs/zynq_zc702_defconfig
|
||||
F: configs/zynq_zc706_defconfig
|
||||
F: configs/zynqmp_kria_kd240_defconfig
|
||||
F: configs/zynqmp_kria_kr260_defconfig
|
||||
F: configs/zynqmp_kria_kv260_defconfig
|
||||
F: configs/zynqmp_zcu102_defconfig
|
||||
F: configs/zynqmp_zcu104_defconfig
|
||||
F: configs/zynqmp_zcu106_defconfig
|
||||
F: package/binutils-bare-metal/
|
||||
F: package/bootgen/
|
||||
F: package/gcc-bare-metal/
|
||||
F: package/newlib-bare-metal/
|
||||
F: package/versal-firmware/
|
||||
F: toolchain/toolchain-bare-metal-buildroot/
|
||||
|
||||
N: Nicola Di Lieto <nicola.dilieto@gmail.com>
|
||||
F: package/uacme/
|
||||
@@ -2413,9 +2323,6 @@ N: Patrick Havelange <patrick.havelange@essensium.com>
|
||||
F: support/testing/tests/package/test_lxc.py
|
||||
F: support/testing/tests/package/test_lxc/
|
||||
|
||||
N: Patrick Oppenlander <patrick.oppenlander@gmail.com>
|
||||
F: package/minisign/
|
||||
|
||||
N: Paul Cercueil <paul@crapouillou.net>
|
||||
F: package/libiio/
|
||||
F: package/lightning/
|
||||
@@ -2457,6 +2364,7 @@ F: package/dfu-programmer/
|
||||
F: package/docker-compose/
|
||||
F: package/dump1090/
|
||||
F: package/fatcat/
|
||||
F: package/flickcurl/
|
||||
F: package/fscryptctl/
|
||||
F: package/ifmetric/
|
||||
F: package/jo/
|
||||
@@ -2669,9 +2577,7 @@ F: package/vnstat/
|
||||
|
||||
N: Romain Naour <romain.naour@gmail.com>
|
||||
F: board/qemu/
|
||||
F: board/ti/am574x-idk/
|
||||
F: configs/qemu_*
|
||||
F: configs/am574x_idk_defconfig
|
||||
F: package/alure/
|
||||
F: package/aubio/
|
||||
F: package/binutils/
|
||||
@@ -2774,7 +2680,7 @@ F: package/libbson/
|
||||
F: package/lua-resty-http/
|
||||
F: package/mpir/
|
||||
|
||||
N: Sen Hastings <sen@hastings.org>
|
||||
N: Sen Hastings <sen@phobosdpl.com>
|
||||
F: package/systemd
|
||||
F: support/scripts/pkg-stats
|
||||
|
||||
@@ -3179,8 +3085,6 @@ N: Wade Berrier <wberrier@gmail.com>
|
||||
F: package/ngrep/
|
||||
|
||||
N: Waldemar Brodkorb <wbx@openadk.org>
|
||||
F: package/asterisk/
|
||||
F: package/libjwt/
|
||||
F: package/mksh/
|
||||
F: package/ruby/
|
||||
F: package/uclibc/
|
||||
|
||||
@@ -90,9 +90,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2024.02-rc1
|
||||
export BR2_VERSION := 2023.11.1
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1708860000
|
||||
BR2_VERSION_EPOCH = 1705314000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
@@ -313,10 +313,6 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
|
||||
@@ -781,9 +781,6 @@ choice
|
||||
config BR2_ARM64_PAGE_SIZE_4K
|
||||
bool "4KB"
|
||||
|
||||
config BR2_ARM64_PAGE_SIZE_16K
|
||||
bool "16KB"
|
||||
|
||||
config BR2_ARM64_PAGE_SIZE_64K
|
||||
bool "64KB"
|
||||
|
||||
@@ -792,7 +789,6 @@ endchoice
|
||||
config BR2_ARM64_PAGE_SIZE
|
||||
string
|
||||
default "4K" if BR2_ARM64_PAGE_SIZE_4K
|
||||
default "16K" if BR2_ARM64_PAGE_SIZE_16K
|
||||
default "64K" if BR2_ARM64_PAGE_SIZE_64K
|
||||
|
||||
config BR2_ARCH
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_16K)$(BR2_ARM64_PAGE_SIZE_16K),y)
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384
|
||||
else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "microchip/sama5d31.dtsi"
|
||||
#include "sama5d31.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Acme Systems Acqua SOM";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
label Tinker linux
|
||||
kernel /boot/zImage
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-tinker-s.dtb
|
||||
append console=ttyS2,115200n8 root=179:1 rootwait
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
label Tinker linux
|
||||
kernel /boot/zImage
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-tinker.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
# SD card image for RZBoard V2L
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"rzboard.dtb",
|
||||
"uEnv.txt"
|
||||
}
|
||||
}
|
||||
size = 24M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
partition-table-type = "hybrid"
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = "0xC"
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
cp board/avnet/rzboard_v2l/uEnv.txt "${BINARIES_DIR}"
|
||||
support/scripts/genimage.sh -c board/avnet/rzboard_v2l/genimage.cfg
|
||||
@@ -1,71 +0,0 @@
|
||||
RZBoard V2L
|
||||
===========
|
||||
|
||||
https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/
|
||||
|
||||
This board support creates a bootable sd card image for the AVNET RZBoard V2L.
|
||||
This board is shipped with a u-boot inside its eMMC. This board support uses
|
||||
that u-boot and only puts uEnv.txt, kernel image and rootfs onto the sd card.
|
||||
|
||||
Build:
|
||||
======
|
||||
|
||||
$ make rzboard_v2l_defconfig
|
||||
$ make
|
||||
|
||||
Files created in output directory
|
||||
=================================
|
||||
|
||||
output/images
|
||||
.
|
||||
├── Image
|
||||
├── boot.vfat
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4
|
||||
├── rootfs.tar
|
||||
├── rzboard.dtb
|
||||
├── sdcard.img
|
||||
└── uEnv.txt
|
||||
|
||||
Creating bootable SD card:
|
||||
==========================
|
||||
|
||||
Simply invoke (as root)
|
||||
|
||||
sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
|
||||
|
||||
Where X is your SD card device.
|
||||
|
||||
Booting:
|
||||
========
|
||||
|
||||
Configure board for sd card boot:
|
||||
---------------------------------
|
||||
Set the 'BOOT1' switch (next to the audio jack) to '1' (away from 'ON') in
|
||||
order to let the board boot kernel and rootfs from SD card.
|
||||
|
||||
Serial console:
|
||||
---------------
|
||||
The RZBoard V2L has a 4-pin header "J19" right next to the micro USB. Its
|
||||
layout can be seen in the Quick-Start Guide, or the Hardware User Guide,
|
||||
obtainable from:
|
||||
https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/
|
||||
|
||||
The uart pins are as follows (from left to right - orientation according to the
|
||||
board's labeling):
|
||||
|
||||
pin 1: n/a (most away from the board's corner)
|
||||
pin 2: tx
|
||||
pin 3: rx
|
||||
pin 4: gnd (nearest to the board's corner)
|
||||
|
||||
Baudrate for this board is 115200.
|
||||
|
||||
Power-Up:
|
||||
---------
|
||||
Plug in a suitable USB-C power supply and press the button 'S1' (next to the
|
||||
USB-C port) for 2 seconds until the LED goes on.
|
||||
|
||||
Login:
|
||||
------
|
||||
Enter 'root' as login user, and the prompt is ready.
|
||||
@@ -1,3 +0,0 @@
|
||||
bootcmd=booti ${kernel_addr_r} - ${fdt_addr_r}
|
||||
uenvcmd=fatload mmc 0:1 ${kernel_addr_r} Image; fatload mmc 0:1 ${fdt_addr_r} rzboard.dtb
|
||||
bootargs=root=/dev/mmcblk0p2 rw rootfstype=ext4 earlyprintk console=ttyS0,115200 rootwait earlycon clk_ignore_unused debug
|
||||
@@ -27,9 +27,8 @@ build_trx() {
|
||||
rm -f $images/zImage.$device.lzma
|
||||
}
|
||||
|
||||
devices="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([^"]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
devices="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
for device in $devices; do
|
||||
device="${device#broadcom/}"
|
||||
case "$device" in
|
||||
"bcm4708-smartrg-sr400ac")
|
||||
build_trx "$1" "$device"
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# Minimal SD card image for the NXP i.MX9 boards
|
||||
#
|
||||
# We mimic the .sdcard NXP's image format:
|
||||
# * the SD card must have 32 kB free space at the beginning,
|
||||
# * U-Boot is integrated into imx9-boot-sd.bin and is dumped as is,
|
||||
# * a FAT partition at offset 8MB is containing Image and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition imx-boot {
|
||||
in-partition-table = "no"
|
||||
image = "imx9-boot-sd.bin"
|
||||
offset = %IMXOFFSET%
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
main ()
|
||||
{
|
||||
SPL_LOAD_ADDR=0x2049A000
|
||||
ATF_LOAD_ADDR=0x204E0000
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then
|
||||
SPL_LOAD_ADDR=0x204A0000
|
||||
ATF_LOAD_ADDR=0x204C0000
|
||||
fi
|
||||
|
||||
dd if="${BINARIES_DIR}/u-boot-spl.bin" of="${BINARIES_DIR}/u-boot-spl-padded.bin" bs=4 conv=sync
|
||||
cat "${BINARIES_DIR}/u-boot-spl-padded.bin" "${BINARIES_DIR}/ddr_fw.bin" > "${BINARIES_DIR}/u-boot-spl-ddr.bin"
|
||||
|
||||
"${HOST_DIR}/bin/mkimage_imx8" -commit > "${BINARIES_DIR}/mkimg.commit"
|
||||
cat "${BINARIES_DIR}/u-boot.bin" "${BINARIES_DIR}/mkimg.commit" > "${BINARIES_DIR}/u-boot-hash.bin"
|
||||
rm -f "${BINARIES_DIR}/mkimg.commit"
|
||||
|
||||
if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" "${BR2_CONFIG}"; then
|
||||
"${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \
|
||||
-ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} \
|
||||
-ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 \
|
||||
-ap "${BINARIES_DIR}/tee.bin" a35 0x96000000 \
|
||||
-out "${BINARIES_DIR}/u-boot-atf-container.img"
|
||||
else
|
||||
"${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \
|
||||
-ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} \
|
||||
-ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 \
|
||||
-out "${BINARIES_DIR}/u-boot-atf-container.img"
|
||||
fi
|
||||
|
||||
"${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -append "${BINARIES_DIR}/ahab-container.img" -c \
|
||||
-ap "${BINARIES_DIR}/u-boot-spl-ddr.bin" a35 ${SPL_LOAD_ADDR} \
|
||||
-out "${BINARIES_DIR}/imx9-boot-sd.bin"
|
||||
|
||||
flashbin_size="$(wc -c "${BINARIES_DIR}/imx9-boot-sd.bin" | awk '{print $1}')"
|
||||
pad_cnt=$(($((flashbin_size + 0x400 - 1)) / 0x400))
|
||||
dd if="${BINARIES_DIR}/u-boot-atf-container.img" of="${BINARIES_DIR}/imx9-boot-sd.bin" bs=1K seek=${pad_cnt}
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -7,12 +7,10 @@
|
||||
#
|
||||
dtb_list()
|
||||
{
|
||||
local DTB_LIST
|
||||
|
||||
DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' "${BR2_CONFIG}")"
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
|
||||
for dt in $DTB_LIST; do
|
||||
echo -n "\"$(basename "${dt}").dtb\", "
|
||||
echo -n "\"`basename $dt`.dtb\", "
|
||||
done
|
||||
}
|
||||
|
||||
@@ -23,11 +21,11 @@ dtb_list()
|
||||
#
|
||||
linux_image()
|
||||
{
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" "${BR2_CONFIG}"; then
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"uImage\""
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"Image\""
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
|
||||
echo "\"Image.gz\""
|
||||
else
|
||||
echo "\"zImage\""
|
||||
@@ -36,31 +34,27 @@ linux_image()
|
||||
|
||||
genimage_type()
|
||||
{
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" "${BR2_CONFIG}"; then
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then
|
||||
echo "genimage.cfg.template_imx9"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y$" "${BR2_CONFIG}"; then
|
||||
echo "genimage.cfg.template_imx9"
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" "${BR2_CONFIG}"; then
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_no_boot_part_spl"
|
||||
else
|
||||
echo "genimage.cfg.template_no_boot_part"
|
||||
fi
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_spl"
|
||||
else
|
||||
echo "genimage.cfg.template"
|
||||
@@ -69,9 +63,9 @@ genimage_type()
|
||||
|
||||
imx_offset()
|
||||
{
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
||||
echo "33K"
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
|
||||
echo "33K"
|
||||
else
|
||||
echo "32K"
|
||||
@@ -80,30 +74,29 @@ imx_offset()
|
||||
|
||||
uboot_image()
|
||||
{
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" "${BR2_CONFIG}"; then
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot-dtb.imx"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot.imx"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot-dtb.img"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" "${BR2_CONFIG}"; then
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot.img"
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES IMXOFFSET UBOOTBIN GENIMAGE_CFG GENIMAGE_TMP
|
||||
FILES="$(dtb_list) $(linux_image)"
|
||||
IMXOFFSET="$(imx_offset)"
|
||||
UBOOTBIN="$(uboot_image)"
|
||||
GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
local IMXOFFSET="$(imx_offset)"
|
||||
local UBOOTBIN="$(uboot_image)"
|
||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
-e "s/%IMXOFFSET%/${IMXOFFSET}/" \
|
||||
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
|
||||
"board/freescale/common/imx/$(genimage_type)" > "${GENIMAGE_CFG}"
|
||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
@@ -114,9 +107,9 @@ main()
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
rm -f "${GENIMAGE_CFG}"
|
||||
rm -f ${GENIMAGE_CFG}
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
main $@
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
CONFIG_IMX_SDMA=m
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 cfb927722272897f850681c78d5f129b0883a8efaba9c52d30e029086524f7ff imx-atf-lf-6.1.55-2.2.0.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 eb94414f952444289c0af8ad82afa0dc2d07e08f9000ccd2cc39f11da5b494ea linux-imx-lf-6.1.55-2.2.0.tar.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 64441ee5bf3d5011e7853c028d06211b6f0439d21e147a8f36972c95a07ae9ac uboot-imx-lf-6.1.55-2.2.0.tar.gz
|
||||
@@ -1,77 +0,0 @@
|
||||
*********************
|
||||
NXP i.MX93 EVK board
|
||||
*********************
|
||||
|
||||
This file documents the Buildroot support for the i.MX 93 EVK board.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX 93 EVK board:
|
||||
|
||||
make freescale_imx93evk_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- ahab-container.img
|
||||
- bl31.bin
|
||||
- boot.vfat
|
||||
- ddr_fw.bin
|
||||
- Image
|
||||
- imx93-11x11-evk.dtb
|
||||
- imx9-boot-sd.bin
|
||||
- lpddr4_pmu_train_fw.bin
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot-atf-container.img
|
||||
- u-boot.bin
|
||||
- u-boot-hash.bin
|
||||
- u-boot-spl.bin
|
||||
- u-boot-spl-ddr.bin
|
||||
- u-boot-spl-padded.bin
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/freescale/common/imx/genimage.cfg.template_imx9.
|
||||
|
||||
Boot the i.MX 93 EVK board
|
||||
===============================
|
||||
|
||||
To boot your newly created system (refer to the i.MX 93 EVK Documentation
|
||||
[1] for guidance):
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- Configure the switches as follows:
|
||||
SW1301: 0100 SW1301[1-4]
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Note: the debug USB connector presents 4 UARTs (for example /dev/ttyUSB[0-3]),
|
||||
the Cortex-A55 UART should be the 3rd one (in the previous example, /dev/ttyUSB2).
|
||||
Refer to the documentation [1] for more details.
|
||||
|
||||
Enjoy!
|
||||
|
||||
References
|
||||
==========
|
||||
[1] https://www.nxp.com/document/guide/getting-started-with-the-i-mx93-evk:GS-IMX93EVK
|
||||
@@ -1,7 +1,7 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"uImage",
|
||||
"imxrt1050-evk.dtb",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs console=ttyLP0 root=/dev/mmcblk0p2 rw earlycon rootwait;load mmc 0:1 0x80800000 imxrt1050-evk.dtb;load mmc 0:1 0x80000000 zImage;bootz 0x80000000 - 0x80800000"
|
||||
CONFIG_BOOTCOMMAND="setenv bootargs console=ttyLP0 root=/dev/mmcblk0p2 rw earlycon rootwait;load mmc 0:1 0x80800000 imxrt1050-evk.dtb;load mmc 0:1 0x80000000 uImage;bootm 0x80000000 - 0x80800000"
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
// Copyright (C) 2023 In-Circuit GmbH
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun7i-a20-icnova-a20.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "In-Circuit ICnova A20 ADB4006";
|
||||
compatible = "incircuit,icnova-a20-adb4006", "incircuit,icnova-a20",
|
||||
"allwinner,sun7i-a20";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* PH21 */
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_HEARTBEAT;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* PH20 */
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ahci {
|
||||
target-supply = <®_ahci_5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_out {
|
||||
hdmi_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&otg_sram {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_ahci_5v {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
®_usb2_vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
|
||||
usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-icnova-a20-adb4006"
|
||||
CONFIG_SPL=y
|
||||
CONFIG_MACH_SUN7I=y
|
||||
CONFIG_DRAM_CLK=384
|
||||
CONFIG_AHCI=y
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SCSI_AHCI=y
|
||||
CONFIG_SYS_I2C_MVTWSI=y
|
||||
CONFIG_SYS_I2C_SLAVE=0x7f
|
||||
CONFIG_SYS_I2C_SPEED=400000
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_SUN7I_GMAC=y
|
||||
CONFIG_AXP_ALDO4_VOLT=2800
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
@@ -0,0 +1,62 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
// Copyright (C) 2023 In-Circuit GmbH
|
||||
|
||||
#include "sun7i-a20.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
&gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_mii_pins>;
|
||||
phy-handle = <&phy1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
axp209: pmic@34 {
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac_mdio {
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp209.dtsi"
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-int-dll";
|
||||
};
|
||||
|
||||
®_ldo1 {
|
||||
regulator-name = "vdd-rtc";
|
||||
};
|
||||
|
||||
®_ldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
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 rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
MangoPi MQ1RDW2
|
||||
===============
|
||||
|
||||
MangoPi MQ1RDW2 is a tiny ARM Cortex-A7 based single board computer.
|
||||
It's built around Allwinner T113-S3 dual core 1GHz CPU with integrated
|
||||
128MB DDR3-1600 RAM.
|
||||
Board features:
|
||||
- USB-OTG Type-C socket
|
||||
- USB-HOST Type-C socket
|
||||
- 2x 18 pin GPIO headers
|
||||
- TF card slot
|
||||
- RTL8723DS WiFi module with ext. antenna connector
|
||||
- 40 pin RGB FPC connector
|
||||
- 6 pin CTP FPC connector
|
||||
- 24 pin DVP FPC connector
|
||||
- onboard mic
|
||||
- onboard audio amplifier
|
||||
- FEL,reset button
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make mangopi_mq1rdw2_defconfig
|
||||
$ make
|
||||
|
||||
Wifi
|
||||
==========
|
||||
|
||||
Edit board/mangopi/mq1rdw2/overlay/etc/wpa_supplicant.conf or
|
||||
/etc/wpa_supplicant.conf once connected to the board:
|
||||
|
||||
* Replace YOURSSID with your AP ssid
|
||||
* Replace YOURPASSWD with your AP password
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Connect a TTL UART to the UART3 on P8 header (unpopulated), insert the microSD card and
|
||||
plug in a USB-C cable to the OTG or HOST connector to boot the system.
|
||||
@@ -1,4 +0,0 @@
|
||||
label MANGOPI-MQ1RDW2
|
||||
kernel /boot/zImage
|
||||
devicetree /boot/sun8i-t113s-mangopi-mq-r-t113.dtb
|
||||
append console=ttyS3,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
|
||||
@@ -1,6 +0,0 @@
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto wlan0
|
||||
iface wlan0 inet dhcp
|
||||
wpa-conf /etc/wpa_supplicant.conf
|
||||
@@ -1,8 +0,0 @@
|
||||
ap_scan=1
|
||||
|
||||
network={
|
||||
ssid="YOURSSID"
|
||||
scan_ssid=1
|
||||
key_mgmt=WPA-PSK
|
||||
psk="YOURPASSWD"
|
||||
}
|
||||
@@ -15,7 +15,7 @@ image boot.vfat {
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
partition-table-type = "gpt"
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
|
||||
+4
-4
@@ -13,13 +13,13 @@ This commit specifies XR819 interrupt configuration for the driver.
|
||||
|
||||
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 3 +++
|
||||
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index b7ca916d871d..4e1a9050c6b4 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -125,6 +125,9 @@
|
||||
*/
|
||||
xr819: sdio_wifi@1 {
|
||||
|
||||
+4
-4
@@ -10,13 +10,13 @@ For more information see:
|
||||
|
||||
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 16 ++++++++++++++++
|
||||
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index 4e1a9050c6b4..cdf19821b1f3 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -161,3 +161,19 @@
|
||||
/* USB VBUS is always on */
|
||||
status = "okay";
|
||||
|
||||
+4
-4
@@ -8,13 +8,13 @@ This patch enables spidev driver for SPI1.
|
||||
|
||||
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++
|
||||
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index cdf19821b1f3..7242aaecb14f 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -59,6 +59,7 @@
|
||||
serial0 = &uart0;
|
||||
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
|
||||
|
||||
+4
-4
@@ -7,13 +7,13 @@ Enable uart1 and uart2 on orange-pi-zero board.
|
||||
|
||||
Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 4 ++--
|
||||
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index f19ed981da9d..03acf166ab70 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -184,13 +184,13 @@ &uart0 {
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_MFD_AC200=y
|
||||
@@ -26,7 +26,7 @@ Running under Qemu
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M virt,secure=on,acpi=off \
|
||||
-M virt,secure=on \
|
||||
-bios output/images/flash.bin \
|
||||
-cpu cortex-a53 \
|
||||
-device virtio-blk-device,drive=hd0 \
|
||||
@@ -35,6 +35,7 @@ Run the emulation with:
|
||||
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
||||
-m 2048 \
|
||||
-netdev user,id=eth0 \
|
||||
-no-acpi \
|
||||
-nographic \
|
||||
-object rng-random,filename=/dev/urandom,id=rng0 \
|
||||
-rtc base=utc,clock=host \
|
||||
@@ -62,7 +63,7 @@ image first with:
|
||||
Then run the OS installer iso image on emulation with:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M virt,secure=on,acpi=off \
|
||||
-M virt,secure=on \
|
||||
-bios output/images/flash.bin \
|
||||
-cpu cortex-a53 \
|
||||
-device virtio-blk-device,drive=hd1 \
|
||||
@@ -73,6 +74,7 @@ Then run the OS installer iso image on emulation with:
|
||||
-drive file=disk.qcow2,if=none,id=hd1 \
|
||||
-m 2048 \
|
||||
-netdev user,id=eth0 \
|
||||
-no-acpi \
|
||||
-nographic \
|
||||
-object rng-random,filename=/dev/urandom,id=rng0 \
|
||||
-rtc base=utc,clock=host \
|
||||
|
||||
@@ -26,7 +26,7 @@ Running under Qemu
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm \
|
||||
-M virt,secure=on,acpi=off \
|
||||
-M virt,secure=on \
|
||||
-bios output/images/flash.bin \
|
||||
-cpu cortex-a15 \
|
||||
-device virtio-blk-device,drive=hd0 \
|
||||
@@ -35,6 +35,7 @@ Run the emulation with:
|
||||
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
||||
-m 1024 \
|
||||
-netdev user,id=eth0 \
|
||||
-no-acpi \
|
||||
-nographic \
|
||||
-object rng-random,filename=/dev/urandom,id=rng0 \
|
||||
-rtc base=utc,clock=host \
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
cp -f "${BOARD_DIR}"/grub.cfg "${BINARIES_DIR}"/efi-part/EFI/BOOT/grub.cfg
|
||||
|
||||
# The QEMU riscv64 virt machine expects flash devices to be 32M.
|
||||
truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_CODE.fd
|
||||
truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_VARS.fd
|
||||
@@ -1,34 +0,0 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
partition-table-type = "gpt"
|
||||
}
|
||||
|
||||
partition boot {
|
||||
image = "efi-part.vfat"
|
||||
partition-type-uuid = U
|
||||
offset = 32K
|
||||
bootable = true
|
||||
}
|
||||
|
||||
partition root {
|
||||
# For partition-type-uuid value, see:
|
||||
# https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
|
||||
# SD_GPT_ROOT_RISCV64
|
||||
partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /Image root=PARTLABEL=root rootwait
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This is a RISC-V 64bit UEFI Linux boot demo in QEmu virt machine.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
make qemu_riscv64_virt_efi_defconfig
|
||||
make
|
||||
|
||||
Emulation
|
||||
=========
|
||||
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-riscv64 \
|
||||
-M virt,pflash0=pflash0,pflash1=pflash1,acpi=off \
|
||||
-smp 4 \
|
||||
-m 1024 \
|
||||
-nographic \
|
||||
-blockdev node-name=pflash0,driver=file,read-only=on,filename=output/images/RISCV_VIRT_CODE.fd \
|
||||
-blockdev node-name=pflash1,driver=file,filename=output/images/RISCV_VIRT_VARS.fd \
|
||||
\
|
||||
-drive file=output/images/disk.img,format=raw,id=hd0 \
|
||||
-device virtio-blk-device,drive=hd0 \
|
||||
\
|
||||
-netdev user,id=net0 \
|
||||
-device virtio-net-device,netdev=net0 # qemu_riscv64_virt_efi_defconfig
|
||||
|
||||
Note: for information, qemu version >= 8.0.0 is needed for this UEFI
|
||||
Linux demo. It introduced the two pflash memories (previous versions
|
||||
had only one). The host-qemu package in Buildroot (enabled in this
|
||||
defconfig) is sufficient to run this demo. In case another qemu is
|
||||
used (for example, from the host OS), make sure to check the version
|
||||
requirement.
|
||||
@@ -0,0 +1,418 @@
|
||||
From 22d955122ac0f7ac74ab74aadebf6b8edaf0bbbd Mon Sep 17 00:00:00 2001
|
||||
From: Julien Olivain <juju@cotds.org>
|
||||
Date: Sun, 15 Dec 2019 18:45:40 +0100
|
||||
Subject: [PATCH] DTS for QMTech Zynq starter kit
|
||||
|
||||
Signed-off-by: Martin Chabot <martin.chabot@gmail.com>
|
||||
Signed-off-by: Julien Olivain <juju@cotds.org>
|
||||
---
|
||||
arch/arm/boot/dts/zynq-qmtech.dts | 397 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 397 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/zynq-qmtech.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/zynq-qmtech.dts b/arch/arm/boot/dts/zynq-qmtech.dts
|
||||
new file mode 100644
|
||||
index 000000000000..c6081dc0080e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/zynq-qmtech.dts
|
||||
@@ -0,0 +1,397 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2011 - 2015 Xilinx
|
||||
+ * Copyright (C) 2012 National Instruments Corp.
|
||||
+ * Copyright (C) 2019 Martin Chabot <martin.chabot@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+/* Derived from:
|
||||
+ * https://github.com/Xilinx/linux-xlnx/blob/xilinx-v2019.2.01/arch/arm/boot/dts/zynq-zc702.dts
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "zynq-7000.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "QMTECH XC7Z010 Starter Kit";
|
||||
+ compatible = "xlnx,zynq-qmtech", "xlnx,zynq-zc702", "xlnx,zynq-7000";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &gem0;
|
||||
+ i2c0 = &i2c0;
|
||||
+ serial0 = &uart1;
|
||||
+ spi0 = &qspi;
|
||||
+ mmc0 = &sdhci0;
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x20000000>;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "";
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ ds23 {
|
||||
+ label = "ds23";
|
||||
+ gpios = <&gpio0 10 0>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&amba {
|
||||
+ ocm: sram@fffc0000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0xfffc0000 0x10000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&clkc {
|
||||
+ ps-clk-frequency = <33333333>;
|
||||
+};
|
||||
+
|
||||
+&gem0 {
|
||||
+ status = "okay";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <ðernet_phy>;
|
||||
+
|
||||
+ ethernet_phy: ethernet-phy@0 {
|
||||
+ reg = <0>;
|
||||
+ device_type = "ethernet-phy";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio0_default>;
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "disabled";
|
||||
+ clock-frequency = <400000>;
|
||||
+ pinctrl-names = "default", "gpio";
|
||||
+ pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
+ pinctrl-1 = <&pinctrl_i2c0_gpio>;
|
||||
+ scl-gpios = <&gpio0 50 0>;
|
||||
+ sda-gpios = <&gpio0 51 0>;
|
||||
+
|
||||
+ i2c-mux@74 {
|
||||
+ compatible = "nxp,pca9548";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <0x74>;
|
||||
+
|
||||
+ i2c@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <0>;
|
||||
+ si570: clock-generator@5d {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "silabs,si570";
|
||||
+ temperature-stability = <50>;
|
||||
+ reg = <0x5d>;
|
||||
+ factory-fout = <156250000>;
|
||||
+ clock-frequency = <148500000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@1 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <1>;
|
||||
+ adv7511: hdmi-tx@39 {
|
||||
+ compatible = "adi,adv7511";
|
||||
+ reg = <0x39>;
|
||||
+ adi,input-depth = <8>;
|
||||
+ adi,input-colorspace = "yuv422";
|
||||
+ adi,input-clock = "1x";
|
||||
+ adi,input-style = <3>;
|
||||
+ adi,input-justification = "right";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@2 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <2>;
|
||||
+ eeprom@54 {
|
||||
+ compatible = "atmel,24c08";
|
||||
+ reg = <0x54>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@3 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <3>;
|
||||
+ gpio@21 {
|
||||
+ compatible = "ti,tca6416";
|
||||
+ reg = <0x21>;
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@4 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <4>;
|
||||
+ rtc@51 {
|
||||
+ compatible = "nxp,pcf8563";
|
||||
+ reg = <0x51>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@7 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ reg = <7>;
|
||||
+ hwmon@52 {
|
||||
+ compatible = "ti,ucd9248";
|
||||
+ reg = <52>;
|
||||
+ };
|
||||
+ hwmon@53 {
|
||||
+ compatible = "ti,ucd9248";
|
||||
+ reg = <53>;
|
||||
+ };
|
||||
+ hwmon@54 {
|
||||
+ compatible = "ti,ucd9248";
|
||||
+ reg = <54>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pinctrl0 {
|
||||
+ pinctrl_can0_default: can0-default {
|
||||
+ mux {
|
||||
+ function = "can0";
|
||||
+ groups = "can0_9_grp";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "can0_9_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+
|
||||
+ conf-rx {
|
||||
+ pins = "MIO46";
|
||||
+ bias-high-impedance;
|
||||
+ };
|
||||
+
|
||||
+ conf-tx {
|
||||
+ pins = "MIO47";
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gem0_default: gem0-default {
|
||||
+ mux {
|
||||
+ function = "ethernet0";
|
||||
+ groups = "ethernet0_0_grp";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "ethernet0_0_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <4>;
|
||||
+ };
|
||||
+
|
||||
+ conf-rx {
|
||||
+ pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27";
|
||||
+ bias-high-impedance;
|
||||
+ low-power-disable;
|
||||
+ };
|
||||
+
|
||||
+ conf-tx {
|
||||
+ pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21";
|
||||
+ bias-disable;
|
||||
+ low-power-enable;
|
||||
+ };
|
||||
+
|
||||
+ mux-mdio {
|
||||
+ function = "mdio0";
|
||||
+ groups = "mdio0_0_grp";
|
||||
+ };
|
||||
+
|
||||
+ conf-mdio {
|
||||
+ groups = "mdio0_0_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio0_default: gpio0-default {
|
||||
+ mux {
|
||||
+ function = "gpio0";
|
||||
+ groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
|
||||
+ "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
|
||||
+ "gpio0_13_grp", "gpio0_14_grp";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp",
|
||||
+ "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp",
|
||||
+ "gpio0_13_grp", "gpio0_14_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+
|
||||
+ conf-pull-up {
|
||||
+ pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14";
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ conf-pull-none {
|
||||
+ pins = "MIO7", "MIO8";
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c0_default: i2c0-default {
|
||||
+ mux {
|
||||
+ groups = "i2c0_10_grp";
|
||||
+ function = "i2c0";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "i2c0_10_grp";
|
||||
+ bias-pull-up;
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c0_gpio: i2c0-gpio {
|
||||
+ mux {
|
||||
+ groups = "gpio0_50_grp", "gpio0_51_grp";
|
||||
+ function = "gpio0";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "gpio0_50_grp", "gpio0_51_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_sdhci0_default: sdhci0-default {
|
||||
+ mux {
|
||||
+ groups = "sdio0_2_grp";
|
||||
+ function = "sdio0";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "sdio0_2_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ mux-cd {
|
||||
+ groups = "gpio0_0_grp";
|
||||
+ function = "sdio0_cd";
|
||||
+ };
|
||||
+
|
||||
+ conf-cd {
|
||||
+ groups = "gpio0_0_grp";
|
||||
+ bias-high-impedance;
|
||||
+ bias-pull-up;
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+
|
||||
+ mux-wp {
|
||||
+ groups = "gpio0_15_grp";
|
||||
+ function = "sdio0_wp";
|
||||
+ };
|
||||
+
|
||||
+ conf-wp {
|
||||
+ groups = "gpio0_15_grp";
|
||||
+ bias-high-impedance;
|
||||
+ bias-pull-up;
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart1_default: uart1-default {
|
||||
+ mux {
|
||||
+ groups = "uart1_10_grp";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+
|
||||
+ conf {
|
||||
+ groups = "uart1_10_grp";
|
||||
+ slew-rate = <0>;
|
||||
+ io-standard = <1>;
|
||||
+ };
|
||||
+
|
||||
+ conf-rx {
|
||||
+ pins = "MIO25";
|
||||
+ bias-high-impedance;
|
||||
+ };
|
||||
+
|
||||
+ conf-tx {
|
||||
+ pins = "MIO24";
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&qspi {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ status = "disabled";
|
||||
+ is-dual = <0>;
|
||||
+ num-cs = <1>;
|
||||
+ flash@0 {
|
||||
+ compatible = "n25q128a11";
|
||||
+ reg = <0x0>;
|
||||
+ spi-tx-bus-width = <1>;
|
||||
+ spi-rx-bus-width = <4>;
|
||||
+ spi-max-frequency = <50000000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ partition@qspi-fsbl-uboot {
|
||||
+ label = "qspi-fsbl-uboot";
|
||||
+ reg = <0x0 0x100000>;
|
||||
+ };
|
||||
+ partition@qspi-linux {
|
||||
+ label = "qspi-linux";
|
||||
+ reg = <0x100000 0x500000>;
|
||||
+ };
|
||||
+ partition@qspi-device-tree {
|
||||
+ label = "qspi-device-tree";
|
||||
+ reg = <0x600000 0x20000>;
|
||||
+ };
|
||||
+ partition@qspi-rootfs {
|
||||
+ label = "qspi-rootfs";
|
||||
+ reg = <0x620000 0x5E0000>;
|
||||
+ };
|
||||
+ partition@qspi-bitstream {
|
||||
+ label = "qspi-bitstream";
|
||||
+ reg = <0xC00000 0x400000>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&sdhci0 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ status = "okay";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart1_default>;
|
||||
+};
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
*******************************
|
||||
QMTECH Zynq XC7Z010 Starter Kit
|
||||
*******************************
|
||||
|
||||
This file documents the Buildroot support for the QMTECH [1] Zynq
|
||||
XC7Z010 Starter Kit [2]. It is a low cost (~55$) Zynq based
|
||||
development board. The board user manual is available at
|
||||
[3]. Additional files are available on Github [4].
|
||||
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the QMTECH Zynq board:
|
||||
|
||||
make zynq_qmtech_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- boot.bin
|
||||
- boot.vfat
|
||||
- devicetree.dtb
|
||||
- rootfs.cpio
|
||||
- rootfs.cpio.gz
|
||||
- rootfs.cpio.uboot
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.bin
|
||||
- u-boot.img
|
||||
- uImage
|
||||
- zynq-qmtech.dtb
|
||||
|
||||
|
||||
Create a bootable micro SD card
|
||||
===============================
|
||||
|
||||
To determine the device associated to the micro SD card have a look in
|
||||
the /proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a micro SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
|
||||
Boot the QMTECH Zynq board
|
||||
==========================
|
||||
|
||||
To boot your newly created system:
|
||||
- put a mini USB cable into the J4 Debug USB Port and connect using a
|
||||
terminal emulator at 115200 bps, 8n1,
|
||||
- put the prepared micro SD card in the J2 micro SD card slot,
|
||||
- plug the 5V power supply on the JP4 barrel jack.
|
||||
|
||||
Enjoy!
|
||||
|
||||
|
||||
[1]. QMTECH:
|
||||
http://www.chinaqmtech.com/
|
||||
|
||||
[2]. QMTECH Zynq XC7Z010 Starter Kit Product Page:
|
||||
http://www.chinaqmtech.com/xilinx_zynq_soc
|
||||
|
||||
[3]. QMTECH Zynq XC7Z010 Starter Kit Hardware User Manual:
|
||||
http://www.chinaqmtech.com/filedownload/32552
|
||||
|
||||
[4]. QMTECH Github:
|
||||
https://github.com/ChinaQMTECH/ZYNQ_STARTER_KIT
|
||||
@@ -1,5 +1,4 @@
|
||||
CONFIG_R8169=y
|
||||
# CONFIG_ROCKCHIP_FIQ_DEBUGGER is not set
|
||||
# Disable Rockchip specific WiFi drivers, as the kernel
|
||||
# code cannot be build with GCC 12 due to several Werrors
|
||||
# CONFIG_WL_ROCKCHIP is not set
|
||||
|
||||
@@ -20,7 +20,6 @@ output/images
|
||||
├── rk3588-rock-5b.dtb
|
||||
├── rk3588_bl31_v1.40.elf
|
||||
├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin
|
||||
├── rock5b.dts
|
||||
├── rock5b.its
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4
|
||||
@@ -65,8 +64,6 @@ https://forum.radxa.com/c/rock5
|
||||
Issues:
|
||||
=======
|
||||
|
||||
WiFi
|
||||
----
|
||||
The custom Radxa kernel provides custom code to support WiFi. However,
|
||||
that code does not compile with GCC 12, which is the current default
|
||||
version in buildroot. Hence, the WiFi kernel drivers are disabled, until
|
||||
@@ -83,20 +80,3 @@ BR2_GCC_VERSION_11_X=y
|
||||
board/radxa/rock5b/linux.fragment:
|
||||
|
||||
# CONFIG_WL_ROCKCHIP is not set
|
||||
|
||||
Rockchip FIQ Debugger
|
||||
---------------------
|
||||
The custom kernel used for this board features an FIQ debugger, which
|
||||
can be activated by typing "fiq" on the serial interface. As this can be
|
||||
annoying if a user wants to type these charakters and it is not needed
|
||||
for most users, this board support disables the FIQ debugger by default.
|
||||
To re-enable the FIQ debugger follow the steps:
|
||||
|
||||
1. In board/radxa/rock5b/rock5b.dts set the status property of the
|
||||
fiq_debugger node to "okay" and set the status property of the uart2
|
||||
node to "disabled"
|
||||
|
||||
2. Re-enable the fiq debugger module by removing the following line
|
||||
from board/radxa/rock5b/linux.fragment:
|
||||
|
||||
# CONFIG_ROCKCHIP_FIQ_DEBUGGER is not set
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "rockchip/rk3588-rock-5b.dts"
|
||||
|
||||
&fiq_debugger {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-0 = <&uart2m0_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -20,7 +20,7 @@
|
||||
};
|
||||
fdt {
|
||||
description = "Device Tree";
|
||||
data = /incbin/("rock5b.dtb");
|
||||
data = /incbin/("rk3588-rock-5b.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
|
||||
@@ -14,3 +14,6 @@ elif [ -d ${TARGET_DIR}/etc/systemd ]; then
|
||||
ln -sf /lib/systemd/system/getty@.service \
|
||||
"${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service"
|
||||
fi
|
||||
|
||||
# ensure overlays exists for genimage
|
||||
mkdir -p "${BINARIES_DIR}/rpi-firmware/overlays"
|
||||
|
||||
@@ -28,10 +28,6 @@ For model Zero (model A+ in smaller form factor):
|
||||
|
||||
$ make raspberrypi0_defconfig
|
||||
|
||||
or for model Zero W (model Zero with wireless LAN and Bluetooth):
|
||||
|
||||
$ make raspberrypi0w_defconfig
|
||||
|
||||
For model Zero 2 W (model B3 in smaller form factor):
|
||||
|
||||
$ make raspberrypizero2w_defconfig
|
||||
|
||||
@@ -11,8 +11,8 @@ image sdcard.img {
|
||||
image = "%ATFBIN%"
|
||||
}
|
||||
|
||||
partition fip {
|
||||
image = "fip.bin"
|
||||
partition ssbl {
|
||||
image = "u-boot.stm32"
|
||||
size = 2M
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
atf_image()
|
||||
{
|
||||
ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([^\"]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
# make sure DTB_FILE_NAME is set
|
||||
printf '%s\n' "${ATF_VARIABLES}" | grep -Eq 'DTB_FILE_NAME=[0-9A-Za-z_\-]*'
|
||||
# extract the value
|
||||
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
From 078cbf942c86d77775a26d83fc87ca244de02d4c Mon Sep 17 00:00:00 2001
|
||||
From: Govindraj Raja <govindraj.raja@arm.com>
|
||||
Date: Fri, 5 May 2023 09:09:36 -0500
|
||||
Subject: [PATCH] fix(build): allow lower address access with gcc-12
|
||||
|
||||
With gcc-12 any lower address access can trigger a warning/error
|
||||
this would be useful in other parts of system but in TF-A
|
||||
there are various reasons to access to the lower address ranges,
|
||||
example using mmio_read_*/writes_*
|
||||
|
||||
So setup to allow access to lower addresses while using gcc-12
|
||||
|
||||
Change-Id: Id1b4012b13bc6876d83b90a347fee12478a1921d
|
||||
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
|
||||
Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/dea23e245fb890c6c06eff7d1aed8fffa981fc05
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
Makefile | 4 ++++
|
||||
make_helpers/build_macros.mk | 12 ++++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index dccf0121d..edd7f5886 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -385,6 +385,10 @@ ifeq ($(findstring clang,$(notdir $(CC))),)
|
||||
WARNINGS += -Wunused-but-set-variable -Wmaybe-uninitialized \
|
||||
-Wpacked-bitfield-compat -Wshift-overflow=2 \
|
||||
-Wlogical-op
|
||||
+
|
||||
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
|
||||
+TF_CFLAGS += $(call cc_option, --param=min-pagesize=0)
|
||||
+
|
||||
else
|
||||
# using clang
|
||||
WARNINGS += -Wshift-overflow -Wshift-sign-overflow \
|
||||
diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
|
||||
index 12aaee684..3a54bf67c 100644
|
||||
--- a/make_helpers/build_macros.mk
|
||||
+++ b/make_helpers/build_macros.mk
|
||||
@@ -86,6 +86,18 @@ define assert_numerics
|
||||
$(foreach num,$1,$(eval $(call assert_numeric,$(num))))
|
||||
endef
|
||||
|
||||
+# Convenience function to check for a given linker option. An call to
|
||||
+# $(call ld_option, --no-XYZ) will return --no-XYZ if supported by the linker
|
||||
+define ld_option
|
||||
+ $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi )
|
||||
+endef
|
||||
+
|
||||
+# Convenience function to check for a given compiler option. A call to
|
||||
+# $(call cc_option, --no-XYZ) will return --no-XYZ if supported by the compiler
|
||||
+define cc_option
|
||||
+ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi )
|
||||
+endef
|
||||
+
|
||||
# CREATE_SEQ is a recursive function to create sequence of numbers from 1 to
|
||||
# $(2) and assign the sequence to $(1)
|
||||
define CREATE_SEQ
|
||||
--
|
||||
2.41.0
|
||||
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
From cc14748257e07ed5b2caf5194c4c333a8d09a1f4 Mon Sep 17 00:00:00 2001
|
||||
From: Marco Felsch <m.felsch@pengutronix.de>
|
||||
Date: Wed, 9 Nov 2022 12:59:09 +0100
|
||||
Subject: [PATCH] feat(build): add support for new binutils versions
|
||||
|
||||
Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces
|
||||
of a new warning when linking the bl*.elf in the form:
|
||||
|
||||
ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack
|
||||
ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
|
||||
ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions
|
||||
ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions
|
||||
|
||||
These new warnings are enbaled by default to secure elf binaries:
|
||||
- https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
|
||||
- https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774
|
||||
|
||||
Fix it in a similar way to what the Linux kernel does, see:
|
||||
https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/
|
||||
|
||||
Following the reasoning there, we set "-z noexecstack" for all linkers
|
||||
(although LLVM's LLD defaults to it) and optional add
|
||||
--no-warn-rwx-segments since this a ld.bfd related.
|
||||
|
||||
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
|
||||
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
||||
Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617
|
||||
Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
Makefile | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index edd7f5886..4c0e1473e 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -418,6 +418,8 @@ endif
|
||||
|
||||
GCC_V_OUTPUT := $(shell $(CC) -v 2>&1)
|
||||
|
||||
+TF_LDFLAGS += -z noexecstack
|
||||
+
|
||||
# LD = armlink
|
||||
ifneq ($(findstring armlink,$(notdir $(LD))),)
|
||||
TF_LDFLAGS += --diag_error=warning --lto_level=O1
|
||||
@@ -445,6 +447,12 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH)))
|
||||
# LD = gcc-ld (ld) or llvm-ld (ld.lld) or other
|
||||
else
|
||||
TF_LDFLAGS += --fatal-warnings -O1
|
||||
+
|
||||
+# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we
|
||||
+# are not loaded by a elf loader.
|
||||
+TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments)
|
||||
+TF_LDFLAGS += -O1
|
||||
+
|
||||
TF_LDFLAGS += --gc-sections
|
||||
# ld.lld doesn't recognize the errata flags,
|
||||
# therefore don't add those in that case
|
||||
--
|
||||
2.41.0
|
||||
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
From 078cbf942c86d77775a26d83fc87ca244de02d4c Mon Sep 17 00:00:00 2001
|
||||
From: Govindraj Raja <govindraj.raja@arm.com>
|
||||
Date: Fri, 5 May 2023 09:09:36 -0500
|
||||
Subject: [PATCH] fix(build): allow lower address access with gcc-12
|
||||
|
||||
With gcc-12 any lower address access can trigger a warning/error
|
||||
this would be useful in other parts of system but in TF-A
|
||||
there are various reasons to access to the lower address ranges,
|
||||
example using mmio_read_*/writes_*
|
||||
|
||||
So setup to allow access to lower addresses while using gcc-12
|
||||
|
||||
Change-Id: Id1b4012b13bc6876d83b90a347fee12478a1921d
|
||||
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
|
||||
Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/dea23e245fb890c6c06eff7d1aed8fffa981fc05
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
Makefile | 4 ++++
|
||||
make_helpers/build_macros.mk | 12 ++++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index dccf0121d..edd7f5886 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -385,6 +385,10 @@ ifeq ($(findstring clang,$(notdir $(CC))),)
|
||||
WARNINGS += -Wunused-but-set-variable -Wmaybe-uninitialized \
|
||||
-Wpacked-bitfield-compat -Wshift-overflow=2 \
|
||||
-Wlogical-op
|
||||
+
|
||||
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
|
||||
+TF_CFLAGS += $(call cc_option, --param=min-pagesize=0)
|
||||
+
|
||||
else
|
||||
# using clang
|
||||
WARNINGS += -Wshift-overflow -Wshift-sign-overflow \
|
||||
diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk
|
||||
index 12aaee684..3a54bf67c 100644
|
||||
--- a/make_helpers/build_macros.mk
|
||||
+++ b/make_helpers/build_macros.mk
|
||||
@@ -86,6 +86,18 @@ define assert_numerics
|
||||
$(foreach num,$1,$(eval $(call assert_numeric,$(num))))
|
||||
endef
|
||||
|
||||
+# Convenience function to check for a given linker option. An call to
|
||||
+# $(call ld_option, --no-XYZ) will return --no-XYZ if supported by the linker
|
||||
+define ld_option
|
||||
+ $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi )
|
||||
+endef
|
||||
+
|
||||
+# Convenience function to check for a given compiler option. A call to
|
||||
+# $(call cc_option, --no-XYZ) will return --no-XYZ if supported by the compiler
|
||||
+define cc_option
|
||||
+ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi )
|
||||
+endef
|
||||
+
|
||||
# CREATE_SEQ is a recursive function to create sequence of numbers from 1 to
|
||||
# $(2) and assign the sequence to $(1)
|
||||
define CREATE_SEQ
|
||||
--
|
||||
2.41.0
|
||||
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
From cc14748257e07ed5b2caf5194c4c333a8d09a1f4 Mon Sep 17 00:00:00 2001
|
||||
From: Marco Felsch <m.felsch@pengutronix.de>
|
||||
Date: Wed, 9 Nov 2022 12:59:09 +0100
|
||||
Subject: [PATCH] feat(build): add support for new binutils versions
|
||||
|
||||
Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces
|
||||
of a new warning when linking the bl*.elf in the form:
|
||||
|
||||
ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack
|
||||
ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
|
||||
ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions
|
||||
ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions
|
||||
|
||||
These new warnings are enbaled by default to secure elf binaries:
|
||||
- https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
|
||||
- https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774
|
||||
|
||||
Fix it in a similar way to what the Linux kernel does, see:
|
||||
https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/
|
||||
|
||||
Following the reasoning there, we set "-z noexecstack" for all linkers
|
||||
(although LLVM's LLD defaults to it) and optional add
|
||||
--no-warn-rwx-segments since this a ld.bfd related.
|
||||
|
||||
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
|
||||
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
|
||||
Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617
|
||||
Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
---
|
||||
Makefile | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index edd7f5886..4c0e1473e 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -418,6 +418,8 @@ endif
|
||||
|
||||
GCC_V_OUTPUT := $(shell $(CC) -v 2>&1)
|
||||
|
||||
+TF_LDFLAGS += -z noexecstack
|
||||
+
|
||||
# LD = armlink
|
||||
ifneq ($(findstring armlink,$(notdir $(LD))),)
|
||||
TF_LDFLAGS += --diag_error=warning --lto_level=O1
|
||||
@@ -445,6 +447,12 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH)))
|
||||
# LD = gcc-ld (ld) or llvm-ld (ld.lld) or other
|
||||
else
|
||||
TF_LDFLAGS += --fatal-warnings -O1
|
||||
+
|
||||
+# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we
|
||||
+# are not loaded by a elf loader.
|
||||
+TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments)
|
||||
+TF_LDFLAGS += -O1
|
||||
+
|
||||
TF_LDFLAGS += --gc-sections
|
||||
# ld.lld doesn't recognize the errata flags,
|
||||
# therefore don't add those in that case
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
label am5749-idk-buildroot
|
||||
kernel /zImage
|
||||
fdtdir /
|
||||
append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
|
||||
@@ -1,30 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"am574x-idk.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 1G
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf
|
||||
@@ -1,28 +0,0 @@
|
||||
Texas Instuments AM574x IDK Test and Development Board
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This configuration will build a basic image for the TI AM574x IDK
|
||||
board: https://www.ti.com/tool/TMDSIDK574
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make am574x_idk_defconfig
|
||||
|
||||
Compile everything and build the USB flash drive image:
|
||||
|
||||
$ make
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This is a temporary work around for generating kd240 u-boot.itb.
|
||||
# The problem is there is no way to currently configure u-boot to apply
|
||||
# the carrier board dtb overlay during build, so all kd240 carrier board
|
||||
# drivers are missing.
|
||||
# This will be removed when u-boot can build the kd240 u-boot.itb natively.
|
||||
|
||||
UBOOT_DIR="$4"
|
||||
|
||||
fdtoverlay -o "${UBOOT_DIR}/fit-dtb.blob" \
|
||||
-i "${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k24-revA.dtb" \
|
||||
"${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kd-g-revA.dtbo"
|
||||
|
||||
"${UBOOT_DIR}/tools/mkimage" -E -f "${UBOOT_DIR}/u-boot.its" \
|
||||
-B 0x8 "${BINARIES_DIR}/u-boot.itb"
|
||||
-401
@@ -1,401 +0,0 @@
|
||||
From f8cba630d3fccd901164dec7bd9b60442bab8995 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Frager <neal.frager@amd.com>
|
||||
Date: Wed, 13 Dec 2023 12:53:29 +0000
|
||||
Subject: [PATCH] arm64: zynqmp: Fix k24 psu_init_gpl.c clocking
|
||||
|
||||
This patch corrects the k24 som clocking configuration such that the serdes
|
||||
clocks are correctly enabled and the usb0 is configured to use the psgtr
|
||||
refclk2 for usb3 mode.
|
||||
|
||||
This patch also corrects the configuration of mio pins mio76 and mio77
|
||||
which should be configured as gpio pins.
|
||||
|
||||
Signed-off-by: Neal Frager <neal.frager@amd.com>
|
||||
Upstream: https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/
|
||||
---
|
||||
.../zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c | 266 +++++++++++++-----
|
||||
1 file changed, 200 insertions(+), 66 deletions(-)
|
||||
|
||||
diff --git a/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c
|
||||
index 45102302dc..4c904c6c81 100644
|
||||
--- a/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c
|
||||
+++ b/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c
|
||||
@@ -72,6 +72,18 @@ static void dpll_prog(int div2, int ddr_pll_fbdiv, int d_lock_dly,
|
||||
Xil_Out32(((0xFD1A0000U) + 0x0000002C), pll_ctrl_regval);
|
||||
}
|
||||
|
||||
+static int serdes_illcalib(u32 lane3_protocol, u32 lane3_rate,
|
||||
+ u32 lane2_protocol, u32 lane2_rate,
|
||||
+ u32 lane1_protocol, u32 lane1_rate,
|
||||
+ u32 lane0_protocol, u32 lane0_rate)
|
||||
+{
|
||||
+ Xil_Out32(0xFD409914, 0xF3);
|
||||
+ Xil_Out32(0xFD409940, 0xF3);
|
||||
+ Xil_Out32(0xFD409990, 0x20);
|
||||
+ Xil_Out32(0xFD409924, 0x37);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
static unsigned long psu_pll_init_data(void)
|
||||
{
|
||||
psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4B0C62U);
|
||||
@@ -490,20 +502,20 @@ static unsigned long psu_mio_init_data(void)
|
||||
psu_mask_write(0xFF18008C, 0x000000FEU, 0x00000000U);
|
||||
psu_mask_write(0xFF180090, 0x000000FEU, 0x000000C0U);
|
||||
psu_mask_write(0xFF180094, 0x000000FEU, 0x000000C0U);
|
||||
- psu_mask_write(0xFF180098, 0x000000FEU, 0x00000000U);
|
||||
- psu_mask_write(0xFF18009C, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800A0, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800A4, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800A8, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800AC, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800B0, 0x000000FEU, 0x00000000U);
|
||||
- psu_mask_write(0xFF1800B4, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800B8, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800BC, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800C0, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800C4, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800C8, 0x000000FEU, 0x00000010U);
|
||||
- psu_mask_write(0xFF1800CC, 0x000000FEU, 0x00000010U);
|
||||
+ psu_mask_write(0xFF180098, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF18009C, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800A0, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800A4, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800A8, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800AC, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800B0, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800B4, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800B8, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800BC, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800C0, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800C4, 0x000000FEU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF1800C8, 0x000000FEU, 0x00000080U);
|
||||
+ psu_mask_write(0xFF1800CC, 0x000000FEU, 0x00000080U);
|
||||
psu_mask_write(0xFF1800D0, 0x000000FEU, 0x00000004U);
|
||||
psu_mask_write(0xFF1800D4, 0x000000FEU, 0x00000004U);
|
||||
psu_mask_write(0xFF1800D8, 0x000000FEU, 0x00000004U);
|
||||
@@ -528,8 +540,8 @@ static unsigned long psu_mio_init_data(void)
|
||||
psu_mask_write(0xFF180124, 0x000000FEU, 0x00000002U);
|
||||
psu_mask_write(0xFF180128, 0x000000FEU, 0x00000002U);
|
||||
psu_mask_write(0xFF18012C, 0x000000FEU, 0x00000002U);
|
||||
- psu_mask_write(0xFF180130, 0x000000FEU, 0x000000C0U);
|
||||
- psu_mask_write(0xFF180134, 0x000000FEU, 0x000000C0U);
|
||||
+ psu_mask_write(0xFF180130, 0x000000FEU, 0x00000000U);
|
||||
+ psu_mask_write(0xFF180134, 0x000000FEU, 0x00000000U);
|
||||
psu_mask_write(0xFF180204, 0xFFFFFFFFU, 0x50000000U);
|
||||
psu_mask_write(0xFF180208, 0xFFFFFFFFU, 0x00B02020U);
|
||||
psu_mask_write(0xFF18020C, 0x00003FFFU, 0x00000FC0U);
|
||||
@@ -539,18 +551,18 @@ static unsigned long psu_mio_init_data(void)
|
||||
psu_mask_write(0xFF180144, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
psu_mask_write(0xFF180148, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
psu_mask_write(0xFF18014C, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
- psu_mask_write(0xFF180154, 0x03FFFFFFU, 0x00080814U);
|
||||
+ psu_mask_write(0xFF180154, 0x03FFFFFFU, 0x00FC0814U);
|
||||
psu_mask_write(0xFF180158, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
psu_mask_write(0xFF18015C, 0x03FFFFFFU, 0x00000000U);
|
||||
- psu_mask_write(0xFF180160, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
- psu_mask_write(0xFF180164, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
- psu_mask_write(0xFF180168, 0x03FFFFFFU, 0x03F7F7EBU);
|
||||
- psu_mask_write(0xFF180170, 0x03FFFFFFU, 0x00FC000BU);
|
||||
+ psu_mask_write(0xFF180160, 0x0387FFFFU, 0x0387FFFFU);
|
||||
+ psu_mask_write(0xFF180164, 0x03FFFFFFU, 0x03FFF87FU);
|
||||
+ psu_mask_write(0xFF180168, 0x03FFFFFFU, 0x0303F7EBU);
|
||||
+ psu_mask_write(0xFF180170, 0x03FFFFFFU, 0x0004400BU);
|
||||
psu_mask_write(0xFF180174, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
psu_mask_write(0xFF180178, 0x03FFFFFFU, 0x00000000U);
|
||||
- psu_mask_write(0xFF18017C, 0x0357FFFFU, 0x0357FFFFU);
|
||||
- psu_mask_write(0xFF180180, 0x03FFFFFFU, 0x0357FFFFU);
|
||||
- psu_mask_write(0xFF180184, 0x03FFFFFFU, 0x0303FFF4U);
|
||||
+ psu_mask_write(0xFF18017C, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
+ psu_mask_write(0xFF180180, 0x03FFFFFFU, 0x03FFFFFFU);
|
||||
+ psu_mask_write(0xFF180184, 0x03FFFFFFU, 0x03FBBFF4U);
|
||||
psu_mask_write(0xFF180200, 0x0000000FU, 0x00000000U);
|
||||
|
||||
return 1;
|
||||
@@ -569,21 +581,16 @@ static unsigned long psu_peripherals_init_data(void)
|
||||
psu_mask_write(0xFD1A0100, 0x0001807CU, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x001A0000U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E023C, 0x0093C018U, 0x00000000U);
|
||||
- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U);
|
||||
+ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00000001U, 0x00000000U);
|
||||
psu_mask_write(0xFF180390, 0x00000004U, 0x00000004U);
|
||||
psu_mask_write(0xFF5E023C, 0x00000400U, 0x00000000U);
|
||||
- psu_mask_write(0xFF5E0238, 0x00000040U, 0x00000000U);
|
||||
- psu_mask_write(0xFF180310, 0x00008000U, 0x00000000U);
|
||||
- psu_mask_write(0xFF180320, 0x33840000U, 0x02840000U);
|
||||
- psu_mask_write(0xFF18031C, 0x7FFE0000U, 0x64500000U);
|
||||
- psu_mask_write(0xFF180358, 0x00000008U, 0x00000008U);
|
||||
- psu_mask_write(0xFF180324, 0x03C00000U, 0x00000000U);
|
||||
+ psu_mask_write(0xFF5E0238, 0x00000080U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00000400U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00008000U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00000010U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00007800U, 0x00000000U);
|
||||
- psu_mask_write(0xFF5E0238, 0x00000004U, 0x00000000U);
|
||||
+ psu_mask_write(0xFF5E0238, 0x00000006U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E0238, 0x00040000U, 0x00000000U);
|
||||
psu_mask_write(0xFF4B0024, 0x000000FFU, 0x000000FFU);
|
||||
psu_mask_write(0xFFCA5000, 0x00001FFFU, 0x00000000U);
|
||||
@@ -591,40 +598,26 @@ static unsigned long psu_peripherals_init_data(void)
|
||||
psu_mask_write(0xFFA60040, 0x80000000U, 0x80000000U);
|
||||
psu_mask_write(0xFF260020, 0xFFFFFFFFU, 0x05F5DD18U);
|
||||
psu_mask_write(0xFF260000, 0x00000001U, 0x00000001U);
|
||||
- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000202U);
|
||||
+ psu_mask_write(0xFF0A0284, 0x03FFFFFFU, 0x01000000U);
|
||||
+ psu_mask_write(0xFF0A0288, 0x03FFFFFFU, 0x01000000U);
|
||||
+ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0100U);
|
||||
|
||||
mask_delay(1);
|
||||
- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000002U);
|
||||
+ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0000U);
|
||||
|
||||
mask_delay(5);
|
||||
- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000202U);
|
||||
+ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0100U);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static unsigned long psu_serdes_init_data(void)
|
||||
{
|
||||
- psu_mask_write(0xFD410000, 0x0000001FU, 0x00000009U);
|
||||
- psu_mask_write(0xFD410004, 0x0000001FU, 0x00000009U);
|
||||
psu_mask_write(0xFD410008, 0x0000001FU, 0x00000008U);
|
||||
- psu_mask_write(0xFD402860, 0x00000080U, 0x00000080U);
|
||||
- psu_mask_write(0xFD402864, 0x00000081U, 0x00000001U);
|
||||
- psu_mask_write(0xFD402868, 0x00000082U, 0x00000002U);
|
||||
+ psu_mask_write(0xFD402868, 0x00000080U, 0x00000080U);
|
||||
psu_mask_write(0xFD40A094, 0x00000010U, 0x00000010U);
|
||||
psu_mask_write(0xFD40A368, 0x000000FFU, 0x00000038U);
|
||||
psu_mask_write(0xFD40A36C, 0x00000007U, 0x00000003U);
|
||||
- psu_mask_write(0xFD402368, 0x000000FFU, 0x00000058U);
|
||||
- psu_mask_write(0xFD40236C, 0x00000007U, 0x00000003U);
|
||||
- psu_mask_write(0xFD406368, 0x000000FFU, 0x00000058U);
|
||||
- psu_mask_write(0xFD40636C, 0x00000007U, 0x00000003U);
|
||||
- psu_mask_write(0xFD402370, 0x000000FFU, 0x0000007CU);
|
||||
- psu_mask_write(0xFD402374, 0x000000FFU, 0x00000033U);
|
||||
- psu_mask_write(0xFD402378, 0x000000FFU, 0x00000002U);
|
||||
- psu_mask_write(0xFD40237C, 0x00000033U, 0x00000030U);
|
||||
- psu_mask_write(0xFD406370, 0x000000FFU, 0x0000007CU);
|
||||
- psu_mask_write(0xFD406374, 0x000000FFU, 0x00000033U);
|
||||
- psu_mask_write(0xFD406378, 0x000000FFU, 0x00000002U);
|
||||
- psu_mask_write(0xFD40637C, 0x00000033U, 0x00000030U);
|
||||
psu_mask_write(0xFD40A370, 0x000000FFU, 0x000000F4U);
|
||||
psu_mask_write(0xFD40A374, 0x000000FFU, 0x00000031U);
|
||||
psu_mask_write(0xFD40A378, 0x000000FFU, 0x00000002U);
|
||||
@@ -678,18 +671,8 @@ static unsigned long psu_serdes_init_data(void)
|
||||
psu_mask_write(0xFD409978, 0x00000010U, 0x00000010U);
|
||||
psu_mask_write(0xFD40D978, 0x00000010U, 0x00000010U);
|
||||
|
||||
- serdes_illcalib(0, 0, 3, 0, 4, 0, 4, 0);
|
||||
- psu_mask_write(0xFD410010, 0x00000077U, 0x00000044U);
|
||||
+ serdes_illcalib(0, 0, 3, 0, 0, 0, 0, 0);
|
||||
psu_mask_write(0xFD410014, 0x00000007U, 0x00000003U);
|
||||
- psu_mask_write(0xFD400CB4, 0x00000037U, 0x00000037U);
|
||||
- psu_mask_write(0xFD404CB4, 0x00000037U, 0x00000037U);
|
||||
- psu_mask_write(0xFD4001D8, 0x00000001U, 0x00000001U);
|
||||
- psu_mask_write(0xFD4041D8, 0x00000001U, 0x00000001U);
|
||||
- psu_mask_write(0xFD404CC0, 0x0000001FU, 0x00000000U);
|
||||
- psu_mask_write(0xFD400CC0, 0x0000001FU, 0x00000000U);
|
||||
- psu_mask_write(0xFD404048, 0x000000FFU, 0x00000000U);
|
||||
- psu_mask_write(0xFD400048, 0x000000FFU, 0x00000000U);
|
||||
-
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -699,7 +682,7 @@ static unsigned long psu_resetout_init_data(void)
|
||||
psu_mask_write(0xFF9D0080, 0x00000001U, 0x00000001U);
|
||||
psu_mask_write(0xFF9D007C, 0x00000001U, 0x00000000U);
|
||||
psu_mask_write(0xFF5E023C, 0x00000140U, 0x00000000U);
|
||||
- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U);
|
||||
+ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000000U);
|
||||
psu_mask_write(0xFD1A0100, 0x00010000U, 0x00000000U);
|
||||
psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000000U);
|
||||
psu_mask_write(0xFD4A0238, 0x0000000FU, 0x00000000U);
|
||||
@@ -708,7 +691,6 @@ static unsigned long psu_resetout_init_data(void)
|
||||
psu_mask_write(0xFE20C11C, 0x00000600U, 0x00000600U);
|
||||
psu_mask_write(0xFE20C12C, 0x00004000U, 0x00004000U);
|
||||
psu_mask_write(0xFD480064, 0x00000200U, 0x00000200U);
|
||||
- mask_poll(0xFD4063E4, 0x00000010U);
|
||||
mask_poll(0xFD40A3E4, 0x00000010U);
|
||||
|
||||
return 1;
|
||||
@@ -717,7 +699,7 @@ static unsigned long psu_resetout_init_data(void)
|
||||
static unsigned long psu_resetin_init_data(void)
|
||||
{
|
||||
psu_mask_write(0xFF5E023C, 0x00000540U, 0x00000540U);
|
||||
- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000008U);
|
||||
+ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000002U);
|
||||
psu_mask_write(0xFD4A0238, 0x0000000FU, 0x0000000AU);
|
||||
psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000002U);
|
||||
psu_mask_write(0xFD1A0100, 0x00010000U, 0x00010000U);
|
||||
@@ -1034,6 +1016,157 @@ static unsigned long psu_ddr_phybringup_data(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
+static int serdes_enb_coarse_saturation(void)
|
||||
+{
|
||||
+ Xil_Out32(0xFD402094, 0x00000010);
|
||||
+ Xil_Out32(0xFD406094, 0x00000010);
|
||||
+ Xil_Out32(0xFD40A094, 0x00000010);
|
||||
+ Xil_Out32(0xFD40E094, 0x00000010);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static int serdes_fixcal_code(void)
|
||||
+{
|
||||
+ int maskstatus = 1;
|
||||
+ unsigned int rdata = 0;
|
||||
+ unsigned int match_pmos_code[23];
|
||||
+ unsigned int match_nmos_code[23];
|
||||
+ unsigned int match_ical_code[7];
|
||||
+ unsigned int match_rcal_code[7];
|
||||
+ unsigned int p_code = 0;
|
||||
+ unsigned int n_code = 0;
|
||||
+ unsigned int i_code = 0;
|
||||
+ unsigned int r_code = 0;
|
||||
+ unsigned int repeat_count = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG20 = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG19 = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG18 = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG16 = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG15 = 0;
|
||||
+ unsigned int L3_TM_CALIB_DIG14 = 0;
|
||||
+ int i = 0;
|
||||
+
|
||||
+ rdata = Xil_In32(0xFD40289C);
|
||||
+ rdata = rdata & ~0x03;
|
||||
+ rdata = rdata | 0x1;
|
||||
+ Xil_Out32(0xFD40289C, rdata);
|
||||
+ int count = 0;
|
||||
+ do {
|
||||
+ if (count == 1100000)
|
||||
+ break;
|
||||
+ rdata = Xil_In32(0xFD402B1C);
|
||||
+ count++;
|
||||
+ } while ((rdata & 0x0000000E) != 0x0000000E);
|
||||
+
|
||||
+ for (i = 0; i < 23; i++) {
|
||||
+ match_pmos_code[i] = 0;
|
||||
+ match_nmos_code[i] = 0;
|
||||
+ }
|
||||
+ for (i = 0; i < 7; i++) {
|
||||
+ match_ical_code[i] = 0;
|
||||
+ match_rcal_code[i] = 0;
|
||||
+ }
|
||||
+
|
||||
+ do {
|
||||
+ Xil_Out32(0xFD410010, 0x00000000);
|
||||
+ Xil_Out32(0xFD410014, 0x00000000);
|
||||
+
|
||||
+ Xil_Out32(0xFD410010, 0x00000001);
|
||||
+ Xil_Out32(0xFD410014, 0x00000000);
|
||||
+
|
||||
+ maskstatus = mask_poll(0xFD40EF14, 0x2);
|
||||
+ if (maskstatus == 0) {
|
||||
+ xil_printf("#SERDES initialization timed out\n\r");
|
||||
+ return maskstatus;
|
||||
+ }
|
||||
+
|
||||
+ p_code = mask_read(0xFD40EF18, 0xFFFFFFFF);
|
||||
+ n_code = mask_read(0xFD40EF1C, 0xFFFFFFFF);
|
||||
+ ;
|
||||
+ i_code = mask_read(0xFD40EF24, 0xFFFFFFFF);
|
||||
+ r_code = mask_read(0xFD40EF28, 0xFFFFFFFF);
|
||||
+ ;
|
||||
+
|
||||
+ if (p_code >= 0x26 && p_code <= 0x3C)
|
||||
+ match_pmos_code[p_code - 0x26] += 1;
|
||||
+
|
||||
+ if (n_code >= 0x26 && n_code <= 0x3C)
|
||||
+ match_nmos_code[n_code - 0x26] += 1;
|
||||
+
|
||||
+ if (i_code >= 0xC && i_code <= 0x12)
|
||||
+ match_ical_code[i_code - 0xC] += 1;
|
||||
+
|
||||
+ if (r_code >= 0x6 && r_code <= 0xC)
|
||||
+ match_rcal_code[r_code - 0x6] += 1;
|
||||
+
|
||||
+ } while (repeat_count++ < 10);
|
||||
+
|
||||
+ for (i = 0; i < 23; i++) {
|
||||
+ if (match_pmos_code[i] >= match_pmos_code[0]) {
|
||||
+ match_pmos_code[0] = match_pmos_code[i];
|
||||
+ p_code = 0x26 + i;
|
||||
+ }
|
||||
+ if (match_nmos_code[i] >= match_nmos_code[0]) {
|
||||
+ match_nmos_code[0] = match_nmos_code[i];
|
||||
+ n_code = 0x26 + i;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < 7; i++) {
|
||||
+ if (match_ical_code[i] >= match_ical_code[0]) {
|
||||
+ match_ical_code[0] = match_ical_code[i];
|
||||
+ i_code = 0xC + i;
|
||||
+ }
|
||||
+ if (match_rcal_code[i] >= match_rcal_code[0]) {
|
||||
+ match_rcal_code[0] = match_rcal_code[i];
|
||||
+ r_code = 0x6 + i;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ L3_TM_CALIB_DIG20 = mask_read(0xFD40EC50, 0xFFFFFFF0);
|
||||
+ L3_TM_CALIB_DIG20 = L3_TM_CALIB_DIG20 | 0x8 | ((p_code >> 2) & 0x7);
|
||||
+
|
||||
+ L3_TM_CALIB_DIG19 = mask_read(0xFD40EC4C, 0xFFFFFF18);
|
||||
+ L3_TM_CALIB_DIG19 = L3_TM_CALIB_DIG19 | ((p_code & 0x3) << 6)
|
||||
+ | 0x20 | 0x4 | ((n_code >> 3) & 0x3);
|
||||
+
|
||||
+ L3_TM_CALIB_DIG18 = mask_read(0xFD40EC48, 0xFFFFFF0F);
|
||||
+ L3_TM_CALIB_DIG18 = L3_TM_CALIB_DIG18 | ((n_code & 0x7) << 5) | 0x10;
|
||||
+
|
||||
+ L3_TM_CALIB_DIG16 = mask_read(0xFD40EC40, 0xFFFFFFF8);
|
||||
+ L3_TM_CALIB_DIG16 = L3_TM_CALIB_DIG16 | ((r_code >> 1) & 0x7);
|
||||
+
|
||||
+ L3_TM_CALIB_DIG15 = mask_read(0xFD40EC3C, 0xFFFFFF30);
|
||||
+ L3_TM_CALIB_DIG15 = L3_TM_CALIB_DIG15 | ((r_code & 0x1) << 7)
|
||||
+ | 0x40 | 0x8 | ((i_code >> 1) & 0x7);
|
||||
+
|
||||
+ L3_TM_CALIB_DIG14 = mask_read(0xFD40EC38, 0xFFFFFF3F);
|
||||
+ L3_TM_CALIB_DIG14 = L3_TM_CALIB_DIG14 | ((i_code & 0x1) << 7) | 0x40;
|
||||
+
|
||||
+ Xil_Out32(0xFD40EC50, L3_TM_CALIB_DIG20);
|
||||
+ Xil_Out32(0xFD40EC4C, L3_TM_CALIB_DIG19);
|
||||
+ Xil_Out32(0xFD40EC48, L3_TM_CALIB_DIG18);
|
||||
+ Xil_Out32(0xFD40EC40, L3_TM_CALIB_DIG16);
|
||||
+ Xil_Out32(0xFD40EC3C, L3_TM_CALIB_DIG15);
|
||||
+ Xil_Out32(0xFD40EC38, L3_TM_CALIB_DIG14);
|
||||
+ return maskstatus;
|
||||
+}
|
||||
+
|
||||
+static int init_serdes(void)
|
||||
+{
|
||||
+ int status = 1;
|
||||
+
|
||||
+ status &= psu_resetin_init_data();
|
||||
+
|
||||
+ status &= serdes_fixcal_code();
|
||||
+ status &= serdes_enb_coarse_saturation();
|
||||
+
|
||||
+ status &= psu_serdes_init_data();
|
||||
+ status &= psu_resetout_init_data();
|
||||
+
|
||||
+ return status;
|
||||
+}
|
||||
+
|
||||
static void init_peripheral(void)
|
||||
{
|
||||
psu_mask_write(0xFD5F0018, 0x8000001FU, 0x8000001FU);
|
||||
@@ -1050,6 +1183,7 @@ int psu_init(void)
|
||||
status &= psu_ddr_init_data();
|
||||
status &= psu_ddr_phybringup_data();
|
||||
status &= psu_peripherals_init_data();
|
||||
+ status &= init_serdes();
|
||||
init_peripheral();
|
||||
|
||||
status &= psu_afi_config();
|
||||
--
|
||||
2.25.1
|
||||
|
||||
-79
@@ -1,79 +0,0 @@
|
||||
From bf35bdac2adfa7c65c2992d8dedcc24585561732 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Frager <neal.frager@amd.com>
|
||||
Date: Wed, 13 Dec 2023 13:11:42 +0000
|
||||
Subject: [PATCH] arm64: zynqmp: Add output-enable pins to SOMs
|
||||
|
||||
Now that the zynqmp pinctrl driver supports the tri-state registers, make
|
||||
sure that the pins requiring output-enable are configured appropriately for
|
||||
SOMs.
|
||||
|
||||
Without it, all tristate setting for MIOs, which are not related to SOM
|
||||
itself, are using default configuration which is not correct setting.
|
||||
It means SDs, USBs, ethernet, etc. are not working properly.
|
||||
|
||||
In past it was fixed through calling tristate configuration via bootcmd:
|
||||
usb_init=mw 0xFF180208 2020
|
||||
kv260_gem3=mw 0xFF18020C 0xFC0 && gpio toggle gpio@ff0a000038 && \
|
||||
gpio toggle gpio@ff0a000038
|
||||
|
||||
Signed-off-by: Neal Frager <neal.frager@amd.com>
|
||||
Upstream: https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/
|
||||
---
|
||||
arch/arm/dts/zynqmp-sck-kd-g-revA.dts | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/dts/zynqmp-sck-kd-g-revA.dts b/arch/arm/dts/zynqmp-sck-kd-g-revA.dts
|
||||
index 56f3128528..12865392a3 100644
|
||||
--- a/arch/arm/dts/zynqmp-sck-kd-g-revA.dts
|
||||
+++ b/arch/arm/dts/zynqmp-sck-kd-g-revA.dts
|
||||
@@ -175,6 +175,7 @@
|
||||
conf-tx {
|
||||
pins = "MIO36";
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
};
|
||||
|
||||
mux {
|
||||
@@ -226,6 +227,7 @@
|
||||
conf-bootstrap {
|
||||
pins = "MIO44", "MIO49";
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
low-power-disable;
|
||||
};
|
||||
|
||||
@@ -233,6 +235,7 @@
|
||||
pins = "MIO38", "MIO39", "MIO40",
|
||||
"MIO41", "MIO42", "MIO43";
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
low-power-enable;
|
||||
};
|
||||
|
||||
@@ -241,6 +244,7 @@
|
||||
slew-rate = <SLEW_RATE_SLOW>;
|
||||
power-source = <IO_STANDARD_LVCMOS18>;
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
};
|
||||
|
||||
mux-mdio {
|
||||
@@ -271,6 +275,7 @@
|
||||
pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
|
||||
"MIO60", "MIO61", "MIO62", "MIO63";
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
drive-strength = <4>;
|
||||
slew-rate = <SLEW_RATE_SLOW>;
|
||||
};
|
||||
@@ -298,6 +303,7 @@
|
||||
pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
|
||||
"MIO72", "MIO73", "MIO74", "MIO75";
|
||||
bias-disable;
|
||||
+ output-enable;
|
||||
drive-strength = <4>;
|
||||
slew-rate = <SLEW_RATE_SLOW>;
|
||||
};
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -1,494 +0,0 @@
|
||||
/******************************************************************************
|
||||
* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
******************************************************************************/
|
||||
|
||||
#include "xil_types.h"
|
||||
#include "pm_defs.h"
|
||||
|
||||
#define PM_CONFIG_MASTER_SECTION_ID 0x101U
|
||||
#define PM_CONFIG_SLAVE_SECTION_ID 0x102U
|
||||
#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U
|
||||
#define PM_CONFIG_POWER_SECTION_ID 0x104U
|
||||
#define PM_CONFIG_RESET_SECTION_ID 0x105U
|
||||
#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U
|
||||
#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U
|
||||
#define PM_CONFIG_GPO_SECTION_ID 0x108U
|
||||
|
||||
#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U
|
||||
#define PM_MASTER_USING_SLAVE_MASK 0x2U
|
||||
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U)
|
||||
|
||||
#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U)
|
||||
#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U)
|
||||
#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U)
|
||||
#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U)
|
||||
|
||||
#define SUSPEND_TIMEOUT 0xFFFFFFFFU
|
||||
|
||||
#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U
|
||||
|
||||
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200
|
||||
|
||||
|
||||
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
#endif
|
||||
#if defined (__GNUC__)
|
||||
const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) =
|
||||
#elif defined (__ICCARM__)
|
||||
#pragma location = ".sys_cfg_data"
|
||||
__root const u32 XPm_ConfigObject[] =
|
||||
#endif
|
||||
{
|
||||
/**********************************************************************/
|
||||
/* HEADER */
|
||||
2, /* Number of remaining words in the header */
|
||||
8, /* Number of sections included in config object */
|
||||
PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */
|
||||
/**********************************************************************/
|
||||
/* MASTER SECTION */
|
||||
PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
NODE_APU, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_0, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_1, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* SLAVE SECTION */
|
||||
|
||||
|
||||
PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */
|
||||
35, /* Number of slaves */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_L2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_USB_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ETH_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_UART_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_UART_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_SPI_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DP,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GDMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ADMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPIO,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_CAN_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_EXTERN,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DDR,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_APU,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_RTC,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_PL,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* PREALLOC SECTION */
|
||||
|
||||
PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
/* Prealloc for psu_cortexa53_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK,
|
||||
10,
|
||||
NODE_DDR,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_L2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_PL,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_APU,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
3,
|
||||
NODE_TCM_0_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_1 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
3,
|
||||
NODE_TCM_1_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* POWER SECTION */
|
||||
|
||||
PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */
|
||||
4U, /* Number of power nodes */
|
||||
|
||||
NODE_APU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_RPU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_FPD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_PLD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* RESET SECTION */
|
||||
|
||||
PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */
|
||||
120U, /* Number of resets */
|
||||
|
||||
XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SYSMON, 0,
|
||||
XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
|
||||
/**********************************************************************/
|
||||
/* SET CONFIG SECTION */
|
||||
PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */
|
||||
0U, /* Permissions to load base config object */
|
||||
0U, /* Permissions to load overlay config object */
|
||||
|
||||
/**********************************************************************/
|
||||
/* SHUTDOWN SECTION */
|
||||
|
||||
PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */
|
||||
|
||||
/**********************************************************************/
|
||||
/* GPO SECTION */
|
||||
PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */
|
||||
0, /* State of GPO pins */
|
||||
};
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=restore
|
||||
#endif
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This is a temporary work around for generating kr260 u-boot.itb.
|
||||
# The problem is there is no way to currently configure u-boot to apply
|
||||
# the carrier board dtb overlay during build, so all kr260 carrier board
|
||||
# drivers are missing.
|
||||
# This will be removed when u-boot can build the kr260 u-boot.itb natively.
|
||||
|
||||
UBOOT_DIR="$4"
|
||||
|
||||
fdtoverlay -o "${UBOOT_DIR}/fit-dtb.blob" \
|
||||
-i "${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k26-revA.dtb" \
|
||||
"${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kr-g-revB.dtbo"
|
||||
|
||||
"${UBOOT_DIR}/tools/mkimage" -E -f "${UBOOT_DIR}/u-boot.its" \
|
||||
-B 0x8 "${BINARIES_DIR}/u-boot.itb"
|
||||
@@ -1,496 +0,0 @@
|
||||
/******************************************************************************
|
||||
* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
******************************************************************************/
|
||||
|
||||
#include "xil_types.h"
|
||||
#include "pm_defs.h"
|
||||
|
||||
#define PM_CONFIG_MASTER_SECTION_ID 0x101U
|
||||
#define PM_CONFIG_SLAVE_SECTION_ID 0x102U
|
||||
#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U
|
||||
#define PM_CONFIG_POWER_SECTION_ID 0x104U
|
||||
#define PM_CONFIG_RESET_SECTION_ID 0x105U
|
||||
#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U
|
||||
#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U
|
||||
#define PM_CONFIG_GPO_SECTION_ID 0x108U
|
||||
|
||||
#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U
|
||||
#define PM_MASTER_USING_SLAVE_MASK 0x2U
|
||||
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U)
|
||||
|
||||
#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U)
|
||||
#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U)
|
||||
#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U)
|
||||
#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U)
|
||||
|
||||
#define SUSPEND_TIMEOUT 0xFFFFFFFFU
|
||||
|
||||
#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U
|
||||
|
||||
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200
|
||||
|
||||
|
||||
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
#endif
|
||||
#if defined (__GNUC__)
|
||||
const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) =
|
||||
#elif defined (__ICCARM__)
|
||||
#pragma location = ".sys_cfg_data"
|
||||
__root const u32 XPm_ConfigObject[] =
|
||||
#endif
|
||||
{
|
||||
/**********************************************************************/
|
||||
/* HEADER */
|
||||
2, /* Number of remaining words in the header */
|
||||
8, /* Number of sections included in config object */
|
||||
PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */
|
||||
/**********************************************************************/
|
||||
/* MASTER SECTION */
|
||||
PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
NODE_APU, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_0, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_1, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* SLAVE SECTION */
|
||||
|
||||
|
||||
PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */
|
||||
35, /* Number of slaves */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_L2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_USB_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_USB_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ETH_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ETH_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_UART_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_SPI_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DP,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GDMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ADMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPIO,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_EXTERN,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DDR,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_APU,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_RTC,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_PL,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* PREALLOC SECTION */
|
||||
|
||||
PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
/* Prealloc for psu_cortexa53_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK,
|
||||
10,
|
||||
NODE_DDR,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_L2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_PL,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_APU,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
3,
|
||||
NODE_TCM_0_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_1 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
3,
|
||||
NODE_TCM_1_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* POWER SECTION */
|
||||
|
||||
PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */
|
||||
4U, /* Number of power nodes */
|
||||
|
||||
NODE_APU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_RPU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_FPD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_PLD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* RESET SECTION */
|
||||
|
||||
PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */
|
||||
120U, /* Number of resets */
|
||||
|
||||
XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SYSMON, 0,
|
||||
XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
|
||||
/**********************************************************************/
|
||||
/* SET CONFIG SECTION */
|
||||
PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */
|
||||
0U, /* Permissions to load base config object */
|
||||
0U, /* Permissions to load overlay config object */
|
||||
|
||||
/**********************************************************************/
|
||||
/* SHUTDOWN SECTION */
|
||||
|
||||
PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */
|
||||
|
||||
/**********************************************************************/
|
||||
/* GPO SECTION */
|
||||
PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */
|
||||
PM_CONFIG_GPO1_MIO_PIN_35_MAP |
|
||||
0, /* State of GPO pins */
|
||||
};
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=restore
|
||||
#endif
|
||||
|
||||
@@ -2,29 +2,21 @@
|
||||
Xilinx Kria SOM Starter Kits - ZynqMP SoC
|
||||
**************************************************
|
||||
|
||||
This document describes the Buildroot support for the Kria KD240,
|
||||
KR260 and KV260 starter kits by Xilinx, based on Kria SOM including the
|
||||
This document describes the Buildroot support for the Kria
|
||||
KV260 starter kit by Xilinx, based on Kria SOM including the
|
||||
Zynq UltraScale+ MPSoC (aka ZynqMP). It has been tested with
|
||||
the KD240, KR260 and KV260 production boards.
|
||||
the KV260 production board.
|
||||
|
||||
Evaluation board features can be found here with the links below.
|
||||
|
||||
KD240:
|
||||
https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html
|
||||
|
||||
KR260:
|
||||
https://www.xilinx.com/products/som/kria/kr260-robotics-starter-kit.html
|
||||
Evaluation board features can be found here with the link below.
|
||||
|
||||
KV260:
|
||||
https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit.html
|
||||
https://www.xilinx.com/products/boards-and-kits/kv260.html
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot: (use the command for the specific board)
|
||||
Configure Buildroot:
|
||||
|
||||
$ make zynqmp_kria_kd240_defconfig
|
||||
$ make zynqmp_kria_kr260_defconfig
|
||||
$ make zynqmp_kria_kv260_defconfig
|
||||
|
||||
Compile everything and build the rootfs image:
|
||||
@@ -73,7 +65,7 @@ in that the boot.bin and u-boot.itb files need to be flashed
|
||||
into the QSPI boot flash such that U-Boot can then load all
|
||||
of the remaining images from the SD card.
|
||||
|
||||
In addition, the Kria Starter Kits QSPI comes pre-flashed with
|
||||
In addition, the KV260 Starter Kit QSPI comes pre-flashed with
|
||||
a utility designed to make updating the QSPI flash memory
|
||||
easier.
|
||||
|
||||
@@ -84,9 +76,8 @@ https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM#Bo
|
||||
|
||||
Additionally, it is possible to use u-boot for updating the
|
||||
QSPI with new boot.bin and u-boot.itb images with the u-boot
|
||||
commands below.
|
||||
commands below:
|
||||
|
||||
KV260 Flashing Instructions:
|
||||
Flashing u-boot.itb:
|
||||
$ sf probe
|
||||
$ fatload mmc 1 0x1000000 u-boot.itb
|
||||
@@ -99,18 +90,5 @@ Flashing boot.bin:
|
||||
$ sf erase 0x200000 +$filesize
|
||||
$ sf write 0x1000000 0x200000 $filesize
|
||||
|
||||
KD240 / KR260 Flashing Instructions:
|
||||
Flashing u-boot.itb:
|
||||
$ sf probe
|
||||
$ fatload usb 0 0x1000000 u-boot.itb
|
||||
$ sf erase 0xf80000 +$filesize
|
||||
$ sf write 0x1000000 0xf80000 $filesize
|
||||
|
||||
Flashing boot.bin:
|
||||
$ sf probe
|
||||
$ fatload usb 0 0x1000000 boot.bin
|
||||
$ sf erase 0x200000 +$filesize
|
||||
$ sf write 0x1000000 0x200000 $filesize
|
||||
|
||||
It is possible to boot the Buildroot generated SD card image without
|
||||
updating the QSPI boot.bin image, so this is an optional step.
|
||||
|
||||
+6
-11
@@ -1,9 +1,9 @@
|
||||
***************************************************
|
||||
Xilinx ZCU102 / ZCU104 / ZCU106 boards - ZynqMP SoC
|
||||
***************************************************
|
||||
******************************************
|
||||
Xilinx ZCU102 / ZCU106 boards - ZynqMP SoC
|
||||
******************************************
|
||||
|
||||
This document describes the Buildroot support for the ZCU102, ZCU104
|
||||
and ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka
|
||||
This document describes the Buildroot support for the ZCU102 and
|
||||
ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka
|
||||
ZynqMP). It has been tested with the ZCU102 and ZCU106 production
|
||||
boards.
|
||||
|
||||
@@ -12,9 +12,6 @@ Evaluation board features can be found here with the links below.
|
||||
ZCU102:
|
||||
https://www.xilinx.com/products/boards-and-kits/zcu102.html
|
||||
|
||||
ZCU104:
|
||||
https://www.xilinx.com/products/boards-and-kits/zcu104.html
|
||||
|
||||
ZCU106:
|
||||
https://www.xilinx.com/products/boards-and-kits/zcu106.html
|
||||
|
||||
@@ -22,10 +19,8 @@ https://www.xilinx.com/products/boards-and-kits/zcu106.html
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot: (use the command for the specific board)
|
||||
Configure Buildroot:
|
||||
|
||||
$ make zynqmp_zcu102_defconfig
|
||||
$ make zynqmp_zcu104_defconfig
|
||||
$ make zynqmp_zcu106_defconfig
|
||||
|
||||
Compile everything and build the rootfs image:
|
||||
|
||||
@@ -1,503 +0,0 @@
|
||||
/******************************************************************************
|
||||
* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
******************************************************************************/
|
||||
|
||||
#include "xil_types.h"
|
||||
#include "pm_defs.h"
|
||||
|
||||
#define PM_CONFIG_MASTER_SECTION_ID 0x101U
|
||||
#define PM_CONFIG_SLAVE_SECTION_ID 0x102U
|
||||
#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U
|
||||
#define PM_CONFIG_POWER_SECTION_ID 0x104U
|
||||
#define PM_CONFIG_RESET_SECTION_ID 0x105U
|
||||
#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U
|
||||
#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U
|
||||
#define PM_CONFIG_GPO_SECTION_ID 0x108U
|
||||
|
||||
#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U
|
||||
#define PM_MASTER_USING_SLAVE_MASK 0x2U
|
||||
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U)
|
||||
#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U)
|
||||
|
||||
#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U)
|
||||
#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U)
|
||||
#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U)
|
||||
#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U)
|
||||
|
||||
#define SUSPEND_TIMEOUT 0xFFFFFFFFU
|
||||
|
||||
#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U
|
||||
|
||||
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100
|
||||
#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200
|
||||
|
||||
|
||||
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
#endif
|
||||
#if defined (__GNUC__)
|
||||
const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) =
|
||||
#elif defined (__ICCARM__)
|
||||
#pragma location = ".sys_cfg_data"
|
||||
__root const u32 XPm_ConfigObject[] =
|
||||
#endif
|
||||
{
|
||||
/**********************************************************************/
|
||||
/* HEADER */
|
||||
2, /* Number of remaining words in the header */
|
||||
8, /* Number of sections included in config object */
|
||||
PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */
|
||||
/**********************************************************************/
|
||||
/* MASTER SECTION */
|
||||
PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
NODE_APU, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_0, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */
|
||||
|
||||
NODE_RPU_1, /* Master Node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */
|
||||
SUSPEND_TIMEOUT, /* Suspend timeout */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* SLAVE SECTION */
|
||||
|
||||
|
||||
PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */
|
||||
36, /* Number of slaves */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_A,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_L2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU_PP_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_USB_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_2,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_TTC_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_SATA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ETH_3,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_UART_0,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_UART_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_SD_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DP,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GDMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_ADMA,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPIO,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_CAN_1,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_EXTERN,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_DDR,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_APU,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
0U,
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_GPU,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_RTC,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
NODE_PL,
|
||||
PM_SLAVE_FLAG_IS_SHAREABLE,
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* PREALLOC SECTION */
|
||||
|
||||
PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */
|
||||
3U, /* No. of Masters*/
|
||||
|
||||
/* Prealloc for psu_cortexa53_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK,
|
||||
11,
|
||||
NODE_DDR,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_L2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_2,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_OCM_BANK_3,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_I2C_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_SD_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_QSPI,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_PL,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_APU,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_0 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
3,
|
||||
NODE_TCM_0_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_0_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_0,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
/* Prealloc for psu_cortexr5_1 */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
3,
|
||||
NODE_TCM_1_A,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_TCM_1_B,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
NODE_IPI_RPU_1,
|
||||
PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */
|
||||
PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */
|
||||
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* POWER SECTION */
|
||||
|
||||
PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */
|
||||
4U, /* Number of power nodes */
|
||||
|
||||
NODE_APU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_RPU, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_FPD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
NODE_PLD, /* Power node ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/* RESET SECTION */
|
||||
|
||||
PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */
|
||||
120U, /* Number of resets */
|
||||
|
||||
XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_SYSMON, 0,
|
||||
XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK,
|
||||
XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK,
|
||||
|
||||
/**********************************************************************/
|
||||
/* SET CONFIG SECTION */
|
||||
PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */
|
||||
0U, /* Permissions to load base config object */
|
||||
0U, /* Permissions to load overlay config object */
|
||||
|
||||
/**********************************************************************/
|
||||
/* SHUTDOWN SECTION */
|
||||
|
||||
PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */
|
||||
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */
|
||||
|
||||
/**********************************************************************/
|
||||
/* GPO SECTION */
|
||||
PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */
|
||||
0, /* State of GPO pins */
|
||||
};
|
||||
#if defined (__ICCARM__)
|
||||
#pragma language=restore
|
||||
#endif
|
||||
@@ -14,12 +14,7 @@ choice
|
||||
Select the specific ATF version you want to use
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
bool "v2.10"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION
|
||||
bool "latest lts-v2.8.x"
|
||||
help
|
||||
Select the latest LTS v2.8.x version available
|
||||
bool "v2.7"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -47,8 +42,7 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
|
||||
string
|
||||
default "v2.10" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "lts-v2.8.13" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION
|
||||
default "v2.7" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c arm-trusted-firmware-v2.10.tar.gz
|
||||
sha256 e55ae7105c996b60f748b2eb6adeaf5ac8946425e1d4294ecc1c56aebf435274 arm-trusted-firmware-lts-v2.8.13.tar.gz
|
||||
sha256 327c65b1bc231608a7a808b068b00c1a22310e9fc86158813cd10a9711d5725e arm-trusted-firmware-v2.7.tar.gz
|
||||
sha256 130d0c6e5159fa454b1e969fd281fa1d388819aefb203f65dd282544b5ab7ba9 docs/license.rst
|
||||
|
||||
@@ -25,7 +25,7 @@ ARM_TRUSTED_FIRMWARE_LICENSE_FILES = docs/license.rst
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE):$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y:y)
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@arm.com>
|
||||
Date: Tue, 4 Jul 2023 16:14:02 +0200
|
||||
Subject: [PATCH] build(tools): avoid unnecessary link
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In their respective makefiles, cert_create, encrypt_fw and fiptool
|
||||
depend on the --openssl phony target as a prerequisite. This forces
|
||||
those tools to be re-linked each time.
|
||||
|
||||
Move the dependencies on the --openssl target from the tools to their
|
||||
makefiles all targets, to avoid unnecessary linking while preserving the
|
||||
OpenSSL version printing done in the --openssl targets when in debug.
|
||||
|
||||
Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility")
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
|
||||
Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d
|
||||
Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab
|
||||
---
|
||||
tools/cert_create/Makefile | 4 ++--
|
||||
tools/encrypt_fw/Makefile | 4 ++--
|
||||
tools/fiptool/Makefile | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile
|
||||
index 042e844626..b911d19d2b 100644
|
||||
--- a/tools/cert_create/Makefile
|
||||
+++ b/tools/cert_create/Makefile
|
||||
@@ -85,9 +85,9 @@ HOSTCC ?= gcc
|
||||
|
||||
.PHONY: all clean realclean --openssl
|
||||
|
||||
-all: ${BINARY}
|
||||
+all: --openssl ${BINARY}
|
||||
|
||||
-${BINARY}: --openssl ${OBJECTS} Makefile
|
||||
+${BINARY}: ${OBJECTS} Makefile
|
||||
@echo " HOSTLD $@"
|
||||
@echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \
|
||||
const char platform_msg[] = "${PLAT_MSG}";' | \
|
||||
diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile
|
||||
index 2939b142be..924e5febab 100644
|
||||
--- a/tools/encrypt_fw/Makefile
|
||||
+++ b/tools/encrypt_fw/Makefile
|
||||
@@ -65,9 +65,9 @@ HOSTCC ?= gcc
|
||||
|
||||
.PHONY: all clean realclean --openssl
|
||||
|
||||
-all: ${BINARY}
|
||||
+all: --openssl ${BINARY}
|
||||
|
||||
-${BINARY}: --openssl ${OBJECTS} Makefile
|
||||
+${BINARY}: ${OBJECTS} Makefile
|
||||
@echo " HOSTLD $@"
|
||||
@echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \
|
||||
${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o
|
||||
diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile
|
||||
index 2ebee33931..4bdebd9235 100644
|
||||
--- a/tools/fiptool/Makefile
|
||||
+++ b/tools/fiptool/Makefile
|
||||
@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS))
|
||||
|
||||
.PHONY: all clean distclean --openssl
|
||||
|
||||
-all: ${PROJECT}
|
||||
+all: --openssl ${PROJECT}
|
||||
|
||||
-${PROJECT}: --openssl ${OBJECTS} Makefile
|
||||
+${PROJECT}: ${OBJECTS} Makefile
|
||||
@echo " HOSTLD $@"
|
||||
${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
|
||||
@${ECHO_BLANK_LINE}
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -36,13 +36,8 @@ config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE
|
||||
the images directory.
|
||||
|
||||
If left empty, defaults to:
|
||||
- all images as listed in barebox-flash-images (>= v2015.12.0)
|
||||
- the image pointed at by barebox-flash-image (>= v2012.10.0)
|
||||
- barebox.bin for even older barebox versions
|
||||
|
||||
In any case, this only influences the artifacts collected by
|
||||
Buildroot. They will still need to be referenced from image
|
||||
packages or flashed separately onto the hardware.
|
||||
- barebox.bin for barebox versions older than 2012.10.
|
||||
- barebox-flash-image for later versions.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV
|
||||
bool "Generate an environment image"
|
||||
|
||||
@@ -151,8 +151,6 @@ $(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE))
|
||||
define $(1)_INSTALL_IMAGES_CMDS
|
||||
if test -n "$$($(1)_IMAGE_FILES)"; then \
|
||||
cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \
|
||||
elif test -e $$(@D)/barebox-flash-images ; then \
|
||||
cp -L $$(foreach image,$$(shell cat $$(@D)/barebox-flash-images),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \
|
||||
elif test -h $$(@D)/barebox-flash-image ; then \
|
||||
cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \
|
||||
else \
|
||||
|
||||
@@ -36,13 +36,8 @@ config BR2_TARGET_BAREBOX_IMAGE_FILE
|
||||
the images directory.
|
||||
|
||||
If left empty, defaults to:
|
||||
- all images as listed in barebox-flash-images (>= v2015.12.0)
|
||||
- the image pointed at by barebox-flash-image (>= v2012.10.0)
|
||||
- barebox.bin for even older barebox versions
|
||||
|
||||
In any case, this only influences the artifacts collected by
|
||||
Buildroot. They will still need to be referenced from image
|
||||
packages or flashed separately onto the hardware.
|
||||
- barebox.bin for barebox versions older than 2012.10.
|
||||
- barebox-flash-image for later versions.
|
||||
|
||||
config BR2_TARGET_BAREBOX_BAREBOXENV
|
||||
bool "bareboxenv tool in target"
|
||||
|
||||
@@ -2,7 +2,6 @@ config BR2_TARGET_EDK2_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_aarch64
|
||||
default y if BR2_i386
|
||||
default y if BR2_RISCV_64
|
||||
default y if BR2_x86_64
|
||||
|
||||
config BR2_TARGET_EDK2
|
||||
@@ -21,7 +20,6 @@ if BR2_TARGET_EDK2
|
||||
choice
|
||||
prompt "Platform"
|
||||
default BR2_TARGET_EDK2_PLATFORM_OVMF_I386 if BR2_i386
|
||||
default BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV if BR2_RISCV_64
|
||||
default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64
|
||||
default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64
|
||||
|
||||
@@ -33,14 +31,6 @@ config BR2_TARGET_EDK2_PLATFORM_OVMF_I386
|
||||
This platform will boot from flash address 0x0.
|
||||
It should therefore be used as the first bootloader.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV
|
||||
bool "RISC-V"
|
||||
depends on BR2_RISCV_64
|
||||
help
|
||||
Platform configuration for RISC-V QEMU targeting the Virt
|
||||
machine. This platform will only boot from flash address
|
||||
0x0. It should therefore be used as the first bootloader.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_OVMF_X64
|
||||
bool "x86-64"
|
||||
depends on BR2_x86_64
|
||||
|
||||
@@ -136,12 +136,6 @@ define EDK2_PRE_BUILD_QEMU_SBSA
|
||||
ln -srf $(BINARIES_DIR)/{bl1.bin,fip.bin} $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa/
|
||||
endef
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV),y)
|
||||
EDK2_ARCH = RISCV64
|
||||
EDK2_PACKAGE_NAME = OvmfPkg/RiscVVirt
|
||||
EDK2_PLATFORM_NAME = RiscVVirtQemu
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)
|
||||
|
||||
endif
|
||||
|
||||
EDK2_BASETOOLS_OPTS = \
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From 4d4dae6a52b1749642261a15f5dcc1e3d4150b36 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Olivain <ju.o@free.fr>
|
||||
Date: Fri, 22 Dec 2023 19:02:53 +0100
|
||||
Subject: [PATCH] Add missing grub-core/extra_deps.lst file in release tarball
|
||||
|
||||
A file is missing in the grub-2.12 release tarballs (both .gz and .xz).
|
||||
See [1]. The issue was reported in [2] and fixed upstream in [3].
|
||||
|
||||
This patch adds the missing file, on top of the release tarball. This
|
||||
patch won't apply on upstream git, since the file is present in the
|
||||
source repository. Since the issue is fixed upstream in [3], it is
|
||||
expected upcoming releases tarballs will include the file.
|
||||
|
||||
The file content was fetched from the upstream git repo:
|
||||
https://git.savannah.gnu.org/gitweb/?p=grub.git;a=blob_plain;f=grub-core/extra_deps.lst;hb=refs/tags/grub-2.12
|
||||
|
||||
[1] https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz
|
||||
[2] https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00054.html
|
||||
[3] https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e
|
||||
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
Upstream: Fixed by: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e
|
||||
---
|
||||
grub-core/extra_deps.lst | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 grub-core/extra_deps.lst
|
||||
|
||||
diff --git a/grub-core/extra_deps.lst b/grub-core/extra_deps.lst
|
||||
new file mode 100644
|
||||
index 0000000..f44ad6a
|
||||
--- /dev/null
|
||||
+++ b/grub-core/extra_deps.lst
|
||||
@@ -0,0 +1 @@
|
||||
+depends bli part_gpt
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From bb08b723fa7bc56439c7bc166cff361628e73453 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <bb08b723fa7bc56439c7bc166cff361628e73453.1659683176.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Fri, 5 Aug 2022 08:59:52 +0200
|
||||
Subject: [PATCH] Makefile: Make grub_fstest.pp depend on config-util.h
|
||||
|
||||
Warning: This commit does not apply to the GRUB git repository. This
|
||||
patch applies against the release tarballs.
|
||||
|
||||
Upstream status: https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00045.html
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
Makefile.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index bf9c1ba..f08cfc0 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -51,7 +51,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
|
||||
CLEANFILES += libgrub_a_init.c
|
||||
|
||||
# For grub-fstest
|
||||
-grub_fstest.pp: $(grub_fstest_SOURCES)
|
||||
+grub_fstest.pp: config-util.h $(grub_fstest_SOURCES)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
|
||||
-D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
|
||||
CLEANFILES += grub_fstest.pp
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 13f2eef..2c1d20b 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -13312,7 +13312,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
|
||||
sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
|
||||
|
||||
# For grub-fstest
|
||||
-grub_fstest.pp: $(grub_fstest_SOURCES)
|
||||
+grub_fstest.pp: config-util.h $(grub_fstest_SOURCES)
|
||||
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
|
||||
-D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
|
||||
|
||||
--
|
||||
2.37.1
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 4c1ad500e73d46c83dec369da85db39ae2fe62dd Mon Sep 17 00:00:00 2001
|
||||
From: Michael Chang <mchang@suse.com>
|
||||
Date: Fri, 3 Dec 2021 16:13:28 +0800
|
||||
Subject: [PATCH] grub-mkconfig: Restore umask for the grub.cfg
|
||||
|
||||
The commit ab2e53c8a (grub-mkconfig: Honor a symlink when generating
|
||||
configuration by grub-mkconfig) has inadvertently discarded umask for
|
||||
creating grub.cfg in the process of running grub-mkconfig. The resulting
|
||||
wrong permission (0644) would allow unprivileged users to read GRUB
|
||||
configuration file content. This presents a low confidentiality risk
|
||||
as grub.cfg may contain non-secured plain-text passwords.
|
||||
|
||||
This patch restores the missing umask and sets the creation file mode
|
||||
to 0600 preventing unprivileged access.
|
||||
|
||||
Fixes: CVE-2021-3981
|
||||
|
||||
Signed-off-by: Michael Chang <mchang@suse.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=0adec29674561034771c13e446069b41ef41e4d4
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
util/grub-mkconfig.in | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
|
||||
index f8cbb8d7a..84f356ea4 100644
|
||||
--- a/util/grub-mkconfig.in
|
||||
+++ b/util/grub-mkconfig.in
|
||||
@@ -300,7 +300,10 @@ and /etc/grub.d/* files or please file a bug report with
|
||||
exit 1
|
||||
else
|
||||
# none of the children aborted with error, install the new grub.cfg
|
||||
+ oldumask=$(umask)
|
||||
+ umask 077
|
||||
cat ${grub_cfg}.new > ${grub_cfg}
|
||||
+ umask $oldumask
|
||||
rm -f ${grub_cfg}.new
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
From dfdc742bdb22be468035f96cce0be5fee23b6df5 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 10:02:04 +0100
|
||||
Subject: [PATCH] loader/efi/chainloader: Simplify the loader state
|
||||
|
||||
The chainloader command retains the source buffer and device path passed
|
||||
to LoadImage(), requiring the unload hook passed to grub_loader_set() to
|
||||
free them. It isn't required to retain this state though - they aren't
|
||||
required by StartImage() or anything else in the boot hook, so clean them
|
||||
up before grub_cmd_chainloader() finishes.
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 1469983ebb9674753ad333d37087fb8cb20e1dce
|
||||
[Thomas: needed to cherry-pick
|
||||
04c86e0bb7b58fc2f913f798cdb18934933e532d which fixes CVE-2022-28736]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++-------------
|
||||
1 file changed, 21 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
|
||||
index 2bd80f4db..d1602c89b 100644
|
||||
--- a/grub-core/loader/efi/chainloader.c
|
||||
+++ b/grub-core/loader/efi/chainloader.c
|
||||
@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
-static grub_efi_physical_address_t address;
|
||||
-static grub_efi_uintn_t pages;
|
||||
-static grub_efi_device_path_t *file_path;
|
||||
static grub_efi_handle_t image_handle;
|
||||
-static grub_efi_char16_t *cmdline;
|
||||
|
||||
static grub_err_t
|
||||
grub_chainloader_unload (void)
|
||||
{
|
||||
+ grub_efi_loaded_image_t *loaded_image;
|
||||
grub_efi_boot_services_t *b;
|
||||
|
||||
+ loaded_image = grub_efi_get_loaded_image (image_handle);
|
||||
+ if (loaded_image != NULL)
|
||||
+ grub_free (loaded_image->load_options);
|
||||
+
|
||||
b = grub_efi_system_table->boot_services;
|
||||
efi_call_1 (b->unload_image, image_handle);
|
||||
- efi_call_2 (b->free_pages, address, pages);
|
||||
-
|
||||
- grub_free (file_path);
|
||||
- grub_free (cmdline);
|
||||
- cmdline = 0;
|
||||
- file_path = 0;
|
||||
|
||||
grub_dl_unref (my_mod);
|
||||
return GRUB_ERR_NONE;
|
||||
@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
|
||||
char *dir_start;
|
||||
char *dir_end;
|
||||
grub_size_t size;
|
||||
- grub_efi_device_path_t *d;
|
||||
+ grub_efi_device_path_t *d, *file_path;
|
||||
|
||||
dir_start = grub_strchr (filename, ')');
|
||||
if (! dir_start)
|
||||
@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_efi_status_t status;
|
||||
grub_efi_boot_services_t *b;
|
||||
grub_device_t dev = 0;
|
||||
- grub_efi_device_path_t *dp = 0;
|
||||
+ grub_efi_device_path_t *dp = NULL, *file_path = NULL;
|
||||
grub_efi_loaded_image_t *loaded_image;
|
||||
char *filename;
|
||||
void *boot_image = 0;
|
||||
grub_efi_handle_t dev_handle = 0;
|
||||
+ grub_efi_physical_address_t address = 0;
|
||||
+ grub_efi_uintn_t pages = 0;
|
||||
+ grub_efi_char16_t *cmdline = NULL;
|
||||
|
||||
if (argc == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
|
||||
@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
|
||||
grub_dl_ref (my_mod);
|
||||
|
||||
- /* Initialize some global variables. */
|
||||
- address = 0;
|
||||
- image_handle = 0;
|
||||
- file_path = 0;
|
||||
-
|
||||
b = grub_efi_system_table->boot_services;
|
||||
|
||||
file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
|
||||
@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_file_close (file);
|
||||
grub_device_close (dev);
|
||||
|
||||
+ /* We're finished with the source image buffer and file path now. */
|
||||
+ efi_call_2 (b->free_pages, address, pages);
|
||||
+ grub_free (file_path);
|
||||
+
|
||||
grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
|
||||
return 0;
|
||||
|
||||
@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
if (file)
|
||||
grub_file_close (file);
|
||||
|
||||
+ grub_free (cmdline);
|
||||
grub_free (file_path);
|
||||
|
||||
if (address)
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
|
||||
+ if (image_handle != NULL)
|
||||
+ {
|
||||
+ efi_call_1 (b->unload_image, image_handle);
|
||||
+ image_handle = NULL;
|
||||
+ }
|
||||
+
|
||||
grub_dl_unref (my_mod);
|
||||
|
||||
return grub_errno;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
From 8b6336696d93b51703c2015eff3e2d8a02145e43 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 10:58:28 +0100
|
||||
Subject: [PATCH] commands/boot: Add API to pass context to loader
|
||||
|
||||
Loaders rely on global variables for saving context which is consumed
|
||||
in the boot hook and freed in the unload hook. In the case where a loader
|
||||
command is executed twice, calling grub_loader_set() a second time executes
|
||||
the unload hook, but in some cases this runs when the loader's global
|
||||
context has already been updated, resulting in the updated context being
|
||||
freed and potential use-after-free bugs when the boot hook is subsequently
|
||||
called.
|
||||
|
||||
This adds a new API, grub_loader_set_ex(), which allows a loader to specify
|
||||
context that is passed to its boot and unload hooks. This is an alternative
|
||||
to requiring that loaders call grub_loader_unset() before mutating their
|
||||
global context.
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 14ceb3b3ff6db664649138442b6562c114dcf56e
|
||||
[Thomas: needed to backport 04c86e0bb7b58fc2f913f798cdb18934933e532d,
|
||||
which fixes CVE-2022-28736]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/commands/boot.c | 66 ++++++++++++++++++++++++++++++++++-----
|
||||
include/grub/loader.h | 5 +++
|
||||
2 files changed, 63 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/grub-core/commands/boot.c b/grub-core/commands/boot.c
|
||||
index bbca81e94..61514788e 100644
|
||||
--- a/grub-core/commands/boot.c
|
||||
+++ b/grub-core/commands/boot.c
|
||||
@@ -27,10 +27,20 @@
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
-static grub_err_t (*grub_loader_boot_func) (void);
|
||||
-static grub_err_t (*grub_loader_unload_func) (void);
|
||||
+static grub_err_t (*grub_loader_boot_func) (void *context);
|
||||
+static grub_err_t (*grub_loader_unload_func) (void *context);
|
||||
+static void *grub_loader_context;
|
||||
static int grub_loader_flags;
|
||||
|
||||
+struct grub_simple_loader_hooks
|
||||
+{
|
||||
+ grub_err_t (*boot) (void);
|
||||
+ grub_err_t (*unload) (void);
|
||||
+};
|
||||
+
|
||||
+/* Don't heap allocate this to avoid making grub_loader_set() fallible. */
|
||||
+static struct grub_simple_loader_hooks simple_loader_hooks;
|
||||
+
|
||||
struct grub_preboot
|
||||
{
|
||||
grub_err_t (*preboot_func) (int);
|
||||
@@ -44,6 +54,29 @@ static int grub_loader_loaded;
|
||||
static struct grub_preboot *preboots_head = 0,
|
||||
*preboots_tail = 0;
|
||||
|
||||
+static grub_err_t
|
||||
+grub_simple_boot_hook (void *context)
|
||||
+{
|
||||
+ struct grub_simple_loader_hooks *hooks;
|
||||
+
|
||||
+ hooks = (struct grub_simple_loader_hooks *) context;
|
||||
+ return hooks->boot ();
|
||||
+}
|
||||
+
|
||||
+static grub_err_t
|
||||
+grub_simple_unload_hook (void *context)
|
||||
+{
|
||||
+ struct grub_simple_loader_hooks *hooks;
|
||||
+ grub_err_t ret;
|
||||
+
|
||||
+ hooks = (struct grub_simple_loader_hooks *) context;
|
||||
+
|
||||
+ ret = hooks->unload ();
|
||||
+ grub_memset (hooks, 0, sizeof (*hooks));
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
int
|
||||
grub_loader_is_loaded (void)
|
||||
{
|
||||
@@ -110,28 +143,45 @@ grub_loader_unregister_preboot_hook (struct grub_preboot *hnd)
|
||||
}
|
||||
|
||||
void
|
||||
-grub_loader_set (grub_err_t (*boot) (void),
|
||||
- grub_err_t (*unload) (void),
|
||||
- int flags)
|
||||
+grub_loader_set_ex (grub_err_t (*boot) (void *context),
|
||||
+ grub_err_t (*unload) (void *context),
|
||||
+ void *context,
|
||||
+ int flags)
|
||||
{
|
||||
if (grub_loader_loaded && grub_loader_unload_func)
|
||||
- grub_loader_unload_func ();
|
||||
+ grub_loader_unload_func (grub_loader_context);
|
||||
|
||||
grub_loader_boot_func = boot;
|
||||
grub_loader_unload_func = unload;
|
||||
+ grub_loader_context = context;
|
||||
grub_loader_flags = flags;
|
||||
|
||||
grub_loader_loaded = 1;
|
||||
}
|
||||
|
||||
+void
|
||||
+grub_loader_set (grub_err_t (*boot) (void),
|
||||
+ grub_err_t (*unload) (void),
|
||||
+ int flags)
|
||||
+{
|
||||
+ grub_loader_set_ex (grub_simple_boot_hook,
|
||||
+ grub_simple_unload_hook,
|
||||
+ &simple_loader_hooks,
|
||||
+ flags);
|
||||
+
|
||||
+ simple_loader_hooks.boot = boot;
|
||||
+ simple_loader_hooks.unload = unload;
|
||||
+}
|
||||
+
|
||||
void
|
||||
grub_loader_unset(void)
|
||||
{
|
||||
if (grub_loader_loaded && grub_loader_unload_func)
|
||||
- grub_loader_unload_func ();
|
||||
+ grub_loader_unload_func (grub_loader_context);
|
||||
|
||||
grub_loader_boot_func = 0;
|
||||
grub_loader_unload_func = 0;
|
||||
+ grub_loader_context = 0;
|
||||
|
||||
grub_loader_loaded = 0;
|
||||
}
|
||||
@@ -158,7 +208,7 @@ grub_loader_boot (void)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
- err = (grub_loader_boot_func) ();
|
||||
+ err = (grub_loader_boot_func) (grub_loader_context);
|
||||
|
||||
for (cur = preboots_tail; cur; cur = cur->prev)
|
||||
if (! err)
|
||||
diff --git a/include/grub/loader.h b/include/grub/loader.h
|
||||
index b20864282..97f231054 100644
|
||||
--- a/include/grub/loader.h
|
||||
+++ b/include/grub/loader.h
|
||||
@@ -40,6 +40,11 @@ void EXPORT_FUNC (grub_loader_set) (grub_err_t (*boot) (void),
|
||||
grub_err_t (*unload) (void),
|
||||
int flags);
|
||||
|
||||
+void EXPORT_FUNC (grub_loader_set_ex) (grub_err_t (*boot) (void *context),
|
||||
+ grub_err_t (*unload) (void *context),
|
||||
+ void *context,
|
||||
+ int flags);
|
||||
+
|
||||
/* Unset current loader, if any. */
|
||||
void EXPORT_FUNC (grub_loader_unset) (void);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
From 583fca49f413e00fe26f8ae7abe0837bbc574f79 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Coulson <chris.coulson@canonical.com>
|
||||
Date: Tue, 5 Apr 2022 11:48:58 +0100
|
||||
Subject: [PATCH] loader/efi/chainloader: Use grub_loader_set_ex()
|
||||
|
||||
This ports the EFI chainloader to use grub_loader_set_ex() in order to fix
|
||||
a use-after-free bug that occurs when grub_cmd_chainloader() is executed
|
||||
more than once before a boot attempt is performed.
|
||||
|
||||
Fixes: CVE-2022-28736
|
||||
|
||||
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 04c86e0bb7b58fc2f913f798cdb18934933e532d
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/loader/efi/chainloader.c | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
|
||||
index d1602c89b..7557eb269 100644
|
||||
--- a/grub-core/loader/efi/chainloader.c
|
||||
+++ b/grub-core/loader/efi/chainloader.c
|
||||
@@ -44,11 +44,10 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
-static grub_efi_handle_t image_handle;
|
||||
-
|
||||
static grub_err_t
|
||||
-grub_chainloader_unload (void)
|
||||
+grub_chainloader_unload (void *context)
|
||||
{
|
||||
+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
|
||||
grub_efi_loaded_image_t *loaded_image;
|
||||
grub_efi_boot_services_t *b;
|
||||
|
||||
@@ -64,8 +63,9 @@ grub_chainloader_unload (void)
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
-grub_chainloader_boot (void)
|
||||
+grub_chainloader_boot (void *context)
|
||||
{
|
||||
+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context;
|
||||
grub_efi_boot_services_t *b;
|
||||
grub_efi_status_t status;
|
||||
grub_efi_uintn_t exit_data_size;
|
||||
@@ -225,6 +225,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_efi_physical_address_t address = 0;
|
||||
grub_efi_uintn_t pages = 0;
|
||||
grub_efi_char16_t *cmdline = NULL;
|
||||
+ grub_efi_handle_t image_handle = NULL;
|
||||
|
||||
if (argc == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
|
||||
@@ -405,7 +406,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
grub_free (file_path);
|
||||
|
||||
- grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0);
|
||||
+ grub_loader_set_ex (grub_chainloader_boot, grub_chainloader_unload, image_handle, 0);
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
@@ -423,10 +424,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
|
||||
efi_call_2 (b->free_pages, address, pages);
|
||||
|
||||
if (image_handle != NULL)
|
||||
- {
|
||||
- efi_call_1 (b->unload_image, image_handle);
|
||||
- image_handle = NULL;
|
||||
- }
|
||||
+ efi_call_1 (b->unload_image, image_handle);
|
||||
|
||||
grub_dl_unref (my_mod);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 1e1b1271b7a7c6ac20a4c5f8e0dc29614b4975d1 Mon Sep 17 00:00:00 2001
|
||||
From: Julian Andres Klode <julian.klode@canonical.com>
|
||||
Date: Thu, 2 Dec 2021 15:03:53 +0100
|
||||
Subject: [PATCH] kern/efi/sb: Reject non-kernel files in the shim_lock
|
||||
verifier
|
||||
|
||||
We must not allow other verifiers to pass things like the GRUB modules.
|
||||
Instead of maintaining a blocklist, maintain an allowlist of things
|
||||
that we do not care about.
|
||||
|
||||
This allowlist really should be made reusable, and shared by the
|
||||
lockdown verifier, but this is the minimal patch addressing
|
||||
security concerns where the TPM verifier was able to mark modules
|
||||
as verified (or the OpenPGP verifier for that matter), when it
|
||||
should not do so on shim-powered secure boot systems.
|
||||
|
||||
Fixes: CVE-2022-28735
|
||||
|
||||
Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 6fe755c5c07bb386fda58306bfd19e4a1c974c53
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/kern/efi/sb.c | 39 ++++++++++++++++++++++++++++++++++++---
|
||||
include/grub/verify.h | 1 +
|
||||
2 files changed, 37 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
|
||||
index c52ec6226..89c4bb3fd 100644
|
||||
--- a/grub-core/kern/efi/sb.c
|
||||
+++ b/grub-core/kern/efi/sb.c
|
||||
@@ -119,10 +119,11 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
|
||||
void **context __attribute__ ((unused)),
|
||||
enum grub_verify_flags *flags)
|
||||
{
|
||||
- *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
|
||||
+ *flags = GRUB_VERIFY_FLAGS_NONE;
|
||||
|
||||
switch (type & GRUB_FILE_TYPE_MASK)
|
||||
{
|
||||
+ /* Files we check. */
|
||||
case GRUB_FILE_TYPE_LINUX_KERNEL:
|
||||
case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
|
||||
case GRUB_FILE_TYPE_BSD_KERNEL:
|
||||
@@ -130,11 +131,43 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
|
||||
case GRUB_FILE_TYPE_PLAN9_KERNEL:
|
||||
case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE:
|
||||
*flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
|
||||
+ return GRUB_ERR_NONE;
|
||||
|
||||
- /* Fall through. */
|
||||
+ /* Files that do not affect secureboot state. */
|
||||
+ case GRUB_FILE_TYPE_NONE:
|
||||
+ case GRUB_FILE_TYPE_LOOPBACK:
|
||||
+ case GRUB_FILE_TYPE_LINUX_INITRD:
|
||||
+ case GRUB_FILE_TYPE_OPENBSD_RAMDISK:
|
||||
+ case GRUB_FILE_TYPE_XNU_RAMDISK:
|
||||
+ case GRUB_FILE_TYPE_SIGNATURE:
|
||||
+ case GRUB_FILE_TYPE_PUBLIC_KEY:
|
||||
+ case GRUB_FILE_TYPE_PUBLIC_KEY_TRUST:
|
||||
+ case GRUB_FILE_TYPE_PRINT_BLOCKLIST:
|
||||
+ case GRUB_FILE_TYPE_TESTLOAD:
|
||||
+ case GRUB_FILE_TYPE_GET_SIZE:
|
||||
+ case GRUB_FILE_TYPE_FONT:
|
||||
+ case GRUB_FILE_TYPE_ZFS_ENCRYPTION_KEY:
|
||||
+ case GRUB_FILE_TYPE_CAT:
|
||||
+ case GRUB_FILE_TYPE_HEXCAT:
|
||||
+ case GRUB_FILE_TYPE_CMP:
|
||||
+ case GRUB_FILE_TYPE_HASHLIST:
|
||||
+ case GRUB_FILE_TYPE_TO_HASH:
|
||||
+ case GRUB_FILE_TYPE_KEYBOARD_LAYOUT:
|
||||
+ case GRUB_FILE_TYPE_PIXMAP:
|
||||
+ case GRUB_FILE_TYPE_GRUB_MODULE_LIST:
|
||||
+ case GRUB_FILE_TYPE_CONFIG:
|
||||
+ case GRUB_FILE_TYPE_THEME:
|
||||
+ case GRUB_FILE_TYPE_GETTEXT_CATALOG:
|
||||
+ case GRUB_FILE_TYPE_FS_SEARCH:
|
||||
+ case GRUB_FILE_TYPE_LOADENV:
|
||||
+ case GRUB_FILE_TYPE_SAVEENV:
|
||||
+ case GRUB_FILE_TYPE_VERIFY_SIGNATURE:
|
||||
+ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
|
||||
+ return GRUB_ERR_NONE;
|
||||
|
||||
+ /* Other files. */
|
||||
default:
|
||||
- return GRUB_ERR_NONE;
|
||||
+ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("prohibited by secure boot policy"));
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/include/grub/verify.h b/include/grub/verify.h
|
||||
index cd129c398..672ae1692 100644
|
||||
--- a/include/grub/verify.h
|
||||
+++ b/include/grub/verify.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
enum grub_verify_flags
|
||||
{
|
||||
+ GRUB_VERIFY_FLAGS_NONE = 0,
|
||||
GRUB_VERIFY_FLAGS_SKIP_VERIFICATION = 1,
|
||||
GRUB_VERIFY_FLAGS_SINGLE_CHUNK = 2,
|
||||
/* Defer verification to another authority. */
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,689 @@
|
||||
From 1faa412c502c7c4ca1230fc152be30b88847fdd2 Mon Sep 17 00:00:00 2001
|
||||
From: Elyes Haouas <ehaouas@noos.fr>
|
||||
Date: Fri, 4 Mar 2022 07:42:13 +0100
|
||||
Subject: [PATCH] video: Remove trailing whitespaces
|
||||
|
||||
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 1f48917d8ddb490dcdc70176e0f58136b7f7811a
|
||||
[Thomas: needed to backport patches fixing CVEs in the video code]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/bochs.c | 2 +-
|
||||
grub-core/video/capture.c | 2 +-
|
||||
grub-core/video/cirrus.c | 4 ++--
|
||||
grub-core/video/coreboot/cbfb.c | 2 +-
|
||||
grub-core/video/efi_gop.c | 22 +++++++++----------
|
||||
grub-core/video/fb/fbblit.c | 8 +++----
|
||||
grub-core/video/fb/video_fb.c | 10 ++++-----
|
||||
grub-core/video/i386/pc/vbe.c | 34 ++++++++++++++---------------
|
||||
grub-core/video/i386/pc/vga.c | 6 ++---
|
||||
grub-core/video/ieee1275.c | 4 ++--
|
||||
grub-core/video/radeon_fuloong2e.c | 6 ++---
|
||||
grub-core/video/radeon_yeeloong3a.c | 6 ++---
|
||||
grub-core/video/readers/png.c | 2 +-
|
||||
grub-core/video/readers/tga.c | 2 +-
|
||||
grub-core/video/sis315_init.c | 2 +-
|
||||
grub-core/video/sis315pro.c | 8 +++----
|
||||
grub-core/video/sm712.c | 10 ++++-----
|
||||
grub-core/video/video.c | 8 +++----
|
||||
18 files changed, 69 insertions(+), 69 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/bochs.c b/grub-core/video/bochs.c
|
||||
index 30ea1bd82..edc651697 100644
|
||||
--- a/grub-core/video/bochs.c
|
||||
+++ b/grub-core/video/bochs.c
|
||||
@@ -212,7 +212,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
|
||||
if (((class >> 16) & 0xffff) != 0x0300 || pciid != 0x11111234)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
framebuffer.base = grub_pci_read (addr) & GRUB_PCI_ADDR_MEM_MASK;
|
||||
if (!framebuffer.base)
|
||||
diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
|
||||
index 4d3195e01..c653d89f9 100644
|
||||
--- a/grub-core/video/capture.c
|
||||
+++ b/grub-core/video/capture.c
|
||||
@@ -92,7 +92,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
|
||||
framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
|
||||
if (!framebuffer.ptr)
|
||||
return grub_errno;
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target,
|
||||
&framebuffer.mode_info,
|
||||
framebuffer.ptr);
|
||||
diff --git a/grub-core/video/cirrus.c b/grub-core/video/cirrus.c
|
||||
index e2149e8ce..f5542ccdc 100644
|
||||
--- a/grub-core/video/cirrus.c
|
||||
+++ b/grub-core/video/cirrus.c
|
||||
@@ -354,11 +354,11 @@ grub_video_cirrus_setup (unsigned int width, unsigned int height,
|
||||
grub_uint8_t sr_ext = 0, hidden_dac = 0;
|
||||
|
||||
grub_vga_set_geometry (&config, grub_vga_cr_write);
|
||||
-
|
||||
+
|
||||
grub_vga_gr_write (GRUB_VGA_GR_MODE_256_COLOR | GRUB_VGA_GR_MODE_READ_MODE1,
|
||||
GRUB_VGA_GR_MODE);
|
||||
grub_vga_gr_write (GRUB_VGA_GR_GR6_GRAPHICS_MODE, GRUB_VGA_GR_GR6);
|
||||
-
|
||||
+
|
||||
grub_vga_sr_write (GRUB_VGA_SR_MEMORY_MODE_NORMAL, GRUB_VGA_SR_MEMORY_MODE);
|
||||
|
||||
grub_vga_cr_write ((config.pitch >> CIRRUS_CR_EXTENDED_DISPLAY_PITCH_SHIFT)
|
||||
diff --git a/grub-core/video/coreboot/cbfb.c b/grub-core/video/coreboot/cbfb.c
|
||||
index 9af81fa5b..986003c51 100644
|
||||
--- a/grub-core/video/coreboot/cbfb.c
|
||||
+++ b/grub-core/video/coreboot/cbfb.c
|
||||
@@ -106,7 +106,7 @@ grub_video_cbfb_setup (unsigned int width, unsigned int height,
|
||||
|
||||
grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
|
||||
index b7590dc6c..7a5054631 100644
|
||||
--- a/grub-core/video/efi_gop.c
|
||||
+++ b/grub-core/video/efi_gop.c
|
||||
@@ -273,7 +273,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
|
||||
grub_efi_status_t status;
|
||||
struct grub_efi_gop_mode_info *info = NULL;
|
||||
struct grub_video_mode_info mode_info;
|
||||
-
|
||||
+
|
||||
status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
|
||||
|
||||
if (status)
|
||||
@@ -390,7 +390,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
found = 1;
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
if (!found)
|
||||
{
|
||||
unsigned mode;
|
||||
@@ -399,7 +399,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
{
|
||||
grub_efi_uintn_t size;
|
||||
grub_efi_status_t status;
|
||||
-
|
||||
+
|
||||
status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
|
||||
if (status)
|
||||
{
|
||||
@@ -472,11 +472,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base;
|
||||
framebuffer.offscreen
|
||||
= grub_malloc (framebuffer.mode_info.height
|
||||
- * framebuffer.mode_info.width
|
||||
+ * framebuffer.mode_info.width
|
||||
* sizeof (struct grub_efi_gop_blt_pixel));
|
||||
|
||||
buffer = framebuffer.offscreen;
|
||||
-
|
||||
+
|
||||
if (!buffer)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
|
||||
@@ -485,11 +485,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
&framebuffer.mode_info);
|
||||
buffer = framebuffer.ptr;
|
||||
}
|
||||
-
|
||||
+
|
||||
grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n",
|
||||
framebuffer.ptr, framebuffer.mode_info.width,
|
||||
framebuffer.mode_info.height, framebuffer.mode_info.bpp);
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_create_render_target_from_pointer
|
||||
(&framebuffer.render_target, &framebuffer.mode_info, buffer);
|
||||
|
||||
@@ -498,15 +498,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
grub_dprintf ("video", "GOP: Couldn't create FB target\n");
|
||||
return err;
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: Couldn't set FB target\n");
|
||||
return err;
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
|
||||
@@ -514,7 +514,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
||||
grub_dprintf ("video", "GOP: Couldn't set palette\n");
|
||||
else
|
||||
grub_dprintf ("video", "GOP: Success\n");
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c
|
||||
index d55924837..1010ef393 100644
|
||||
--- a/grub-core/video/fb/fbblit.c
|
||||
+++ b/grub-core/video/fb/fbblit.c
|
||||
@@ -466,7 +466,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
for (i = 0; i < width; i++)
|
||||
{
|
||||
register grub_uint32_t col;
|
||||
- if (*srcptr == 0xf0)
|
||||
+ if (*srcptr == 0xf0)
|
||||
col = palette[16];
|
||||
else
|
||||
col = palette[*srcptr & 0xf];
|
||||
@@ -478,7 +478,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
*dstptr++ = col >> 0;
|
||||
*dstptr++ = col >> 8;
|
||||
*dstptr++ = col >> 16;
|
||||
-#endif
|
||||
+#endif
|
||||
srcptr++;
|
||||
}
|
||||
|
||||
@@ -651,7 +651,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
for (i = 0; i < width; i++)
|
||||
{
|
||||
register grub_uint32_t col;
|
||||
- if (*srcptr != 0xf0)
|
||||
+ if (*srcptr != 0xf0)
|
||||
{
|
||||
col = palette[*srcptr & 0xf];
|
||||
#ifdef GRUB_CPU_WORDS_BIGENDIAN
|
||||
@@ -662,7 +662,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst,
|
||||
*dstptr++ = col >> 0;
|
||||
*dstptr++ = col >> 8;
|
||||
*dstptr++ = col >> 16;
|
||||
-#endif
|
||||
+#endif
|
||||
}
|
||||
else
|
||||
dstptr += 3;
|
||||
diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
|
||||
index ae6b89f9a..fa4ebde26 100644
|
||||
--- a/grub-core/video/fb/video_fb.c
|
||||
+++ b/grub-core/video/fb/video_fb.c
|
||||
@@ -754,7 +754,7 @@ grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source,
|
||||
*alpha = 0;
|
||||
return;
|
||||
}
|
||||
-
|
||||
+
|
||||
/* If we have an out-of-bounds color, return transparent black. */
|
||||
if (color > 255)
|
||||
{
|
||||
@@ -1141,7 +1141,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
/* If everything is aligned on 32-bit use 32-bit copy. */
|
||||
if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
|
||||
% sizeof (grub_uint32_t) == 0
|
||||
- && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
|
||||
+ && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y)
|
||||
% sizeof (grub_uint32_t) == 0
|
||||
&& linelen % sizeof (grub_uint32_t) == 0
|
||||
&& linedelta % sizeof (grub_uint32_t) == 0)
|
||||
@@ -1155,7 +1155,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
else if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y)
|
||||
% sizeof (grub_uint16_t) == 0
|
||||
&& (grub_addr_t) grub_video_fb_get_video_ptr (&target,
|
||||
- dst_x, dst_y)
|
||||
+ dst_x, dst_y)
|
||||
% sizeof (grub_uint16_t) == 0
|
||||
&& linelen % sizeof (grub_uint16_t) == 0
|
||||
&& linedelta % sizeof (grub_uint16_t) == 0)
|
||||
@@ -1170,7 +1170,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy)
|
||||
{
|
||||
grub_uint8_t *src, *dst;
|
||||
DO_SCROLL
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
|
||||
/* 4. Fill empty space with specified color. In this implementation
|
||||
@@ -1615,7 +1615,7 @@ grub_video_fb_setup (unsigned int mode_type, unsigned int mode_mask,
|
||||
framebuffer.render_target = framebuffer.back_target;
|
||||
return GRUB_ERR_NONE;
|
||||
}
|
||||
-
|
||||
+
|
||||
mode_info->mode_type &= ~(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED
|
||||
| GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP);
|
||||
|
||||
diff --git a/grub-core/video/i386/pc/vbe.c b/grub-core/video/i386/pc/vbe.c
|
||||
index b7f911926..0e65b5206 100644
|
||||
--- a/grub-core/video/i386/pc/vbe.c
|
||||
+++ b/grub-core/video/i386/pc/vbe.c
|
||||
@@ -219,7 +219,7 @@ grub_vbe_disable_mtrr (int mtrr)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f09 to set palette data, return status. */
|
||||
-static grub_vbe_status_t
|
||||
+static grub_vbe_status_t
|
||||
grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
|
||||
grub_uint32_t start_index,
|
||||
struct grub_vbe_palette_data *palette_data)
|
||||
@@ -237,7 +237,7 @@ grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -251,7 +251,7 @@ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode_info (grub_uint32_t mode,
|
||||
struct grub_vbe_mode_info_block *mode_info)
|
||||
{
|
||||
@@ -285,7 +285,7 @@ grub_vbe_bios_set_mode (grub_uint32_t mode,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode (grub_uint32_t *mode)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -298,7 +298,7 @@ grub_vbe_bios_get_mode (grub_uint32_t *mode)
|
||||
return regs.eax & 0xffff;
|
||||
}
|
||||
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -346,7 +346,7 @@ grub_vbe_bios_get_memory_window (grub_uint32_t window,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_set_scanline_length (grub_uint32_t length)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -354,14 +354,14 @@ grub_vbe_bios_set_scanline_length (grub_uint32_t length)
|
||||
regs.ecx = length;
|
||||
regs.eax = 0x4f06;
|
||||
/* BL = 2, Set Scan Line in Bytes. */
|
||||
- regs.ebx = 0x0002;
|
||||
+ regs.ebx = 0x0002;
|
||||
regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
|
||||
grub_bios_interrupt (0x10, ®s);
|
||||
return regs.eax & 0xffff;
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -377,7 +377,7 @@ grub_vbe_bios_get_scanline_length (grub_uint32_t *length)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to set display start, return status. */
|
||||
-static grub_vbe_status_t
|
||||
+static grub_vbe_status_t
|
||||
grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -390,7 +390,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
regs.edx = y;
|
||||
regs.eax = 0x4f07;
|
||||
/* BL = 80h, Set Display Start during Vertical Retrace. */
|
||||
- regs.ebx = 0x0080;
|
||||
+ regs.ebx = 0x0080;
|
||||
regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
|
||||
grub_bios_interrupt (0x10, ®s);
|
||||
|
||||
@@ -401,7 +401,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y)
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to get display start, return status. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_display_start (grub_uint32_t *x,
|
||||
grub_uint32_t *y)
|
||||
{
|
||||
@@ -419,7 +419,7 @@ grub_vbe_bios_get_display_start (grub_uint32_t *x,
|
||||
}
|
||||
|
||||
/* Call VESA BIOS 0x4f0a. */
|
||||
-grub_vbe_status_t
|
||||
+grub_vbe_status_t
|
||||
grub_vbe_bios_get_pm_interface (grub_uint16_t *segment, grub_uint16_t *offset,
|
||||
grub_uint16_t *length)
|
||||
{
|
||||
@@ -896,7 +896,7 @@ vbe2videoinfo (grub_uint32_t mode,
|
||||
case GRUB_VBE_MEMORY_MODEL_YUV:
|
||||
mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_YUV;
|
||||
break;
|
||||
-
|
||||
+
|
||||
case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR:
|
||||
mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_RGB;
|
||||
break;
|
||||
@@ -923,10 +923,10 @@ vbe2videoinfo (grub_uint32_t mode,
|
||||
break;
|
||||
case 8:
|
||||
mode_info->bytes_per_pixel = 1;
|
||||
- break;
|
||||
+ break;
|
||||
case 4:
|
||||
mode_info->bytes_per_pixel = 0;
|
||||
- break;
|
||||
+ break;
|
||||
}
|
||||
|
||||
if (controller_info.version >= 0x300)
|
||||
@@ -976,7 +976,7 @@ grub_video_vbe_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
|
||||
|
||||
static grub_err_t
|
||||
grub_video_vbe_setup (unsigned int width, unsigned int height,
|
||||
- grub_video_mode_type_t mode_type,
|
||||
+ grub_video_mode_type_t mode_type,
|
||||
grub_video_mode_type_t mode_mask)
|
||||
{
|
||||
grub_uint16_t *p;
|
||||
@@ -1193,7 +1193,7 @@ grub_video_vbe_print_adapter_specific_info (void)
|
||||
controller_info.version & 0xFF,
|
||||
controller_info.oem_software_rev >> 8,
|
||||
controller_info.oem_software_rev & 0xFF);
|
||||
-
|
||||
+
|
||||
/* The total_memory field is in 64 KiB units. */
|
||||
grub_printf_ (N_(" total memory: %d KiB\n"),
|
||||
(controller_info.total_memory << 6));
|
||||
diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
|
||||
index b2f776c99..50d0b5e02 100644
|
||||
--- a/grub-core/video/i386/pc/vga.c
|
||||
+++ b/grub-core/video/i386/pc/vga.c
|
||||
@@ -48,7 +48,7 @@ static struct
|
||||
int back_page;
|
||||
} framebuffer;
|
||||
|
||||
-static unsigned char
|
||||
+static unsigned char
|
||||
grub_vga_set_mode (unsigned char mode)
|
||||
{
|
||||
struct grub_bios_int_registers regs;
|
||||
@@ -182,10 +182,10 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
|
||||
|
||||
is_target = 1;
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
-
|
||||
+
|
||||
err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
|
||||
diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
|
||||
index 17a3dbbb5..f8cf94d96 100644
|
||||
--- a/grub-core/video/ieee1275.c
|
||||
+++ b/grub-core/video/ieee1275.c
|
||||
@@ -234,7 +234,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
|
||||
/* TODO. */
|
||||
return grub_error (GRUB_ERR_IO, "can't set mode %dx%d", width, height);
|
||||
}
|
||||
-
|
||||
+
|
||||
err = grub_video_ieee1275_fill_mode_info (dev, &framebuffer.mode_info);
|
||||
if (err)
|
||||
{
|
||||
@@ -261,7 +261,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height,
|
||||
|
||||
grub_video_ieee1275_set_palette (0, framebuffer.mode_info.number_of_colors,
|
||||
grub_video_fbstd_colors);
|
||||
-
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/grub-core/video/radeon_fuloong2e.c b/grub-core/video/radeon_fuloong2e.c
|
||||
index b4da34b5e..40917acb7 100644
|
||||
--- a/grub-core/video/radeon_fuloong2e.c
|
||||
+++ b/grub-core/video/radeon_fuloong2e.c
|
||||
@@ -75,7 +75,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != 0x515a1002)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -139,7 +139,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
|
||||
framebuffer.mapped = 1;
|
||||
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0x55,
|
||||
+ grub_memset (framebuffer.ptr, 0x55,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
|
||||
#ifndef TEST
|
||||
@@ -152,7 +152,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height,
|
||||
return err;
|
||||
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
diff --git a/grub-core/video/radeon_yeeloong3a.c b/grub-core/video/radeon_yeeloong3a.c
|
||||
index 52614feb6..48631c181 100644
|
||||
--- a/grub-core/video/radeon_yeeloong3a.c
|
||||
+++ b/grub-core/video/radeon_yeeloong3a.c
|
||||
@@ -74,7 +74,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != 0x96151002)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -137,7 +137,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
|
||||
#endif
|
||||
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0,
|
||||
+ grub_memset (framebuffer.ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
|
||||
#ifndef TEST
|
||||
@@ -150,7 +150,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height,
|
||||
return err;
|
||||
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
-
|
||||
+
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 0157ff742..54dfedf43 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -916,7 +916,7 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
}
|
||||
return;
|
||||
}
|
||||
-
|
||||
+
|
||||
if (data->is_gray)
|
||||
{
|
||||
switch (data->bpp)
|
||||
diff --git a/grub-core/video/readers/tga.c b/grub-core/video/readers/tga.c
|
||||
index 7cb9d1d2a..a9ec3a1b6 100644
|
||||
--- a/grub-core/video/readers/tga.c
|
||||
+++ b/grub-core/video/readers/tga.c
|
||||
@@ -127,7 +127,7 @@ tga_load_palette (struct tga_data *data)
|
||||
|
||||
if (len > sizeof (data->palette))
|
||||
len = sizeof (data->palette);
|
||||
-
|
||||
+
|
||||
if (grub_file_read (data->file, &data->palette, len)
|
||||
!= (grub_ssize_t) len)
|
||||
return grub_errno;
|
||||
diff --git a/grub-core/video/sis315_init.c b/grub-core/video/sis315_init.c
|
||||
index ae5c1419c..09c3c7bbe 100644
|
||||
--- a/grub-core/video/sis315_init.c
|
||||
+++ b/grub-core/video/sis315_init.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
|
||||
+static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] =
|
||||
{
|
||||
{ 0x28, 0x81 },
|
||||
{ 0x2a, 0x00 },
|
||||
diff --git a/grub-core/video/sis315pro.c b/grub-core/video/sis315pro.c
|
||||
index 22a0c85a6..4d2f9999a 100644
|
||||
--- a/grub-core/video/sis315pro.c
|
||||
+++ b/grub-core/video/sis315pro.c
|
||||
@@ -103,7 +103,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != GRUB_SIS315PRO_PCIID)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -218,7 +218,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
|
||||
#ifndef TEST
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset (framebuffer.ptr, 0,
|
||||
+ grub_memset (framebuffer.ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
grub_arch_sync_dma_caches (framebuffer.ptr,
|
||||
framebuffer.mode_info.height
|
||||
@@ -231,7 +231,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
| GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
|
||||
| GRUB_VGA_IO_MISC_28MHZ
|
||||
| GRUB_VGA_IO_MISC_ENABLE_VRAM_ACCESS
|
||||
- | GRUB_VGA_IO_MISC_COLOR,
|
||||
+ | GRUB_VGA_IO_MISC_COLOR,
|
||||
GRUB_VGA_IO_MISC_WRITE + GRUB_MACHINE_PCI_IO_BASE);
|
||||
|
||||
grub_vga_sr_write (0x86, 5);
|
||||
@@ -335,7 +335,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height,
|
||||
{
|
||||
if (read_sis_cmd (0x5) != 0xa1)
|
||||
write_sis_cmd (0x86, 0x5);
|
||||
-
|
||||
+
|
||||
write_sis_cmd (read_sis_cmd (0x20) | 0xa1, 0x20);
|
||||
write_sis_cmd (read_sis_cmd (0x1e) | 0xda, 0x1e);
|
||||
|
||||
diff --git a/grub-core/video/sm712.c b/grub-core/video/sm712.c
|
||||
index 10c46eb65..65f59f84b 100644
|
||||
--- a/grub-core/video/sm712.c
|
||||
+++ b/grub-core/video/sm712.c
|
||||
@@ -167,7 +167,7 @@ enum
|
||||
GRUB_SM712_CR_SHADOW_VGA_VBLANK_START = 0x46,
|
||||
GRUB_SM712_CR_SHADOW_VGA_VBLANK_END = 0x47,
|
||||
GRUB_SM712_CR_SHADOW_VGA_VRETRACE_START = 0x48,
|
||||
- GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
|
||||
+ GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49,
|
||||
GRUB_SM712_CR_SHADOW_VGA_OVERFLOW = 0x4a,
|
||||
GRUB_SM712_CR_SHADOW_VGA_CELL_HEIGHT = 0x4b,
|
||||
GRUB_SM712_CR_SHADOW_VGA_HDISPLAY_END = 0x4c,
|
||||
@@ -375,7 +375,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data)
|
||||
if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA
|
||||
|| pciid != GRUB_SM712_PCIID)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
*found = 1;
|
||||
|
||||
addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
@@ -471,7 +471,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
|
||||
#if !defined (TEST) && !defined(GENINIT)
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
- grub_memset ((void *) framebuffer.cached_ptr, 0,
|
||||
+ grub_memset ((void *) framebuffer.cached_ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
#endif
|
||||
|
||||
@@ -482,7 +482,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
grub_sm712_sr_write (0x2, 0x6b);
|
||||
grub_sm712_write_reg (0, GRUB_VGA_IO_PIXEL_MASK);
|
||||
grub_sm712_sr_write (GRUB_VGA_SR_RESET_ASYNC, GRUB_VGA_SR_RESET);
|
||||
- grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
|
||||
+ grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY
|
||||
| GRUB_VGA_IO_MISC_NEGATIVE_HORIZ_POLARITY
|
||||
| GRUB_VGA_IO_MISC_UPPER_64K
|
||||
| GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0
|
||||
@@ -694,7 +694,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
||||
for (i = 0; i < ARRAY_SIZE (dda_lookups); i++)
|
||||
grub_sm712_write_dda_lookup (i, dda_lookups[i].compare, dda_lookups[i].dda,
|
||||
dda_lookups[i].vcentering);
|
||||
-
|
||||
+
|
||||
/* Undocumented */
|
||||
grub_sm712_cr_write (0, 0x9c);
|
||||
grub_sm712_cr_write (0, 0x9d);
|
||||
diff --git a/grub-core/video/video.c b/grub-core/video/video.c
|
||||
index 983424107..8937da745 100644
|
||||
--- a/grub-core/video/video.c
|
||||
+++ b/grub-core/video/video.c
|
||||
@@ -491,13 +491,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
|
||||
current_mode);
|
||||
|
||||
param++;
|
||||
-
|
||||
+
|
||||
*width = grub_strtoul (value, 0, 0);
|
||||
if (grub_errno != GRUB_ERR_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
N_("invalid video mode specification `%s'"),
|
||||
current_mode);
|
||||
-
|
||||
+
|
||||
/* Find height value. */
|
||||
value = param;
|
||||
param = grub_strchr(param, 'x');
|
||||
@@ -513,13 +513,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth)
|
||||
{
|
||||
/* We have optional color depth value. */
|
||||
param++;
|
||||
-
|
||||
+
|
||||
*height = grub_strtoul (value, 0, 0);
|
||||
if (grub_errno != GRUB_ERR_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
N_("invalid video mode specification `%s'"),
|
||||
current_mode);
|
||||
-
|
||||
+
|
||||
/* Convert color depth value. */
|
||||
value = param;
|
||||
*depth = grub_strtoul (value, 0, 0);
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
From 91d16e415b79f5080fa2bcc21bff6471f6be9f08 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 14:02:55 +1000
|
||||
Subject: [PATCH] video/readers/png: Abort sooner if a read operation fails
|
||||
|
||||
Fuzzing revealed some inputs that were taking a long time, potentially
|
||||
forever, because they did not bail quickly upon encountering an I/O error.
|
||||
|
||||
Try to catch I/O errors sooner and bail out.
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: d5caac8ab79d068ad9a41030c772d03a4d4fbd7b
|
||||
[Thomas: needed to cherry-pick
|
||||
e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 55 ++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 47 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 54dfedf43..d715c4629 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -142,6 +142,7 @@ static grub_uint8_t
|
||||
grub_png_get_byte (struct grub_png_data *data)
|
||||
{
|
||||
grub_uint8_t r;
|
||||
+ grub_ssize_t bytes_read = 0;
|
||||
|
||||
if ((data->inside_idat) && (data->idat_remain == 0))
|
||||
{
|
||||
@@ -175,7 +176,14 @@ grub_png_get_byte (struct grub_png_data *data)
|
||||
}
|
||||
|
||||
r = 0;
|
||||
- grub_file_read (data->file, &r, 1);
|
||||
+ bytes_read = grub_file_read (data->file, &r, 1);
|
||||
+
|
||||
+ if (bytes_read != 1)
|
||||
+ {
|
||||
+ grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: unexpected end of data");
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
if (data->inside_idat)
|
||||
data->idat_remain--;
|
||||
@@ -231,15 +239,16 @@ grub_png_decode_image_palette (struct grub_png_data *data,
|
||||
if (len == 0)
|
||||
return GRUB_ERR_NONE;
|
||||
|
||||
- for (i = 0; 3 * i < len && i < 256; i++)
|
||||
+ grub_errno = GRUB_ERR_NONE;
|
||||
+ for (i = 0; 3 * i < len && i < 256 && grub_errno == GRUB_ERR_NONE; i++)
|
||||
for (j = 0; j < 3; j++)
|
||||
data->palette[i][j] = grub_png_get_byte (data);
|
||||
- for (i *= 3; i < len; i++)
|
||||
+ for (i *= 3; i < len && grub_errno == GRUB_ERR_NONE; i++)
|
||||
grub_png_get_byte (data);
|
||||
|
||||
grub_png_get_dword (data);
|
||||
|
||||
- return GRUB_ERR_NONE;
|
||||
+ return grub_errno;
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
@@ -256,9 +265,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: invalid image size");
|
||||
|
||||
color_bits = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
data->is_16bit = (color_bits == 16);
|
||||
|
||||
color_type = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
/* According to PNG spec, no other types are valid. */
|
||||
if ((color_type & ~(PNG_COLOR_MASK_ALPHA | PNG_COLOR_MASK_COLOR))
|
||||
@@ -340,14 +353,20 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
if (grub_png_get_byte (data) != PNG_COMPRESSION_BASE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: compression method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if (grub_png_get_byte (data) != PNG_FILTER_TYPE_BASE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: filter method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if (grub_png_get_byte (data) != PNG_INTERLACE_NONE)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: interlace method not supported");
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
/* Skip crc checksum. */
|
||||
grub_png_get_dword (data);
|
||||
@@ -449,7 +468,7 @@ grub_png_get_huff_code (struct grub_png_data *data, struct huff_table *ht)
|
||||
int code, i;
|
||||
|
||||
code = 0;
|
||||
- for (i = 0; i < ht->max_length; i++)
|
||||
+ for (i = 0; i < ht->max_length && grub_errno == GRUB_ERR_NONE; i++)
|
||||
{
|
||||
code = (code << 1) + grub_png_get_bits (data, 1);
|
||||
if (code < ht->maxval[i])
|
||||
@@ -504,8 +523,14 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
|
||||
grub_uint8_t lens[DEFLATE_HCLEN_MAX];
|
||||
|
||||
nl = DEFLATE_HLIT_BASE + grub_png_get_bits (data, 5);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
nd = DEFLATE_HDIST_BASE + grub_png_get_bits (data, 5);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
nb = DEFLATE_HCLEN_BASE + grub_png_get_bits (data, 4);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if ((nl > DEFLATE_HLIT_MAX) || (nd > DEFLATE_HDIST_MAX) ||
|
||||
(nb > DEFLATE_HCLEN_MAX))
|
||||
@@ -533,7 +558,7 @@ grub_png_init_dynamic_block (struct grub_png_data *data)
|
||||
data->dist_offset);
|
||||
|
||||
prev = 0;
|
||||
- for (i = 0; i < nl + nd; i++)
|
||||
+ for (i = 0; i < nl + nd && grub_errno == GRUB_ERR_NONE; i++)
|
||||
{
|
||||
int n, code;
|
||||
struct huff_table *ht;
|
||||
@@ -721,17 +746,21 @@ grub_png_read_dynamic_block (struct grub_png_data *data)
|
||||
len = cplens[n];
|
||||
if (cplext[n])
|
||||
len += grub_png_get_bits (data, cplext[n]);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
n = grub_png_get_huff_code (data, &data->dist_table);
|
||||
dist = cpdist[n];
|
||||
if (cpdext[n])
|
||||
dist += grub_png_get_bits (data, cpdext[n]);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
pos = data->wp - dist;
|
||||
if (pos < 0)
|
||||
pos += WSIZE;
|
||||
|
||||
- while (len > 0)
|
||||
+ while (len > 0 && grub_errno == GRUB_ERR_NONE)
|
||||
{
|
||||
data->slide[data->wp] = data->slide[pos];
|
||||
grub_png_output_byte (data, data->slide[data->wp]);
|
||||
@@ -759,7 +788,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
int final;
|
||||
|
||||
cmf = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
flg = grub_png_get_byte (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
if ((cmf & 0xF) != Z_DEFLATED)
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
@@ -774,7 +807,11 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
int block_type;
|
||||
|
||||
final = grub_png_get_bits (data, 1);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
block_type = grub_png_get_bits (data, 2);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ return grub_errno;
|
||||
|
||||
switch (block_type)
|
||||
{
|
||||
@@ -790,7 +827,7 @@ grub_png_decode_image_data (struct grub_png_data *data)
|
||||
grub_png_get_byte (data);
|
||||
grub_png_get_byte (data);
|
||||
|
||||
- for (i = 0; i < len; i++)
|
||||
+ for (i = 0; i < len && grub_errno == GRUB_ERR_NONE; i++)
|
||||
grub_png_output_byte (data, grub_png_get_byte (data));
|
||||
|
||||
break;
|
||||
@@ -1045,6 +1082,8 @@ grub_png_decode_png (struct grub_png_data *data)
|
||||
|
||||
len = grub_png_get_dword (data);
|
||||
type = grub_png_get_dword (data);
|
||||
+ if (grub_errno != GRUB_ERR_NONE)
|
||||
+ break;
|
||||
data->next_offset = data->file->offset + len + 4;
|
||||
|
||||
switch (type)
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From e170edd18fcfdd9e6f91ba750fd022cef8d43cd4 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 14:13:40 +1000
|
||||
Subject: [PATCH] video/readers/png: Refuse to handle multiple image headers
|
||||
|
||||
This causes the bitmap to be leaked. Do not permit multiple image headers.
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 166a4d61448f74745afe1dac2f2cfb85d04909bf
|
||||
[Thomas: needed to cherry-pick
|
||||
e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index d715c4629..35ae553c8 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -258,6 +258,9 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
int color_bits;
|
||||
enum grub_video_blit_format blt;
|
||||
|
||||
+ if (data->image_width || data->image_height)
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: two image headers found");
|
||||
+
|
||||
data->image_width = grub_png_get_dword (data);
|
||||
data->image_height = grub_png_get_dword (data);
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
From 5b42d132a029c1d245d94c813a45836522b46226 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 18:51:35 +1000
|
||||
Subject: [PATCH] video/readers/png: Drop greyscale support to fix heap
|
||||
out-of-bounds write
|
||||
|
||||
A 16-bit greyscale PNG without alpha is processed in the following loop:
|
||||
|
||||
for (i = 0; i < (data->image_width * data->image_height);
|
||||
i++, d1 += 4, d2 += 2)
|
||||
{
|
||||
d1[R3] = d2[1];
|
||||
d1[G3] = d2[1];
|
||||
d1[B3] = d2[1];
|
||||
}
|
||||
|
||||
The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration,
|
||||
but there are only 3 bytes allocated for storage. This means that image
|
||||
data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes
|
||||
out of every 4 following the end of the image.
|
||||
|
||||
This has existed since greyscale support was added in 2013 in commit
|
||||
3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale).
|
||||
|
||||
Saving starfield.png as a 16-bit greyscale image without alpha in the gimp
|
||||
and attempting to load it causes grub-emu to crash - I don't think this code
|
||||
has ever worked.
|
||||
|
||||
Delete all PNG greyscale support.
|
||||
|
||||
Fixes: CVE-2021-3695
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: e623866d9286410156e8b9d2c82d6253a1b22d08
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 87 +++--------------------------------
|
||||
1 file changed, 7 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index 35ae553c8..a3161e25b 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -100,7 +100,7 @@ struct grub_png_data
|
||||
|
||||
unsigned image_width, image_height;
|
||||
int bpp, is_16bit;
|
||||
- int raw_bytes, is_gray, is_alpha, is_palette;
|
||||
+ int raw_bytes, is_alpha, is_palette;
|
||||
int row_bytes, color_bits;
|
||||
grub_uint8_t *image_data;
|
||||
|
||||
@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
data->bpp = 3;
|
||||
else
|
||||
{
|
||||
- data->is_gray = 1;
|
||||
- data->bpp = 1;
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: color type not supported");
|
||||
}
|
||||
|
||||
if ((color_bits != 8) && (color_bits != 16)
|
||||
&& (color_bits != 4
|
||||
- || !(data->is_gray || data->is_palette)))
|
||||
+ || !data->is_palette))
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"png: bit depth must be 8 or 16");
|
||||
|
||||
@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
|
||||
}
|
||||
|
||||
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
||||
- if (data->is_16bit || data->is_gray || data->is_palette)
|
||||
+ if (data->is_16bit || data->is_palette)
|
||||
#endif
|
||||
{
|
||||
data->image_data = grub_calloc (data->image_height, data->row_bytes);
|
||||
@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
int shift;
|
||||
int mask = (1 << data->color_bits) - 1;
|
||||
unsigned j;
|
||||
- if (data->is_gray)
|
||||
- {
|
||||
- /* Generic formula is
|
||||
- (0xff * i) / ((1U << data->color_bits) - 1)
|
||||
- but for allowed bit depth of 1, 2 and for it's
|
||||
- equivalent to
|
||||
- (0xff / ((1U << data->color_bits) - 1)) * i
|
||||
- Precompute the multipliers to avoid division.
|
||||
- */
|
||||
-
|
||||
- const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 };
|
||||
- for (i = 0; i < (1U << data->color_bits); i++)
|
||||
- {
|
||||
- grub_uint8_t col = multipliers[data->color_bits] * i;
|
||||
- palette[i][0] = col;
|
||||
- palette[i][1] = col;
|
||||
- palette[i][2] = col;
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- grub_memcpy (palette, data->palette, 3 << data->color_bits);
|
||||
+
|
||||
+ grub_memcpy (palette, data->palette, 3 << data->color_bits);
|
||||
d1c = d1;
|
||||
d2c = d2;
|
||||
for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3,
|
||||
@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data)
|
||||
return;
|
||||
}
|
||||
|
||||
- if (data->is_gray)
|
||||
- {
|
||||
- switch (data->bpp)
|
||||
- {
|
||||
- case 4:
|
||||
- /* 16-bit gray with alpha. */
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 4)
|
||||
- {
|
||||
- d1[R4] = d2[3];
|
||||
- d1[G4] = d2[3];
|
||||
- d1[B4] = d2[3];
|
||||
- d1[A4] = d2[1];
|
||||
- }
|
||||
- break;
|
||||
- case 2:
|
||||
- if (data->is_16bit)
|
||||
- /* 16-bit gray without alpha. */
|
||||
- {
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 2)
|
||||
- {
|
||||
- d1[R3] = d2[1];
|
||||
- d1[G3] = d2[1];
|
||||
- d1[B3] = d2[1];
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- /* 8-bit gray with alpha. */
|
||||
- {
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 4, d2 += 2)
|
||||
- {
|
||||
- d1[R4] = d2[1];
|
||||
- d1[G4] = d2[1];
|
||||
- d1[B4] = d2[1];
|
||||
- d1[A4] = d2[0];
|
||||
- }
|
||||
- }
|
||||
- break;
|
||||
- /* 8-bit gray without alpha. */
|
||||
- case 1:
|
||||
- for (i = 0; i < (data->image_width * data->image_height);
|
||||
- i++, d1 += 3, d2++)
|
||||
- {
|
||||
- d1[R3] = d2[0];
|
||||
- d1[G3] = d2[0];
|
||||
- d1[B3] = d2[0];
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
{
|
||||
/* Only copy the upper 8 bit. */
|
||||
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 43a7d9cb829467993ba683a26c980fcfdaa924c8 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 6 Jul 2021 23:25:07 +1000
|
||||
Subject: [PATCH] video/readers/png: Avoid heap OOB R/W inserting huff table
|
||||
items
|
||||
|
||||
In fuzzing we observed crashes where a code would attempt to be inserted
|
||||
into a huffman table before the start, leading to a set of heap OOB reads
|
||||
and writes as table entries with negative indices were shifted around and
|
||||
the new code written in.
|
||||
|
||||
Catch the case where we would underflow the array and bail.
|
||||
|
||||
Fixes: CVE-2021-3696
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 210245129c932dc9e1c2748d9d35524fb95b5042
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/png.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
|
||||
index a3161e25b..d7ed5aa6c 100644
|
||||
--- a/grub-core/video/readers/png.c
|
||||
+++ b/grub-core/video/readers/png.c
|
||||
@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len)
|
||||
for (i = len; i < ht->max_length; i++)
|
||||
n += ht->maxval[i];
|
||||
|
||||
+ if (n > ht->num_values)
|
||||
+ {
|
||||
+ grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "png: out of range inserting huffman table item");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
for (i = 0; i < n; i++)
|
||||
ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1];
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
From 6be7ccfcc33da513de66f71de63fdc129fa019c2 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Wed, 7 Jul 2021 15:38:19 +1000
|
||||
Subject: [PATCH] video/readers/jpeg: Block int underflow -> wild pointer write
|
||||
|
||||
Certain 1 px wide images caused a wild pointer write in
|
||||
grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(),
|
||||
we have the following loop:
|
||||
|
||||
for (; data->r1 < nr1 && (!data->dri || rst);
|
||||
data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
|
||||
|
||||
We did not check if vb * width >= hb * nc1.
|
||||
|
||||
On a 64-bit platform, if that turns out to be negative, it will underflow,
|
||||
be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so
|
||||
we see data->bitmap_ptr jump, e.g.:
|
||||
|
||||
0x6180_0000_0480 to
|
||||
0x6181_0000_0498
|
||||
^
|
||||
~--- carry has occurred and this pointer is now far away from
|
||||
any object.
|
||||
|
||||
On a 32-bit platform, it will decrement the pointer, creating a pointer
|
||||
that won't crash but will overwrite random data.
|
||||
|
||||
Catch the underflow and error out.
|
||||
|
||||
Fixes: CVE-2021-3697
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/video/readers/jpeg.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
|
||||
index e31602f76..1d256af01 100644
|
||||
--- a/grub-core/video/readers/jpeg.c
|
||||
+++ b/grub-core/video/readers/jpeg.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <grub/mm.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/bufio.h>
|
||||
+#include <grub/safemath.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
@@ -639,6 +640,7 @@ static grub_err_t
|
||||
grub_jpeg_decode_data (struct grub_jpeg_data *data)
|
||||
{
|
||||
unsigned c1, vb, hb, nr1, nc1;
|
||||
+ unsigned stride_a, stride_b, stride;
|
||||
int rst = data->dri;
|
||||
|
||||
vb = 8 << data->log_vs;
|
||||
@@ -650,8 +652,14 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
|
||||
return grub_error(GRUB_ERR_BAD_FILE_TYPE,
|
||||
"jpeg: attempted to decode data before start of stream");
|
||||
|
||||
+ if (grub_mul(vb, data->image_width, &stride_a) ||
|
||||
+ grub_mul(hb, nc1, &stride_b) ||
|
||||
+ grub_sub(stride_a, stride_b, &stride))
|
||||
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
+ "jpeg: cannot decode image with these dimensions");
|
||||
+
|
||||
for (; data->r1 < nr1 && (!data->dri || rst);
|
||||
- data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
|
||||
+ data->r1++, data->bitmap_ptr += stride * 3)
|
||||
for (c1 = 0; c1 < nc1 && (!data->dri || rst);
|
||||
c1++, rst--, data->bitmap_ptr += hb * 3)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From cadde7e36b8797060ac8cdf7cca7d8e1e09697e6 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Mon, 20 Dec 2021 19:41:21 +1100
|
||||
Subject: [PATCH] net/ip: Do IP fragment maths safely
|
||||
|
||||
We can receive packets with invalid IP fragmentation information. This
|
||||
can lead to rsm->total_len underflowing and becoming very large.
|
||||
|
||||
Then, in grub_netbuff_alloc(), we add to this very large number, which can
|
||||
cause it to overflow and wrap back around to a small positive number.
|
||||
The allocation then succeeds, but the resulting buffer is too small and
|
||||
subsequent operations can write past the end of the buffer.
|
||||
|
||||
Catch the underflow here.
|
||||
|
||||
Fixes: CVE-2022-28733
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: 3e4817538de828319ba6d59ced2fbb9b5ca13287
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/ip.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
|
||||
index ea5edf8f1..74e4e8b06 100644
|
||||
--- a/grub-core/net/ip.c
|
||||
+++ b/grub-core/net/ip.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <grub/net/netbuff.h>
|
||||
#include <grub/mm.h>
|
||||
#include <grub/priority_queue.h>
|
||||
+#include <grub/safemath.h>
|
||||
#include <grub/time.h>
|
||||
|
||||
struct iphdr {
|
||||
@@ -512,7 +513,14 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb,
|
||||
{
|
||||
rsm->total_len = (8 * (grub_be_to_cpu16 (iph->frags) & OFFSET_MASK)
|
||||
+ (nb->tail - nb->data));
|
||||
- rsm->total_len -= ((iph->verhdrlen & 0xf) * sizeof (grub_uint32_t));
|
||||
+
|
||||
+ if (grub_sub (rsm->total_len, (iph->verhdrlen & 0xf) * sizeof (grub_uint32_t),
|
||||
+ &rsm->total_len))
|
||||
+ {
|
||||
+ grub_dprintf ("net", "IP reassembly size underflow\n");
|
||||
+ return GRUB_ERR_NONE;
|
||||
+ }
|
||||
+
|
||||
rsm->asm_netbuff = grub_netbuff_alloc (rsm->total_len);
|
||||
if (!rsm->asm_netbuff)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From 6bb49bda656e1121fd303cf3e69709172e267718 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 8 Mar 2022 18:17:03 +1100
|
||||
Subject: [PATCH] net/http: Fix OOB write for split http headers
|
||||
|
||||
GRUB has special code for handling an http header that is split
|
||||
across two packets.
|
||||
|
||||
The code tracks the end of line by looking for a "\n" byte. The
|
||||
code for split headers has always advanced the pointer just past the
|
||||
end of the line, whereas the code that handles unsplit headers does
|
||||
not advance the pointer. This extra advance causes the length to be
|
||||
one greater, which breaks an assumption in parse_line(), leading to
|
||||
it writing a NUL byte one byte past the end of the buffer where we
|
||||
reconstruct the line from the two packets.
|
||||
|
||||
It's conceivable that an attacker controlled set of packets could
|
||||
cause this to zero out the first byte of the "next" pointer of the
|
||||
grub_mm_region structure following the current_line buffer.
|
||||
|
||||
Do not advance the pointer in the split header case.
|
||||
|
||||
Fixes: CVE-2022-28734
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: ec6bfd3237394c1c7dbf2fd73417173318d22f4b
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/http.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/net/http.c b/grub-core/net/http.c
|
||||
index b616cf40b..a19b0a205 100644
|
||||
--- a/grub-core/net/http.c
|
||||
+++ b/grub-core/net/http.c
|
||||
@@ -190,9 +190,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)),
|
||||
int have_line = 1;
|
||||
char *t;
|
||||
ptr = grub_memchr (nb->data, '\n', nb->tail - nb->data);
|
||||
- if (ptr)
|
||||
- ptr++;
|
||||
- else
|
||||
+ if (ptr == NULL)
|
||||
{
|
||||
have_line = 0;
|
||||
ptr = (char *) nb->tail;
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 2974684d2f7f85a5c57af8155cc3b70c04ec1d6b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Axtens <dja@axtens.net>
|
||||
Date: Tue, 8 Mar 2022 19:04:40 +1100
|
||||
Subject: [PATCH] net/http: Error out on headers with LF without CR
|
||||
|
||||
In a similar vein to the previous patch, parse_line() would write
|
||||
a NUL byte past the end of the buffer if there was an HTTP header
|
||||
with a LF rather than a CRLF.
|
||||
|
||||
RFC-2616 says:
|
||||
|
||||
Many HTTP/1.1 header field values consist of words separated by LWS
|
||||
or special characters. These special characters MUST be in a quoted
|
||||
string to be used within a parameter value (as defined in section 3.6).
|
||||
|
||||
We don't support quoted sections or continuation lines, etc.
|
||||
|
||||
If we see an LF that's not part of a CRLF, bail out.
|
||||
|
||||
Fixes: CVE-2022-28734
|
||||
|
||||
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
Upstream: b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
grub-core/net/http.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/grub-core/net/http.c b/grub-core/net/http.c
|
||||
index a19b0a205..1fa62b5cb 100644
|
||||
--- a/grub-core/net/http.c
|
||||
+++ b/grub-core/net/http.c
|
||||
@@ -68,7 +68,15 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
|
||||
char *end = ptr + len;
|
||||
while (end > ptr && *(end - 1) == '\r')
|
||||
end--;
|
||||
+
|
||||
+ /* LF without CR. */
|
||||
+ if (end == ptr + len)
|
||||
+ {
|
||||
+ data->errmsg = grub_strdup (_("invalid HTTP header - LF without CR"));
|
||||
+ return GRUB_ERR_NONE;
|
||||
+ }
|
||||
*end = 0;
|
||||
+
|
||||
/* Trailing CRLF. */
|
||||
if (data->in_chunk_len == 1)
|
||||
{
|
||||
--
|
||||
2.41.0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user