diff options
author | Tom Rini <trini@konsulko.com> | 2023-08-29 10:06:08 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-08-29 10:06:08 -0400 |
commit | 0fe0395922d859730eb7ddfcff6ed8d3ac4b2937 (patch) | |
tree | 0249ca6a72069c709655a636fff70a931e5aa355 | |
parent | 6a1d3f64c201ed3f6df819cfcf08154b6ec1c02e (diff) | |
parent | c91feda87ce33c81acc51cc4bf69d613c4fe89de (diff) | |
download | u-boot-kii-pro-master.tar.gz |
- A few platform-specific config/dts updates to fix issues, drop a
temporary change in binman, update the MAINTAINERS file to remove
Wolfgang Denk, fix a typo, fix a corner case with bootstd, update
Azure to not timeout so easily, and fix a case where we would omit
some files in SPL.
-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 53a83eef7d..0304be8a60 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 84de9de531..17309e25f2 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 484e31824b..d93e1cbd8a 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 035282bf0b..6085128e24 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 5046b38e4e..bc57566a10 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 f3fb44046d..c4ea536b29 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 36e7444a62..200938a980 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 a3e0af4810..d316e86951 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 3ecb461b01..64318d09cf 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 15256302b8..c156a81363 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 0bb18f6520..3c0208e13d 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 e8fb03b801..86c2787dc5 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 6b2b840038..aa2a4591eb 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 a4050c384d..58c57a2d4b 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 404e714d4f..9ed59ac9ae 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 dc97bb36ea..ced52edecf 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 421999da86..670f5eae18 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 ec31365357..c47de273ab 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 8d8ccc8bbc..9fa573525b 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 517136a448..e6834d4d3e 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 8a4e090e9b..1c91a942e9 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 39c61c2c03..9632ec115e 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 4594895581..c6d3205b8c 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 0b20d52f31..5963925146 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: |