summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.azure-pipelines.yml2
-rw-r--r--MAINTAINERS1
-rw-r--r--Makefile163
-rw-r--r--arch/arm/mach-socfpga/board.c3
-rw-r--r--arch/powerpc/dts/t2080rdb.dts8
-rw-r--r--board/freescale/t208xrdb/README5
-rw-r--r--common/avb_verify.c2
-rw-r--r--common/image-fit.c2
-rw-r--r--configs/T2080RDB_NAND_defconfig2
-rw-r--r--configs/T2080RDB_SDCARD_defconfig2
-rw-r--r--configs/T2080RDB_SPIFLASH_defconfig2
-rw-r--r--configs/T2080RDB_defconfig2
-rw-r--r--configs/kontron_sl28_defconfig2
-rw-r--r--configs/ls1028aqds_tfa_SECURE_BOOT_defconfig3
-rw-r--r--configs/ls1028aqds_tfa_defconfig5
-rw-r--r--configs/ls1028aqds_tfa_lpuart_defconfig5
-rw-r--r--configs/ls1028ardb_tfa_SECURE_BOOT_defconfig1
-rw-r--r--configs/ls1028ardb_tfa_defconfig3
-rw-r--r--configs/lx2160aqds_tfa_SECURE_BOOT_defconfig1
-rw-r--r--configs/lx2160aqds_tfa_defconfig1
-rw-r--r--configs/lx2160ardb_tfa_SECURE_BOOT_defconfig1
-rw-r--r--configs/lx2160ardb_tfa_defconfig1
-rw-r--r--configs/lx2160ardb_tfa_stmm_defconfig1
-rw-r--r--doc/README.dfu311
-rw-r--r--doc/develop/driver-model/migration.rst8
-rw-r--r--doc/usage/dfu.rst404
-rw-r--r--doc/usage/index.rst1
-rw-r--r--drivers/ata/mtk_ahci.c1
-rw-r--r--drivers/mmc/mtk-sd.c3
-rw-r--r--drivers/mtd/nand/raw/fsl_ifc_nand.c17
-rw-r--r--drivers/nvme/nvme.c41
-rw-r--r--drivers/pci/pcie_layerscape_ep.c2
-rw-r--r--drivers/pci/pcie_layerscape_rc.c2
-rw-r--r--drivers/rtc/ds1307.c2
-rw-r--r--include/api_public.h23
-rw-r--r--include/configs/ls1028aqds.h6
-rw-r--r--include/configs/lx2160a_common.h6
-rw-r--r--include/dm/test.h2
-rw-r--r--include/fsl_ifc.h2
-rw-r--r--include/image.h2
-rw-r--r--include/video_font_data.h258
-rw-r--r--test/print_ut.c2
-rw-r--r--test/py/tests/test_env.py2
-rw-r--r--tools/imagetool.h4
-rw-r--r--tools/mkeficapsule.c14
45 files changed, 712 insertions, 619 deletions
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index ec2f260997..f358e468de 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -23,7 +23,7 @@ jobs:
%CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu"
displayName: 'Update MSYS2'
- script: |
- %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison flex diffutils openssl-devel"
+ %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -Sy make gcc bison flex diffutils openssl-devel"
displayName: 'Install Toolchain'
- script: |
echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh
diff --git a/MAINTAINERS b/MAINTAINERS
index de499940e5..c6dd9bf838 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -670,6 +670,7 @@ F: common/dfu.c
F: common/update.c
F: common/usb_storage.c
F: doc/api/dfu.rst
+F: doc/usage/dfu.rst
F: drivers/dfu/
F: drivers/usb/gadget/
F: include/dfu.h
diff --git a/Makefile b/Makefile
index 5cfbfa9949..94c31d1bb8 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
VERSION = 2021
PATCHLEVEL = 04
SUBLEVEL =
-EXTRAVERSION = -rc4
+EXTRAVERSION = -rc5
NAME =
# *DOCUMENTATION*
@@ -328,11 +328,6 @@ HOSTCC = $(call os_x_before, 10, 5, "cc", "gcc")
KBUILD_HOSTCFLAGS += $(call os_x_before, 10, 4, "-traditional-cpp")
KBUILD_HOSTLDFLAGS += $(call os_x_before, 10, 5, "-multiply_defined suppress")
-# since Lion (10.7) ASLR is on by default, but we use linker generated lists
-# in some host tools which is a problem then ... so disable ASLR for these
-# tools
-KBUILD_HOSTLDFLAGS += $(call os_x_before, 10, 7, "", "-Xlinker -no_pie")
-
# macOS Mojave (10.14.X)
# Undefined symbols for architecture x86_64: "_PyArg_ParseTuple"
KBUILD_HOSTLDFLAGS += $(call os_x_after, 10, 14, "-lpython -dynamclib", "")
@@ -1021,6 +1016,33 @@ quiet_cmd_cfgcheck = CFGCHK $2
cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
$(srctree)/scripts/config_whitelist.txt $(srctree)
+# Concat the value of all the CONFIGs (result is 'y' or 'yy', etc. )
+got = $(foreach cfg,$(1),$($(cfg)))
+
+# expected value 'y for each one
+expect = $(foreach cfg,$(1),y)
+
+# Show a deprecation message
+# Args:
+# 1: List of CONFIG_DM_... to migrate to (e.g. "CONFIG_DM_MMC CONFIG_BLK")
+# 2: Name of component (e.g . "Ethernet drivers")
+# 3: Release deadline (e.g. "v202.07")
+# 4: Condition to require before checking (e.g. "$(CONFIG_NET)")
+# Note: Script avoids bash construct, hence the strange double 'if'
+# (patches welcome!)
+define deprecated
+ if [ -n "$(strip $(4))" ]; then if [ "$(got)" != "$(expect)" ]; then \
+ echo >&2 "===================== WARNING ======================"; \
+ echo >&2 "This board does not use $(firstword $(1)) (Driver Model"; \
+ echo >&2 "for $(2)). Please update the board to use"; \
+ echo >&2 "$(firstword $(1)) before the $(3) release. Failure to"; \
+ echo >&2 "update by the deadline may result in board removal."; \
+ echo >&2 "See doc/driver-model/migration.rst for more info."; \
+ echo >&2 "===================================================="; \
+ fi; fi
+
+endef
+
PHONY += inputs
inputs: $(INPUTS-y)
@@ -1035,80 +1057,6 @@ endif
ifeq ($(CONFIG_DEPRECATED),y)
$(warning "You have deprecated configuration options enabled in your .config! Please check your configuration.")
-ifeq ($(CONFIG_SPI),y)
-ifneq ($(CONFIG_DM_SPI)$(CONFIG_OF_CONTROL),yy)
- $(warning "The relevant config item with associated code will remove in v2019.07 release.")
-endif
-endif
-endif
-ifneq ($(CONFIG_DM),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM. CONFIG_DM will be"
- @echo >&2 "compulsory starting with the v2020.01 release."
- @echo >&2 "Failure to update may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-ifeq ($(CONFIG_MMC),y)
-ifneq ($(CONFIG_DM_MMC)$(CONFIG_BLK),yy)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_MMC. Please update"
- @echo >&2 "the board to use CONFIG_DM_MMC before the v2019.04 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_USB),y)
-ifneq ($(CONFIG_DM_USB)$(CONFIG_OF_CONTROL)$(CONFIG_BLK),yyy)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_USB. Please update"
- @echo >&2 "the board to use CONFIG_DM_USB before the v2019.07 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_MVSATA_IDE),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does use CONFIG_MVSATA_IDE which is not"
- @echo >&2 "ported to driver-model (DM) yet. Please update the storage"
- @echo >&2 "controller driver to use CONFIG_AHCI before the v2019.07"
- @echo >&2 "release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-ifeq ($(CONFIG_LIBATA),y)
-ifneq ($(CONFIG_AHCI),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does use CONFIG_LIBATA but has CONFIG_AHCI not"
- @echo >&2 "enabled. Please update the storage controller driver to use"
- @echo >&2 "CONFIG_AHCI before the v2019.07 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_PCI),y)
-ifneq ($(CONFIG_DM_PCI),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_PCI Please update"
- @echo >&2 "the board to use CONFIG_DM_PCI before the v2019.07 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_LCD)$(CONFIG_VIDEO),)
-ifneq ($(CONFIG_DM_VIDEO),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_VIDEO Please update"
- @echo >&2 "the board to use CONFIG_DM_VIDEO before the v2019.07 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
endif
ifeq ($(CONFIG_OF_EMBED),y)
@echo >&2 "===================== WARNING ======================"
@@ -1118,38 +1066,6 @@ ifeq ($(CONFIG_OF_EMBED),y)
@echo >&2 "See doc/README.fdt-control for more info."
@echo >&2 "===================================================="
endif
-ifeq ($(CONFIG_SPI_FLASH),y)
-ifneq ($(CONFIG_DM_SPI_FLASH)$(CONFIG_OF_CONTROL),yy)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_SPI_FLASH. Please update"
- @echo >&2 "the board to use CONFIG_SPI_FLASH before the v2019.07 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_WATCHDOG)$(CONFIG_HW_WATCHDOG),)
-ifneq ($(CONFIG_WDT),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_WDT (DM watchdog support)."
- @echo >&2 "Please update the board to use CONFIG_WDT before the"
- @echo >&2 "v2019.10 release."
- @echo >&2 "Failure to update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_NET),)
-ifneq ($(CONFIG_DM_ETH),y)
- @echo >&2 "===================== WARNING ======================"
- @echo >&2 "This board does not use CONFIG_DM_ETH (Driver Model"
- @echo >&2 "for Ethernet drivers). Please update the board to use"
- @echo >&2 "CONFIG_DM_ETH before the v2020.07 release. Failure to"
- @echo >&2 "update by the deadline may result in board removal."
- @echo >&2 "See doc/driver-model/migration.rst for more info."
- @echo >&2 "===================================================="
-endif
-endif
ifneq ($(CONFIG_SPL_FIT_GENERATOR),)
@echo >&2 "===================== WARNING ======================"
@echo >&2 "This board uses CONFIG_SPL_FIT_GENERATOR. Please migrate"
@@ -1157,6 +1073,29 @@ ifneq ($(CONFIG_SPL_FIT_GENERATOR),)
@echo >&2 "arch-specific scripts with no tests."
@echo >&2 "===================================================="
endif
+ifneq ($(CONFIG_DM),y)
+ @echo >&2 "===================== WARNING ======================"
+ @echo >&2 "This board does not use CONFIG_DM. CONFIG_DM will be"
+ @echo >&2 "compulsory starting with the v2020.01 release."
+ @echo >&2 "Failure to update may result in board removal."
+ @echo >&2 "See doc/driver-model/migration.rst for more info."
+ @echo >&2 "===================================================="
+endif
+ $(call deprecated,CONFIG_DM_MMC CONFIG_BLK,MMC,v2019.04,$(CONFIG_MMC))
+ $(call deprecated,CONFIG_DM_USB CONFIG_OF_CONTROL CONFIG_BLK,\
+ USB,v2019.07,$(CONFIG_USB))
+ $(call deprecated,CONFIG_AHCI,AHCI instead of CONFIG_MVSATA_IDE,v2019.07, \
+ $(CONFIG_MVSATA_IDE))
+ $(call deprecated,CONFIG_AHCI,AHCI,v2019.07, $(CONFIG_LIBATA))
+ $(call deprecated,CONFIG_DM_PCI,PCI,v2019.07,$(CONFIG_PCI))
+ $(call deprecated,CONFIG_DM_VIDEO,video,v2019.07,\
+ $(CONFIG_LCD)$(CONFIG_VIDEO))
+ $(call deprecated,CONFIG_DM_SPI_FLASH,SPI flash,v2019.07,\
+ $(CONFIG_SPI_FLASH))
+ $(call deprecated,CONFIG_WDT,DM watchdog,v2019.10,\
+ $(CONFIG_WATCHDOG)$(CONFIG_HW_WATCHDOG))
+ $(call deprecated,CONFIG_DM_ETH,Ethernet drivers,v2020.07,$(CONFIG_NET))
+ $(call deprecated,CONFIG_DM_I2C,I2C drivers,v2022.04,$(CONFIG_I2C))
@# Check that this build does not use CONFIG options that we do not
@# know about unless they are in Kconfig. All the existing CONFIG
@# options are whitelisted, so new ones should not be added.
diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c
index 81aa07c902..650122fcd4 100644
--- a/arch/arm/mach-socfpga/board.c
+++ b/arch/arm/mach-socfpga/board.c
@@ -115,7 +115,8 @@ void board_fit_image_post_process(void **p_image, size_t *p_size)
#if !IS_ENABLED(CONFIG_SPL_BUILD) && IS_ENABLED(CONFIG_FIT)
void board_prep_linux(bootm_headers_t *images)
{
- if (!IS_ENABLED(CONFIG_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE)) {
+ if (IS_ENABLED(CONFIG_SOCFPGA_SECURE_VAB_AUTH) &&
+ !IS_ENABLED(CONFIG_SOCFPGA_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE)) {
/*
* Ensure the OS is always booted from FIT and with
* VAB signed certificate
diff --git a/arch/powerpc/dts/t2080rdb.dts b/arch/powerpc/dts/t2080rdb.dts
index 34ec6a74cb..74bbb20e2a 100644
--- a/arch/powerpc/dts/t2080rdb.dts
+++ b/arch/powerpc/dts/t2080rdb.dts
@@ -30,3 +30,11 @@
spi-max-frequency = <10000000>; /* input clock */
};
};
+
+&i2c0 {
+ status = "okay";
+ rtc@68 {
+ compatible = "dallas,ds1339";
+ reg = <0x68>;
+ };
+};
diff --git a/board/freescale/t208xrdb/README b/board/freescale/t208xrdb/README
index 9e4b28faf4..ec47c96f2b 100644
--- a/board/freescale/t208xrdb/README
+++ b/board/freescale/t208xrdb/README
@@ -34,6 +34,11 @@ T2080 includes the following functions and features:
- Support for hardware virtualization and partitioning enforcement
- QorIQ Platform's Trust Architecture 2.0
+User Guide
+----------
+The T2080RDB User Guide is available on the web at
+https://www.nxp.com/docs/en/user-guide/T2080RDBPCUG.pdf
+
Differences between T2080 and T2081
-----------------------------------
Feature T2080 T2081
diff --git a/common/avb_verify.c b/common/avb_verify.c
index db10d0f21f..0520a71455 100644
--- a/common/avb_verify.c
+++ b/common/avb_verify.c
@@ -369,7 +369,7 @@ static struct mmc_part *get_partition(AvbOps *ops, const char *partition)
}
ret = part_get_info_by_name(mmc_blk, partition, &part->info);
- if (!ret) {
+ if (ret < 0) {
printf("Can't find partition '%s'\n", partition);
goto err;
}
diff --git a/common/image-fit.c b/common/image-fit.c
index 2d0ece6181..b972042f43 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -1655,7 +1655,7 @@ int fit_check_format(const void *fit, ulong size)
/* mandatory / node 'timestamp' property */
if (!fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL)) {
log_debug("Wrong FIT format: no timestamp\n");
- return -ENODATA;
+ return -EBADMSG;
}
}
diff --git a/configs/T2080RDB_NAND_defconfig b/configs/T2080RDB_NAND_defconfig
index d7ccee2559..543d34e249 100644
--- a/configs/T2080RDB_NAND_defconfig
+++ b/configs/T2080RDB_NAND_defconfig
@@ -77,6 +77,8 @@ CONFIG_DM_PCI=y
CONFIG_DM_PCI_COMPAT=y
CONFIG_PCIE_FSL=y
CONFIG_SYS_QE_FMAN_FW_IN_NAND=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_DS1307=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
diff --git a/configs/T2080RDB_SDCARD_defconfig b/configs/T2080RDB_SDCARD_defconfig
index 99ea925df8..d947846e64 100644
--- a/configs/T2080RDB_SDCARD_defconfig
+++ b/configs/T2080RDB_SDCARD_defconfig
@@ -74,6 +74,8 @@ CONFIG_DM_PCI=y
CONFIG_DM_PCI_COMPAT=y
CONFIG_PCIE_FSL=y
CONFIG_SYS_QE_FMAN_FW_IN_MMC=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_DS1307=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
diff --git a/configs/T2080RDB_SPIFLASH_defconfig b/configs/T2080RDB_SPIFLASH_defconfig
index c820c2bf5a..6f7b083bc6 100644
--- a/configs/T2080RDB_SPIFLASH_defconfig
+++ b/configs/T2080RDB_SPIFLASH_defconfig
@@ -76,6 +76,8 @@ CONFIG_DM_PCI=y
CONFIG_DM_PCI_COMPAT=y
CONFIG_PCIE_FSL=y
CONFIG_SYS_QE_FMAN_FW_IN_SPIFLASH=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_DS1307=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
diff --git a/configs/T2080RDB_defconfig b/configs/T2080RDB_defconfig
index d20de349de..9dd01bbe50 100644
--- a/configs/T2080RDB_defconfig
+++ b/configs/T2080RDB_defconfig
@@ -61,6 +61,8 @@ CONFIG_DM_PCI=y
CONFIG_DM_PCI_COMPAT=y
CONFIG_PCIE_FSL=y
CONFIG_SYS_QE_FMAN_FW_IN_NOR=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_DS1307=y
CONFIG_SYS_NS16550=y
CONFIG_SPI=y
CONFIG_DM_SPI=y
diff --git a/configs/kontron_sl28_defconfig b/configs/kontron_sl28_defconfig
index 1c781e091c..0c6c1911d9 100644
--- a/configs/kontron_sl28_defconfig
+++ b/configs/kontron_sl28_defconfig
@@ -70,7 +70,7 @@ CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
CONFIG_I2C_DEFAULT_BUS_NUMBER=0
CONFIG_I2C_MUX=y
CONFIG_DM_MMC=y
-CONFIG_MMC_HS400_SUPPORT=y
+CONFIG_MMC_HS200_SUPPORT=y
CONFIG_FSL_ESDHC=y
CONFIG_FSL_ESDHC_SUPPORT_ADMA2=y
CONFIG_DM_SPI_FLASH=y
diff --git a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
index a2bc6c6e6b..17daef8d74 100644
--- a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
@@ -49,8 +49,9 @@ CONFIG_DM_MMC=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
CONFIG_PHY_AQUANTIA=y
diff --git a/configs/ls1028aqds_tfa_defconfig b/configs/ls1028aqds_tfa_defconfig
index 66e008b8ce..cc38bd8957 100644
--- a/configs/ls1028aqds_tfa_defconfig
+++ b/configs/ls1028aqds_tfa_defconfig
@@ -8,7 +8,7 @@ CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x9fffffff
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x500000
-CONFIG_ENV_SECT_SIZE=0x40000
+CONFIG_ENV_SECT_SIZE=0x20000
CONFIG_DM_GPIO=y
CONFIG_FSPI_AHB_EN_4BYTE=y
CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y
@@ -55,8 +55,9 @@ CONFIG_DM_MMC=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
CONFIG_PHY_AQUANTIA=y
diff --git a/configs/ls1028aqds_tfa_lpuart_defconfig b/configs/ls1028aqds_tfa_lpuart_defconfig
index cc82ed74b0..bc5f8f4f32 100644
--- a/configs/ls1028aqds_tfa_lpuart_defconfig
+++ b/configs/ls1028aqds_tfa_lpuart_defconfig
@@ -7,7 +7,7 @@ CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x9fffffff
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x500000
-CONFIG_ENV_SECT_SIZE=0x40000
+CONFIG_ENV_SECT_SIZE=0x20000
CONFIG_DM_GPIO=y
CONFIG_FSPI_AHB_EN_4BYTE=y
CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y
@@ -55,8 +55,9 @@ CONFIG_DM_MMC=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
CONFIG_PHY_AQUANTIA=y
diff --git a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
index dd189188d2..794632a6c9 100644
--- a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
@@ -48,7 +48,6 @@ CONFIG_DM_MMC=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
diff --git a/configs/ls1028ardb_tfa_defconfig b/configs/ls1028ardb_tfa_defconfig
index 9f5116b364..2ee57de839 100644
--- a/configs/ls1028ardb_tfa_defconfig
+++ b/configs/ls1028ardb_tfa_defconfig
@@ -8,7 +8,7 @@ CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x9fffffff
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x500000
-CONFIG_ENV_SECT_SIZE=0x40000
+CONFIG_ENV_SECT_SIZE=0x20000
CONFIG_DM_GPIO=y
CONFIG_FSPI_AHB_EN_4BYTE=y
CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y
@@ -54,7 +54,6 @@ CONFIG_DM_MMC=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
diff --git a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
index 7d6b74db18..5a7ffe9c4a 100644
--- a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
@@ -50,7 +50,6 @@ CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH_EON=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_SST=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
diff --git a/configs/lx2160aqds_tfa_defconfig b/configs/lx2160aqds_tfa_defconfig
index 4390b0d928..ed6f78b099 100644
--- a/configs/lx2160aqds_tfa_defconfig
+++ b/configs/lx2160aqds_tfa_defconfig
@@ -57,7 +57,6 @@ CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SPI_FLASH_EON=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_SST=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
diff --git a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
index f5da144e54..bb92fcb6c5 100644
--- a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
@@ -46,7 +46,6 @@ CONFIG_MMC_HS400_SUPPORT=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
diff --git a/configs/lx2160ardb_tfa_defconfig b/configs/lx2160ardb_tfa_defconfig
index c5a0410161..1d3b59c849 100644
--- a/configs/lx2160ardb_tfa_defconfig
+++ b/configs/lx2160ardb_tfa_defconfig
@@ -55,7 +55,6 @@ CONFIG_MMC_HS400_SUPPORT=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
diff --git a/configs/lx2160ardb_tfa_stmm_defconfig b/configs/lx2160ardb_tfa_stmm_defconfig
index ca1d5cbad9..1b06124269 100644
--- a/configs/lx2160ardb_tfa_stmm_defconfig
+++ b/configs/lx2160ardb_tfa_stmm_defconfig
@@ -55,7 +55,6 @@ CONFIG_MMC_HS400_SUPPORT=y
CONFIG_FSL_ESDHC=y
CONFIG_MTD=y
CONFIG_DM_SPI_FLASH=y
-CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_STMICRO=y
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
CONFIG_PHYLIB=y
diff --git a/doc/README.dfu b/doc/README.dfu
deleted file mode 100644
index eacd5bbfb4..0000000000
--- a/doc/README.dfu
+++ /dev/null
@@ -1,311 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-
-Device Firmware Upgrade (DFU)
-
-Overview:
-
- The Device Firmware Upgrade (DFU) allows to download and upload firmware
- to/from U-Boot connected over USB.
-
- U-boot follows the Universal Serial Bus Device Class Specification for
- Device Firmware Upgrade Version 1.1 the USB forum (DFU v1.1 in www.usb.org).
-
- U-Boot implements this DFU capability (CONFIG_DFU) with the command dfu
- (cmd/dfu.c / CONFIG_CMD_DFU) based on:
- - the DFU stack (common/dfu.c and common/spl/spl_dfu.c), based on the
- USB DFU download gadget (drivers/usb/gadget/f_dfu.c)
- - The access to mediums is done in DFU backends (driver/dfu)
-
- Today the supported DFU backends are:
- - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system / SKIP / SCRIPT)
- - NAND
- - RAM
- - SF (serial flash)
- - MTD (all MTD device: NAND, SPI-NOR, SPI-NAND,...)
- - virtual
-
- These DFU backends are also used by
- - the dfutftp (see README.dfutftp)
- - the thordown command (cmd/thordown.c and gadget/f_thor.c)
-
- The "virtual" backend is a generic DFU backend to support a board specific
- target (for example OTP), only based on the weak functions:
- - dfu_write_medium_virt
- - dfu_get_medium_size_virt
- - dfu_read_medium_virt
-
-Configuration Options:
- CONFIG_DFU
- CONFIG_DFU_OVER_USB
- CONFIG_DFU_MMC
- CONFIG_DFU_MTD
- CONFIG_DFU_NAND
- CONFIG_DFU_RAM
- CONFIG_DFU_SF
- CONFIG_DFU_SF_PART
- CONFIG_DFU_TIMEOUT
- CONFIG_DFU_VIRTUAL
- CONFIG_CMD_DFU
-
-Environment variables:
- the dfu command uses 3 environments variables:
- "dfu_alt_info" : the DFU setting for the USB download gadget with a semicolon
- separated string of information on each alternate:
- dfu_alt_info="<alt1>;<alt2>;....;<altN>"
-
- when several devices are used, the format is:
- - <interface> <dev>'='alternate list (';' separated)
- - each interface is separated by '&'
- dfu_alt_info=\
- "<interface1> <dev1>=<alt1>;....;<altN>&"\
- "<interface2> <dev2>=<altN+1>;....;<altM>&"\
- ...\
- "<interfaceI> <devI>=<altY+1>;....;<altZ>&"
-
- "dfu_bufsiz" : size of the DFU buffer, when absent, use
- CONFIG_SYS_DFU_DATA_BUF_SIZE (8 MiB by default)
-
- "dfu_hash_algo" : name of the hash algorithm to use
-
-Commands:
- dfu <USB_controller> [<interface> <dev>] list
- list the alternate device defined in "dfu_alt_info"
-
- dfu <USB_controller> [<interface> <dev>] [<timeout>]
- start the dfu stack on the USB instance with the selected medium
- backend and use the "dfu_alt_info" variable to configure the
- alternate setting and link each one with the medium
- The dfu command continue until receive a ^C in console or
- a DFU detach transaction from HOST. If CONFIG_DFU_TIMEOUT option
- is enabled and <timeout> parameter is present in the command line,
- the DFU operation will be aborted automatically after <timeout>
- seconds of waiting remote to initiate DFU session.
-
- The possible values of <interface> are :
- (with <USB controller> = 0 in the dfu command example)
-
- "mmc" (for eMMC and SD card)
- cmd: dfu 0 mmc <dev>
- each element in "dfu_alt_info" =
- <name> raw <offset> <size> [mmcpart <num>] raw access to mmc device
- <name> part <dev> <part_id> [mmcpart <num>] raw access to partition
- <name> fat <dev> <part_id> [mmcpart <num>] file in FAT partition
- <name> ext4 <dev> <part_id> [mmcpart <num>] file in EXT4 partition
- <name> skip 0 0 ignore flashed data
- <name> script 0 0 execute commands in shell
-
- with <partid> being the GPT or DOS partition index,
- with <num> being the eMMC hardware partition number.
-
- A value of environment variable dfu_alt_info for eMMC could be:
-
- "u-boot raw 0x3e 0x800 mmcpart 1;bl2 raw 0x1e 0x1d mmcpart 1"
-
- A value of environment variable dfu_alt_info for SD card could be:
-
- "u-boot raw 0x80 0x800;uImage ext4 0 2"
-
- If don't want to flash given image file to storage, use "skip" type
- entity.
- - It can be used to protect flashing wrong image for the specific board.
- - Especailly, this layout will be useful when thor protocol is used,
- which performs flashing in batch mode, where more than one file is
- processed.
- For example, if one makes a single tar file with support for the two
- boards with u-boot-<board1>.bin and u-boot-<board2>.bin files, one
- can use it to flash a proper u-boot image on both without a failure:
-
- "u-boot-<board1>.bin raw 0x80 0x800; u-boot-<board2>.bin skip 0 0"
-
- When flashing new system image requires do some more complex things
- than just writing data to the storage medium, one can use 'script'
- type. Data written to such entity will be executed as a command list
- in the u-boot's shell. This for example allows to re-create partition
- layout and even set new dfu_alt_info for the newly created paritions.
- Such script would look like:
- --->8---
- setenv dfu_alt_info ...
- setenv mbr_parts ...
- mbr write ...
- --->8---
- Please note that this means that user will be able to execute any
- arbitrary commands just like in the u-boot's shell.
-
- "nand" (raw slc nand device)
- cmd: dfu 0 nand <dev>
- each element in "dfu_alt_info" =
- <name> raw <offset> <size> raw access to mmc device
- <name> part <dev> <part_id> raw acces to partition
- <name> partubi <dev> <part_id> raw acces to ubi partition
-
- with <partid> is the MTD partition index
-
- "ram"
- cmd: dfu 0 ram <dev>
- (<dev> is not used for RAM target)
- each element in "dfu_alt_info" =
- <name> ram <offset> <size> raw access to ram
-
- "sf" (serial flash : NOR)
- cmd: dfu 0 sf <dev>
- each element in "dfu_alt_info" =
- <name> raw <offset> <size> raw access to sf device
- <name> part <dev> <part_id> raw acces to partition
- <name> partubi <dev> <part_id> raw acces to ubi partition
-
- with <partid> is the MTD partition index
-
- "mtd" (all MTD device: NAND, SPI-NOR, SPI-NAND,...)
- cmd: dfu 0 mtd <dev>
- with <dev> the mtd identifier as defined in mtd command
- (nand0, nor0, spi-nand0,...)
- each element in "dfu_alt_info" =
- <name> raw <offset> <size> raw access to mtd device
- <name> part <dev> <part_id> raw acces to partition
- <name> partubi <dev> <part_id> raw acces to ubi partition
-
- with <partid> is the MTD partition index
-
- "virt"
- cmd: dfu 0 virt <dev>
- each element in "dfu_alt_info" =
- <name>
-
- <interface> and <dev> are absent:
- the dfu command to use multiple devices
- cmd: dfu 0 list
- cmd: dfu 0
- "dfu_alt_info" variable provides the list of <interface> <dev> with
- alternate list separated by '&' with the same format for each <alt>
- mmc <dev>=<alt1>;....;<altN>
- nand <dev>=<alt1>;....;<altN>
- ram <dev>=<alt1>;....;<altN>
- sf <dev>=<alt1>;....;<altN>
- mtd <dev>=<alt1>;....;<altN>
- virt <dev>=<alt1>;....;<altN>
-
-Callbacks:
- The weak callback functions can be implemented to manage specific behavior
- - dfu_initiated_callback : called when the DFU transaction is started,
- used to initiase the device
- - dfu_flush_callback : called at the end of the DFU write after DFU
- manifestation, used to manage the device when
- DFU transaction is closed
-
-Host tools:
- When U-Boot runs the dfu stack, the DFU host tools can be used
- to send/receive firmwares on each configurated alternate.
-
- For example dfu-util is a host side implementation of the DFU 1.1
- specifications(http://dfu-util.sourceforge.net/) which works with U-Boot.
-
-Usage:
- Example 1: firmware located in eMMC or SD card, with:
- - alternate 1 (alt=1) for SPL partition (GPT partition 1)
- - alternate 2 (alt=2) for U-Boot partition (GPT partition 2)
-
- The U-Boot configuration is:
-
- U-Boot> env set dfu_alt_info "spl part 0 1;u-boot part 0 2"
-
- U-Boot> dfu 0 mmc 0 list
- DFU alt settings list:
- dev: eMMC alt: 0 name: spl layout: RAW_ADDR
- dev: eMMC alt: 1 name: u-boot layout: RAW_ADDR
-
- Boot> dfu 0 mmc 0
-
- On the Host side:
-
- list the available alternate setting:
-
- $> dfu-util -l
- dfu-util 0.9
-
- Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
- Copyright 2010-2016 Tormod Volden and Stefan Schmidt
- This program is Free Software and has ABSOLUTELY NO WARRANTY
- Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
-
- Found DFU: [0483:5720] ver=0200, devnum=45, cfg=1, intf=0, path="3-1.3.1", \
- alt=1, name="u-boot", serial="003A00203438510D36383238"
- Found DFU: [0483:5720] ver=0200, devnum=45, cfg=1, intf=0, path="3-1.3.1", \
- alt=0, name="spl", serial="003A00203438510D36383238"
-
- To download to U-Boot, use -D option
-
- $> dfu-util -a 0 -D u-boot-spl.bin
- $> dfu-util -a 1 -D u-boot.bin
-
- To upload from U-Boot, use -U option
-
- $> dfu-util -a 0 -U u-boot-spl.bin
- $> dfu-util -a 1 -U u-boot.bin
-
- To request a DFU detach and reset the USB connection:
- $> dfu-util -a 0 -e -R
-
-
- Example 2: firmware located in NOR (sf) and NAND, with:
- - alternate 1 (alt=1) for SPL partition (NOR GPT partition 1)
- - alternate 2 (alt=2) for U-Boot partition (NOR GPT partition 2)
- - alternate 3 (alt=3) for U-Boot-env partition (NOR GPT partition 3)
- - alternate 4 (alt=4) for UBI partition (NAND GPT partition 1)
-
- U-Boot> env set dfu_alt_info \
- "sf 0:0:10000000:0=spl part 0 1;u-boot part 0 2; \
- u-boot-env part 0 3&nand 0=UBI partubi 0,1"
-
- U-Boot> dfu 0 list
-
- DFU alt settings list:
- dev: SF alt: 0 name: spl layout: RAW_ADDR
- dev: SF alt: 1 name: ssbl layout: RAW_ADDR
- dev: SF alt: 2 name: u-boot-env layout: RAW_ADDR
- dev: NAND alt: 3 name: UBI layout: RAW_ADDR
-
- U-Boot> dfu 0
-
- $> dfu-util -l
- Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
- intf=0, alt=3, name="UBI", serial="002700333338511934383330"
- Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
- intf=0, alt=2, name="u-boot-env", serial="002700333338511934383330"
- Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
- intf=0, alt=1, name="u-boot", serial="002700333338511934383330"
- Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
- intf=0, alt=0, name="spl", serial="002700333338511934383330"
-
- Same example with MTD backend
-
- U-Boot> env set dfu_alt_info \
- "mtd nor0=spl part 1;u-boot part 2;u-boot-env part 3&"\
- "mtd nand0=UBI partubi 1"
-
- U-Boot> dfu 0 list
- using id 'nor0,0'
- using id 'nor0,1'
- using id 'nor0,2'
- using id 'nand0,0'
- DFU alt settings list:
- dev: MTD alt: 0 name: spl layout: RAW_ADDR
- dev: MTD alt: 1 name: u-boot layout: RAW_ADDR
- dev: MTD alt: 2 name: u-boot-env layout: RAW_ADDR
- dev: MTD alt: 3 name: UBI layout: RAW_ADDR
-
- Example 3: firmware located in SD Card (mmc) and virtual partition on
- OTP and PMIC not volatile memory
- - alternate 1 (alt=1) for scard
- - alternate 2 (alt=2) for OTP (virtual)
- - alternate 3 (alt=3) for PMIC NVM (virtual)
-
- U-Boot> env set dfu_alt_info \
- "mmc 0=sdcard raw 0 0x100000&"\
- "virt 0=otp" \
- "virt 1=pmic"
-
- U-Boot> dfu 0 list
- DFU alt settings list:
- dev: eMMC alt: 0 name: sdcard layout: RAW_ADDR
- dev: VIRT alt: 1 name: otp layout: RAW_ADDR
- dev: VIRT alt: 2 name: pmic layout: RAW_ADDR
diff --git a/doc/develop/driver-model/migration.rst b/doc/develop/driver-model/migration.rst
index 2284e8a6f7..8d0bb7635b 100644
--- a/doc/develop/driver-model/migration.rst
+++ b/doc/develop/driver-model/migration.rst
@@ -99,3 +99,11 @@ Deadline: 2020.07
The network subsystem has supported the driver model since early 2015.
Maintainers should submit patches switching over to using CONFIG_DM_ETH and
other base driver model options in time for inclusion in the 2020.07 release.
+
+CONFIG_DM_I2C
+-------------
+Deadline: 2021.10
+
+The I2C subsystem has supported the driver model since early 2015.
+Maintainers should submit patches switching over to using CONFIG_DM_I2C and
+other base driver model options in time for inclusion in the 2021.10 release.
diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst
new file mode 100644
index 0000000000..11c88072b8
--- /dev/null
+++ b/doc/usage/dfu.rst
@@ -0,0 +1,404 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Device Firmware Upgrade (DFU)
+=============================
+
+Overview
+--------
+
+The Device Firmware Upgrade (DFU) allows to download and upload firmware
+to/from U-Boot connected over USB.
+
+U-boot follows the Universal Serial Bus Device Class Specification for
+Device Firmware Upgrade Version 1.1 the USB forum (DFU v1.1 in www.usb.org).
+
+U-Boot implements this DFU capability (CONFIG_DFU) with the command dfu
+(cmd/dfu.c / CONFIG_CMD_DFU) based on:
+
+- the DFU stack (common/dfu.c and common/spl/spl_dfu.c), based on the
+ USB DFU download gadget (drivers/usb/gadget/f_dfu.c)
+- The access to mediums is done in DFU backends (driver/dfu)
+
+Today the supported DFU backends are:
+
+- MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system / SKIP / SCRIPT)
+- NAND
+- RAM
+- SF (serial flash)
+- MTD (all MTD device: NAND, SPI-NOR, SPI-NAND,...)
+- virtual
+
+These DFU backends are also used by
+
+- the dfutftp (see README.dfutftp)
+- the thordown command (cmd/thordown.c and gadget/f_thor.c)
+
+The "virtual" backend is a generic DFU backend to support a board specific
+target (for example OTP), only based on the weak functions:
+
+- dfu_write_medium_virt
+- dfu_get_medium_size_virt
+- dfu_read_medium_virt
+
+Configuration Options
+---------------------
+
+The following configuration option are relevant for device firmware upgrade:
+
+* CONFIG_DFU
+* CONFIG_DFU_OVER_USB
+* CONFIG_DFU_MMC
+* CONFIG_DFU_MTD
+* CONFIG_DFU_NAND
+* CONFIG_DFU_RAM
+* CONFIG_DFU_SF
+* CONFIG_DFU_SF_PART
+* CONFIG_DFU_TIMEOUT
+* CONFIG_DFU_VIRTUAL
+* CONFIG_CMD_DFU
+
+Environment variables
+---------------------
+
+The dfu command uses 3 environments variables:
+
+dfu_alt_info
+ The DFU setting for the USB download gadget with a semicolon separated
+ string of information on each alternate::
+
+ dfu_alt_info="<alt1>;<alt2>;....;<altN>"
+
+ When several devices are used, the format is:
+
+ - <interface> <dev>'='alternate list (';' separated)
+ - each interface is separated by '&'::
+
+ dfu_alt_info=\
+ "<interface1> <dev1>=<alt1>;....;<altN>&"\
+ "<interface2> <dev2>=<altN+1>;....;<altM>&"\
+ ...\
+ "<interfaceI> <devI>=<altY+1>;....;<altZ>&"
+
+dfu_bufsiz
+ size of the DFU buffer, when absent, defaults to
+ CONFIG_SYS_DFU_DATA_BUF_SIZE (8 MiB by default)
+
+dfu_hash_algo
+ name of the hash algorithm to use
+
+Commands
+--------
+
+dfu <USB_controller> [<interface> <dev>] list
+ list the alternate device defined in *dfu_alt_info*
+
+dfu <USB_controller> [<interface> <dev>] [<timeout>]
+ start the dfu stack on the USB instance with the selected medium
+ backend and use the *dfu_alt_info* variable to configure the
+ alternate setting and link each one with the medium
+ The dfu command continue until receive a ^C in console or
+ a DFU detach transaction from HOST. If CONFIG_DFU_TIMEOUT option
+ is enabled and <timeout> parameter is present in the command line,
+ the DFU operation will be aborted automatically after <timeout>
+ seconds of waiting remote to initiate DFU session.
+
+The possible values of <interface> are (with <USB controller> = 0 in the dfu
+command example)
+
+mmc
+ for eMMC and SD card::
+
+ dfu 0 mmc <dev>
+
+ each element in *dfu_alt_info* being
+
+ * <name> raw <offset> <size> [mmcpart <num>] raw access to mmc device
+ * <name> part <dev> <part_id> [mmcpart <num>] raw access to partition
+ * <name> fat <dev> <part_id> [mmcpart <num>] file in FAT partition
+ * <name> ext4 <dev> <part_id> [mmcpart <num>] file in EXT4 partition
+ * <name> skip 0 0 ignore flashed data
+ * <name> script 0 0 execute commands in shell
+
+ with
+
+ partid
+ being the GPT or DOS partition index,
+ num
+ being the eMMC hardware partition number.
+
+ A value of environment variable *dfu_alt_info* for eMMC could be::
+
+ u-boot raw 0x3e 0x800 mmcpart 1;bl2 raw 0x1e 0x1d mmcpart 1
+
+ A value of environment variable *dfu_alt_info* for SD card could be::
+
+ u-boot raw 0x80 0x800;uImage ext4 0 2
+
+ If don't want to flash given image file to storage, use "skip" type
+ entity.
+
+ - It can be used to protect flashing wrong image for the specific board.
+ - Especailly, this layout will be useful when thor protocol is used,
+ which performs flashing in batch mode, where more than one file is
+ processed.
+
+ For example, if one makes a single tar file with support for the two
+ boards with u-boot-<board1>.bin and u-boot-<board2>.bin files, one
+ can use it to flash a proper u-boot image on both without a failure::
+
+ u-boot-<board1>.bin raw 0x80 0x800; u-boot-<board2>.bin skip 0 0
+
+ When flashing new system image requires do some more complex things
+ than just writing data to the storage medium, one can use 'script'
+ type. Data written to such entity will be executed as a command list
+ in the u-boot's shell. This for example allows to re-create partition
+ layout and even set new *dfu_alt_info* for the newly created paritions.
+ Such script would look like::
+
+ setenv dfu_alt_info ...
+ setenv mbr_parts ...
+ mbr write ...
+
+ Please note that this means that user will be able to execute any
+ arbitrary commands just like in the u-boot's shell.
+
+nand
+ raw slc nand device::
+
+ dfu 0 nand <dev>
+
+ each element in *dfu_alt_info* being either of
+
+ * <name> raw <offset> <size> raw access to mmc device
+ * <name> part <dev> <part_id> raw acces to partition
+ * <name> partubi <dev> <part_id> raw acces to ubi partition
+
+ with
+
+ partid
+ is the MTD partition index
+
+ram
+ raw access to ram::
+
+ dfu 0 ram <dev>
+
+ dev
+ is not used for RAM target
+
+ each element in *dfu_alt_info* being::
+
+ <name> ram <offset> <size> raw access to ram
+
+sf
+ serial flash : NOR::
+
+ cmd: dfu 0 sf <dev>
+
+ each element in *dfu_alt_info* being either of:
+
+ * <name> raw <offset> <size> raw access to sf device
+ * <name> part <dev> <part_id> raw acces to partition
+ * <name> partubi <dev> <part_id> raw acces to ubi partition
+
+ with
+
+ partid
+ is the MTD partition index
+
+mtd
+ all MTD device: NAND, SPI-NOR, SPI-NAND,...::
+
+ cmd: dfu 0 mtd <dev>
+
+ with
+
+ dev
+ the mtd identifier as defined in mtd command
+ (nand0, nor0, spi-nand0,...)
+
+ each element in *dfu_alt_info* being either of:
+
+ * <name> raw <offset> <size> forraw access to mtd device
+ * <name> part <dev> <part_id> for raw acces to partition
+ * <name> partubi <dev> <part_id> for raw acces to ubi partition
+
+ with
+
+ partid
+ is the MTD partition index
+
+virt
+ virtual flash back end for DFU
+
+ ::
+
+ cmd: dfu 0 virt <dev>
+
+ each element in *dfu_alt_info* being:
+
+ * <name>
+
+<interface> and <dev> are absent, the dfu command to use multiple devices::
+
+ cmd: dfu 0 list
+ cmd: dfu 0
+
+*dfu_alt_info* variable provides the list of <interface> <dev> with
+alternate list separated by '&' with the same format for each <alt>::
+
+ mmc <dev>=<alt1>;....;<altN>
+ nand <dev>=<alt1>;....;<altN>
+ ram <dev>=<alt1>;....;<altN>
+ sf <dev>=<alt1>;....;<altN>
+ mtd <dev>=<alt1>;....;<altN>
+ virt <dev>=<alt1>;....;<altN>
+
+Callbacks
+---------
+
+The weak callback functions can be implemented to manage specific behavior
+
+dfu_initiated_callback
+ called when the DFU transaction is started, used to initiase the device
+
+dfu_flush_callback
+ called at the end of the DFU write after DFU manifestation, used to manage
+ the device when DFU transaction is closed
+
+Host tools
+----------
+
+When U-Boot runs the dfu stack, the DFU host tools can be used
+to send/receive firmwares on each configurated alternate.
+
+For example dfu-util is a host side implementation of the DFU 1.1
+specifications(http://dfu-util.sourceforge.net/) which works with U-Boot.
+
+Usage
+-----
+
+Example 1: firmware located in eMMC or SD card, with:
+
+- alternate 1 (alt=1) for SPL partition (GPT partition 1)
+- alternate 2 (alt=2) for U-Boot partition (GPT partition 2)
+
+The U-Boot configuration is::
+
+ U-Boot> env set dfu_alt_info "spl part 0 1;u-boot part 0 2"
+
+ U-Boot> dfu 0 mmc 0 list
+ DFU alt settings list:
+ dev: eMMC alt: 0 name: spl layout: RAW_ADDR
+ dev: eMMC alt: 1 name: u-boot layout: RAW_ADDR
+
+ Boot> dfu 0 mmc 0
+
+On the Host side:
+
+list the available alternate setting::
+
+ $> dfu-util -l
+ dfu-util 0.9
+
+ Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
+ Copyright 2010-2016 Tormod Volden and Stefan Schmidt
+ This program is Free Software and has ABSOLUTELY NO WARRANTY
+ Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
+
+ Found DFU: [0483:5720] ver=0200, devnum=45, cfg=1, intf=0, path="3-1.3.1", \
+ alt=1, name="u-boot", serial="003A00203438510D36383238"
+ Found DFU: [0483:5720] ver=0200, devnum=45, cfg=1, intf=0, path="3-1.3.1", \
+ alt=0, name="spl", serial="003A00203438510D36383238"
+
+ To download to U-Boot, use -D option
+
+ $> dfu-util -a 0 -D u-boot-spl.bin
+ $> dfu-util -a 1 -D u-boot.bin
+
+ To upload from U-Boot, use -U option
+
+ $> dfu-util -a 0 -U u-boot-spl.bin
+ $> dfu-util -a 1 -U u-boot.bin
+
+ To request a DFU detach and reset the USB connection:
+ $> dfu-util -a 0 -e -R
+
+
+Example 2: firmware located in NOR (sf) and NAND, with:
+
+- alternate 1 (alt=1) for SPL partition (NOR GPT partition 1)
+- alternate 2 (alt=2) for U-Boot partition (NOR GPT partition 2)
+- alternate 3 (alt=3) for U-Boot-env partition (NOR GPT partition 3)
+- alternate 4 (alt=4) for UBI partition (NAND GPT partition 1)
+
+::
+
+ U-Boot> env set dfu_alt_info \
+ "sf 0:0:10000000:0=spl part 0 1;u-boot part 0 2; \
+ u-boot-env part 0 3&nand 0=UBI partubi 0,1"
+
+ U-Boot> dfu 0 list
+
+ DFU alt settings list:
+ dev: SF alt: 0 name: spl layout: RAW_ADDR
+ dev: SF alt: 1 name: ssbl layout: RAW_ADDR
+ dev: SF alt: 2 name: u-boot-env layout: RAW_ADDR
+ dev: NAND alt: 3 name: UBI layout: RAW_ADDR
+
+ U-Boot> dfu 0
+
+::
+
+ $> dfu-util -l
+ Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
+ intf=0, alt=3, name="UBI", serial="002700333338511934383330"
+ Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
+ intf=0, alt=2, name="u-boot-env", serial="002700333338511934383330"
+ Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
+ intf=0, alt=1, name="u-boot", serial="002700333338511934383330"
+ Found DFU: [0483:5720] ver=9999, devnum=96, cfg=1,\
+ intf=0, alt=0, name="spl", serial="002700333338511934383330"
+
+Same example with MTD backend
+
+::
+
+ U-Boot> env set dfu_alt_info \
+ "mtd nor0=spl part 1;u-boot part 2;u-boot-env part 3&"\
+ "mtd nand0=UBI partubi 1"
+
+ U-Boot> dfu 0 list
+ using id 'nor0,0'
+ using id 'nor0,1'
+ using id 'nor0,2'
+ using id 'nand0,0'
+ DFU alt settings list:
+ dev: MTD alt: 0 name: spl layout: RAW_ADDR
+ dev: MTD alt: 1 name: u-boot layout: RAW_ADDR
+ dev: MTD alt: 2 name: u-boot-env layout: RAW_ADDR
+ dev: MTD alt: 3 name: UBI layout: RAW_ADDR
+
+Example 3
+
+firmware located in SD Card (mmc) and virtual partition on OTP and PMIC not
+volatile memory
+
+- alternate 1 (alt=1) for scard
+- alternate 2 (alt=2) for OTP (virtual)
+- alternate 3 (alt=3) for PMIC NVM (virtual)
+
+::
+
+ U-Boot> env set dfu_alt_info \
+ "mmc 0=sdcard raw 0 0x100000&"\
+ "virt 0=otp" \
+ "virt 1=pmic"
+
+::
+
+ U-Boot> dfu 0 list
+ DFU alt settings list:
+ dev: eMMC alt: 0 name: sdcard layout: RAW_ADDR
+ dev: VIRT alt: 1 name: otp layout: RAW_ADDR
+ dev: VIRT alt: 2 name: pmic layout: RAW_ADDR
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index fb834349ca..5faf279f43 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -4,6 +4,7 @@ Use U-Boot
.. toctree::
:maxdepth: 1
+ dfu
fdt_overlays
fit
netconsole
diff --git a/drivers/ata/mtk_ahci.c b/drivers/ata/mtk_ahci.c
index 554175bc00..2c5227df30 100644
--- a/drivers/ata/mtk_ahci.c
+++ b/drivers/ata/mtk_ahci.c
@@ -21,6 +21,7 @@
#include <sata.h>
#include <scsi.h>
#include <syscon.h>
+#include <dm/device_compat.h>
#define SYS_CFG 0x14
#define SYS_CFG_SATA_MSK GENMASK(31, 30)
diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c
index 3b9c12266a..48a764be82 100644
--- a/drivers/mmc/mtk-sd.c
+++ b/drivers/mmc/mtk-sd.c
@@ -1639,7 +1639,8 @@ static int msdc_drv_probe(struct udevice *dev)
else
cfg->f_min = host->src_clk_freq / (4 * 4095);
- cfg->f_max = host->src_clk_freq;
+ if (cfg->f_max < cfg->f_min || cfg->f_max > host->src_clk_freq)
+ cfg->f_max = host->src_clk_freq;
cfg->b_max = 1024;
cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
diff --git a/drivers/mtd/nand/raw/fsl_ifc_nand.c b/drivers/mtd/nand/raw/fsl_ifc_nand.c
index cf20238782..e5ff937872 100644
--- a/drivers/mtd/nand/raw/fsl_ifc_nand.c
+++ b/drivers/mtd/nand/raw/fsl_ifc_nand.c
@@ -411,9 +411,16 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
/* READID must read all possible bytes while CEB is active */
case NAND_CMD_READID:
case NAND_CMD_PARAM: {
+ /*
+ * For READID, read 8 bytes that are currently used.
+ * For PARAM, read all 3 copies of 256-bytes pages.
+ */
+ int len = 8;
int timing = IFC_FIR_OP_RB;
- if (command == NAND_CMD_PARAM)
+ if (command == NAND_CMD_PARAM) {
timing = IFC_FIR_OP_RBCD;
+ len = 256 * 3;
+ }
ifc_out32(&ifc->ifc_nand.nand_fir0,
(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
@@ -423,12 +430,8 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
command << IFC_NAND_FCR0_CMD0_SHIFT);
ifc_out32(&ifc->ifc_nand.row3, column);
- /*
- * although currently it's 8 bytes for READID, we always read
- * the maximum 256 bytes(for PARAM)
- */
- ifc_out32(&ifc->ifc_nand.nand_fbcr, 256);
- ctrl->read_bytes = 256;
+ ifc_out32(&ifc->ifc_nand.nand_fbcr, len);
+ ctrl->read_bytes = len;
set_addr(mtd, 0, 0, 0);
fsl_ifc_run_command(mtd);
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index 5d6331ad34..c61dab20c5 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -22,6 +22,8 @@
#define NVME_AQ_DEPTH 2
#define NVME_SQ_SIZE(depth) (depth * sizeof(struct nvme_command))
#define NVME_CQ_SIZE(depth) (depth * sizeof(struct nvme_completion))
+#define NVME_CQ_ALLOCATION ALIGN(NVME_CQ_SIZE(NVME_Q_DEPTH), \
+ ARCH_DMA_MINALIGN)
#define ADMIN_TIMEOUT 60
#define IO_TIMEOUT 30
#define MAX_PRP_POOL 512
@@ -144,8 +146,14 @@ static __le16 nvme_get_cmd_id(void)
static u16 nvme_read_completion_status(struct nvme_queue *nvmeq, u16 index)
{
- u64 start = (ulong)&nvmeq->cqes[index];
- u64 stop = start + sizeof(struct nvme_completion);
+ /*
+ * Single CQ entries are always smaller than a cache line, so we
+ * can't invalidate them individually. However CQ entries are
+ * read only by the CPU, so it's safe to always invalidate all of them,
+ * as the cache line should never become dirty.
+ */
+ ulong start = (ulong)&nvmeq->cqes[0];
+ ulong stop = start + NVME_CQ_ALLOCATION;
invalidate_dcache_range(start, stop);
@@ -241,7 +249,7 @@ static struct nvme_queue *nvme_alloc_queue(struct nvme_dev *dev,
return NULL;
memset(nvmeq, 0, sizeof(*nvmeq));
- nvmeq->cqes = (void *)memalign(4096, NVME_CQ_SIZE(depth));
+ nvmeq->cqes = (void *)memalign(4096, NVME_CQ_ALLOCATION);
if (!nvmeq->cqes)
goto free_nvmeq;
memset((void *)nvmeq->cqes, 0, NVME_CQ_SIZE(depth));
@@ -339,7 +347,7 @@ static void nvme_init_queue(struct nvme_queue *nvmeq, u16 qid)
nvmeq->q_db = &dev->dbs[qid * 2 * dev->db_stride];
memset((void *)nvmeq->cqes, 0, NVME_CQ_SIZE(nvmeq->q_depth));
flush_dcache_range((ulong)nvmeq->cqes,
- (ulong)nvmeq->cqes + NVME_CQ_SIZE(nvmeq->q_depth));
+ (ulong)nvmeq->cqes + NVME_CQ_ALLOCATION);
dev->online_queues++;
}
@@ -481,6 +489,7 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
dma_addr_t dma_addr, u32 *result)
{
struct nvme_command c;
+ int ret;
memset(&c, 0, sizeof(c));
c.features.opcode = nvme_admin_get_features;
@@ -488,12 +497,20 @@ int nvme_get_features(struct nvme_dev *dev, unsigned fid, unsigned nsid,
c.features.prp1 = cpu_to_le64(dma_addr);
c.features.fid = cpu_to_le32(fid);
+ ret = nvme_submit_admin_cmd(dev, &c, result);
+
/*
- * TODO: add cache invalidate operation when the size of
- * the DMA buffer is known
+ * TODO: Add some cache invalidation when a DMA buffer is involved
+ * in the request, here and before the command gets submitted. The
+ * buffer size varies by feature, also some features use a different
+ * field in the command packet to hold the buffer address.
+ * Section 5.21.1 (Set Features command) in the NVMe specification
+ * details the buffer requirements for each feature.
+ *
+ * At the moment there is no user of this function.
*/
- return nvme_submit_admin_cmd(dev, &c, result);
+ return ret;
}
int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11,
@@ -508,8 +525,14 @@ int nvme_set_features(struct nvme_dev *dev, unsigned fid, unsigned dword11,
c.features.dword11 = cpu_to_le32(dword11);
/*
- * TODO: add cache flush operation when the size of
- * the DMA buffer is known
+ * TODO: Add a cache clean (aka flush) operation when a DMA buffer is
+ * involved in the request. The buffer size varies by feature, also
+ * some features use a different field in the command packet to hold
+ * the buffer address. Section 5.21.1 (Set Features command) in the
+ * NVMe specification details the buffer requirements for each
+ * feature.
+ * At the moment the only user of this function is not using
+ * any DMA buffer at all.
*/
return nvme_submit_admin_cmd(dev, &c, result);
diff --git a/drivers/pci/pcie_layerscape_ep.c b/drivers/pci/pcie_layerscape_ep.c
index 14983cce4f..c7231635e4 100644
--- a/drivers/pci/pcie_layerscape_ep.c
+++ b/drivers/pci/pcie_layerscape_ep.c
@@ -244,7 +244,7 @@ static int ls_pcie_ep_probe(struct udevice *dev)
int ret;
u32 svr;
- pcie = devm_kmalloc(dev, sizeof(*pcie), GFP_KERNEL);
+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
if (!pcie)
return -ENOMEM;
diff --git a/drivers/pci/pcie_layerscape_rc.c b/drivers/pci/pcie_layerscape_rc.c
index b055ed5165..bd2c19f7f0 100644
--- a/drivers/pci/pcie_layerscape_rc.c
+++ b/drivers/pci/pcie_layerscape_rc.c
@@ -254,7 +254,7 @@ static int ls_pcie_probe(struct udevice *dev)
pcie_rc->bus = dev;
- pcie = devm_kmalloc(dev, sizeof(*pcie), GFP_KERNEL);
+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
if (!pcie)
return -ENOMEM;
diff --git a/drivers/rtc/ds1307.c b/drivers/rtc/ds1307.c
index 17344d4d4f..2015ce9bbc 100644
--- a/drivers/rtc/ds1307.c
+++ b/drivers/rtc/ds1307.c
@@ -23,6 +23,7 @@
enum ds_type {
ds_1307,
ds_1337,
+ ds_1339,
ds_1340,
m41t11,
mcp794xx,
@@ -344,6 +345,7 @@ static const struct rtc_ops ds1307_rtc_ops = {
static const struct udevice_id ds1307_rtc_ids[] = {
{ .compatible = "dallas,ds1307", .data = ds_1307 },
{ .compatible = "dallas,ds1337", .data = ds_1337 },
+ { .compatible = "dallas,ds1339", .data = ds_1339 },
{ .compatible = "dallas,ds1340", .data = ds_1340 },
{ .compatible = "microchip,mcp7941x", .data = mcp794xx },
{ .compatible = "st,m41t11", .data = m41t11 },
diff --git a/include/api_public.h b/include/api_public.h
index def103ce22..5a4465ea89 100644
--- a/include/api_public.h
+++ b/include/api_public.h
@@ -70,12 +70,25 @@ struct sys_info {
int mr_no; /* number of memory regions */
};
-#undef CONFIG_SYS_64BIT_LBA
-#ifdef CONFIG_SYS_64BIT_LBA
-typedef u_int64_t lbasize_t;
-#else
+/*
+ * FIXME: Previously this code was:
+ *
+ * #undef CONFIG_SYS_64BIT_LBA
+ * #ifdef CONFIG_SYS_64BIT_LBA
+ * typedef u_int64_t lbasize_t;
+ * #else
+ * typedef unsigned long lbasize_t;
+ * #endif
+ *
+ * But we cannot just undefine CONFIG_SYS_64BIT_LBA, because then in
+ * api/api_storage.c the type signature of lbaint_t will be different if
+ * CONFIG_SYS_64BIT_LBA is enabled for the board, which can result in various
+ * bugs.
+ * So simply define lbasize_t as an unsigned long, since this was what was done
+ * anyway for at least 13 years, but don't undefine CONFIG_SYS_64BIT_LBA.
+ */
typedef unsigned long lbasize_t;
-#endif
+
typedef unsigned long lbastart_t;
#define DEV_TYP_NONE 0x0000
diff --git a/include/configs/ls1028aqds.h b/include/configs/ls1028aqds.h
index 8ab943cc64..9ae37b96ce 100644
--- a/include/configs/ls1028aqds.h
+++ b/include/configs/ls1028aqds.h
@@ -81,12 +81,6 @@
#define CONFIG_SYS_SCSI_MAX_LUN 1
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
CONFIG_SYS_SCSI_MAX_LUN)
-/* DSPI */
-#ifdef CONFIG_FSL_DSPI
-#define CONFIG_SPI_FLASH_SST
-#define CONFIG_SPI_FLASH_EON
-#endif
-
#ifndef SPL_NO_ENV
#undef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
diff --git a/include/configs/lx2160a_common.h b/include/configs/lx2160a_common.h
index 466484c199..9f2b8999cd 100644
--- a/include/configs/lx2160a_common.h
+++ b/include/configs/lx2160a_common.h
@@ -154,12 +154,6 @@
#endif
#endif
-/* FlexSPI */
-#ifdef CONFIG_NXP_FSPI
-#define NXP_FSPI_FLASH_SIZE SZ_64M
-#define NXP_FSPI_FLASH_NUM 1
-#endif
-
/* GPIO */
#ifdef CONFIG_DM_GPIO
#ifndef CONFIG_MPC8XXX_GPIO
diff --git a/include/dm/test.h b/include/dm/test.h
index 30f71edbd9..a9562b2bfc 100644
--- a/include/dm/test.h
+++ b/include/dm/test.h
@@ -6,6 +6,8 @@
#ifndef __DM_TEST_H
#define __DM_TEST_H
+struct udevice;
+
/**
* struct dm_test_cdata - configuration data for test instance
*
diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h
index e1e6214b0f..9f243cd945 100644
--- a/include/fsl_ifc.h
+++ b/include/fsl_ifc.h
@@ -140,7 +140,7 @@
#define CSOR_NOR_ADM_SHIFT_SHIFT 13
#define CSOR_NOR_ADM_SHIFT(n) ((n) << CSOR_NOR_ADM_SHIFT_SHIFT)
/* Type of the NOR device hooked */
-#define CSOR_NOR_NOR_MODE_AYSNC_NOR 0x00000000
+#define CSOR_NOR_NOR_MODE_ASYNC_NOR 0x00000000
#define CSOR_NOR_NOR_MODE_AVD_NOR 0x00000020
/* Time for Read Enable High to Output High Impedance */
#define CSOR_NOR_TRHZ_MASK 0x0000001C
diff --git a/include/image.h b/include/image.h
index bcd126d262..aeb0d37ac0 100644
--- a/include/image.h
+++ b/include/image.h
@@ -1163,7 +1163,7 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp);
* @fit: pointer to the FIT format image header
* @return 0 if OK, -ENOEXEC if not an FDT file, -EINVAL if the full FDT check
* failed (e.g. due to bad structure), -ENOMSG if the description is
- * missing, -ENODATA if the timestamp is missing, -ENOENT if the /images
+ * missing, -EBADMSG if the timestamp is missing, -ENOENT if the /images
* path is missing
*/
int fit_check_format(const void *fit, ulong size);
diff --git a/include/video_font_data.h b/include/video_font_data.h
index ed5fd640a8..6e64198d1a 100644
--- a/include/video_font_data.h
+++ b/include/video_font_data.h
@@ -2302,7 +2302,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 127 0x7f '' */
+ /* 127 0x7f */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -2320,7 +2320,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 128 0x80 '' */
+ /* 128 0x80 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
@@ -2338,7 +2338,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 129 0x81 '' */
+ /* 129 0x81 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
@@ -2356,7 +2356,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 130 0x82 '' */
+ /* 130 0x82 */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
@@ -2374,7 +2374,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 131 0x83 '' */
+ /* 131 0x83 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
@@ -2392,7 +2392,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 132 0x84 '' */
+ /* 132 0x84 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
@@ -2410,7 +2410,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 133 0x85 '' */
+ /* 133 0x85 */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
@@ -2428,7 +2428,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 134 0x86 '' */
+ /* 134 0x86 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
@@ -2446,7 +2446,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 135 0x87 '' */
+ /* 135 0x87 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -2464,7 +2464,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 136 0x88 '' */
+ /* 136 0x88 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
@@ -2482,7 +2482,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 137 0x89 '' */
+ /* 137 0x89 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
@@ -2500,7 +2500,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 138 0x8a '' */
+ /* 138 0x8a */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
@@ -2518,7 +2518,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 139 0x8b '' */
+ /* 139 0x8b */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
@@ -2536,7 +2536,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 140 0x8c '' */
+ /* 140 0x8c */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
@@ -2554,7 +2554,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 141 0x8d '' */
+ /* 141 0x8d */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
@@ -2572,7 +2572,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 142 0x8e '' */
+ /* 142 0x8e */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
@@ -2590,7 +2590,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 143 0x8f '' */
+ /* 143 0x8f */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
@@ -2608,7 +2608,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 144 0x90 '' */
+ /* 144 0x90 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
@@ -2626,7 +2626,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 145 0x91 '' */
+ /* 145 0x91 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -2644,7 +2644,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 146 0x92 '' */
+ /* 146 0x92 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3e, /* 00111110 */
@@ -2662,7 +2662,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 147 0x93 '' */
+ /* 147 0x93 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
@@ -2680,7 +2680,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 148 0x94 '' */
+ /* 148 0x94 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
@@ -2698,7 +2698,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 149 0x95 '' */
+ /* 149 0x95 */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
@@ -2716,7 +2716,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 150 0x96 '' */
+ /* 150 0x96 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x78, /* 01111000 */
@@ -2734,7 +2734,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 151 0x97 '' */
+ /* 151 0x97 */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
@@ -2752,7 +2752,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 152 0x98 '' */
+ /* 152 0x98 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
@@ -2770,7 +2770,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x78, /* 01111000 */
0x00, /* 00000000 */
- /* 153 0x99 '' */
+ /* 153 0x99 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
@@ -2788,7 +2788,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 154 0x9a '' */
+ /* 154 0x9a */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
@@ -2806,7 +2806,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 155 0x9b '' */
+ /* 155 0x9b */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -2824,7 +2824,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 156 0x9c '' */
+ /* 156 0x9c */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
@@ -2842,7 +2842,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 157 0x9d '' */
+ /* 157 0x9d */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
@@ -2860,7 +2860,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 158 0x9e '' */
+ /* 158 0x9e */
0x00, /* 00000000 */
0xf8, /* 11111000 */
0xcc, /* 11001100 */
@@ -2878,7 +2878,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 159 0x9f '' */
+ /* 159 0x9f */
0x00, /* 00000000 */
0x0e, /* 00001110 */
0x1b, /* 00011011 */
@@ -2896,7 +2896,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 160 0xa0 '' */
+ /* 160 0xa0 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
@@ -2914,7 +2914,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 161 0xa1 '' */
+ /* 161 0xa1 */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
@@ -2932,7 +2932,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 162 0xa2 '' */
+ /* 162 0xa2 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
@@ -2950,7 +2950,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 163 0xa3 '' */
+ /* 163 0xa3 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
@@ -2968,7 +2968,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 164 0xa4 '' */
+ /* 164 0xa4 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
@@ -2986,7 +2986,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 165 0xa5 '' */
+ /* 165 0xa5 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
@@ -3004,7 +3004,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 166 0xa6 '' */
+ /* 166 0xa6 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
@@ -3022,7 +3022,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 167 0xa7 '' */
+ /* 167 0xa7 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
@@ -3040,7 +3040,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 168 0xa8 '' */
+ /* 168 0xa8 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
@@ -3058,7 +3058,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 169 0xa9 '' */
+ /* 169 0xa9 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3076,7 +3076,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 170 0xaa '' */
+ /* 170 0xaa */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3094,7 +3094,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 171 0xab '' */
+ /* 171 0xab */
0x00, /* 00000000 */
0x60, /* 01100000 */
0xe0, /* 11100000 */
@@ -3112,7 +3112,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 172 0xac '' */
+ /* 172 0xac */
0x00, /* 00000000 */
0x60, /* 01100000 */
0xe0, /* 11100000 */
@@ -3130,7 +3130,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 173 0xad '' */
+ /* 173 0xad */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
@@ -3148,7 +3148,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 174 0xae '' */
+ /* 174 0xae */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3166,7 +3166,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 175 0xaf '' */
+ /* 175 0xaf */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3184,7 +3184,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 176 0xb0 '' */
+ /* 176 0xb0 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
@@ -3202,7 +3202,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x11, /* 00010001 */
0x44, /* 01000100 */
- /* 177 0xb1 '' */
+ /* 177 0xb1 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
@@ -3220,7 +3220,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x55, /* 01010101 */
0xaa, /* 10101010 */
- /* 178 0xb2 '' */
+ /* 178 0xb2 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
@@ -3238,7 +3238,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0xdd, /* 11011101 */
0x77, /* 01110111 */
- /* 179 0xb3 '' */
+ /* 179 0xb3 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3256,7 +3256,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 180 0xb4 '' */
+ /* 180 0xb4 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3274,7 +3274,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 181 0xb5 '' */
+ /* 181 0xb5 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3292,7 +3292,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 182 0xb6 '' */
+ /* 182 0xb6 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3310,7 +3310,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 183 0xb7 '' */
+ /* 183 0xb7 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3328,7 +3328,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 184 0xb8 '' */
+ /* 184 0xb8 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3346,7 +3346,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 185 0xb9 '' */
+ /* 185 0xb9 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3364,7 +3364,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 186 0xba '' */
+ /* 186 0xba */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3382,7 +3382,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 187 0xbb '' */
+ /* 187 0xbb */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3400,7 +3400,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 188 0xbc '' */
+ /* 188 0xbc */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3418,7 +3418,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 189 0xbd '' */
+ /* 189 0xbd */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3436,7 +3436,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 190 0xbe '' */
+ /* 190 0xbe */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3454,7 +3454,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 191 0xbf '' */
+ /* 191 0xbf */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3472,7 +3472,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 192 0xc0 '' */
+ /* 192 0xc0 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3490,7 +3490,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 193 0xc1 '' */
+ /* 193 0xc1 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3508,7 +3508,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 194 0xc2 '' */
+ /* 194 0xc2 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3526,7 +3526,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 195 0xc3 '' */
+ /* 195 0xc3 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3544,7 +3544,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 196 0xc4 '' */
+ /* 196 0xc4 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3562,7 +3562,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 197 0xc5 '' */
+ /* 197 0xc5 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3580,7 +3580,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 198 0xc6 '' */
+ /* 198 0xc6 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3598,7 +3598,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 199 0xc7 '' */
+ /* 199 0xc7 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3616,7 +3616,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 200 0xc8 '' */
+ /* 200 0xc8 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3634,7 +3634,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 201 0xc9 '' */
+ /* 201 0xc9 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3652,7 +3652,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 202 0xca '' */
+ /* 202 0xca */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3670,7 +3670,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 203 0xcb '' */
+ /* 203 0xcb */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3688,7 +3688,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 204 0xcc '' */
+ /* 204 0xcc */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3706,7 +3706,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 205 0xcd '' */
+ /* 205 0xcd */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3724,7 +3724,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 206 0xce '' */
+ /* 206 0xce */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3742,7 +3742,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 207 0xcf '' */
+ /* 207 0xcf */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3760,7 +3760,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 208 0xd0 '' */
+ /* 208 0xd0 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3778,7 +3778,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 209 0xd1 '' */
+ /* 209 0xd1 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3796,7 +3796,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 210 0xd2 '' */
+ /* 210 0xd2 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3814,7 +3814,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 211 0xd3 '' */
+ /* 211 0xd3 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3832,7 +3832,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 212 0xd4 '' */
+ /* 212 0xd4 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3850,7 +3850,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 213 0xd5 '' */
+ /* 213 0xd5 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3868,7 +3868,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 214 0xd6 '' */
+ /* 214 0xd6 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3886,7 +3886,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 215 0xd7 '' */
+ /* 215 0xd7 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
@@ -3904,7 +3904,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x36, /* 00110110 */
0x36, /* 00110110 */
- /* 216 0xd8 '' */
+ /* 216 0xd8 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3922,7 +3922,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 217 0xd9 '' */
+ /* 217 0xd9 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -3940,7 +3940,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 218 0xda '' */
+ /* 218 0xda */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3958,7 +3958,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 219 0xdb '' */
+ /* 219 0xdb */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
@@ -3976,7 +3976,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0xff, /* 11111111 */
0xff, /* 11111111 */
- /* 220 0xdc '' */
+ /* 220 0xdc */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -3994,7 +3994,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0xff, /* 11111111 */
0xff, /* 11111111 */
- /* 221 0xdd '' */
+ /* 221 0xdd */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
@@ -4012,7 +4012,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0xf0, /* 11110000 */
0xf0, /* 11110000 */
- /* 222 0xde '' */
+ /* 222 0xde */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
@@ -4030,7 +4030,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x0f, /* 00001111 */
0x0f, /* 00001111 */
- /* 223 0xdf '' */
+ /* 223 0xdf */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
@@ -4048,7 +4048,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 224 0xe0 '' */
+ /* 224 0xe0 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4066,7 +4066,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 225 0xe1 '' */
+ /* 225 0xe1 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
@@ -4084,7 +4084,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 226 0xe2 '' */
+ /* 226 0xe2 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
@@ -4102,7 +4102,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 227 0xe3 '' */
+ /* 227 0xe3 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4120,7 +4120,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 228 0xe4 '' */
+ /* 228 0xe4 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
@@ -4138,7 +4138,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 229 0xe5 '' */
+ /* 229 0xe5 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4156,7 +4156,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 230 0xe6 '' */
+ /* 230 0xe6 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4174,7 +4174,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0xc0, /* 11000000 */
0x00, /* 00000000 */
- /* 231 0xe7 '' */
+ /* 231 0xe7 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4192,7 +4192,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 232 0xe8 '' */
+ /* 232 0xe8 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
@@ -4210,7 +4210,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 233 0xe9 '' */
+ /* 233 0xe9 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
@@ -4228,7 +4228,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 234 0xea '' */
+ /* 234 0xea */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
@@ -4246,7 +4246,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 235 0xeb '' */
+ /* 235 0xeb */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1e, /* 00011110 */
@@ -4264,7 +4264,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 236 0xec '' */
+ /* 236 0xec */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4282,7 +4282,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 237 0xed '' */
+ /* 237 0xed */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4300,7 +4300,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 238 0xee '' */
+ /* 238 0xee */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1c, /* 00011100 */
@@ -4318,7 +4318,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 239 0xef '' */
+ /* 239 0xef */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4336,7 +4336,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 240 0xf0 '' */
+ /* 240 0xf0 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4354,7 +4354,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 241 0xf1 '' */
+ /* 241 0xf1 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4372,7 +4372,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 242 0xf2 '' */
+ /* 242 0xf2 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4390,7 +4390,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 243 0xf3 '' */
+ /* 243 0xf3 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4408,7 +4408,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 244 0xf4 '' */
+ /* 244 0xf4 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0e, /* 00001110 */
@@ -4426,7 +4426,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x18, /* 00011000 */
0x18, /* 00011000 */
- /* 245 0xf5 '' */
+ /* 245 0xf5 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
@@ -4444,7 +4444,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 246 0xf6 '' */
+ /* 246 0xf6 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4462,7 +4462,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 247 0xf7 '' */
+ /* 247 0xf7 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4480,7 +4480,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 248 0xf8 '' */
+ /* 248 0xf8 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
@@ -4498,7 +4498,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 249 0xf9 '' */
+ /* 249 0xf9 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4516,7 +4516,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 250 0xfa '' */
+ /* 250 0xfa */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4534,7 +4534,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 251 0xfb '' */
+ /* 251 0xfb */
0x00, /* 00000000 */
0x0f, /* 00001111 */
0x0c, /* 00001100 */
@@ -4552,7 +4552,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 252 0xfc '' */
+ /* 252 0xfc */
0x00, /* 00000000 */
0x6c, /* 01101100 */
0x36, /* 00110110 */
@@ -4570,7 +4570,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 253 0xfd '' */
+ /* 253 0xfd */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
@@ -4588,7 +4588,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 254 0xfe '' */
+ /* 254 0xfe */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
@@ -4606,7 +4606,7 @@ static unsigned char __maybe_unused video_fontdata[VIDEO_FONT_SIZE] = {
0x00, /* 00000000 */
0x00, /* 00000000 */
- /* 255 0xff '' */
+ /* 255 0xff */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
diff --git a/test/print_ut.c b/test/print_ut.c
index 61ea432e46..5b0a46de9c 100644
--- a/test/print_ut.c
+++ b/test/print_ut.c
@@ -7,9 +7,7 @@
#include <common.h>
#include <command.h>
-#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD)
#include <efi_api.h>
-#endif
#include <display_options.h>
#include <log.h>
#include <version.h>
diff --git a/test/py/tests/test_env.py b/test/py/tests/test_env.py
index 940279651d..9bed2f48d7 100644
--- a/test/py/tests/test_env.py
+++ b/test/py/tests/test_env.py
@@ -414,6 +414,8 @@ def mk_env_ext4(state_test_env):
if os.path.exists(persistent):
c.log.action('Disk image file ' + persistent + ' already exists')
else:
+ # Some distributions do not add /sbin to the default PATH, where mkfs.ext4 lives
+ os.environ["PATH"] += os.pathsep + '/sbin'
try:
u_boot_utils.run_and_log(c, 'dd if=/dev/zero of=%s bs=1M count=16' % persistent)
u_boot_utils.run_and_log(c, 'mkfs.ext4 %s' % persistent)
diff --git a/tools/imagetool.h b/tools/imagetool.h
index 8726792c8c..2801ea9e9f 100644
--- a/tools/imagetool.h
+++ b/tools/imagetool.h
@@ -273,14 +273,14 @@ int rockchip_copy_image(int fd, struct image_tool_params *mparams);
#define INIT_SECTION(name) do { \
unsigned long name ## _len; \
- char *__cat(pstart_, name) = getsectdata("__TEXT", \
+ char *__cat(pstart_, name) = getsectdata("__DATA", \
#name, &__cat(name, _len)); \
char *__cat(pstop_, name) = __cat(pstart_, name) + \
__cat(name, _len); \
__cat(__start_, name) = (void *)__cat(pstart_, name); \
__cat(__stop_, name) = (void *)__cat(pstop_, name); \
} while (0)
-#define SECTION(name) __attribute__((section("__TEXT, " #name)))
+#define SECTION(name) __attribute__((section("__DATA, " #name)))
struct image_type_params **__start_image_type, **__stop_image_type;
#else
diff --git a/tools/mkeficapsule.c b/tools/mkeficapsule.c
index 1613e74ca7..f272512451 100644
--- a/tools/mkeficapsule.c
+++ b/tools/mkeficapsule.c
@@ -278,7 +278,7 @@ static int create_fwbin(char *path, char *bin, efi_guid_t *guid,
}
data = malloc(bin_stat.st_size);
if (!data) {
- printf("cannot allocate memory: %lx\n", bin_stat.st_size);
+ printf("cannot allocate memory: %zx\n", (size_t)bin_stat.st_size);
goto err_1;
}
f = fopen(path, "w");
@@ -297,7 +297,7 @@ static int create_fwbin(char *path, char *bin, efi_guid_t *guid,
size = fwrite(&header, 1, sizeof(header), f);
if (size < sizeof(header)) {
- printf("write failed (%lx)\n", size);
+ printf("write failed (%zx)\n", size);
goto err_3;
}
@@ -306,13 +306,13 @@ static int create_fwbin(char *path, char *bin, efi_guid_t *guid,
capsule.payload_item_count = 1;
size = fwrite(&capsule, 1, sizeof(capsule), f);
if (size < (sizeof(capsule))) {
- printf("write failed (%lx)\n", size);
+ printf("write failed (%zx)\n", size);
goto err_3;
}
offset = sizeof(capsule) + sizeof(u64);
size = fwrite(&offset, 1, sizeof(offset), f);
if (size < sizeof(offset)) {
- printf("write failed (%lx)\n", size);
+ printf("write failed (%zx)\n", size);
goto err_3;
}
@@ -329,17 +329,17 @@ static int create_fwbin(char *path, char *bin, efi_guid_t *guid,
size = fwrite(&image, 1, sizeof(image), f);
if (size < sizeof(image)) {
- printf("write failed (%lx)\n", size);
+ printf("write failed (%zx)\n", size);
goto err_3;
}
size = fread(data, 1, bin_stat.st_size, g);
if (size < bin_stat.st_size) {
- printf("read failed (%lx)\n", size);
+ printf("read failed (%zx)\n", size);
goto err_3;
}
size = fwrite(data, 1, bin_stat.st_size, f);
if (size < bin_stat.st_size) {
- printf("write failed (%lx)\n", size);
+ printf("write failed (%zx)\n", size);
goto err_3;
}