U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
November 2020
- 187 participants
- 558 discussions
Add support for RFC 7440: "TFTP Windowsize Option".
This optional feature allows the client and server
to negotiate a window size of consecutive blocks to send as an
alternative for replacing the single-block lockstep schema.
windowsize can be defined statically during compilation by
setting CONFIG_TFTP_WINDOWSIZE, or defined in runtime by
setting an environment variable: "tftpwindowsize"
If not defined, the windowsize is set to 1, meaning that it
behaves as it was never defined.
Choosing the appropriate windowsize depends on the specific
network topology, underlying NIC.
You should test various windowsize scenarios and see which
best work for you.
Setting a windowsize too big can actually decreases performance.
Signed-off-by: Ramon Fried <rfried.dev(a)gmail.com>
Reviewed-by: Marek Vasut <marex(a)denx.de>
---
v2:
* Don't send windowsize option on tftpput, as it's not implemented yet.
* Don't send NACK for every out of order block that arrives, one nack
is enough.
v3:
* Add option CONFIG_TFTP_WINDOWSIZE to kconfig with default 1.
* Fixed some spelling errors.
* Took assignment out of a loop.
* simplified variable increment.
v4:
* send ack for last packet, so the server can finish
the tranfer gracefully and not in timeout.
v5:
* rebase the patch on top of latest tftp changes.
* Fix wraparound issue in tftp_cur_block increment.
* Change strcmp to strcasecmp
README | 5 ++++
net/Kconfig | 9 ++++++
net/tftp.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 86 insertions(+), 7 deletions(-)
diff --git a/README b/README
index 2384966a39..2ebf664848 100644
--- a/README
+++ b/README
@@ -3473,6 +3473,11 @@ List of environment variables (most likely not complete):
downloads succeed with high packet loss rates, or with
unreliable TFTP servers or client hardware.
+ tftpwindowsize - if this is set, the value is used for TFTP's
+ window size as described by RFC 7440.
+ This means the count of blocks we can receive before
+ sending ack to server.
+
vlan - When set to a value < 4095 the traffic over
Ethernet is encapsulated/received over 802.1q
VLAN tagged frames.
diff --git a/net/Kconfig b/net/Kconfig
index ac6d0cf8a6..7916ae305f 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -49,4 +49,13 @@ config TFTP_BLOCKSIZE
almost-MTU block sizes.
You can also activate CONFIG_IP_DEFRAG to set a larger block.
+config TFTP_WINDOWSIZE
+ int "TFTP window size"
+ default 1
+ help
+ Default TFTP window size.
+ RFC7440 defines an optional window size of transmits,
+ before an ack response is required.
+ The default TFTP implementation implies a window size of 1.
+
endif # if NET
diff --git a/net/tftp.c b/net/tftp.c
index c05b7b5532..84e970bec1 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -5,7 +5,6 @@
* Copyright 2011 Comelit Group SpA,
* Luca Ceresoli <luca.ceresoli(a)comelit.it>
*/
-
#include <common.h>
#include <command.h>
#include <efi_loader.h>
@@ -98,6 +97,12 @@ static int tftp_tsize;
/* The number of hashes we printed */
static short tftp_tsize_num_hash;
#endif
+/* The window size negotiated */
+static ushort tftp_windowsize;
+/* Next block to send ack to */
+static ushort tftp_next_ack;
+/* Last nack block we send */
+static ushort tftp_last_nack;
#ifdef CONFIG_CMD_TFTPPUT
/* 1 if writing, else 0 */
static int tftp_put_active;
@@ -138,8 +143,19 @@ static char tftp_filename[MAX_LEN];
* (but those using CONFIG_IP_DEFRAG may want to set a larger block in cfg file)
*/
+/* When windowsize is defined to 1,
+ * tftp behaves the same way as it was
+ * never declared
+ */
+#ifdef CONFIG_TFTP_WINDOWSIZE
+#define TFTP_WINDOWSIZE CONFIG_TFTP_WINDOWSIZE
+#else
+#define TFTP_WINDOWSIZE 1
+#endif
+
static unsigned short tftp_block_size = TFTP_BLOCK_SIZE;
static unsigned short tftp_block_size_option = CONFIG_TFTP_BLOCKSIZE;
+static unsigned short tftp_window_size_option = TFTP_WINDOWSIZE;
static inline int store_block(int block, uchar *src, unsigned int len)
{
@@ -356,6 +372,14 @@ static void tftp_send(void)
/* try for more effic. blk size */
pkt += sprintf((char *)pkt, "blksize%c%d%c",
0, tftp_block_size_option, 0);
+
+ /* try for more effic. window size.
+ * Implemented only for tftp get.
+ * Don't bother sending if it's 1
+ */
+ if (tftp_state == STATE_SEND_RRQ && tftp_window_size_option > 1)
+ pkt += sprintf((char *)pkt, "windowsize%c%d%c",
+ 0, tftp_window_size_option, 0);
len = pkt - xp;
break;
@@ -550,7 +574,17 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
(char *)pkt + i + 6, tftp_tsize);
}
#endif
+ if (strcasecmp((char *)pkt + i, "windowsize") == 0) {
+ tftp_windowsize =
+ simple_strtoul((char *)pkt + i + 11,
+ NULL, 10);
+ debug("windowsize = %s, %d\n",
+ (char *)pkt + i + 11, tftp_windowsize);
+ }
}
+
+ tftp_next_ack = tftp_windowsize;
+
#ifdef CONFIG_CMD_TFTPPUT
if (tftp_put_active && tftp_state == STATE_OACK) {
/* Get ready to send the first block */
@@ -564,7 +598,28 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
if (len < 2)
return;
len -= 2;
- tftp_cur_block = ntohs(*(__be16 *)pkt);
+
+ if (ntohs(*(__be16 *)pkt) != (ushort)(tftp_cur_block + 1)) {
+ debug("Received unexpected block: %d, expected: %d\n",
+ ntohs(*(__be16 *)pkt),
+ (ushort)(tftp_cur_block + 1));
+ /*
+ * If one packet is dropped most likely
+ * all other buffers in the window
+ * that will arrive will cause a sending NACK.
+ * This just overwellms the server, let's just send one.
+ */
+ if (tftp_last_nack != tftp_cur_block) {
+ tftp_send();
+ tftp_last_nack = tftp_cur_block;
+ tftp_next_ack = (ushort)(tftp_cur_block +
+ tftp_windowsize);
+ }
+ break;
+ }
+
+ tftp_cur_block++;
+ tftp_cur_block %= TFTP_SEQUENCE_SIZE;
if (tftp_state == STATE_SEND_RRQ)
debug("Server did not acknowledge any options!\n");
@@ -606,10 +661,15 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
* Acknowledge the block just received, which will prompt
* the remote for the next one.
*/
- tftp_send();
+ if (tftp_cur_block == tftp_next_ack) {
+ tftp_send();
+ tftp_next_ack += tftp_windowsize;
+ }
- if (len < tftp_block_size)
+ if (len < tftp_block_size) {
+ tftp_send();
tftp_complete();
+ }
break;
case TFTP_ERROR:
@@ -683,6 +743,10 @@ void tftp_start(enum proto_t protocol)
if (ep != NULL)
tftp_block_size_option = simple_strtol(ep, NULL, 10);
+ ep = env_get("tftpwindowsize");
+ if (ep != NULL)
+ tftp_window_size_option = simple_strtol(ep, NULL, 10);
+
ep = env_get("tftptimeout");
if (ep != NULL)
timeout_ms = simple_strtol(ep, NULL, 10);
@@ -704,8 +768,8 @@ void tftp_start(enum proto_t protocol)
}
#endif
- debug("TFTP blocksize = %i, timeout = %ld ms\n",
- tftp_block_size_option, timeout_ms);
+ debug("TFTP blocksize = %i, TFTP windowsize = %d timeout = %ld ms\n",
+ tftp_block_size_option, tftp_window_size_option, timeout_ms);
tftp_remote_ip = net_server_ip;
if (!net_parse_bootfile(&tftp_remote_ip, tftp_filename, MAX_LEN)) {
@@ -801,7 +865,8 @@ void tftp_start(enum proto_t protocol)
tftp_our_port = simple_strtol(ep, NULL, 10);
#endif
tftp_cur_block = 0;
-
+ tftp_windowsize = 1;
+ tftp_last_nack = 0;
/* zero out server ether in case the server ip has changed */
memset(net_server_ethaddr, 0, 6);
/* Revert tftp_block_size to dflt */
--
2.27.0
4
10

15 Feb '21
This series continues the removal of include files in the common.h header.
Simon Glass (4):
common: Drop asm/global_data.h from common header
common: Drop display_options.h from common header
common: Drop linux/printk.h from common header
Fix code style for time functions
arch/arc/lib/bootm.c | 1 +
arch/arc/lib/cache.c | 1 +
arch/arc/lib/cpu.c | 1 +
arch/arc/lib/relocate.c | 1 +
arch/arm/cpu/arm1136/mx35/generic.c | 1 +
arch/arm/cpu/arm920t/imx/timer.c | 2 +-
arch/arm/cpu/arm926ejs/armada100/dram.c | 1 +
arch/arm/cpu/arm926ejs/armada100/timer.c | 1 +
arch/arm/cpu/arm926ejs/mx25/generic.c | 1 +
arch/arm/cpu/arm926ejs/mx27/timer.c | 1 +
arch/arm/cpu/arm926ejs/mxs/mxs.c | 1 +
arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 1 +
arch/arm/cpu/arm926ejs/mxs/timer.c | 1 +
arch/arm/cpu/arm926ejs/spear/spr_misc.c | 1 +
arch/arm/cpu/arm926ejs/spear/timer.c | 1 +
arch/arm/cpu/armv7/arch_timer.c | 1 +
arch/arm/cpu/armv7/ls102xa/clock.c | 1 +
arch/arm/cpu/armv7/ls102xa/cpu.c | 1 +
arch/arm/cpu/armv7/ls102xa/fdt.c | 1 +
arch/arm/cpu/armv7/ls102xa/timer.c | 1 +
arch/arm/cpu/armv7/s5p-common/cpu_info.c | 2 +
arch/arm/cpu/armv7/s5p-common/timer.c | 1 +
arch/arm/cpu/armv7/s5p4418/cpu.c | 1 +
arch/arm/cpu/armv7/stv0991/timer.c | 1 +
arch/arm/cpu/armv7/sunxi/timer.c | 1 +
arch/arm/cpu/armv7/vf610/generic.c | 1 +
arch/arm/cpu/armv7/vf610/timer.c | 1 +
arch/arm/cpu/armv7m/systick-timer.c | 1 +
arch/arm/cpu/armv8/cache_v8.c | 1 +
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 1 +
.../armv8/fsl-layerscape/fsl_lsch2_speed.c | 1 +
.../armv8/fsl-layerscape/fsl_lsch3_speed.c | 1 +
arch/arm/cpu/armv8/fsl-layerscape/mp.c | 1 +
arch/arm/cpu/armv8/fsl-layerscape/ppa.c | 1 +
arch/arm/cpu/armv8/fsl-layerscape/spl.c | 1 +
arch/arm/cpu/armv8/generic_timer.c | 1 +
arch/arm/cpu/armv8/s32v234/generic.c | 1 +
arch/arm/cpu/armv8/sec_firmware.c | 1 +
arch/arm/cpu/sa1100/timer.c | 2 +-
arch/arm/include/asm/arch-rockchip/clock.h | 2 +
arch/arm/include/asm/arch-tegra/clock.h | 2 +
arch/arm/include/asm/arch-tegra/tegra_i2c.h | 2 +
arch/arm/include/asm/global_data.h | 3 +
arch/arm/include/asm/mach-imx/video.h | 4 +-
arch/arm/include/asm/secure.h | 1 +
arch/arm/include/asm/spl.h | 1 +
arch/arm/include/asm/string.h | 2 -
arch/arm/include/asm/ti-common/sys_proto.h | 2 +
arch/arm/lib/bdinfo.c | 1 +
arch/arm/lib/bootm-fdt.c | 1 +
arch/arm/lib/bootm.c | 1 +
arch/arm/lib/cache-cp15.c | 1 +
arch/arm/lib/cache.c | 1 +
arch/arm/lib/gic-v3-its.c | 1 +
arch/arm/lib/image.c | 1 +
arch/arm/lib/interrupts.c | 1 +
arch/arm/lib/interrupts_64.c | 1 +
arch/arm/lib/spl.c | 1 +
arch/arm/lib/stack.c | 1 +
arch/arm/mach-aspeed/ast2500/board_common.c | 1 +
arch/arm/mach-at91/arm920t/clock.c | 1 +
arch/arm/mach-at91/arm920t/timer.c | 1 +
arch/arm/mach-at91/arm926ejs/clock.c | 1 +
arch/arm/mach-at91/arm926ejs/eflash.c | 1 +
arch/arm/mach-at91/arm926ejs/timer.c | 1 +
arch/arm/mach-at91/armv7/clock.c | 1 +
arch/arm/mach-at91/armv7/timer.c | 1 +
arch/arm/mach-at91/spl_at91.c | 1 +
arch/arm/mach-bcm283x/init.c | 1 +
arch/arm/mach-davinci/cpu.c | 1 +
arch/arm/mach-davinci/misc.c | 1 +
arch/arm/mach-davinci/timer.c | 1 +
arch/arm/mach-exynos/spl_boot.c | 1 +
arch/arm/mach-imx/hab.c | 1 +
arch/arm/mach-imx/imx8/ahab.c | 1 +
arch/arm/mach-imx/imx8/clock.c | 1 +
arch/arm/mach-imx/imx8/cpu.c | 1 +
arch/arm/mach-imx/imx8/fdt.c | 2 +
arch/arm/mach-imx/imx8/iomux.c | 1 +
arch/arm/mach-imx/imx8/snvs_security_sc.c | 1 +
arch/arm/mach-imx/imx8m/clock_imx8mm.c | 1 +
arch/arm/mach-imx/imx8m/soc.c | 1 +
arch/arm/mach-imx/misc.c | 1 +
arch/arm/mach-imx/mx5/mx53_dram.c | 1 +
arch/arm/mach-imx/mx6/litesom.c | 1 +
arch/arm/mach-imx/mx6/opos6ul.c | 1 +
arch/arm/mach-imx/mx7/clock.c | 1 +
arch/arm/mach-imx/mx7ulp/clock.c | 1 +
arch/arm/mach-imx/speed.c | 1 +
arch/arm/mach-imx/spl.c | 1 +
arch/arm/mach-imx/spl_imx_romapi.c | 1 +
arch/arm/mach-imx/syscounter.c | 1 +
arch/arm/mach-k3/am6_init.c | 1 +
arch/arm/mach-k3/common.c | 2 +
arch/arm/mach-k3/sysfw-loader.c | 1 +
arch/arm/mach-mediatek/mt7623/init.c | 1 +
arch/arm/mach-mediatek/mt7629/init.c | 1 +
arch/arm/mach-mediatek/mt8512/init.c | 1 +
arch/arm/mach-mediatek/mt8516/init.c | 1 +
arch/arm/mach-mediatek/mt8518/init.c | 1 +
arch/arm/mach-meson/board-axg.c | 1 +
arch/arm/mach-meson/board-common.c | 1 +
arch/arm/mach-meson/board-g12a.c | 1 +
arch/arm/mach-meson/board-gx.c | 2 +
arch/arm/mach-meson/board-info.c | 1 +
arch/arm/mach-meson/sm.c | 1 +
arch/arm/mach-mvebu/arm64-common.c | 1 +
arch/arm/mach-mvebu/armada3700/cpu.c | 1 +
arch/arm/mach-mvebu/armada8k/dram.c | 1 +
arch/arm/mach-mvebu/dram.c | 1 +
arch/arm/mach-mvebu/spl.c | 1 +
arch/arm/mach-nexell/cmd_boot_linux.c | 1 +
arch/arm/mach-octeontx/cpu.c | 1 +
arch/arm/mach-octeontx2/cpu.c | 1 +
arch/arm/mach-omap2/am33xx/board.c | 2 +
arch/arm/mach-omap2/boot-common.c | 1 +
arch/arm/mach-omap2/hwinit-common.c | 1 +
arch/arm/mach-omap2/omap-cache.c | 1 +
arch/arm/mach-omap2/omap3/am35x_musb.c | 1 +
arch/arm/mach-omap2/omap3/emif4.c | 1 +
arch/arm/mach-omap2/omap3/sdrc.c | 1 +
arch/arm/mach-omap2/timer.c | 1 +
arch/arm/mach-omap2/utils.c | 1 +
arch/arm/mach-orion5x/dram.c | 1 +
arch/arm/mach-orion5x/timer.c | 1 +
arch/arm/mach-owl/soc.c | 1 +
arch/arm/mach-rmobile/memmap-gen3.c | 1 +
arch/arm/mach-rockchip/board.c | 1 +
arch/arm/mach-rockchip/boot_mode.c | 1 +
arch/arm/mach-rockchip/rk3036-board-spl.c | 1 +
arch/arm/mach-rockchip/rk3036/rk3036.c | 1 +
arch/arm/mach-rockchip/rk3128/rk3128.c | 1 +
arch/arm/mach-rockchip/rk3188/rk3188.c | 2 +
arch/arm/mach-rockchip/rk3288/rk3288.c | 1 +
arch/arm/mach-rockchip/rk3308/rk3308.c | 1 +
arch/arm/mach-rockchip/rk3328/rk3328.c | 1 +
arch/arm/mach-rockchip/rk3368/rk3368.c | 1 +
arch/arm/mach-rockchip/rk3399/rk3399.c | 2 +
arch/arm/mach-rockchip/sdram.c | 1 +
arch/arm/mach-rockchip/spl-boot-order.c | 1 +
arch/arm/mach-rockchip/spl.c | 1 +
arch/arm/mach-snapdragon/pinctrl-snapdragon.h | 2 +-
arch/arm/mach-socfpga/board.c | 1 +
arch/arm/mach-socfpga/clock_manager.c | 1 +
arch/arm/mach-socfpga/clock_manager_agilex.c | 1 +
arch/arm/mach-socfpga/clock_manager_s10.c | 1 +
arch/arm/mach-socfpga/mailbox_s10.c | 1 +
arch/arm/mach-socfpga/misc.c | 2 +
arch/arm/mach-socfpga/misc_gen5.c | 1 +
arch/arm/mach-socfpga/misc_s10.c | 1 +
arch/arm/mach-socfpga/mmu-arm64_s10.c | 1 +
arch/arm/mach-socfpga/reset_manager_arria10.c | 1 +
arch/arm/mach-socfpga/reset_manager_s10.c | 1 +
arch/arm/mach-socfpga/spl_a10.c | 1 +
arch/arm/mach-socfpga/spl_agilex.c | 1 +
arch/arm/mach-socfpga/spl_gen5.c | 1 +
arch/arm/mach-socfpga/spl_s10.c | 1 +
arch/arm/mach-socfpga/system_manager_s10.c | 1 +
arch/arm/mach-stm32mp/boot_params.c | 1 +
arch/arm/mach-stm32mp/bsec.c | 1 +
arch/arm/mach-stm32mp/cmd_stm32key.c | 1 +
.../cmd_stm32prog/cmd_stm32prog.c | 1 +
.../mach-stm32mp/cmd_stm32prog/stm32prog.c | 2 +
.../mach-stm32mp/cmd_stm32prog/stm32prog.h | 2 +
.../cmd_stm32prog/stm32prog_serial.c | 2 +
.../cmd_stm32prog/stm32prog_usb.c | 1 +
arch/arm/mach-stm32mp/cpu.c | 2 +
arch/arm/mach-stm32mp/dram_init.c | 1 +
arch/arm/mach-stm32mp/fdt.c | 1 +
.../mach-stm32mp/include/mach/stm32mp1_smc.h | 1 +
arch/arm/mach-stm32mp/spl.c | 1 +
arch/arm/mach-tegra/board.c | 1 +
arch/arm/mach-tegra/board2.c | 1 +
arch/arm/mach-tegra/cboot.c | 2 +
arch/arm/mach-tegra/emc.c | 1 +
arch/arm/mach-tegra/ivc.c | 1 +
arch/arm/mach-tegra/pmc.c | 1 +
arch/arm/mach-tegra/tegra124/xusb-padctl.c | 2 +
arch/arm/mach-tegra/tegra20/clock.c | 1 +
arch/arm/mach-tegra/tegra20/warmboot.c | 1 +
arch/arm/mach-tegra/tegra210/xusb-padctl.c | 2 +
arch/arm/mach-tegra/tegra30/clock.c | 1 +
arch/arm/mach-tegra/xusb-padctl-common.c | 1 +
arch/arm/mach-uniphier/board_late_init.c | 1 +
.../mach-uniphier/boot-device/boot-device.c | 1 +
arch/arm/mach-uniphier/clk/dpll-ld4.c | 1 +
arch/arm/mach-uniphier/clk/dpll-pro4.c | 1 +
arch/arm/mach-uniphier/dram/umc-ld4.c | 1 +
arch/arm/mach-uniphier/dram/umc-pro4.c | 1 +
arch/arm/mach-uniphier/dram/umc-sld8.c | 1 +
arch/arm/mach-uniphier/memconf.c | 1 +
arch/arm/mach-uniphier/spl_board_init.c | 1 +
arch/arm/mach-versal/clk.c | 1 +
arch/arm/mach-versal/cpu.c | 1 +
arch/arm/mach-versal/mp.c | 1 +
arch/arm/mach-zynq/clk.c | 1 +
arch/arm/mach-zynq/timer.c | 1 +
arch/arm/mach-zynqmp-r5/cpu.c | 1 +
arch/arm/mach-zynqmp/clk.c | 1 +
arch/arm/mach-zynqmp/cpu.c | 1 +
arch/m68k/cpu/mcf5227x/cpu.c | 1 +
arch/m68k/cpu/mcf5227x/speed.c | 1 +
arch/m68k/cpu/mcf523x/cpu.c | 1 +
arch/m68k/cpu/mcf523x/speed.c | 1 +
arch/m68k/cpu/mcf52x2/cpu.c | 1 +
arch/m68k/cpu/mcf52x2/speed.c | 1 +
arch/m68k/cpu/mcf530x/speed.c | 1 +
arch/m68k/cpu/mcf532x/cpu.c | 1 +
arch/m68k/cpu/mcf532x/speed.c | 1 +
arch/m68k/cpu/mcf5445x/cpu.c | 1 +
arch/m68k/cpu/mcf5445x/speed.c | 1 +
arch/m68k/cpu/mcf547x_8x/cpu.c | 1 +
arch/m68k/cpu/mcf547x_8x/slicetimer.c | 1 +
arch/m68k/cpu/mcf547x_8x/speed.c | 1 +
arch/m68k/include/asm/immap.h | 1 +
arch/m68k/lib/bdinfo.c | 1 +
arch/m68k/lib/bootm.c | 1 +
arch/m68k/lib/fec.c | 1 +
arch/m68k/lib/time.c | 1 +
arch/microblaze/cpu/interrupts.c | 1 +
arch/microblaze/cpu/timer.c | 3 +-
arch/microblaze/lib/bootm.c | 1 +
arch/mips/include/asm/io.h | 1 +
arch/mips/include/asm/spl.h | 1 +
arch/mips/lib/boot.c | 1 +
arch/mips/lib/bootm.c | 1 +
arch/mips/lib/cache.c | 1 +
arch/mips/lib/reloc.c | 1 +
arch/mips/lib/stack.c | 1 +
arch/mips/lib/traps.c | 1 +
arch/mips/mach-ath79/ar933x/clk.c | 1 +
arch/mips/mach-ath79/ar934x/clk.c | 1 +
arch/mips/mach-ath79/ar934x/ddr.c | 1 +
arch/mips/mach-ath79/cpu.c | 1 +
arch/mips/mach-ath79/dram.c | 1 +
arch/mips/mach-ath79/include/mach/ath79.h | 1 +
arch/mips/mach-ath79/qca953x/clk.c | 1 +
arch/mips/mach-ath79/qca956x/clk.c | 1 +
arch/mips/mach-ath79/qca956x/ddr.c | 1 +
arch/mips/mach-bmips/dram.c | 1 +
arch/mips/mach-jz47xx/jz4780/jz4780.c | 1 +
arch/mips/mach-mscc/cpu.c | 1 +
arch/mips/mach-mscc/dram.c | 1 +
arch/mips/mach-mtmips/cpu.c | 1 +
arch/mips/mach-mtmips/ddr_cal.c | 1 +
arch/mips/mach-mtmips/mt7628/ddr.c | 1 +
arch/mips/mach-mtmips/mt7628/init.c | 1 +
arch/mips/mach-mtmips/spl.c | 2 +-
arch/mips/mach-octeon/bootoctlinux.c | 1 +
arch/mips/mach-pic32/cpu.c | 1 +
arch/nds32/lib/bootm.c | 1 +
arch/nios2/cpu/cpu.c | 1 +
arch/nios2/include/asm/io.h | 3 +
arch/nios2/lib/cache.c | 1 +
arch/powerpc/cpu/mpc83xx/cpu.c | 1 +
arch/powerpc/cpu/mpc83xx/cpu_init.c | 1 +
arch/powerpc/cpu/mpc83xx/fdt.c | 1 +
arch/powerpc/cpu/mpc83xx/interrupts.c | 1 +
arch/powerpc/cpu/mpc83xx/pci.c | 1 +
arch/powerpc/cpu/mpc83xx/pcie.c | 1 +
arch/powerpc/cpu/mpc83xx/spd_sdram.c | 1 +
arch/powerpc/cpu/mpc83xx/speed.c | 1 +
arch/powerpc/cpu/mpc83xx/spl_minimal.c | 1 +
arch/powerpc/cpu/mpc83xx/traps.c | 1 +
arch/powerpc/cpu/mpc85xx/commproc.c | 1 +
arch/powerpc/cpu/mpc85xx/cpu.c | 2 +
arch/powerpc/cpu/mpc85xx/cpu_init.c | 1 +
arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 1 +
arch/powerpc/cpu/mpc85xx/fdt.c | 1 +
arch/powerpc/cpu/mpc85xx/mp.c | 1 +
arch/powerpc/cpu/mpc85xx/serial_scc.c | 1 +
arch/powerpc/cpu/mpc85xx/speed.c | 1 +
arch/powerpc/cpu/mpc85xx/tlb.c | 2 +
arch/powerpc/cpu/mpc85xx/traps.c | 1 +
arch/powerpc/cpu/mpc86xx/cpu.c | 2 +
arch/powerpc/cpu/mpc86xx/cpu_init.c | 1 +
arch/powerpc/cpu/mpc86xx/fdt.c | 1 +
arch/powerpc/cpu/mpc86xx/mp.c | 1 +
arch/powerpc/cpu/mpc86xx/speed.c | 1 +
arch/powerpc/cpu/mpc86xx/traps.c | 1 +
arch/powerpc/cpu/mpc8xx/cpu.c | 2 +
arch/powerpc/cpu/mpc8xx/fdt.c | 1 +
arch/powerpc/cpu/mpc8xx/immap.c | 1 +
arch/powerpc/cpu/mpc8xx/speed.c | 1 +
arch/powerpc/cpu/mpc8xxx/cpu.c | 1 +
arch/powerpc/cpu/mpc8xxx/law.c | 2 +
arch/powerpc/cpu/mpc8xxx/pamu_table.c | 1 +
arch/powerpc/lib/bat_rw.c | 1 +
arch/powerpc/lib/bdinfo.c | 1 +
arch/powerpc/lib/bootm.c | 1 +
arch/powerpc/lib/interrupts.c | 2 +-
arch/powerpc/lib/stack.c | 1 +
arch/powerpc/lib/time.c | 5 +-
arch/riscv/cpu/fu540/cache.c | 1 +
arch/riscv/cpu/fu540/dram.c | 1 +
arch/riscv/cpu/generic/dram.c | 1 +
arch/riscv/lib/andes_plic.c | 1 +
arch/riscv/lib/asm-offsets.c | 1 +
arch/riscv/lib/bootm.c | 1 +
arch/riscv/lib/fdt_fixup.c | 1 +
arch/riscv/lib/image.c | 1 +
arch/riscv/lib/interrupts.c | 1 +
arch/riscv/lib/sifive_clint.c | 1 +
arch/riscv/lib/smp.c | 2 +
arch/riscv/lib/spl.c | 1 +
arch/sandbox/cpu/cpu.c | 1 +
arch/sandbox/cpu/spl.c | 1 +
arch/sandbox/cpu/start.c | 1 +
arch/sh/lib/board.c | 1 +
arch/x86/cpu/apollolake/cpu_spl.c | 1 +
arch/x86/cpu/apollolake/fsp_s.c | 1 +
arch/x86/cpu/baytrail/fsp_configs.c | 1 +
arch/x86/cpu/braswell/fsp_configs.c | 1 +
arch/x86/cpu/broadwell/cpu.c | 1 +
arch/x86/cpu/broadwell/cpu_from_spl.c | 1 +
arch/x86/cpu/broadwell/cpu_full.c | 1 +
arch/x86/cpu/broadwell/lpc.c | 1 +
arch/x86/cpu/broadwell/northbridge.c | 1 +
arch/x86/cpu/broadwell/pch.c | 1 +
arch/x86/cpu/broadwell/pinctrl_broadwell.c | 1 +
arch/x86/cpu/broadwell/refcode.c | 1 +
arch/x86/cpu/broadwell/sata.c | 1 +
arch/x86/cpu/broadwell/sdram.c | 1 +
arch/x86/cpu/coreboot/coreboot.c | 1 +
arch/x86/cpu/coreboot/sdram.c | 1 +
arch/x86/cpu/coreboot/tables.c | 1 +
arch/x86/cpu/cpu.c | 1 +
arch/x86/cpu/cpu_x86.c | 1 +
arch/x86/cpu/efi/payload.c | 1 +
arch/x86/cpu/efi/sdram.c | 1 +
arch/x86/cpu/i386/cpu.c | 1 +
arch/x86/cpu/i386/interrupt.c | 1 +
arch/x86/cpu/intel_common/acpi.c | 1 +
arch/x86/cpu/intel_common/cpu.c | 1 +
arch/x86/cpu/intel_common/cpu_from_spl.c | 1 +
arch/x86/cpu/intel_common/itss.c | 1 +
arch/x86/cpu/intel_common/lpc.c | 1 +
arch/x86/cpu/intel_common/microcode.c | 1 +
arch/x86/cpu/intel_common/mrc.c | 1 +
arch/x86/cpu/irq.c | 1 +
arch/x86/cpu/ivybridge/bd82x6x.c | 1 +
arch/x86/cpu/ivybridge/cpu.c | 1 +
arch/x86/cpu/ivybridge/fsp_configs.c | 1 +
arch/x86/cpu/ivybridge/lpc.c | 1 +
arch/x86/cpu/ivybridge/model_206ax.c | 1 +
arch/x86/cpu/ivybridge/northbridge.c | 1 +
arch/x86/cpu/ivybridge/sata.c | 1 +
arch/x86/cpu/ivybridge/sdram_nop.c | 1 +
arch/x86/cpu/mp_init.c | 1 +
arch/x86/cpu/mtrr.c | 1 +
arch/x86/cpu/qemu/dram.c | 1 +
arch/x86/cpu/qemu/e820.c | 1 +
arch/x86/cpu/quark/acpi.c | 1 +
arch/x86/cpu/quark/dram.c | 1 +
arch/x86/cpu/slimbootloader/sdram.c | 1 +
arch/x86/cpu/slimbootloader/serial.c | 1 +
arch/x86/cpu/slimbootloader/slimbootloader.c | 1 +
arch/x86/cpu/tangier/pinmux.c | 1 +
arch/x86/cpu/tangier/sdram.c | 1 +
arch/x86/cpu/turbo.c | 1 +
arch/x86/cpu/x86_64/cpu.c | 1 +
arch/x86/include/asm/cpu_common.h | 1 +
arch/x86/include/asm/fast_spi.h | 4 +-
arch/x86/include/asm/io.h | 2 +-
arch/x86/include/asm/mp.h | 2 +
arch/x86/include/asm/mrccache.h | 2 +
arch/x86/include/asm/u-boot-x86.h | 1 +
arch/x86/lib/acpi_s3.c | 1 +
arch/x86/lib/acpi_table.c | 1 +
arch/x86/lib/asm-offsets.c | 1 +
arch/x86/lib/bios.c | 1 +
arch/x86/lib/bootm.c | 1 +
arch/x86/lib/cmd_boot.c | 1 +
arch/x86/lib/coreboot_table.c | 1 +
arch/x86/lib/e820.c | 1 +
arch/x86/lib/fsp/fsp_common.c | 1 +
arch/x86/lib/fsp/fsp_dram.c | 1 +
arch/x86/lib/fsp/fsp_graphics.c | 1 +
arch/x86/lib/fsp1/fsp_common.c | 1 +
arch/x86/lib/fsp1/fsp_dram.c | 1 +
arch/x86/lib/fsp2/fsp_dram.c | 1 +
arch/x86/lib/fsp2/fsp_meminit.c | 1 +
arch/x86/lib/fsp2/fsp_silicon_init.c | 1 +
arch/x86/lib/fsp2/fsp_support.c | 1 +
arch/x86/lib/init_helpers.c | 1 +
arch/x86/lib/mpspec.c | 1 +
arch/x86/lib/mrccache.c | 1 +
arch/x86/lib/physmem.c | 1 +
arch/x86/lib/pinctrl_ich6.c | 1 +
arch/x86/lib/pirq_routing.c | 1 +
arch/x86/lib/relocate.c | 1 +
arch/x86/lib/spl.c | 1 +
arch/x86/lib/tables.c | 1 +
arch/x86/lib/tpl.c | 1 +
arch/xtensa/lib/bootm.c | 1 +
board/AndesTech/adp-ae3xx/adp-ae3xx.c | 1 +
board/AndesTech/adp-ag101p/adp-ag101p.c | 1 +
board/AndesTech/ax25-ae350/ax25-ae350.c | 1 +
board/Arcturus/ucp1020/spl.c | 1 +
board/BuR/brppt1/board.c | 1 +
board/BuR/brppt2/board.c | 1 +
board/BuR/brsmarc1/board.c | 1 +
board/BuR/brxre1/board.c | 1 +
board/BuR/common/common.c | 1 +
board/BuS/eb_cpu5282/eb_cpu5282.c | 1 +
board/CZ.NIC/turris_mox/turris_mox.c | 1 +
board/CZ.NIC/turris_omnia/turris_omnia.c | 1 +
board/CarMediaLab/flea3/flea3.c | 1 +
board/LaCie/edminiv2/edminiv2.c | 1 +
board/LaCie/net2big_v2/net2big_v2.c | 1 +
board/LaCie/netspace_v2/netspace_v2.c | 1 +
board/Marvell/aspenite/aspenite.c | 1 +
board/Marvell/db-88f6281-bp/db-88f6281-bp.c | 1 +
board/Marvell/db-88f6720/db-88f6720.c | 1 +
board/Marvell/db-88f6820-amc/db-88f6820-amc.c | 1 +
board/Marvell/db-88f6820-gp/db-88f6820-gp.c | 1 +
board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c | 1 +
board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c | 1 +
board/Marvell/dreamplug/dreamplug.c | 1 +
board/Marvell/gplugd/gplugd.c | 1 +
board/Marvell/guruplug/guruplug.c | 1 +
board/Marvell/mvebu_armada-37xx/board.c | 1 +
board/Marvell/mvebu_armada-8k/board.c | 1 +
board/Marvell/octeontx/board.c | 2 +
board/Marvell/octeontx2/board.c | 2 +
board/Marvell/openrd/openrd.c | 1 +
board/Marvell/sheevaplug/sheevaplug.c | 1 +
board/Seagate/dockstar/dockstar.c | 1 +
board/Seagate/goflexhome/goflexhome.c | 1 +
board/Seagate/nas220/nas220.c | 1 +
board/Synology/ds109/ds109.c | 1 +
board/Synology/ds414/ds414.c | 1 +
board/advantech/dms-ba16/dms-ba16.c | 1 +
.../imx8qm_rom7720_a1/imx8qm_rom7720_a1.c | 1 +
board/advantech/imx8qm_rom7720_a1/spl.c | 1 +
board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c | 1 +
.../alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c | 1 +
board/alliedtelesis/common/gpio_hog.c | 1 +
board/alliedtelesis/x530/x530.c | 1 +
board/amazon/kc1/kc1.c | 1 +
board/amlogic/vim3/vim3.c | 1 +
board/aristainetos/aristainetos.c | 1 +
board/armadeus/apf27/apf27.c | 1 +
board/armltd/integrator/integrator.c | 1 +
board/armltd/integrator/timer.c | 2 +-
board/armltd/total_compute/total_compute.c | 1 +
board/armltd/vexpress/vexpress_common.c | 1 +
board/armltd/vexpress64/vexpress64.c | 1 +
board/astro/mcf5373l/mcf5373l.c | 1 +
.../armadillo-800eva/armadillo-800eva.c | 1 +
board/atmel/at91rm9200ek/at91rm9200ek.c | 1 +
board/atmel/at91sam9260ek/at91sam9260ek.c | 1 +
board/atmel/at91sam9261ek/at91sam9261ek.c | 1 +
board/atmel/at91sam9263ek/at91sam9263ek.c | 1 +
.../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 1 +
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 1 +
board/atmel/at91sam9rlek/at91sam9rlek.c | 1 +
board/atmel/at91sam9x5ek/at91sam9x5ek.c | 1 +
board/atmel/common/video_display.c | 1 +
board/atmel/sam9x60ek/sam9x60ek.c | 1 +
.../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c | 1 +
.../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c | 1 +
board/atmel/sama5d2_icp/sama5d2_icp.c | 1 +
board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c | 1 +
.../atmel/sama5d2_xplained/sama5d2_xplained.c | 1 +
.../atmel/sama5d3_xplained/sama5d3_xplained.c | 1 +
board/atmel/sama5d3xek/sama5d3xek.c | 1 +
.../atmel/sama5d4_xplained/sama5d4_xplained.c | 1 +
board/atmel/sama5d4ek/sama5d4ek.c | 1 +
board/bachmann/ot1200/ot1200.c | 1 +
board/barco/platinum/platinum.c | 1 +
board/barco/titanium/titanium.c | 1 +
board/beacon/beacon-rzg2m/beacon-rzg2m.c | 1 +
board/beacon/imx8mm/imx8mm_beacon.c | 1 +
board/beacon/imx8mm/spl.c | 1 +
board/beckhoff/mx53cx9020/mx53cx9020.c | 1 +
board/bluegiga/apx4devkit/apx4devkit.c | 1 +
board/bluewater/gurnard/gurnard.c | 1 +
board/bluewater/snapper9260/snapper9260.c | 1 +
board/bosch/guardian/board.c | 1 +
board/bosch/shc/board.c | 1 +
board/boundary/nitrogen6x/nitrogen6x.c | 1 +
board/broadcom/bcm23550_w1d/bcm23550_w1d.c | 1 +
board/broadcom/bcm28155_ap/bcm28155_ap.c | 1 +
board/broadcom/bcm_ep/board.c | 1 +
board/broadcom/bcmns2/northstar2.c | 1 +
board/broadcom/bcmns3/ns3.c | 1 +
board/broadcom/bcmstb/bcmstb.c | 1 +
board/bticino/mamoj/mamoj.c | 1 +
board/bticino/mamoj/spl.c | 1 +
board/buffalo/lsxl/lsxl.c | 1 +
board/calao/usb_a9263/usb_a9263.c | 1 +
board/cavium/thunderx/thunderx.c | 1 +
board/ccv/xpress/xpress.c | 1 +
board/cirrus/edb93xx/edb93xx.c | 1 +
board/cloudengines/pogo_e02/pogo_e02.c | 1 +
board/cobra5272/cobra5272.c | 1 +
board/compulab/cl-som-imx7/cl-som-imx7.c | 1 +
board/compulab/cm_fx6/cm_fx6.c | 1 +
board/compulab/cm_t335/cm_t335.c | 1 +
board/compulab/cm_t43/cm_t43.c | 1 +
board/congatec/cgtqmx6eval/cgtqmx6eval.c | 1 +
board/corscience/tricorder/tricorder-eeprom.c | 1 +
board/corscience/tricorder/tricorder.c | 1 +
board/cortina/presidio-asic/presidio.c | 1 +
board/creative/xfi3/xfi3.c | 1 +
board/cssi/MCR3000/MCR3000.c | 1 +
board/d-link/dns325/dns325.c | 1 +
board/davinci/da8xxevm/da850evm.c | 1 +
board/davinci/da8xxevm/omapl138_lcdk.c | 1 +
board/dhelectronics/dh_imx6/dh_imx6.c | 1 +
board/dhelectronics/dh_stm32mp1/board.c | 2 +
board/ea/mx7ulp_com/mx7ulp_com.c | 1 +
board/eets/pdu001/board.c | 1 +
board/egnite/ethernut5/ethernut5.c | 1 +
board/el/el6x/el6x.c | 1 +
board/elgin/elgin_rv1108/elgin_rv1108.c | 1 +
board/embest/mx6boards/mx6boards.c | 1 +
board/engicam/common/board.c | 1 +
board/esd/meesc/meesc.c | 1 +
board/esd/vme8349/vme8349.c | 1 +
board/firefly/firefly-rk3288/firefly-rk3288.c | 1 +
board/freescale/common/arm_sleep.c | 1 +
board/freescale/common/emc2305.c | 1 +
board/freescale/common/mpc85xx_sleep.c | 1 +
board/freescale/corenet_ds/corenet_ds.c | 1 +
board/freescale/corenet_ds/ddr.c | 1 +
board/freescale/imx8mm_evk/imx8mm_evk.c | 1 +
board/freescale/imx8mm_evk/spl.c | 1 +
board/freescale/imx8mn_evk/imx8mn_evk.c | 1 +
board/freescale/imx8mn_evk/spl.c | 1 +
board/freescale/imx8mp_evk/imx8mp_evk.c | 1 +
board/freescale/imx8mp_evk/spl.c | 1 +
board/freescale/imx8mq_evk/imx8mq_evk.c | 1 +
board/freescale/imx8mq_evk/spl.c | 1 +
board/freescale/imx8qm_mek/imx8qm_mek.c | 1 +
board/freescale/imx8qm_mek/spl.c | 1 +
board/freescale/imx8qxp_mek/imx8qxp_mek.c | 1 +
board/freescale/imx8qxp_mek/spl.c | 1 +
board/freescale/imxrt1020-evk/imxrt1020-evk.c | 1 +
board/freescale/imxrt1050-evk/imxrt1050-evk.c | 1 +
board/freescale/ls1012afrdm/ls1012afrdm.c | 1 +
board/freescale/ls1012aqds/ls1012aqds.c | 1 +
board/freescale/ls1012ardb/ls1012ardb.c | 1 +
board/freescale/ls1021aiot/dcu.c | 1 +
board/freescale/ls1021aiot/ls1021aiot.c | 1 +
board/freescale/ls1021aqds/dcu.c | 1 +
board/freescale/ls1021aqds/ddr.c | 1 +
board/freescale/ls1021atsn/ls1021atsn.c | 1 +
board/freescale/ls1021atwr/dcu.c | 1 +
board/freescale/ls1021atwr/ls1021atwr.c | 1 +
board/freescale/ls1028a/ddr.c | 1 +
board/freescale/ls1028a/ls1028a.c | 2 +
board/freescale/ls1043aqds/ddr.c | 1 +
board/freescale/ls1043aqds/ls1043aqds.c | 1 +
board/freescale/ls1043ardb/ddr.c | 1 +
board/freescale/ls1043ardb/ls1043ardb.c | 1 +
board/freescale/ls1046afrwy/ddr.c | 1 +
board/freescale/ls1046afrwy/ls1046afrwy.c | 1 +
board/freescale/ls1046aqds/ddr.c | 1 +
board/freescale/ls1046aqds/ls1046aqds.c | 1 +
board/freescale/ls1046ardb/ddr.c | 1 +
board/freescale/ls1046ardb/ls1046ardb.c | 1 +
board/freescale/ls1088a/ddr.c | 1 +
board/freescale/ls1088a/ls1088a.c | 2 +
board/freescale/ls2080a/ddr.c | 1 +
board/freescale/ls2080a/ls2080a.c | 2 +
board/freescale/ls2080aqds/ddr.c | 1 +
board/freescale/ls2080aqds/ls2080aqds.c | 2 +
board/freescale/ls2080ardb/ddr.c | 1 +
board/freescale/ls2080ardb/eth_ls2080rdb.c | 1 +
board/freescale/ls2080ardb/ls2080ardb.c | 2 +
board/freescale/lx2160a/ddr.c | 1 +
board/freescale/lx2160a/eth_lx2160aqds.c | 1 +
board/freescale/lx2160a/eth_lx2160ardb.c | 1 +
board/freescale/lx2160a/lx2160a.c | 2 +
board/freescale/m5208evbe/m5208evbe.c | 1 +
board/freescale/m52277evb/m52277evb.c | 1 +
board/freescale/m5235evb/m5235evb.c | 1 +
board/freescale/m5249evb/m5249evb.c | 1 +
board/freescale/m5253demo/m5253demo.c | 1 +
board/freescale/m5272c3/m5272c3.c | 1 +
board/freescale/m5275evb/m5275evb.c | 1 +
board/freescale/m5282evb/m5282evb.c | 1 +
board/freescale/m53017evb/m53017evb.c | 1 +
board/freescale/m5329evb/m5329evb.c | 1 +
board/freescale/m5373evb/m5373evb.c | 1 +
board/freescale/m54418twr/m54418twr.c | 1 +
board/freescale/m54451evb/m54451evb.c | 1 +
board/freescale/m54455evb/m54455evb.c | 1 +
board/freescale/m547xevb/m547xevb.c | 1 +
board/freescale/m548xevb/m548xevb.c | 1 +
board/freescale/mpc8308rdb/sdram.c | 1 +
board/freescale/mpc8313erdb/mpc8313erdb.c | 1 +
board/freescale/mpc8313erdb/sdram.c | 1 +
board/freescale/mpc8315erdb/mpc8315erdb.c | 1 +
board/freescale/mpc8315erdb/sdram.c | 1 +
board/freescale/mpc8323erdb/mpc8323erdb.c | 1 +
board/freescale/mpc832xemds/mpc832xemds.c | 1 +
board/freescale/mpc8349emds/mpc8349emds.c | 1 +
board/freescale/mpc8349itx/mpc8349itx.c | 1 +
board/freescale/mpc837xemds/mpc837xemds.c | 1 +
board/freescale/mpc837xerdb/mpc837xerdb.c | 1 +
board/freescale/mpc8541cds/mpc8541cds.c | 1 +
board/freescale/mpc8548cds/mpc8548cds.c | 1 +
board/freescale/mpc8555cds/mpc8555cds.c | 1 +
board/freescale/mpc8568mds/mpc8568mds.c | 1 +
board/freescale/mpc8610hpcd/mpc8610hpcd.c | 1 +
board/freescale/mpc8641hpcn/mpc8641hpcn.c | 1 +
board/freescale/mx23evk/mx23evk.c | 1 +
board/freescale/mx25pdk/mx25pdk.c | 1 +
board/freescale/mx28evk/mx28evk.c | 1 +
board/freescale/mx35pdk/mx35pdk.c | 1 +
board/freescale/mx51evk/mx51evk.c | 1 +
board/freescale/mx53ard/mx53ard.c | 1 +
board/freescale/mx53evk/mx53evk.c | 1 +
board/freescale/mx53loco/mx53loco.c | 1 +
board/freescale/mx53smd/mx53smd.c | 1 +
board/freescale/mx6memcal/mx6memcal.c | 1 +
board/freescale/mx6memcal/spl.c | 1 +
board/freescale/mx6qarm2/mx6qarm2.c | 1 +
board/freescale/mx6sabreauto/mx6sabreauto.c | 1 +
board/freescale/mx6sabresd/mx6sabresd.c | 1 +
board/freescale/mx6slevk/mx6slevk.c | 1 +
board/freescale/mx6sllevk/mx6sllevk.c | 1 +
.../freescale/mx6sxsabreauto/mx6sxsabreauto.c | 1 +
board/freescale/mx6sxsabresd/mx6sxsabresd.c | 1 +
.../mx6ul_14x14_evk/mx6ul_14x14_evk.c | 1 +
board/freescale/mx6ullevk/mx6ullevk.c | 1 +
board/freescale/mx7dsabresd/mx7dsabresd.c | 1 +
board/freescale/mx7ulp_evk/mx7ulp_evk.c | 1 +
board/freescale/p1010rdb/ddr.c | 1 +
board/freescale/p1010rdb/p1010rdb.c | 1 +
board/freescale/p1010rdb/spl.c | 1 +
board/freescale/p1023rdb/p1023rdb.c | 161 +++++++++++++
board/freescale/p1_p2_rdb_pc/spl.c | 1 +
board/freescale/p2041rdb/ddr.c | 1 +
board/freescale/p2041rdb/p2041rdb.c | 1 +
board/freescale/qemu-ppce500/qemu-ppce500.c | 1 +
board/freescale/s32v234evb/s32v234evb.c | 1 +
board/freescale/t102xrdb/ddr.c | 1 +
board/freescale/t102xrdb/spl.c | 1 +
board/freescale/t102xrdb/t102xrdb.c | 1 +
board/freescale/t104xrdb/ddr.c | 1 +
board/freescale/t104xrdb/spl.c | 1 +
board/freescale/t104xrdb/t104xrdb.c | 1 +
board/freescale/t208xqds/ddr.c | 1 +
board/freescale/t208xqds/spl.c | 1 +
board/freescale/t208xqds/t208xqds.c | 1 +
board/freescale/t208xrdb/ddr.c | 1 +
board/freescale/t208xrdb/spl.c | 1 +
board/freescale/t208xrdb/t208xrdb.c | 1 +
board/freescale/t4rdb/ddr.c | 1 +
board/freescale/t4rdb/spl.c | 1 +
board/freescale/t4rdb/t4240rdb.c | 1 +
board/freescale/vf610twr/vf610twr.c | 1 +
board/friendlyarm/nanopi2/board.c | 1 +
board/gardena/smart-gateway-at91sam/board.c | 1 +
board/gateworks/gw_ventana/gw_ventana.c | 1 +
board/gdsys/a38x/controlcenterdc.c | 1 +
board/gdsys/a38x/hydra.c | 1 +
board/gdsys/mpc8308/gazerbeam.c | 1 +
board/gdsys/mpc8308/sdram.c | 1 +
board/gdsys/p1022/controlcenterd-id.c | 1 +
board/ge/bx50v3/bx50v3.c | 1 +
board/ge/mx53ppd/mx53ppd.c | 1 +
.../google/imx8mq_phanbell/imx8mq_phanbell.c | 1 +
board/google/imx8mq_phanbell/spl.c | 1 +
board/google/veyron/veyron.c | 1 +
board/grinn/chiliboard/board.c | 1 +
board/grinn/liteboard/board.c | 1 +
board/highbank/highbank.c | 1 +
board/hisilicon/hikey/hikey.c | 1 +
board/hisilicon/hikey960/hikey960.c | 1 +
board/hisilicon/poplar/poplar.c | 1 +
board/ids/ids8313/ids8313.c | 1 +
board/imgtec/boston/ddr.c | 1 +
board/imgtec/boston/dt.c | 1 +
board/imgtec/ci20/ci20.c | 1 +
board/imgtec/malta/malta.c | 1 +
board/imgtec/xilfpga/xilfpga.c | 1 +
board/inversepath/usbarmory/usbarmory.c | 1 +
board/iomega/iconnect/iconnect.c | 1 +
board/isee/igep003x/board.c | 1 +
board/isee/igep00x0/common.c | 1 +
board/k+p/kp_imx53/kp_imx53.c | 1 +
board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c | 1 +
board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c | 1 +
board/keymile/common/common.c | 1 +
board/keymile/km83xx/km83xx.c | 1 +
board/keymile/km_arm/km_arm.c | 1 +
board/keymile/kmp204x/ddr.c | 1 +
board/kmc/kzm9g/kzm9g.c | 1 +
board/kobol/helios4/helios4.c | 1 +
board/kontron/sl28/ddr.c | 1 +
board/kontron/sl28/sl28.c | 2 +
board/kosagi/novena/novena.c | 2 +
board/l+g/vinco/vinco.c | 1 +
board/laird/wb45n/wb45n.c | 1 +
board/laird/wb50n/wb50n.c | 1 +
board/lego/ev3/legoev3.c | 1 +
board/lg/sniper/sniper.c | 1 +
board/liebherr/display5/display5.c | 1 +
board/liebherr/display5/spl.c | 1 +
board/liebherr/mccmon6/mccmon6.c | 1 +
board/liebherr/xea/xea.c | 1 +
board/logicpd/am3517evm/am3517evm.c | 1 +
board/logicpd/imx6/imx6logic.c | 1 +
board/logicpd/omap3som/omap3logic.c | 1 +
board/maxbcm/maxbcm.c | 1 +
board/mediatek/mt7622/mt7622_rfb.c | 1 +
board/mediatek/mt7623/mt7623_rfb.c | 1 +
board/mediatek/mt7629/mt7629_rfb.c | 1 +
board/mediatek/mt8512/mt8512.c | 1 +
board/mediatek/mt8518/mt8518_ap1.c | 2 +
board/menlo/m53menlo/m53menlo.c | 1 +
.../crs3xx-98dx3236/crs3xx-98dx3236.c | 1 +
board/mini-box/picosam9g45/picosam9g45.c | 1 +
board/mpc8308_p1m/sdram.c | 1 +
board/mscc/jr2/jr2.c | 1 +
board/mscc/luton/luton.c | 1 +
board/mscc/ocelot/ocelot.c | 2 +
board/mscc/serval/serval.c | 1 +
board/mscc/servalt/servalt.c | 1 +
board/myir/mys_6ulx/mys_6ulx.c | 1 +
board/nokia/rx51/rx51.c | 1 +
board/novtech/meerkat96/meerkat96.c | 1 +
board/nvidia/jetson-tk1/jetson-tk1.c | 1 +
board/olimex/mx23_olinuxino/mx23_olinuxino.c | 1 +
board/phytec/pcl063/pcl063.c | 1 +
board/phytec/pcm052/pcm052.c | 1 +
board/phytec/pcm058/pcm058.c | 1 +
board/phytec/pfla02/pfla02.c | 1 +
board/phytec/phycore_am335x_r2/board.c | 1 +
board/phytec/phycore_rk3288/phycore-rk3288.c | 1 +
board/phytium/durian/durian.c | 1 +
.../pinebook-pro-rk3399/pinebook-pro-rk3399.c | 1 +
board/ppcag/bg0900/bg0900.c | 1 +
board/qemu-mips/qemu-mips.c | 1 +
.../dragonboard410c/dragonboard410c.c | 1 +
.../dragonboard820c/dragonboard820c.c | 1 +
board/raidsonic/ib62x0/ib62x0.c | 1 +
board/renesas/alt/alt.c | 1 +
board/renesas/blanche/blanche.c | 1 +
board/renesas/condor/condor.c | 1 +
board/renesas/draak/draak.c | 1 +
board/renesas/eagle/eagle.c | 1 +
board/renesas/ebisu/ebisu.c | 1 +
board/renesas/gose/gose.c | 1 +
board/renesas/grpeach/grpeach.c | 1 +
board/renesas/koelsch/koelsch.c | 1 +
board/renesas/lager/lager.c | 1 +
board/renesas/porter/porter.c | 1 +
board/renesas/rcar-common/common.c | 1 +
board/renesas/salvator-x/salvator-x.c | 1 +
board/renesas/silk/silk.c | 1 +
board/renesas/stout/stout.c | 1 +
board/renesas/ulcb/ulcb.c | 1 +
board/rockchip/evb_rk3308/evb_rk3308.c | 1 +
board/rockchip/evb_rv1108/evb_rv1108.c | 1 +
board/ronetix/pm9261/pm9261.c | 1 +
board/ronetix/pm9263/pm9263.c | 1 +
board/ronetix/pm9g45/pm9g45.c | 1 +
board/samsung/arndale/arndale.c | 1 +
board/samsung/common/board.c | 1 +
board/samsung/common/exynos5-dt-types.c | 1 +
board/samsung/common/exynos5-dt.c | 2 +
board/samsung/common/misc.c | 2 +
board/samsung/goni/goni.c | 2 +
board/samsung/odroid/odroid.c | 2 +
board/samsung/smdkc100/smdkc100.c | 1 +
board/samsung/smdkv310/smdkv310.c | 1 +
board/samsung/universal_c210/universal.c | 1 +
board/sandbox/sandbox.c | 1 +
board/sandisk/sansa_fuze_plus/sfp.c | 1 +
board/sbc8349/sbc8349.c | 1 +
board/sbc8548/sbc8548.c | 1 +
board/sbc8641d/sbc8641d.c | 1 +
board/schulercontrol/sc_sps_1/sc_sps_1.c | 1 +
board/seco/mx6quq7/mx6quq7.c | 1 +
board/siemens/capricorn/spl.c | 1 +
board/siemens/common/board.c | 1 +
board/siemens/corvus/board.c | 1 +
board/siemens/smartweb/smartweb.c | 1 +
board/siemens/taurus/taurus.c | 1 +
board/sks-kinkel/sksimx6/sksimx6.c | 1 +
board/socrates/socrates.c | 1 +
board/softing/vining_2000/vining_2000.c | 1 +
board/softing/vining_fpga/socfpga.c | 1 +
board/solidrun/clearfog/clearfog.c | 1 +
board/solidrun/common/tlv_data.c | 1 +
board/solidrun/mx6cuboxi/mx6cuboxi.c | 1 +
board/somlabs/visionsom-6ull/visionsom-6ull.c | 1 +
board/st/common/stm32mp_dfu.c | 1 +
board/st/common/stm32mp_mtdparts.c | 2 +
board/st/stih410-b2260/board.c | 1 +
.../stm32f429-discovery/stm32f429-discovery.c | 1 +
.../stm32f429-evaluation.c | 1 +
.../stm32f469-discovery/stm32f469-discovery.c | 1 +
board/st/stm32f746-disco/stm32f746-disco.c | 1 +
board/st/stm32h743-disco/stm32h743-disco.c | 1 +
board/st/stm32h743-eval/stm32h743-eval.c | 1 +
board/st/stm32mp1/stm32mp1.c | 2 +
board/st/stv0991/stv0991.c | 1 +
board/ste/stemmy/stemmy.c | 1 +
board/sunxi/board.c | 2 +
board/synopsys/axs10x/axs10x.c | 1 +
board/synopsys/emsdp/emsdp.c | 1 +
board/synopsys/hsdk/clk-lib.c | 1 +
board/synopsys/hsdk/env-lib.c | 1 +
board/synopsys/hsdk/hsdk.c | 1 +
board/synopsys/iot_devkit/iot_devkit.c | 1 +
board/sysam/amcore/amcore.c | 1 +
board/sysam/stmark2/stmark2.c | 1 +
board/syteco/zmx25/zmx25.c | 1 +
board/tbs/tbs2910/tbs2910.c | 2 +
board/tcl/sl50/board.c | 1 +
board/technexion/pico-imx6/pico-imx6.c | 3 +-
board/technexion/pico-imx6ul/pico-imx6ul.c | 1 +
board/technexion/pico-imx7d/pico-imx7d.c | 1 +
board/technexion/pico-imx8mq/pico-imx8mq.c | 1 +
board/technexion/pico-imx8mq/spl.c | 1 +
board/technexion/tao3530/tao3530.c | 1 +
board/technologic/ts4600/ts4600.c | 1 +
board/technologic/ts4800/ts4800.c | 1 +
board/theadorable/theadorable.c | 1 +
board/ti/am335x/board.c | 1 +
board/ti/am3517crane/am3517crane.c | 1 +
board/ti/am43xx/board.c | 1 +
board/ti/am57xx/board.c | 1 +
board/ti/am65x/evm.c | 2 +
board/ti/beagle/beagle.c | 1 +
board/ti/common/board_detect.c | 1 +
board/ti/dra7xx/evm.c | 1 +
board/ti/evm/evm.c | 1 +
board/ti/j721e/evm.c | 2 +
board/ti/ks2_evm/board.c | 1 +
board/ti/omap5_uevm/evm.c | 1 +
board/ti/panda/panda.c | 1 +
board/ti/sdp4430/sdp.c | 1 +
board/ti/ti816x/evm.c | 1 +
board/timll/devkit3250/devkit3250.c | 1 +
board/timll/devkit8000/devkit8000.c | 1 +
board/toradex/apalis-imx8/apalis-imx8.c | 1 +
board/toradex/apalis-tk1/apalis-tk1.c | 1 +
board/toradex/apalis_imx6/apalis_imx6.c | 1 +
board/toradex/apalis_t30/apalis_t30.c | 1 +
.../toradex/colibri-imx6ull/colibri-imx6ull.c | 1 +
board/toradex/colibri-imx8x/colibri-imx8x.c | 1 +
board/toradex/colibri_imx6/colibri_imx6.c | 1 +
board/toradex/colibri_imx7/colibri_imx7.c | 1 +
board/toradex/colibri_pxa270/colibri_pxa270.c | 1 +
board/toradex/colibri_t20/colibri_t20.c | 1 +
board/toradex/colibri_vf/colibri_vf.c | 1 +
board/toradex/common/tdx-cfg-block.c | 1 +
board/toradex/common/tdx-eeprom.c | 1 +
board/toradex/verdin-imx8mm/spl.c | 1 +
board/toradex/verdin-imx8mm/verdin-imx8mm.c | 1 +
board/tqc/tqm834x/tqm834x.c | 1 +
board/tqc/tqma6/tqma6.c | 1 +
board/udoo/neo/neo.c | 1 +
board/udoo/udoo.c | 1 +
board/variscite/dart_6ul/dart_6ul.c | 1 +
board/varisys/cyrus/ddr.c | 1 +
board/ve8313/ve8313.c | 1 +
board/vscom/baltos/board.c | 1 +
board/wandboard/wandboard.c | 1 +
board/warp/warp.c | 1 +
board/warp7/warp7.c | 1 +
board/work-microwave/work_92105/work_92105.c | 1 +
board/xen/xenguest_arm64/xenguest_arm64.c | 1 +
board/xes/xpedite517x/xpedite517x.c | 1 +
board/xilinx/common/board.c | 1 +
.../microblaze-generic/microblaze-generic.c | 1 +
board/xilinx/versal/board.c | 1 +
board/xilinx/zynq/board.c | 1 +
board/xilinx/zynq/bootimg.c | 1 +
board/xilinx/zynq/cmds.c | 1 +
board/xilinx/zynqmp/zynqmp.c | 1 +
board/zyxel/nsa310s/nsa310s.c | 1 +
cmd/acpi.c | 2 +
cmd/adc.c | 1 +
cmd/axi.c | 1 +
cmd/bcb.c | 1 +
cmd/bdinfo.c | 1 +
cmd/bedbug.c | 1 +
cmd/bloblist.c | 1 +
cmd/bootefi.c | 1 +
cmd/booti.c | 1 +
cmd/bootm.c | 1 +
cmd/cpu.c | 1 +
cmd/date.c | 1 +
cmd/efi.c | 1 +
cmd/fastboot.c | 1 +
cmd/fpgad.c | 1 +
cmd/io.c | 1 +
cmd/load.c | 1 +
cmd/log.c | 1 +
cmd/mem.c | 2 +
cmd/mmc.c | 1 +
cmd/mtdparts.c | 1 +
cmd/nvedit.c | 2 +
cmd/onenand.c | 1 +
cmd/pstore.c | 1 +
cmd/pxe_utils.h | 2 +
cmd/regulator.c | 1 +
cmd/rtc.c | 1 +
cmd/sb.c | 1 +
cmd/sf.c | 1 +
cmd/sound.c | 1 +
cmd/spl.c | 1 +
cmd/thordown.c | 1 +
cmd/ti/ddr3.c | 1 +
cmd/tlv_eeprom.c | 1 +
cmd/tpm_test.c | 1 +
cmd/usb_gadget_sdp.c | 1 +
cmd/usb_mass_storage.c | 1 +
cmd/version.c | 1 +
cmd/x86/fsp.c | 1 +
cmd/x86/hob.c | 1 +
common/autoboot.c | 1 +
common/bloblist.c | 2 +
common/board_f.c | 2 +
common/board_info.c | 1 +
common/board_r.c | 2 +
common/bootm.c | 1 +
common/bootm_os.c | 1 +
common/bootstage.c | 1 +
common/cli.c | 1 +
common/cli_hush.c | 1 +
common/cli_readline.c | 1 +
common/command.c | 1 +
common/console.c | 2 +
common/dfu.c | 1 +
common/dlmalloc.c | 1 +
common/exports.c | 1 +
common/hash.c | 1 +
common/hwconfig.c | 1 +
common/image-android.c | 1 +
common/image-cipher.c | 1 +
common/image-fdt.c | 1 +
common/image-fit-sig.c | 1 +
common/image-fit.c | 1 +
common/image-sig.c | 1 +
common/image.c | 2 +
common/init/board_init.c | 1 +
common/init/handoff.c | 1 +
common/iotrace.c | 1 +
common/lcd.c | 1 +
common/lcd_simplefb.c | 1 +
common/log.c | 1 +
common/log_console.c | 1 +
common/log_syslog.c | 1 +
common/malloc_simple.c | 1 +
common/memsize.c | 1 +
common/spl/spl.c | 1 +
common/spl/spl_dfu.c | 1 +
common/spl/spl_fit.c | 2 +
common/spl/spl_opensbi.c | 2 +
common/spl/spl_sdp.c | 1 +
common/spl/spl_spi.c | 1 +
common/splash.c | 1 +
common/splash_source.c | 1 +
common/stdio.c | 2 +-
common/update.c | 1 +
disk/part_efi.c | 2 +
drivers/adc/adc-uclass.c | 1 +
drivers/adc/exynos-adc.c | 1 +
drivers/adc/meson-saradc.c | 1 +
drivers/adc/rockchip-saradc.c | 1 +
drivers/adc/sandbox.c | 1 +
drivers/ata/dwc_ahci.c | 1 +
drivers/ata/libata.c | 2 +
drivers/ata/mtk_ahci.c | 1 +
drivers/ata/sata_mv.c | 1 +
drivers/bios_emulator/atibios.c | 1 +
drivers/bios_emulator/include/x86emu/debug.h | 1 +
drivers/bios_emulator/include/x86emu/regs.h | 1 +
drivers/bios_emulator/x86emu/debug.c | 1 +
drivers/bios_emulator/x86emu/decode.c | 1 +
drivers/bios_emulator/x86emu/ops.c | 1 +
drivers/bios_emulator/x86emu/ops2.c | 1 +
drivers/bios_emulator/x86emu/sys.c | 1 +
drivers/block/blkcache.c | 1 +
drivers/block/sandbox.c | 1 +
drivers/bootcount/bootcount-uclass.c | 1 +
drivers/bootcount/bootcount_ram.c | 1 +
drivers/cache/cache-v5l2.c | 1 +
drivers/cache/sandbox_cache.c | 1 +
drivers/clk/altera/clk-agilex.c | 1 +
drivers/clk/altera/clk-arria10.c | 1 +
drivers/clk/analogbits/wrpll-cln28hpc.c | 1 +
drivers/clk/aspeed/clk_ast2500.c | 1 +
drivers/clk/at91/clk-generated.c | 179 ++++++++++++++
drivers/clk/at91/clk-h32mx.c | 57 +++++
drivers/clk/at91/clk-main.c | 1 +
drivers/clk/at91/clk-master.c | 1 +
drivers/clk/at91/clk-plla.c | 55 +++++
drivers/clk/at91/clk-usb.c | 148 ++++++++++++
drivers/clk/at91/compat.c | 1 +
drivers/clk/at91/pmc.c | 4 +-
drivers/clk/clk-divider.c | 1 +
drivers/clk/clk-gate.c | 1 +
drivers/clk/clk-hsdk-cgu.c | 1 +
drivers/clk/clk-mux.c | 1 +
drivers/clk/clk-uclass.c | 1 +
drivers/clk/clk_boston.c | 1 +
drivers/clk/clk_octeon.c | 1 +
drivers/clk/clk_pic32.c | 1 +
drivers/clk/clk_stm32f.c | 1 +
drivers/clk/clk_stm32h7.c | 1 +
drivers/clk/clk_stm32mp1.c | 2 +
drivers/clk/clk_zynq.c | 1 +
drivers/clk/imx/clk-pll14xx.c | 1 +
drivers/clk/mpc83xx_clk.c | 1 +
drivers/clk/renesas/clk-rcar-gen2.c | 1 +
drivers/clk/renesas/clk-rcar-gen3.c | 1 +
drivers/clk/rockchip/clk_px30.c | 1 +
drivers/clk/rockchip/clk_rk3288.c | 1 +
drivers/clk/rockchip/clk_rk3308.c | 1 +
drivers/clk/rockchip/clk_rk3368.c | 1 +
drivers/clk/rockchip/clk_rk3399.c | 1 +
drivers/clk/rockchip/clk_rv1108.c | 1 +
drivers/core/acpi.c | 1 +
drivers/core/device-remove.c | 1 +
drivers/core/device.c | 2 +
drivers/core/fdtaddr.c | 1 +
drivers/core/of_access.c | 1 +
drivers/core/of_addr.c | 1 +
drivers/core/ofnode.c | 1 +
drivers/core/read.c | 1 +
drivers/core/regmap.c | 1 +
drivers/core/root.c | 2 +
drivers/core/uclass.c | 1 +
drivers/cpu/bmips_cpu.c | 1 +
drivers/cpu/imx8_cpu.c | 1 +
drivers/cpu/riscv_cpu.c | 1 +
drivers/crypto/rsa_mod_exp/mod_exp_uclass.c | 1 +
drivers/ddr/altera/sdram_agilex.c | 1 +
drivers/ddr/altera/sdram_arria10.c | 1 +
drivers/ddr/altera/sdram_s10.c | 1 +
drivers/ddr/altera/sdram_soc64.c | 1 +
drivers/ddr/fsl/main.c | 1 +
drivers/ddr/imx/imx8m/helper.c | 1 +
drivers/demo/demo-shape.c | 1 +
drivers/demo/demo-uclass.c | 1 +
drivers/dfu/dfu.c | 1 +
drivers/dfu/dfu_mmc.c | 1 +
drivers/dfu/dfu_ram.c | 1 +
drivers/dfu/dfu_tftp.c | 1 +
drivers/dma/bcm6348-iudma.c | 1 +
drivers/dma/dma-uclass.c | 1 +
drivers/dma/lpc32xx_dma.c | 1 +
drivers/dma/sandbox-dma-test.c | 1 +
drivers/dma/ti-edma3.c | 1 +
drivers/dma/ti/k3-udma.c | 1 +
drivers/fastboot/fb_command.c | 1 +
drivers/fastboot/fb_getvar.c | 1 +
drivers/fastboot/fb_mmc.c | 1 +
drivers/fastboot/fb_nand.c | 1 +
drivers/fpga/ACEX1K.c | 4 +-
drivers/fpga/socfpga_arria10.c | 1 +
drivers/fpga/spartan2.c | 24 +-
drivers/fpga/spartan3.c | 24 +-
drivers/fpga/zynqmppl.c | 1 +
drivers/gpio/74x164_gpio.c | 1 +
drivers/gpio/altera_pio.c | 1 +
drivers/gpio/atmel_pio4.c | 1 +
drivers/gpio/da8xx_gpio.c | 1 +
drivers/gpio/gpio-rcar.c | 1 +
drivers/gpio/gpio-rza1.c | 1 +
drivers/gpio/gpio-uclass.c | 1 +
drivers/gpio/intel_broadwell_gpio.c | 1 +
drivers/gpio/intel_ich6_gpio.c | 1 +
drivers/gpio/msm_gpio.c | 1 +
drivers/gpio/mxs_gpio.c | 1 +
drivers/gpio/nx_gpio.c | 1 +
drivers/gpio/omap_gpio.c | 1 +
drivers/gpio/pcf8575_gpio.c | 1 +
drivers/gpio/pic32_gpio.c | 1 +
drivers/gpio/s5p_gpio.c | 1 +
drivers/gpio/vybrid_gpio.c | 1 +
drivers/hwspinlock/hwspinlock-uclass.c | 1 +
drivers/i2c/at91_i2c.c | 1 +
drivers/i2c/cros_ec_tunnel.c | 1 +
drivers/i2c/exynos_hs_i2c.c | 1 +
drivers/i2c/fsl_i2c.c | 1 +
drivers/i2c/i2c-gpio.c | 2 +
drivers/i2c/i2c_core.c | 1 +
drivers/i2c/ihs_i2c.c | 1 +
drivers/i2c/iproc_i2c.c | 2 +
drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 1 +
drivers/i2c/muxes/i2c-mux-gpio.c | 1 +
drivers/i2c/muxes/pca954x.c | 1 +
drivers/i2c/mvtwsi.c | 1 +
drivers/i2c/mxc_i2c.c | 1 +
drivers/i2c/nx_i2c.c | 1 +
drivers/i2c/omap24xx_i2c.c | 1 +
drivers/i2c/s3c24x0_i2c.c | 1 +
drivers/i2c/sh_i2c.c | 1 +
drivers/i2c/soft_i2c.c | 1 +
drivers/i2c/stm32f7_i2c.c | 1 +
drivers/i2c/tegra186_bpmp_i2c.c | 1 +
drivers/i2c/tegra_i2c.c | 1 +
drivers/input/i8042.c | 1 +
drivers/mailbox/k3-sec-proxy.c | 1 +
drivers/misc/atsha204a-i2c.c | 1 +
drivers/misc/fs_loader.c | 1 +
drivers/misc/imx8/fuse.c | 1 +
drivers/misc/imx8/scu.c | 1 +
drivers/misc/imx8/scu_api.c | 1 +
drivers/misc/sifive-otp.c | 1 +
drivers/misc/tegra186_bpmp.c | 2 +
drivers/mmc/atmel_sdhci.c | 1 +
drivers/mmc/ca_dw_mmc.c | 1 +
drivers/mmc/exynos_dw_mmc.c | 2 +
drivers/mmc/fsl_esdhc.c | 1 +
drivers/mmc/fsl_esdhc_imx.c | 2 +
drivers/mmc/ftsdc010_mci.c | 1 +
drivers/mmc/gen_atmel_mci.c | 1 +
drivers/mmc/hi6220_dw_mmc.c | 1 +
drivers/mmc/iproc_sdhci.c | 1 +
drivers/mmc/jz_mmc.c | 1 +
drivers/mmc/mmc.c | 1 +
drivers/mmc/msm_sdhci.c | 1 +
drivers/mmc/mtk-sd.c | 1 +
drivers/mmc/mv_sdhci.c | 1 +
drivers/mmc/mvebu_mmc.c | 1 +
drivers/mmc/omap_hsmmc.c | 1 +
drivers/mmc/pic32_sdhci.c | 3 +
drivers/mmc/renesas-sdhi.c | 1 +
drivers/mmc/s5p_sdhci.c | 1 +
drivers/mmc/sdhci-cadence.c | 1 +
drivers/mmc/sdhci.c | 1 +
drivers/mmc/sh_mmcif.c | 1 +
drivers/mmc/sh_sdhi.c | 1 +
drivers/mmc/socfpga_dw_mmc.c | 1 +
drivers/mmc/sti_sdhci.c | 2 +
drivers/mmc/stm32_sdmmc2.c | 1 +
drivers/mmc/tmio-common.c | 1 +
drivers/mmc/xenon_sdhci.c | 2 +
drivers/mtd/altera_qspi.c | 1 +
drivers/mtd/cfi_flash.c | 1 +
drivers/mtd/mtd_uboot.c | 1 +
drivers/mtd/mtdconcat.c | 1 +
drivers/mtd/mtdcore.c | 1 +
drivers/mtd/mtdpart.c | 1 +
drivers/mtd/nand/bbt.c | 1 +
drivers/mtd/nand/core.c | 1 +
drivers/mtd/nand/raw/arasan_nfc.c | 1 +
drivers/mtd/nand/raw/atmel_nand.c | 1 +
drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 1 +
drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c | 1 +
drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c | 1 +
drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 1 +
drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 1 +
drivers/mtd/nand/raw/davinci_nand.c | 1 +
drivers/mtd/nand/raw/lpc32xx_nand_mlc.c | 1 +
drivers/mtd/nand/raw/lpc32xx_nand_slc.c | 1 +
drivers/mtd/nand/raw/mxc_nand.c | 1 +
drivers/mtd/nand/raw/nand_base.c | 2 +
drivers/mtd/nand/raw/nand_bbt.c | 1 +
drivers/mtd/nand/raw/nand_bch.c | 1 +
drivers/mtd/nand/raw/octeontx_nand.c | 1 +
drivers/mtd/nand/raw/pxa3xx_nand.c | 2 +
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1 +
drivers/mtd/nand/raw/sunxi_nand.c | 2 +
drivers/mtd/nand/raw/tegra_nand.c | 2 +
drivers/mtd/nand/raw/vf610_nfc.c | 1 +
drivers/mtd/nand/raw/zynq_nand.c | 1 +
drivers/mtd/nand/spi/core.c | 1 +
drivers/mtd/onenand/onenand_base.c | 1 +
drivers/mtd/onenand/onenand_bbt.c | 1 +
drivers/mtd/onenand/onenand_uboot.c | 1 +
drivers/mtd/onenand/samsung.c | 1 +
drivers/mtd/pic32_flash.c | 1 +
drivers/mtd/renesas_rpc_hf.c | 1 +
drivers/mtd/spi/sf-uclass.c | 1 +
drivers/mtd/spi/sf_dataflash.c | 1 +
drivers/mtd/spi/spi-nor-core.c | 2 +
drivers/mtd/spi/spi-nor-tiny.c | 1 +
drivers/mtd/ubi/attach.c | 1 +
drivers/mtd/ubi/build.c | 1 +
drivers/mtd/ubi/debug.c | 1 +
drivers/mtd/ubi/debug.h | 1 +
drivers/mtd/ubi/ubi.h | 1 +
drivers/net/ag7xxx.c | 1 +
drivers/net/altera_tse.c | 1 +
drivers/net/bcm-sf2-eth-gmac.c | 1 +
drivers/net/bcm-sf2-eth.c | 1 +
drivers/net/bcm6348-eth.c | 1 +
drivers/net/bcm6368-eth.c | 1 +
drivers/net/designware.c | 1 +
drivers/net/dwc_eth_qos.c | 2 +
drivers/net/dwmac_s700.c | 1 +
drivers/net/ep93xx_eth.c | 1 +
drivers/net/fec_mxc.c | 1 +
drivers/net/fsl-mc/dpio/qbman_sys.h | 1 +
drivers/net/fsl-mc/mc.c | 1 +
drivers/net/fsl_mcdmafec.c | 1 +
drivers/net/ftgmac100.c | 1 +
drivers/net/ftmac100.c | 1 +
drivers/net/gmac_rockchip.c | 1 +
drivers/net/lan91c96.c | 4 +-
drivers/net/ldpaa_eth/ldpaa_eth.c | 1 +
drivers/net/macb.c | 1 +
drivers/net/mcffec.c | 1 +
drivers/net/mcfmii.c | 1 +
drivers/net/mpc8xx_fec.c | 1 +
drivers/net/mscc_eswitch/jr2_switch.c | 1 +
drivers/net/mscc_eswitch/ocelot_switch.c | 1 +
drivers/net/mscc_eswitch/serval_switch.c | 1 +
drivers/net/mscc_eswitch/servalt_switch.c | 1 +
drivers/net/mt7628-eth.c | 1 +
drivers/net/mtk_eth.c | 1 +
drivers/net/mvgbe.c | 1 +
drivers/net/mvmdio.c | 1 +
drivers/net/mvneta.c | 1 +
drivers/net/mvpp2.c | 1 +
drivers/net/ne2000_base.c | 4 +-
drivers/net/octeontx/smi.c | 1 +
drivers/net/phy/dp83867.c | 1 +
drivers/net/phy/fixed.c | 1 +
drivers/net/phy/miiphybb.c | 1 +
drivers/net/phy/mscc.c | 1 +
drivers/net/phy/phy.c | 1 +
drivers/net/phy/xilinx_gmii2rgmii.c | 4 +-
drivers/net/pic32_eth.c | 1 +
drivers/net/qe/dm_qe_uec.c | 1 +
drivers/net/ravb.c | 1 +
drivers/net/rtl8169.c | 1 +
drivers/net/sandbox-raw.c | 1 +
drivers/net/sandbox.c | 1 +
drivers/net/sh_eth.c | 1 +
drivers/net/smc91111.c | 4 +-
drivers/net/sni_ave.c | 2 +
drivers/net/sun8i_emac.c | 1 +
drivers/net/ti/am65-cpsw-nuss.c | 1 +
drivers/net/ti/cpsw-common.c | 2 +
drivers/net/ti/cpsw.c | 1 +
drivers/net/ti/keystone_net.c | 2 +
drivers/net/xilinx_axi_emac.c | 2 +
drivers/net/xilinx_emaclite.c | 1 +
drivers/pci/fsl_pci_init.c | 1 +
drivers/pci/pci-uclass.c | 2 +
drivers/pci/pci.c | 1 +
drivers/pci/pci_mvebu.c | 2 +
drivers/pci/pci_octeontx.c | 1 +
drivers/pci/pci_rom.c | 1 +
drivers/pci/pci_tegra.c | 1 +
drivers/pci/pcie_dw_mvebu.c | 1 +
drivers/pci/pcie_dw_ti.c | 1 +
drivers/pci/pcie_ecam_generic.c | 2 +
drivers/pci/pcie_fsl.c | 2 +
drivers/pci/pcie_intel_fpga.c | 1 +
drivers/pci/pcie_layerscape.c | 1 +
drivers/pci/pcie_layerscape_ep.c | 1 +
drivers/pci/pcie_layerscape_fixup_common.c | 1 +
drivers/pci/pcie_layerscape_gen4.c | 1 +
drivers/pci/pcie_layerscape_rc.c | 1 +
drivers/pci/pcie_mediatek.c | 1 +
drivers/pci/pcie_phytium.c | 2 +
drivers/pci/pcie_rockchip.c | 1 +
drivers/pci/pcie_xilinx.c | 2 +
drivers/pci_endpoint/pci_ep-uclass.c | 1 +
drivers/pci_endpoint/pcie-cadence-ep.c | 1 +
drivers/phy/keystone-usb-phy.c | 1 +
drivers/phy/marvell/comphy_a3700.c | 1 +
drivers/phy/marvell/comphy_core.c | 1 +
drivers/phy/marvell/comphy_cp110.c | 2 +
drivers/phy/meson-g12a-usb2.c | 1 +
drivers/phy/meson-g12a-usb3-pcie.c | 1 +
drivers/phy/meson-gxbb-usb2.c | 1 +
drivers/phy/meson-gxl-usb2.c | 1 +
drivers/phy/meson-gxl-usb3.c | 220 ++++++++++++++++++
drivers/phy/omap-usb2-phy.c | 1 +
drivers/phy/phy-rcar-gen3.c | 1 +
drivers/phy/phy-stm32-usbphyc.c | 1 +
drivers/phy/phy-uclass.c | 2 +
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 1 +
drivers/phy/rockchip/phy-rockchip-pcie.c | 1 +
drivers/phy/rockchip/phy-rockchip-typec.c | 1 +
drivers/phy/sti_usb_phy.c | 2 +
drivers/phy/ti-pipe3-phy.c | 2 +
drivers/pinctrl/ath79/pinctrl_ar933x.c | 1 +
drivers/pinctrl/ath79/pinctrl_qca953x.c | 1 +
drivers/pinctrl/exynos/pinctrl-exynos.c | 1 +
drivers/pinctrl/meson/pinctrl-meson.c | 1 +
drivers/pinctrl/mtmips/pinctrl-mt7628.c | 1 +
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 2 +
drivers/pinctrl/mvebu/pinctrl-mvebu.c | 1 +
drivers/pinctrl/nexell/pinctrl-nexell.c | 1 +
drivers/pinctrl/nexell/pinctrl-s5pxx18.c | 1 +
drivers/pinctrl/nxp/pinctrl-imx.c | 1 +
drivers/pinctrl/nxp/pinctrl-imx8.c | 1 +
drivers/pinctrl/nxp/pinctrl-mxs.c | 1 +
drivers/pinctrl/pinctrl-at91-pio4.c | 1 +
drivers/pinctrl/pinctrl-at91.c | 1 +
drivers/pinctrl/pinctrl-sti.c | 2 +
drivers/pinctrl/pinctrl-uclass.c | 1 +
drivers/pinctrl/pinctrl_pic32.c | 1 +
drivers/pinctrl/pinctrl_stm32.c | 2 +
drivers/pinctrl/renesas/pfc-r7s72100.c | 1 +
.../pinctrl/rockchip/pinctrl-rockchip-core.c | 1 +
.../power/domain/imx8-power-domain-legacy.c | 1 +
drivers/power/domain/imx8m-power-domain.c | 1 +
drivers/power/palmas.c | 1 +
drivers/power/pmic/as3722.c | 1 +
drivers/power/pmic/as3722_gpio.c | 1 +
drivers/power/pmic/bd71837.c | 2 +
drivers/power/pmic/da9063.c | 1 +
drivers/power/pmic/fan53555.c | 1 +
drivers/power/pmic/i2c_pmic_emul.c | 1 +
drivers/power/pmic/lp873x.c | 1 +
drivers/power/pmic/lp87565.c | 1 +
drivers/power/pmic/max77686.c | 1 +
drivers/power/pmic/max8997.c | 1 +
drivers/power/pmic/max8998.c | 1 +
drivers/power/pmic/mc34708.c | 1 +
drivers/power/pmic/palmas.c | 1 +
drivers/power/pmic/pca9450.c | 2 +
drivers/power/pmic/pfuze100.c | 1 +
drivers/power/pmic/pmic_tps65910_dm.c | 1 +
drivers/power/pmic/s2mps11.c | 1 +
drivers/power/pmic/s5m8767.c | 1 +
drivers/power/pmic/sandbox.c | 1 +
drivers/power/pmic/tps65090.c | 1 +
drivers/power/pmic/tps65941.c | 1 +
drivers/power/regulator/bd71837.c | 1 +
drivers/power/regulator/fan53555.c | 1 +
drivers/power/regulator/fixed.c | 2 +
drivers/power/regulator/gpio-regulator.c | 2 +
drivers/power/regulator/max77686.c | 1 +
drivers/power/regulator/pbias_regulator.c | 1 +
drivers/power/regulator/pwm_regulator.c | 1 +
drivers/power/regulator/regulator_common.c | 2 +
drivers/power/regulator/s2mps11_regulator.c | 1 +
drivers/power/regulator/sandbox.c | 1 +
drivers/power/regulator/tps65910_regulator.c | 1 +
drivers/power/twl4030.c | 1 +
drivers/power/twl6030.c | 1 +
drivers/pwm/pwm-sifive.c | 1 +
drivers/pwm/rk_pwm.c | 1 +
drivers/pwm/sunxi_pwm.c | 1 +
drivers/qe/fdt.c | 1 +
drivers/qe/qe.c | 1 +
drivers/ram/aspeed/sdram_ast2500.c | 1 +
drivers/ram/imxrt_sdram.c | 1 +
drivers/ram/mpc83xx_sdram.c | 1 +
drivers/ram/octeon/octeon_ddr.c | 1 +
drivers/ram/rockchip/dmc-rk3368.c | 1 +
drivers/ram/rockchip/sdram_rk322x.c | 1 +
drivers/ram/sandbox_ram.c | 1 +
drivers/ram/sifive/fu540_ddr.c | 1 +
drivers/ram/stm32_sdram.c | 1 +
drivers/ram/stm32mp1/stm32mp1_ddr.c | 1 +
drivers/ram/stm32mp1/stm32mp1_interactive.c | 1 +
drivers/ram/stm32mp1/stm32mp1_ram.c | 1 +
drivers/ram/stm32mp1/stm32mp1_tests.c | 1 +
drivers/ram/stm32mp1/stm32mp1_tuning.c | 1 +
drivers/remoteproc/rproc-elf-loader.c | 1 +
drivers/remoteproc/rproc-uclass.c | 2 +
drivers/remoteproc/sandbox_testproc.c | 1 +
drivers/remoteproc/stm32_copro.c | 1 +
drivers/remoteproc/ti_power_proc.c | 2 +
drivers/remoteproc/ti_sci_proc.h | 1 +
drivers/reset/sti-reset.c | 2 +
drivers/serial/atmel_usart.c | 1 +
drivers/serial/ns16550.c | 1 +
drivers/serial/sandbox.c | 1 +
drivers/serial/serial-uclass.c | 1 +
drivers/serial/serial.c | 1 +
drivers/serial/serial_arc.c | 1 +
drivers/serial/serial_linflexuart.c | 1 +
drivers/serial/serial_lpuart.c | 1 +
drivers/serial/serial_mcf.c | 1 +
drivers/serial/serial_mpc8xx.c | 1 +
drivers/serial/serial_msm.c | 1 +
drivers/serial/serial_mtk.c | 2 +
drivers/serial/serial_mxc.c | 1 +
drivers/serial/serial_ns16550.c | 1 +
drivers/serial/serial_pic32.c | 1 +
drivers/serial/serial_pl01x.c | 1 +
drivers/serial/serial_pxa.c | 1 +
drivers/serial/serial_s5p.c | 1 +
drivers/serial/serial_sh.c | 1 +
drivers/serial/serial_sifive.c | 1 +
drivers/serial/serial_sti_asc.c | 1 +
drivers/serial/serial_xen.c | 1 +
drivers/smem/msm_smem.c | 1 +
drivers/soc/ti/k3-navss-ringacc.c | 1 +
drivers/sound/ivybridge_sound.c | 1 +
drivers/spi/atcspi200_spi.c | 1 +
drivers/spi/atmel_spi.c | 1 +
drivers/spi/bcmstb_spi.c | 1 +
drivers/spi/cf_spi.c | 1 +
drivers/spi/davinci_spi.c | 1 +
drivers/spi/exynos_spi.c | 1 +
drivers/spi/fsl_dspi.c | 2 +
drivers/spi/fsl_espi.c | 1 +
drivers/spi/fsl_qspi.c | 1 +
drivers/spi/mt7621_spi.c | 1 +
drivers/spi/mvebu_a3700_spi.c | 1 +
drivers/spi/mxc_spi.c | 2 +
drivers/spi/omap3_spi.c | 1 +
drivers/spi/pic32_spi.c | 1 +
drivers/spi/pl022_spi.c | 2 +
drivers/spi/renesas_rpc_spi.c | 1 +
drivers/spi/soft_spi.c | 1 +
drivers/spi/spi-sunxi.c | 1 +
drivers/spi/spi-uclass.c | 1 +
drivers/spi/stm32_qspi.c | 1 +
drivers/spi/stm32_spi.c | 1 +
drivers/spi/tegra20_sflash.c | 1 +
drivers/spi/tegra20_slink.c | 1 +
drivers/spi/tegra210_qspi.c | 1 +
drivers/spi/ti_qspi.c | 1 +
drivers/spi/uniphier_spi.c | 2 +
drivers/spi/zynq_qspi.c | 1 +
drivers/spi/zynq_spi.c | 1 +
drivers/spi/zynqmp_gqspi.c | 1 +
drivers/spmi/spmi-msm.c | 1 +
drivers/sysreset/sysreset-uclass.c | 1 +
drivers/sysreset/sysreset_mpc83xx.c | 1 +
drivers/sysreset/sysreset_sti.c | 2 +
drivers/sysreset/sysreset_syscon.c | 1 +
drivers/sysreset/sysreset_watchdog.c | 1 +
drivers/thermal/imx_scu_thermal.c | 1 +
drivers/thermal/imx_tmu.c | 1 +
drivers/timer/andes_plmt_timer.c | 1 +
drivers/timer/arc_timer.c | 1 +
drivers/timer/cadence-ttc.c | 1 +
drivers/timer/mpc83xx_timer.c | 1 +
drivers/timer/ostm_timer.c | 1 +
drivers/timer/rockchip_timer.c | 1 +
drivers/timer/timer-uclass.c | 1 +
drivers/timer/tsc_timer.c | 1 +
drivers/tpm/tpm2_tis_spi.c | 1 +
drivers/tpm/tpm_atmel_twi.c | 1 +
drivers/tpm/tpm_tis_infineon.c | 1 +
drivers/tpm/tpm_tis_sandbox.c | 1 +
drivers/usb/cdns3/gadget.c | 1 +
drivers/usb/common/common.c | 2 +
drivers/usb/dwc3/dwc3-generic.c | 1 +
drivers/usb/dwc3/dwc3-meson-g12a.c | 1 +
drivers/usb/dwc3/gadget.c | 1 +
drivers/usb/eth/mcs7830.c | 1 +
drivers/usb/gadget/at91_udc.c | 1 +
drivers/usb/gadget/atmel_usba_udc.c | 1 +
drivers/usb/gadget/dwc2_udc_otg.c | 1 +
drivers/usb/gadget/ether.c | 1 +
drivers/usb/gadget/f_fastboot.c | 1 +
drivers/usb/gadget/f_sdp.c | 1 +
drivers/usb/gadget/f_thor.c | 1 +
drivers/usb/gadget/pxa27x_udc.c | 1 +
drivers/usb/gadget/udc/udc-uclass.c | 1 +
drivers/usb/host/dwc3-octeon-glue.c | 1 +
drivers/usb/host/dwc3-sti-glue.c | 2 +
drivers/usb/host/ehci-exynos.c | 1 +
drivers/usb/host/ehci-fsl.c | 1 +
drivers/usb/host/ehci-marvell.c | 1 +
drivers/usb/host/ehci-mx5.c | 1 +
drivers/usb/host/ehci-mx6.c | 1 +
drivers/usb/host/ehci-vf.c | 1 +
drivers/usb/host/xhci-exynos5.c | 1 +
drivers/usb/musb-new/da8xx.c | 1 +
drivers/usb/musb-new/mt85xx.c | 1 +
drivers/usb/musb-new/musb_core.c | 1 +
drivers/usb/musb-new/musb_debug.h | 1 +
drivers/usb/musb-new/musb_dsps.c | 1 +
drivers/usb/musb-new/musb_gadget.c | 1 +
drivers/usb/musb-new/musb_gadget_ep0.c | 1 +
drivers/usb/musb-new/omap2430.c | 2 +
drivers/usb/musb-new/pic32.c | 1 +
drivers/usb/musb-new/sunxi.c | 1 +
drivers/usb/musb-new/ti-musb.c | 2 +
drivers/usb/phy/rockchip_usb2_phy.c | 1 +
drivers/video/am335x-fb.c | 2 +
drivers/video/atmel_hlcdfb.c | 1 +
drivers/video/atmel_lcdfb.c | 1 +
drivers/video/bridge/ps862x.c | 1 +
drivers/video/broadwell_igd.c | 1 +
drivers/video/cfb_console.c | 1 +
drivers/video/da8xx-fb.c | 1 +
drivers/video/exynos/exynos_dp.c | 1 +
drivers/video/exynos/exynos_fb.c | 1 +
drivers/video/exynos/exynos_mipi_dsi.c | 1 +
drivers/video/fsl_dcu_fb.c | 1 +
drivers/video/ivybridge_igd.c | 1 +
drivers/video/mali_dp.c | 1 +
drivers/video/meson/meson_dw_hdmi.c | 1 +
drivers/video/meson/meson_vclk.c | 1 +
drivers/video/meson/meson_vpu.c | 1 +
drivers/video/mxsfb.c | 1 +
drivers/video/rockchip/rk3288_vop.c | 1 +
drivers/video/rockchip/rk3399_vop.c | 1 +
drivers/video/rockchip/rk_lvds.c | 1 +
drivers/video/rockchip/rk_mipi.c | 1 +
drivers/video/rockchip/rk_vop.c | 1 +
drivers/video/sandbox_sdl.c | 1 +
drivers/video/simplefb.c | 1 +
drivers/video/stm32/stm32_dsi.c | 2 +
drivers/video/stm32/stm32_ltdc.c | 2 +
drivers/video/sunxi/sunxi_lcd.c | 1 +
drivers/video/tegra.c | 1 +
drivers/video/tegra124/sor.c | 1 +
drivers/video/video-uclass.c | 1 +
drivers/video/videomodes.c | 1 +
drivers/watchdog/armada-37xx-wdt.c | 1 +
drivers/watchdog/at91sam9_wdt.c | 1 +
drivers/watchdog/mt7621_wdt.c | 1 +
drivers/watchdog/octeontx_wdt.c | 1 +
drivers/watchdog/orion_wdt.c | 1 +
drivers/watchdog/sbsa_gwdt.c | 1 +
drivers/watchdog/sp805_wdt.c | 1 +
drivers/watchdog/stm32mp_wdt.c | 1 +
drivers/watchdog/wdt-uclass.c | 1 +
drivers/xen/gnttab.c | 2 +
drivers/xen/pvblock.c | 1 +
env/callback.c | 1 +
env/common.c | 2 +
env/eeprom.c | 1 +
env/env.c | 1 +
env/ext4.c | 1 +
env/flash.c | 1 +
env/mmc.c | 1 +
env/nand.c | 1 +
env/nowhere.c | 1 +
env/nvram.c | 1 +
env/onenand.c | 1 +
env/remote.c | 1 +
env/sf.c | 1 +
env/ubi.c | 1 +
examples/standalone/stubs.c | 1 +
fs/ext4/ext4_journal.c | 1 +
fs/ext4/ext4_journal.h | 1 +
fs/ext4/ext4fs.c | 2 +-
fs/fs.c | 2 +
fs/reiserfs/reiserfs_private.h | 2 +
fs/ubifs/debug.c | 1 +
fs/ubifs/debug.h | 1 +
fs/ubifs/lpt_commit.c | 1 +
fs/ubifs/super.c | 1 +
fs/ubifs/ubifs.c | 1 +
fs/ubifs/ubifs.h | 1 +
fs/yaffs2/yaffs_uboot_glue.c | 1 +
include/audio_codec.h | 2 +
include/axi.h | 2 +
include/backlight.h | 2 +
include/board.h | 3 +
include/bootcount.h | 1 +
include/cache.h | 2 +
include/common.h | 3 -
include/cpu.h | 2 +
include/crypto/pkcs7_parser.h | 1 +
include/display_options.h | 1 +
include/dm/device-internal.h | 1 +
include/dm/device_compat.h | 1 +
include/dm/read.h | 1 +
include/dm/root.h | 1 +
include/dma.h | 2 +
include/exports.h | 1 +
include/ext_common.h | 2 +
include/fsl_qe.h | 2 +
include/i2c.h | 1 +
include/image-sparse.h | 1 +
include/init.h | 7 +-
include/initcall.h | 1 +
include/led.h | 2 +
include/libata.h | 2 -
include/linux/soc/ti/cppi5.h | 1 +
include/misc.h | 2 +
include/netdev.h | 2 +
include/pci.h | 2 -
include/power/as3722.h | 2 +
include/power/regulator.h | 2 +
include/pwm.h | 2 +
include/ram.h | 2 +
include/scsi.h | 2 +
include/soc.h | 2 +
include/sysreset.h | 2 +
include/tee.h | 2 +
include/tlv_eeprom.h | 2 +
include/tpm-common.h | 2 +
include/tpm-v1.h | 2 +
include/tpm-v2.h | 2 +
include/tps6586x.h | 2 +
include/ufs.h | 3 +
lib/acpi/acpi_table.c | 1 +
lib/aes.c | 1 +
lib/asm-offsets.c | 1 +
lib/asn1_decoder.c | 1 +
lib/bch.c | 1 +
lib/crypto/asymmetric_type.c | 1 +
lib/crypto/pkcs7_parser.c | 1 +
lib/crypto/pkcs7_verify.c | 1 +
lib/crypto/public_key.c | 1 +
lib/crypto/rsa_helper.c | 1 +
lib/crypto/x509_cert_parser.c | 1 +
lib/crypto/x509_public_key.c | 1 +
lib/display_options.c | 1 +
lib/efi/efi_app.c | 1 +
lib/efi/efi_info.c | 1 +
lib/efi_loader/efi_boottime.c | 1 +
lib/efi_loader/efi_gop.c | 1 +
lib/efi_loader/efi_memory.c | 1 +
lib/efi_loader/efi_rng.c | 1 +
lib/efi_loader/efi_runtime.c | 1 +
lib/fdtdec.c | 2 +
lib/list_sort.c | 1 +
lib/optee/optee.c | 1 +
lib/time.c | 1 +
lib/trace.c | 1 +
lib/zlib/zlib.c | 1 +
net/eth-uclass.c | 1 +
net/eth_legacy.c | 1 +
net/fastboot.c | 1 +
net/nfs.c | 1 +
net/tftp.c | 2 +
post/drivers/memory.c | 1 +
post/drivers/rtc.c | 4 +-
post/post.c | 1 +
test/bloblist.c | 1 +
test/dm/acpi.c | 1 +
test/dm/blk.c | 1 +
test/dm/bus.c | 1 +
test/dm/core.c | 1 +
test/dm/fdtdec.c | 1 +
test/dm/mux-emul.c | 1 +
test/dm/ram.c | 1 +
test/dm/test-fdt.c | 1 +
test/dm/test-main.c | 1 +
test/lib/test_print.c | 1 +
test/log/cont_test.c | 1 +
test/log/nolog_test.c | 1 +
test/log/syslog_test.c | 1 +
test/log/syslog_test_ndebug.c | 1 +
test/ut.c | 1 +
1638 files changed, 2642 insertions(+), 68 deletions(-)
create mode 100644 board/freescale/p1023rdb/p1023rdb.c
create mode 100644 drivers/clk/at91/clk-generated.c
create mode 100644 drivers/clk/at91/clk-h32mx.c
create mode 100644 drivers/clk/at91/clk-plla.c
create mode 100644 drivers/clk/at91/clk-usb.c
create mode 100644 drivers/phy/meson-gxl-usb3.c
--
2.29.1.341.ge80a0c044ae-goog
2
6
Hi,
I'm following the README
(https://gitlab.denx.de/u-boot/u-boot/-/tree/master/board/freescale/imx8mp_e…)
to bring up u-boot on a imx8mp EVK board. My boot ends up in this on the
console:
U-Boot SPL 2020.10-rc5-00049-gd44d46e9fa (Sep 30 2020 - 11:46:20 +0200)
Normal Boot
WDT: Started with servicing (60s timeout)
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
Can't support legacy image
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Any ideas what is going wrong? How to debug further?
Thanks,
/Peter
3
5

[PATCH 1/4] configs: stm32mp1: enable fastboot support of eMMC boot partition
by Patrick Delaunay 09 Feb '21
by Patrick Delaunay 09 Feb '21
09 Feb '21
From: Jean-Philippe ROMAIN <jean-philippe.romain(a)st.com>
Activate fastboot support on boot partition for eMMC, mmc1 device
on STMicroelectronics board (EV1).
Signed-off-by: Jean-Philippe ROMAIN <jean-philippe.romain(a)st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay(a)st.com>
---
configs/stm32mp15_basic_defconfig | 5 +++++
configs/stm32mp15_trusted_defconfig | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index a8c4112dbe..fc3d2cc4fb 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -80,6 +80,11 @@ CONFIG_FASTBOOT_USB_DEV=1
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=1
CONFIG_GPIO_HOG=y
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
+CONFIG_FASTBOOT_MMC_BOOT1_NAME="mmc1boot0"
+CONFIG_FASTBOOT_MMC_BOOT2_NAME="mmc1boot1"
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_NAME="mmc1"
CONFIG_DM_HWSPINLOCK=y
CONFIG_HWSPINLOCK_STM32=y
CONFIG_DM_I2C=y
diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
index 0792884a9d..bfe9e6b06c 100644
--- a/configs/stm32mp15_trusted_defconfig
+++ b/configs/stm32mp15_trusted_defconfig
@@ -60,6 +60,11 @@ CONFIG_FASTBOOT_USB_DEV=1
CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=1
CONFIG_GPIO_HOG=y
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
+CONFIG_FASTBOOT_MMC_BOOT1_NAME="mmc1boot0"
+CONFIG_FASTBOOT_MMC_BOOT2_NAME="mmc1boot1"
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_NAME="mmc1"
CONFIG_DM_HWSPINLOCK=y
CONFIG_HWSPINLOCK_STM32=y
CONFIG_DM_I2C=y
--
2.17.1
3
11
These series supports DM_VIDEO conversation for missing
sunxi platforms. Separate splash screen support is required
since the video log support in legacy drivers are not
supporting with driver mode video.
Dependencies:
http://patchwork.ozlabs.org/project/uboot/list/?series=182476
http://patchwork.ozlabs.org/project/uboot/list/?series=182477
http://patchwork.ozlabs.org/project/uboot/list/?series=182478
Changes for v2:
- new splash screen support patches
Any inputs?
Jagan.
Jagan Teki (3):
logos: Add sunxi logo
sunxi: Enable splash screen support
video: sunxi_display: Convert to DM_VIDEO
arch/arm/mach-sunxi/Kconfig | 4 +-
drivers/video/sunxi/sunxi_display.c | 264 ++++++++++++++++------------
include/configs/sunxi-common.h | 26 ++-
scripts/config_whitelist.txt | 1 -
tools/logos/sunxi.bmp | Bin 0 -> 11018 bytes
5 files changed, 167 insertions(+), 128 deletions(-)
create mode 100644 tools/logos/sunxi.bmp
--
2.25.1
5
10
Hi Heinrich,
I am seeing a failure in gitlab every now and then. Here is an example
of a build that failed and then succeeded on retry:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/-/jobs/149201
Here's the failing trace:
https://pastebin.com/bdu6jmVy
Do you have any ideas?
Regards,
Simon
3
4
This patch series fix usbtty code (serial console via USB peripheral
mode), fix underlying musb peripheral code, fix compilation of
CONFIG_USB_DEVICE (used by usbtty), remove unused Nokia RX-51 code to
decrease size of U-Boot binary and finally enable usbtty serial console
for Nokia RX-51.
With this patch series debugging of Nokia RX-51 can be done also via USB
serial console.
On computer this serial console is accessible via /dev/ttyACM0 device.
With current implementation there is an issue in musb driver that it
loose receiving bytes from USB bus when too many a characters are send
over USB tty from computer. Typing on keyboard to kermit terminal
connected to /dev/ttyACM0 is working fine. But pasting more more bytes
to terminal cause data lost on receiving side. I do not know where is
the issue or how to fix it (it looks like that data are lost at low
level when reading them from msub FIFO hardware) but typing on keyboard
is working fine. This is rather issue for sending files via x/y/z-modem
or kermit protocol. Currently U-Boot is not able to receive any file
via usbtty with musb driver due to this issue.
Pali Rohár (13):
serial: usbtty: Fix puts function
usb: musb: Fix compilation of gadget code
usb: musb: Always clear the data toggle bit when configuring ep
usb: musb: Fix configuring FIFO for endpoints
usb: musb: Read value of PERI_RXCSR to 16bit variable
usb: musb: Fix transmission of bigger buffers
usb: gadget: Do not export usbd_device_* arrays
usb: gadget: Use dbg_ep0() macro instead of serial_printf()
arm: omap3: Compile lowlevel_init() function only when it is used
arm: omap3: Compile s_init() function only when it is used
Nokia RX-51: Remove function set_muxconf_regs()
Nokia RX-51: Move content of rx51.h to rx51.c
Nokia RX-51: Enable usbtty serial console by default
Makefile | 1 +
arch/arm/mach-omap2/omap3/board.c | 3 +
arch/arm/mach-omap2/omap3/lowlevel_init.S | 6 +-
board/nokia/rx51/rx51.c | 28 +-
board/nokia/rx51/rx51.h | 377 ----------------------
configs/nokia_rx51_defconfig | 6 +-
doc/README.nokia_rx51 | 15 +-
drivers/serial/usbtty.c | 4 +-
drivers/usb/gadget/core.c | 38 +--
drivers/usb/gadget/ep0.c | 47 ++-
drivers/usb/musb/musb_core.c | 10 +-
drivers/usb/musb/musb_udc.c | 19 +-
include/configs/nokia_rx51.h | 16 +-
include/usbdevice.h | 15 -
14 files changed, 92 insertions(+), 493 deletions(-)
delete mode 100644 board/nokia/rx51/rx51.h
--
2.20.1
4
48
At present there are separate code paths for livetree and flattree in
places where they can be made common. Also there are a few functions
that support flattree but can be moved over to use the livetree API (i.e.
ofnode instead of a DT offset).
This series tidies up these areas.
Simon Glass (11):
dm: core: Rename device_bind() to device_bind_offset()
dm: core: Rename device_bind_ofnode() to device_bind()
dm: core: Add a livetree function to check node status
dm: Remove uses of device_bind_offset()
dm: Drop uses of dev_set_of_offset()
dm: core: Drop dev_set_of_offset()
dm: core: Drop device_bind_offset()
dm: core: Add an ofnode function to get the devicetree root
dm: core: Combine the flattree and livetree binding code
dm: core: Drop unused parameter from dm_scan_fdt()
dm: core: Drop unused parameter from dm_extended_scan_fdt()
drivers/clk/at91/compat.c | 20 ++---
drivers/clk/clk.c | 2 +-
drivers/core/device.c | 10 +--
drivers/core/ofnode.c | 10 +++
drivers/core/root.c | 97 ++++++---------------
drivers/firmware/scmi/scmi_agent-uclass.c | 4 +-
drivers/gpio/dwapb_gpio.c | 4 +-
drivers/gpio/mt7621_gpio.c | 5 +-
drivers/gpio/s5p_gpio.c | 6 +-
drivers/gpio/sunxi_gpio.c | 5 +-
drivers/gpio/tegra186_gpio.c | 3 +-
drivers/gpio/tegra_gpio.c | 4 +-
drivers/misc/i2c_eeprom.c | 4 +-
drivers/mtd/spi/sandbox.c | 2 +-
drivers/net/mvpp2.c | 4 +-
drivers/pci/pci-uclass.c | 4 +-
drivers/pci/pci_mvebu.c | 4 +-
drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson.c | 5 +-
drivers/pinctrl/mscc/pinctrl-jr2.c | 2 +-
drivers/pinctrl/mscc/pinctrl-luton.c | 2 +-
drivers/pinctrl/mscc/pinctrl-ocelot.c | 2 +-
drivers/pinctrl/mscc/pinctrl-serval.c | 2 +-
drivers/pinctrl/mscc/pinctrl-servalt.c | 2 +-
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 8 +-
drivers/usb/host/usb-uclass.c | 4 +-
include/dm/device-internal.h | 10 +--
include/dm/device.h | 5 --
include/dm/ofnode.h | 23 +++++
include/dm/root.h | 8 +-
test/dm/core.c | 6 +-
test/dm/ofnode.c | 12 +++
test/dm/test-fdt.c | 4 +-
test/dm/test-main.c | 4 +-
34 files changed, 130 insertions(+), 159 deletions(-)
--
2.29.2.454.gaff20da3a2-goog
2
27

[PATCH v1] doc: README.distro: Special case with Windows formatted disk
by Andy Shevchenko 30 Jan '21
by Andy Shevchenko 30 Jan '21
30 Jan '21
If someone wants to use shared (by installed OS) eMMC partition to
the Windows to boot from, it's not possible due to U-Boot limitations.
Describe this case and possible workaround.
Signed-off-by: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
---
doc/README.distro | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/doc/README.distro b/doc/README.distro
index ab6e6f4e74..807a82c910 100644
--- a/doc/README.distro
+++ b/doc/README.distro
@@ -405,3 +405,23 @@ of the boot environment and are not guaranteed to exist or work in the same
way in future u-boot versions. In particular the <device type>_boot
variables (e.g. mmc_boot, usb_boot) are a strictly internal implementation
detail and must not be used as a public interface.
+
+Using a eMMC partition that has been formatted as a disk by Windows 10
+======================================================================
+
+Let's assume we have an (embedded) board with U-Boot and Linux OS
+installed on eMMC. Linux OS shares one of the eMMC partitions as
+a disk via USB Mass Storage protocol.
+
+It may be useful to utilize that disk to copy bootable files from
+Windows machine to the board in case someone doesn't want to erase
+stock installation on it.
+
+Unfortunately, Windows 10 doesn't provide knobs and always formats
+that disk as a whole, meaning that it creates a partition table on it
+with requested (FAT) partition. As a result U-Boot may not see any
+files on it due to nesting partition tables.
+
+The workaround may be in formatting the partition under Linux OS,
+setting up a network connection between Linux OS and Windows 10 and
+use it to copy files to the partition.
--
2.24.1
5
10
Summary
=======
'UpdateCapsule' is one of runtime services defined in UEFI specification
and its aim is to allow a caller (OS) to pass information to the firmware,
i.e. U-Boot. This is mostly used to update firmware binary on devices by
instructions from OS.
While 'UpdateCapsule' is a runtime services function, it is, at least
initially, supported only before exiting boot services alike other runtime
functions, [Get/]SetVariable. This is because modifying storage which may
be shared with OS must be carefully designed and there is no general
assumption that we can do it.
Therefore, we practically support only "capsule on disk"; any capsule can
be handed over to UEFI subsystem as a file on a specific file system.
In this patch series, all the related definitions and structures are given
as UEFI specification describes, and basic framework for capsule support
is provided. Currently supported is
* firmware update (Firmware Management Protocol or simply FMP)
Most of functionality of firmware update is provided by FMP driver and
it can be, by nature, system/platform-specific. So you can and should
implement your own FMP driver(s) based on your system requirements.
Under the current implementation, we provide two basic but generic
drivers with two formats:
* FIT image format (as used in TFTP update and dfu)
* raw image format
It's totally up to users which one, or both, should be used on users'
system depending on user requirements.
Quick usage
===========
1. You can create a capsule file with the following host command:
$ mkeficapsule [--fit <fit image> | --raw <raw image>] <output file>
2. Put the file under:
/EFI/UpdateCapsule of UEFI system partition
3. Specify firmware storage to be updated in "dfu_alt_info" variable
(Please follow README.dfu for details.)
==> env set dfu_alt_info '...'
4. After setting up UEFI's OsIndications variable, reboot U-Boot:
OsIndications <= EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED
Patch structure
===============
Patch#1-#4,#12: preparatory patches
Patch#5-#11,#13: main part of implementation
Patch#14-#15: utilities
Patch#16-#17: pytests
Patch#18: for sandbox test
[1] https://git.linaro.org/people/takahiro.akashi/u-boot.git efi/capsule
Prerequisite patches
====================
None
Test
====
* passed all the pytests which are included in this patch series
on sandbox build locally.
* skipped (or 'S', but it's not a failure, 'F') in Travis CI because
"virt-make-fs" cannot be executed.
Issues
======
* Timing of executing capsules-on-disk
Currently, processing a capsule is triggered only as part of
UEFI subsystem initialization. This means that, for example,
firmware update, may not take place at system booting time and
will potentially be delayed until a first call of any UEFI functions.
=> See patch#5 for my proposal
* A bunch of warnings like
WARNING: Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef'
where possible
I don't think that fixing those improves anything.
* Add a document in uefi.rst
TODO's
======
(Won't be addressed in this series.)
* capsule authentication
* capsule dependency (dependency expression instruction set, or depex)
* loading drivers in a capsule
* handling RESET flag in a capsule and QeuryCapsuleCaps
* full semantics of ESRT (EFI System Resource Table)
* enabling capsule API at runtime
* json capsule
* recovery from update failure
Changes
=======
v8 (November 13, 2020)
* fix a "not used" warning against update_load() in some configuration
(Patch#3)
* fix failures (marked as 'F') in *secure boot* test in Travis CI by
making "EFI_CAPSULE_ON_DISK_EARLY" 'default n' (Patch#8)
* fix failures (marked as 'E') at pytest setup in Travis CI by changing
a python file's name along with removing unused definitions (Patch#16)
* add Patch#18 to enable tests to be run with default sandbox config
(Patch#18)
v7 (October 29, 2020)
* rename CONFIG_DFU_ALT to CONFIG_DFU_WRITE_ALT (Patch#1,#3,#13)
v6 RESEND (October 29, 2020)
* rebased on v2021.01-rc1
v6 (September 7, 2020)
* temporarily drop the prerequisite patch[2]
* add a missing field (dependencies) in efi_api.h (but never used) (Patch#10)
* add a missing field (image_capsule_support) and related definitions
in efi_api.h (Patch#10, #15)
* cosmetic changes on constant definitions in efi_api.h (Patch#10)
* strict check for INVALID_PARAMETER at GET_IMAGE_INFO api (Patch#11,#13)
* fix warnings in pytest (Patch#16,#17)
v5 (August 3, 2020)
* removed superfluous type conversion at dfu_write_from_mem_addr()
(Patch#2)
* introduced a common helper function, efi_create_indexed_name()
(Patch#6,#7,#8)
* use efi_[get|set]_variable_int(), if necessary, with READ_ONLY
(Patch#7,#8)
* return EFI_UNSUPPORTED at Patch#7
* changed the word, number, to 'index' (Patch#7,#8)
* removed 'ifdef CONFIG_EFI_CAPSULE_ON_DISK' from a header (Patch#8)
* initialize 'CapsuleLast' in efi_init_obj_list() (Patch#7,#8)
* added 'const' qualifier for filename argument at
efi_capsule_[read|delete]_file() (Patch#8)
v4 (July 22, 2020)
* rebased to Heinrich's current efi-2020-10
* rework dfu-related code to align with Heinrich's change (Patch#1,#3)
* change a type of 'addr' argument from int to 'void *' per Sughosh's
comment (Patch#2-#3,#11-#12)
* rework/simplify pytests (Patch#15-#16)
- utilize virt-make-fs
- drop Test Case 1 (updating U-Boot environment data)
- remove useless definitions (MNT_PNT, EFI_CAPSULE_IMAGE_NAME)
- apply autopep8
v3 (July 10, 2020)
* rebased to Heinrich's current efi-2020-10-rc1
* refactor efi_firmware_[fit|raw]_get_image_info() (patch#11,#13)
v2 (June 17, 2020)
* rebased to v2020.07-rc4
* add preparatory patches for dfu (Patch#1-#5, #12)
* rework FIT capsule driver to utilize dfu_alt_info instead of CONFIG_xxx
(patch#11)
* extend get_image_info() to correspond to dfu_alt_info
(patch#11)
* add a 'raw binary' capsule support
(patch#13, #17)
* allow multiple capsule formats (with different GUIDs) to be installed
(patch#11, #13)
* extend mkeficapsule command to accept additional parameters, like
version/index/hardware instance for a capsule header info.
(patch#15)
* mkeficapsule can now also generate raw-binary capsule
(patch#16)
* add function descriptions
* apply autopep8 to pytests and fix more against pylint
v1 (April 27, 2020)
* rebased to v2020.07-rc
* removed already-merged patches (RFC's #1 to #4)
* dropped 'variable update' capsule support (RFC's patch#10)
* dropped 'variable configuration table' support (RFC's patch#11)
(Those two should be discussed separately.)
* add preparatory patches (patch#1/#2)
* fix several build errors
* rename some Kconfig options to be aligned with UEFI specification's terms
(patch#3,4,6,7)
* enforce UpdateCapsule API to be disabled after ExitBootServices (patch#3)
* use config table, runtime_services_supported, instead of variable (patch#3)
* make EFI_CAPSULE_ON_DISK buildable even if UpdateCapsule API is disabled
(patch4)
* support OsIndications, invoking capsule-on-disk only if the variable
indicates so (patch#4)
* introduced EFI_CAPSULE_ON_DISK_EARLY to invoke capsule-on-disk in U-Boot
initialization (patch#4)
* detect capsule files only if they are on EFI system partition (patch#4)
* use printf, rather than EFI_PRINT, in error cases (patch#4)
* use 'header_size' field to retrieve capsule data, adding sanity checks
against capsule size (patch#6)
* call fmpt driver interfaces with EFI_CALL (patch#6)
* remove 'variable update capsule'-related code form mkeficapsule (patch#9)
* add a test case of OsIndications not being set properly (patch#10)
* adjust test scenario for EFI_CAPSULE_ON_DISK_EARLY (patch#10)
* revise pytest scripts (patch#10)
Initial release as RFC (March 17, 2020)
AKASHI Takahiro (18):
dfu: rename dfu_tftp_write() to dfu_write_by_name()
dfu: modify an argument type for an address
common: update: add a generic interface for FIT image
dfu: export dfu_list
efi_loader: add option to initialise EFI subsystem early
efi_loader: add efi_create_indexed_name()
efi_loader: define UpdateCapsule api
efi_loader: capsule: add capsule_on_disk support
efi_loader: capsule: add memory range capsule definitions
efi_loader: capsule: support firmware update
efi_loader: add firmware management protocol for FIT image
dfu: add dfu_write_by_alt()
efi_loader: add firmware management protocol for raw image
cmd: add "efidebug capsule" command
tools: add mkeficapsule command for UEFI capsule update
test/py: efi_capsule: test for FIT image capsule
test/py: efi_capsule: test for raw image capsule
sandbox: enable capsule update for testing
cmd/efidebug.c | 235 +++++
common/Kconfig | 15 +
common/Makefile | 3 +-
common/board_r.c | 6 +
common/main.c | 4 +
common/update.c | 77 +-
configs/sandbox64_defconfig | 6 +
configs/sandbox_defconfig | 6 +
drivers/dfu/Kconfig | 5 +
drivers/dfu/Makefile | 2 +-
drivers/dfu/dfu.c | 2 +-
drivers/dfu/dfu_alt.c | 125 +++
drivers/dfu/dfu_tftp.c | 65 --
include/dfu.h | 57 +-
include/efi_api.h | 166 ++++
include/efi_loader.h | 30 +
include/image.h | 12 +
lib/efi_loader/Kconfig | 72 ++
lib/efi_loader/Makefile | 2 +
lib/efi_loader/efi_capsule.c | 917 ++++++++++++++++++
lib/efi_loader/efi_firmware.c | 403 ++++++++
lib/efi_loader/efi_runtime.c | 104 +-
lib/efi_loader/efi_setup.c | 106 +-
.../py/tests/test_efi_capsule/capsule_defs.py | 5 +
test/py/tests/test_efi_capsule/conftest.py | 74 ++
.../test_efi_capsule/test_capsule_firmware.py | 241 +++++
.../tests/test_efi_capsule/uboot_bin_env.its | 36 +
tools/Makefile | 2 +
tools/mkeficapsule.c | 239 +++++
29 files changed, 2877 insertions(+), 140 deletions(-)
create mode 100644 drivers/dfu/dfu_alt.c
delete mode 100644 drivers/dfu/dfu_tftp.c
create mode 100644 lib/efi_loader/efi_capsule.c
create mode 100644 lib/efi_loader/efi_firmware.c
create mode 100644 test/py/tests/test_efi_capsule/capsule_defs.py
create mode 100644 test/py/tests/test_efi_capsule/conftest.py
create mode 100644 test/py/tests/test_efi_capsule/test_capsule_firmware.py
create mode 100644 test/py/tests/test_efi_capsule/uboot_bin_env.its
create mode 100644 tools/mkeficapsule.c
--
2.28.0
7
41