diff options
-rw-r--r-- | .azure-pipelines.yml | 1 | ||||
-rw-r--r-- | MAINTAINERS | 5 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/dts/imx8mm-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/dts/imx8mn-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/dts/imx8mp-rsb3720-a1-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/dts/imx8mp-u-boot.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/dts/imx8qm-u-boot.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/dts/k3-am65-iot2050-boot-image.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/dts/mt7986a-bpi-r3-sd.dts | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx7/Kconfig | 8 | ||||
-rw-r--r-- | boot/Kconfig | 2 | ||||
-rw-r--r-- | boot/bootmeth_extlinux.c | 3 | ||||
-rw-r--r-- | boot/bootmeth_script.c | 3 | ||||
-rw-r--r-- | configs/am57xx_hs_evm_usb_defconfig | 4 | ||||
-rw-r--r-- | configs/mt7988_rfb_defconfig | 1 | ||||
-rw-r--r-- | configs/mt7988_sd_rfb_defconfig | 1 | ||||
-rw-r--r-- | doc/develop/bootstd.rst | 8 | ||||
-rw-r--r-- | lib/Makefile | 6 | ||||
-rw-r--r-- | lib/optee/Kconfig | 8 | ||||
-rw-r--r-- | test/boot/bootflow.c | 4 | ||||
-rw-r--r-- | tools/binman/cmdline.py | 2 | ||||
-rw-r--r-- | tools/binman/control.py | 5 | ||||
-rw-r--r-- | tools/dtoc/fdt.py | 12 |
25 files changed, 50 insertions, 55 deletions
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 53a83eef7db..0304be8a60f 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -468,6 +468,7 @@ stages: - stage: world_build jobs: - job: build_the_world + timeoutInMinutes: 0 # Use the maximum allowed displayName: 'Build the World' pool: vmImage: $(ubuntu_vm) diff --git a/MAINTAINERS b/MAINTAINERS index 84de9de5319..17309e25f28 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1015,7 +1015,6 @@ F: tools/mkeficapsule.c ENVIRONMENT M: Joe Hershberger <joe.hershberger@ni.com> -R: Wolfgang Denk <wd@denx.de> S: Maintained F: env/ F: include/env* @@ -1025,7 +1024,6 @@ F: tools/mkenvimage.c ENVIRONMENT AS TEXT M: Simon Glass <sjg@chromium.org> -R: Wolfgang Denk <wd@denx.de> S: Maintained F: doc/usage/environment.rst F: scripts/env2string.awk @@ -1343,8 +1341,7 @@ F: drivers/power/ F: include/power/ POWERPC -M: Wolfgang Denk <wd@denx.de> -S: Maintained +S: Orphan (Since 2022-10-21) F: arch/powerpc/ POWERPC MPC8XX @@ -1328,11 +1328,6 @@ u-boot.ldr: u-boot # Use 'make BINMAN_VERBOSE=3' to set vebosity level default_dt := $(if $(DEVICE_TREE),$(DEVICE_TREE),$(CONFIG_DEFAULT_DEVICE_TREE)) -# Temporary workaround for Venice boards -ifneq ($(CONFIG_TARGET_IMX8MM_VENICE),$(CONFIG_TARGET_IMX8MN_VENICE),$(CONFIG_TARGET_IMX8MP_VENICE),) -ignore_dups := --ignore-dup-phandles -endif - quiet_cmd_binman = BINMAN $@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ $(foreach f,$(BINMAN_TOOLPATHS),--toolpath $(f)) \ @@ -1354,7 +1349,6 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ -a spl-dtb=$(CONFIG_SPL_OF_REAL) \ -a tpl-dtb=$(CONFIG_TPL_OF_REAL) \ -a pre-load-key-path=${PRE_LOAD_KEY_PATH} \ - $(ignore_dups) \ $(BINMAN_$(@F)) OBJCOPYFLAGS_u-boot.ldr.hex := -I binary -O ihex diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi index 484e31824b8..d93e1cbd8a7 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi @@ -41,9 +41,11 @@ }; }; +/* This cannot work since it refers to a template node &binman_configuration { loadables = "atf", "fip"; }; +*/ &fec1 { phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index 035282bf0b0..6085128e24e 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -140,7 +140,7 @@ configurations { default = "@config-DEFAULT-SEQ"; - binman_configuration: @config-SEQ { + @config-SEQ { description = "NAME"; fdt = "fdt-SEQ"; firmware = "uboot"; diff --git a/arch/arm/dts/imx8mn-u-boot.dtsi b/arch/arm/dts/imx8mn-u-boot.dtsi index 5046b38e4e2..bc57566a108 100644 --- a/arch/arm/dts/imx8mn-u-boot.dtsi +++ b/arch/arm/dts/imx8mn-u-boot.dtsi @@ -204,7 +204,7 @@ configurations { default = "@config-DEFAULT-SEQ"; - binman_configuration: @config-SEQ { + @config-SEQ { description = "NAME"; fdt = "fdt-SEQ"; firmware = "uboot"; diff --git a/arch/arm/dts/imx8mp-rsb3720-a1-u-boot.dtsi b/arch/arm/dts/imx8mp-rsb3720-a1-u-boot.dtsi index f3fb44046d5..c4ea536b29b 100644 --- a/arch/arm/dts/imx8mp-rsb3720-a1-u-boot.dtsi +++ b/arch/arm/dts/imx8mp-rsb3720-a1-u-boot.dtsi @@ -162,6 +162,8 @@ }; }; +/* This cannot work since it refers to a template node &binman_configuration { loadables = "atf", "fip"; }; +*/ diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi index 36e7444a627..200938a9807 100644 --- a/arch/arm/dts/imx8mp-u-boot.dtsi +++ b/arch/arm/dts/imx8mp-u-boot.dtsi @@ -146,7 +146,7 @@ type = "flat_dt"; compression = "none"; - uboot_fdt_blob: blob-ext { + blob-ext { filename = "u-boot.dtb"; }; }; @@ -155,7 +155,7 @@ configurations { default = "@config-DEFAULT-SEQ"; - binman_configuration: @config-SEQ { + @config-SEQ { description = "NAME"; fdt = "fdt-SEQ"; firmware = "uboot"; diff --git a/arch/arm/dts/imx8qm-u-boot.dtsi b/arch/arm/dts/imx8qm-u-boot.dtsi index a3e0af48109..d316e869516 100644 --- a/arch/arm/dts/imx8qm-u-boot.dtsi +++ b/arch/arm/dts/imx8qm-u-boot.dtsi @@ -112,7 +112,7 @@ configurations { default = "@config-DEFAULT-SEQ"; - binman_configuration: @config-SEQ { + @config-SEQ { description = "NAME"; fdt = "fdt-SEQ"; firmware = "uboot"; diff --git a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi index 3ecb461b011..64318d09cf0 100644 --- a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi +++ b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi @@ -41,7 +41,7 @@ os = "arm-trusted-firmware"; load = <CONFIG_K3_ATF_LOAD_ADDR>; entry = <CONFIG_K3_ATF_LOAD_ADDR>; - atf: atf-bl31 { + atf-bl31 { }; }; @@ -53,7 +53,7 @@ os = "tee"; load = <0x9e800000>; entry = <0x9e800000>; - tee: tee-os { + tee-os { }; }; @@ -78,7 +78,7 @@ compression = "none"; load = <CONFIG_SPL_TEXT_BASE>; entry = <CONFIG_SPL_TEXT_BASE>; - u_boot_spl_nodtb: blob-ext { + blob-ext { filename = "spl/u-boot-spl-nodtb.bin"; }; }; @@ -88,7 +88,7 @@ type = "flat_dt"; arch = "arm"; compression = "none"; - spl_am65x_evm_dtb: blob-ext { + blob-ext { filename = "spl/dts/k3-am65-iot2050-spl.dtb"; }; }; diff --git a/arch/arm/dts/mt7986a-bpi-r3-sd.dts b/arch/arm/dts/mt7986a-bpi-r3-sd.dts index 15256302b86..c156a813634 100644 --- a/arch/arm/dts/mt7986a-bpi-r3-sd.dts +++ b/arch/arm/dts/mt7986a-bpi-r3-sd.dts @@ -76,12 +76,12 @@ ð { status = "okay"; mediatek,gmac-id = <0>; - phy-mode = "sgmii"; + phy-mode = "2500base-x"; mediatek,switch = "mt7531"; reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; fixed-link { - speed = <1000>; + speed = <2500>; full-duplex; }; }; diff --git a/arch/arm/mach-imx/mx7/Kconfig b/arch/arm/mach-imx/mx7/Kconfig index 0bb18f65200..3c0208e13dd 100644 --- a/arch/arm/mach-imx/mx7/Kconfig +++ b/arch/arm/mach-imx/mx7/Kconfig @@ -24,14 +24,6 @@ config SPL_TEXT_BASE depends on SPL default 0x00912000 -config OPTEE_TZDRAM_SIZE - hex "Amount of Trust-Zone RAM for the OPTEE image" - default 0x0000000 - depends on OPTEE_LIB - help - The size of pre-allocated Trust Zone DRAM to allocate for the OPTEE - runtime. - choice prompt "MX7 board select" optional diff --git a/boot/Kconfig b/boot/Kconfig index e8fb03b8016..86c2787dc53 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -1439,7 +1439,7 @@ config AUTOBOOT_MENU_SHOW This enables the boot menu, controlled by environment variables defined by the board. The menu starts after running the 'preboot' environmnent variable (if enabled) and before handling the boot delay. - See README.bootmenu for more details. + See doc/usage/cmd/bootmenu.rst for more details. config BOOTMENU_DISABLE_UBOOT_CONSOLE bool "Disallow bootmenu to enter the U-Boot console" diff --git a/boot/bootmeth_extlinux.c b/boot/bootmeth_extlinux.c index 6b2b8400383..aa2a4591ebd 100644 --- a/boot/bootmeth_extlinux.c +++ b/boot/bootmeth_extlinux.c @@ -184,7 +184,8 @@ static const struct udevice_id extlinux_bootmeth_ids[] = { { } }; -U_BOOT_DRIVER(bootmeth_extlinux) = { +/* Put an number before 'extlinux' to provide a default ordering */ +U_BOOT_DRIVER(bootmeth_1extlinux) = { .name = "bootmeth_extlinux", .id = UCLASS_BOOTMETH, .of_match = extlinux_bootmeth_ids, diff --git a/boot/bootmeth_script.c b/boot/bootmeth_script.c index a4050c384df..58c57a2d4b5 100644 --- a/boot/bootmeth_script.c +++ b/boot/bootmeth_script.c @@ -243,7 +243,8 @@ static const struct udevice_id script_bootmeth_ids[] = { { } }; -U_BOOT_DRIVER(bootmeth_script) = { +/* Put an number before 'script' to provide a default ordering */ +U_BOOT_DRIVER(bootmeth_2script) = { .name = "bootmeth_script", .id = UCLASS_BOOTMETH, .of_match = script_bootmeth_ids, diff --git a/configs/am57xx_hs_evm_usb_defconfig b/configs/am57xx_hs_evm_usb_defconfig index 404e714d4f0..9ed59ac9aec 100644 --- a/configs/am57xx_hs_evm_usb_defconfig +++ b/configs/am57xx_hs_evm_usb_defconfig @@ -70,7 +70,7 @@ CONFIG_NET_RETRY_COUNT=10 CONFIG_BOOTP_SEND_HOSTNAME=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y -CONFIG_SCSI_AHCI=y +CONFIG_DWC_AHCI=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_USB_FUNCTION_FASTBOOT=y @@ -102,7 +102,7 @@ CONFIG_PMIC_PALMAS=y CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_PALMAS=y CONFIG_PALMAS_POWER=y -CONFIG_SCSI_AHCI_PLAT=y +CONFIG_DM_SCSI=y CONFIG_DM_SERIAL=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/mt7988_rfb_defconfig b/configs/mt7988_rfb_defconfig index dc97bb36ea7..ced52edecf0 100644 --- a/configs/mt7988_rfb_defconfig +++ b/configs/mt7988_rfb_defconfig @@ -81,3 +81,4 @@ CONFIG_MTK_SPIM=y CONFIG_LZO=y CONFIG_HEXDUMP=y # CONFIG_EFI_LOADER is not set +CONFIG_LMB_MAX_REGIONS=64 diff --git a/configs/mt7988_sd_rfb_defconfig b/configs/mt7988_sd_rfb_defconfig index 421999da869..670f5eae185 100644 --- a/configs/mt7988_sd_rfb_defconfig +++ b/configs/mt7988_sd_rfb_defconfig @@ -69,3 +69,4 @@ CONFIG_MTK_SPIM=y CONFIG_LZO=y CONFIG_HEXDUMP=y # CONFIG_EFI_LOADER is not set +CONFIG_LMB_MAX_REGIONS=64 diff --git a/doc/develop/bootstd.rst b/doc/develop/bootstd.rst index ec313653578..c47de273ab1 100644 --- a/doc/develop/bootstd.rst +++ b/doc/develop/bootstd.rst @@ -132,6 +132,9 @@ above bootdev scanning. Controlling ordering -------------------- +By default, faster bootdevs (or those which are assumed to be faster) are used +first, since they are more likely to be able to boot the device quickly. + Several options are available to control the ordering of boot scanning: @@ -151,6 +154,10 @@ bootdevs and their sequence numbers. bootmeths ~~~~~~~~~ +By default bootmeths are checked in name order. Use `bootmeth list` to see the +ordering. Note that the `extlinux` and `script` bootmeth is first, to preserve the behaviour +used by the old distro scripts. + This environment variable can be used to control the list of bootmeths used and their ordering for example:: @@ -164,7 +171,6 @@ controlled by aliases. The :ref:`usage/cmd/bootmeth:bootmeth command` (`bootmeth order`) operates in the same way as setting this variable. - Bootdev uclass -------------- diff --git a/lib/Makefile b/lib/Makefile index 8d8ccc8bbc3..9fa573525b8 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -72,9 +72,9 @@ obj-$(CONFIG_ECDSA) += ecdsa/ obj-$(CONFIG_$(SPL_)RSA) += rsa/ obj-$(CONFIG_HASH) += hash-checksum.o obj-$(CONFIG_BLAKE2) += blake2/blake2b.o -obj-$(CONFIG_SHA1) += sha1.o -obj-$(CONFIG_SHA256) += sha256.o -obj-$(CONFIG_SHA512) += sha512.o +obj-$(CONFIG_$(SPL_)SHA1) += sha1.o +obj-$(CONFIG_$(SPL_)SHA256) += sha256.o +obj-$(CONFIG_$(SPL_)SHA512) += sha512.o obj-$(CONFIG_CRYPT_PW) += crypt/ obj-$(CONFIG_$(SPL_)ASN1_DECODER) += asn1_decoder.o diff --git a/lib/optee/Kconfig b/lib/optee/Kconfig index 517136a4485..e6834d4d3e1 100644 --- a/lib/optee/Kconfig +++ b/lib/optee/Kconfig @@ -11,6 +11,14 @@ config OPTEE_IMAGE This option enable the OPTEE specific checks done before booting an OPTEE image created with mkimage +config OPTEE_TZDRAM_SIZE + hex "Amount of Trust-Zone RAM for the OPTEE image" + default 0x0000000 + depends on OPTEE_LIB + help + The size of pre-allocated Trust Zone DRAM to allocate for the OPTEE + runtime. + config BOOTM_OPTEE bool "Support OPTEE bootm command" select BOOTM_LINUX diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c index 8a4e090e9bc..1c91a942e98 100644 --- a/test/boot/bootflow.c +++ b/test/boot/bootflow.c @@ -27,7 +27,7 @@ DECLARE_GLOBAL_DATA_PTR; -extern U_BOOT_DRIVER(bootmeth_script); +extern U_BOOT_DRIVER(bootmeth_2script); static int inject_response(struct unit_test_state *uts) { @@ -525,7 +525,7 @@ static int prep_mmc4_bootdev(struct unit_test_state *uts) /* Enable the script bootmeth too */ ut_assertok(uclass_first_device_err(UCLASS_BOOTSTD, &bootstd)); - ut_assertok(device_bind(bootstd, DM_DRIVER_REF(bootmeth_script), + ut_assertok(device_bind(bootstd, DM_DRIVER_REF(bootmeth_2script), "bootmeth_script", 0, ofnode_null(), &dev)); /* Change the order to include mmc4 */ diff --git a/tools/binman/cmdline.py b/tools/binman/cmdline.py index 39c61c2c032..9632ec115e5 100644 --- a/tools/binman/cmdline.py +++ b/tools/binman/cmdline.py @@ -126,8 +126,6 @@ controlled by a description in the board device tree.''' help='Comma-separated list of bintools to consider missing (for testing)') build_parser.add_argument('-i', '--image', type=str, action='append', help='Image filename to build (if not specified, build all)') - build_parser.add_argument('--ignore-dup-phandles', action='store_true', - help='Temporary option to ignore duplicate phandles') build_parser.add_argument('-I', '--indir', action='append', help='Add a path to the list of directories to use for input files') build_parser.add_argument('-m', '--map', action='store_true', diff --git a/tools/binman/control.py b/tools/binman/control.py index 45948955812..c6d3205b8c2 100644 --- a/tools/binman/control.py +++ b/tools/binman/control.py @@ -22,7 +22,6 @@ from binman import bintool from binman import cbfs_util from binman import elf from binman import entry -from dtoc import fdt from dtoc import fdt_util from u_boot_pylib import command from u_boot_pylib import tools @@ -817,10 +816,6 @@ def Binman(args): cbfs_util.VERBOSE = args.verbosity > 2 state.use_fake_dtb = args.fake_dtb - # Temporary hack - if args.ignore_dup_phandles: # pragma: no cover - fdt.IGNORE_DUP_PHANDLES = True - # Normally we replace the 'u-boot' etype with 'u-boot-expanded', etc. # When running tests this can be disabled using this flag. When not # updating the FDT in image, it is not needed by binman, but we use it diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py index 0b20d52f313..5963925146a 100644 --- a/tools/dtoc/fdt.py +++ b/tools/dtoc/fdt.py @@ -15,9 +15,6 @@ from libfdt import QUIET_NOTFOUND from u_boot_pylib import tools from u_boot_pylib import tout -# Temporary hack -IGNORE_DUP_PHANDLES = False - # This deals with a device tree, presenting it as an assortment of Node and # Prop objects, representing nodes and properties, respectively. This file # contains the base classes and defines the high-level API. You can use @@ -342,11 +339,10 @@ class Node: if phandle: dup = self._fdt.phandle_to_node.get(phandle) if dup: - if not IGNORE_DUP_PHANDLES: - raise ValueError( - f'Duplicate phandle {phandle} in nodes {dup.path} and {self.path}') - else: - self._fdt.phandle_to_node[phandle] = self + raise ValueError( + f'Duplicate phandle {phandle} in nodes {dup.path} and {self.path}') + + self._fdt.phandle_to_node[phandle] = self offset = fdt_obj.first_subnode(self.Offset(), QUIET_NOTFOUND) while offset >= 0: |