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
January 2021
- 187 participants
- 684 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

16 Feb '21
From: Vladimir Oltean <vladimir.oltean(a)nxp.com>
DSA stands for Distributed Switch Architecture and it is a subsystem
introduced in the Linux kernel to support switches that:
- have an Ethernet link up to the CPU
- use some form of tagging to identify the source/destination port for
Rx/Tx
- may be cascaded in tree-like structures.
DSA is described in depth here:
https://www.kernel.org/doc/Documentation/networking/dsa/dsa.txt
This patch set introduces a DSA class in U-Boot to support drivers of DSA
switches. DSA drivers have to implement the following ops:
- enable/disable of switch ports,
- insert a tag in frames being transmitted, used by the switch to select
the egress port,
- parse a tag in frames being received, used for Rx traffic.
DSA class code deals with presentation of switch ports as Ethernet
interfaces, deals with the master Ethernet device for I/O and helps with
parsing of the DT assuming the structure follows the DSA kernel binding.
Support for switch cascading is not included yet.
In the sandbox environment, the DSA sandbox driver, the switch ports and
master eth interface look like this:
=> dm tree
Class Index Probed Driver Name
-----------------------------------------------------------
[...]
eth 4 [ + ] eth_sandbox |-- dsa-test-eth
dsa 0 [ + ] dsa_sandbox |-- dsa-test
eth 5 [ + ] dsa-port | |-- lan0
eth 6 [ + ] dsa-port | `-- lan1
=> setenv ethact lan1
=> ping 1.2.3.5
Using lan1 device
host 1.2.3.5 is alive
=>
This patch set also introduces a driver for the Ethernet switch integrated
into NXP LS1028A, called Felix. The switch has 4 front panel ports, I/O
to/from it is done though an ENETC Ethernet interface and meta-data is
carried between the switch and the driver though an additional header
pre-pended to the original frame.
Network commands like tftp can be used on these front panel ports. The
ports are disabled unless used so they do not cause issues on network
topologies that include loops.
Felix as seen on LS1028A RDB:
=> dm tree
Class Index Probed Driver Name
-----------------------------------------------------------
[...]
dsa 0 [ + ] felix-switch | |-- felix-switch
eth 4 [ + ] dsa-port | | |-- swp0
eth 5 [ + ] dsa-port | | |-- swp1
eth 6 [ + ] dsa-port | | |-- swp2
eth 7 [ + ] dsa-port | | `-- swp3
=> mdio list
[...]
10 - Vitesse VSC8514 <--> swp0
11 - Vitesse VSC8514 <--> swp1
12 - Vitesse VSC8514 <--> swp2
13 - Vitesse VSC8514 <--> swp3
NOTE:
This patchset is a major rework of the dsa-class code since the last
submission from May 5th:
https://patchwork.ozlabs.org/project/uboot/cover/1588700588-8587-1-git-send…
The basic concepts and data path operation (tagging) in the DSA class
code remain the same as in the initial patchset from Alex, however the
external API has been changed significantly (simplified), the driver
model integration has been improved to the point that the DSA class
code no longer needs to allocate extra memory internally (via malloc),
reduced memory footprint, internal state data moved from the external
API and internalized, cleaner external API, internal code reworked,
completely reworked DSA sandbox driver and unit tests for better coverage
and to integrate better with the eth sandbox driver and tests, etc.
v4:
- Implemented the TODO for having a phy_device on the CPU port.
- Enabled CONFIG_PHY_FIXED which is a new dependency of CONFIG_DM_DSA.
v3:
- Removed all infrastructure associated with dsa_foreach_port, which
is no longer needed.
- Only inherit the DSA master's MAC address if the environment does not
already have a specific MAC address that should be used for the DSA
port.
- Be compatible with the new "ethernet-ports" container name which has
been introduced in the Linux kernel as commit 85e05d263ed2 ("net: dsa:
of: Allow ethernet-ports as encapsulating node") in v5.9.
- Fixed the felix driver not getting its ports initialized, due to
dsa_foreach_port() being actually unusable when called from the probe
function of the DSA udevice - the eth port udevices are _not_ yet
probed at that point. We are now initializing all ports from the
.port_enable() callback of each eth udevice.
- Deleted the unit tests associated with the infrastructure for
dsa_foreach_port, since that function no longer exists.
- Enabled the config options for the Kontron LS1028A board too.
v2: Switch node structure defined in dtsi now consistent with the Linux
switch node definition. Moved aliases from dtsi to the RDB dts to
minimize impact on other boards (and for improved flexibility).
Alex Marginean (3):
drivers: net: Add Felix DSA switch driver
arm: dts: ls1028a: Add Ethernet switch node and dependencies
configs: ls1028a: Enable the Ethernet switch driver in defconfig
Claudiu Manoil (2):
net: Introduce DSA class for Ethernet switches
sandbox: Add a DSA sandbox driver and unit test
Vladimir Oltean (2):
net: phy: fixed: support speeds of 2500 and 10000
net: phy: introduce fixed_phy_create for DSA CPU ports
arch/Kconfig | 1 +
arch/arm/dts/fsl-ls1028a-rdb.dts | 64 +++
arch/arm/dts/fsl-ls1028a.dtsi | 56 ++-
arch/sandbox/dts/test.dts | 48 ++
configs/kontron_sl28_defconfig | 3 +
configs/ls1028aqds_tfa_SECURE_BOOT_defconfig | 3 +
configs/ls1028aqds_tfa_defconfig | 3 +
configs/ls1028ardb_tfa_SECURE_BOOT_defconfig | 3 +
configs/ls1028ardb_tfa_defconfig | 3 +
drivers/net/Kconfig | 24 +
drivers/net/Makefile | 1 +
drivers/net/dsa_sandbox.c | 179 +++++++
drivers/net/fsl_enetc.h | 5 +
drivers/net/mscc_eswitch/Kconfig | 8 +
drivers/net/mscc_eswitch/Makefile | 1 +
drivers/net/mscc_eswitch/felix_switch.c | 414 ++++++++++++++++
drivers/net/phy/fixed.c | 3 +-
drivers/net/phy/phy.c | 31 ++
include/configs/sandbox.h | 2 +
include/dm/uclass-id.h | 1 +
include/net.h | 6 +
include/net/dsa.h | 165 +++++++
include/phy.h | 21 +
net/Makefile | 1 +
net/dsa-uclass.c | 478 +++++++++++++++++++
test/dm/Makefile | 1 +
test/dm/dsa.c | 82 ++++
test/dm/eth.c | 10 +-
28 files changed, 1610 insertions(+), 7 deletions(-)
create mode 100644 drivers/net/dsa_sandbox.c
create mode 100644 drivers/net/mscc_eswitch/felix_switch.c
create mode 100644 include/net/dsa.h
create mode 100644 net/dsa-uclass.c
create mode 100644 test/dm/dsa.c
--
2.25.1
4
29
From: Igor Opaniuk <igor.opaniuk(a)foundries.io>
This patchset allows OP-TEE to communicate with I2C devices; a typical
use case would be servicing U-Boot requests that require underlying
cryptographic operations implemented by an I2C chip.
On a board fitted with the NXP SE050 I2C secure element, OP-TEE can
route some of the cryptographic operations it needs to that device (ie
RSA, ECC, CTR..).
Before the REE executes, OP-TEE would use its own I2C drivers to
communicate with the device on the bus; later on, once the REE is up,
accesses to the I2C bus should be coordinated with the REE to avoid
collisions. However instead of implementing such a synchronization
mechanism, this trampoline service permits OP-TEE to route those I2C
requests back to U-boot without then having to worry about collisions.
Lets suppose that U-Boot executes the trusted application Android
Verified Boot; when OP-TEE receives the request - and before executing
the application - it uses RSA to verify it. So on the back of the TA
function invocation, OP-TEE returns to U-boot with a sequence of RPC
calls requesting I2C transfers (check carefully the implementation in
do_call_with_arg(...) implemented in drivers/tee/optee/core.c and
notice the while loop)
When using sandbox testing, RPC is called directly to validate its
actual implementation; however as succintly described above, these
calls will always be originated in OP-TEE.
Changes v8:
* [Etienne Carriere] extended TA param description (missed one param)
Changes v7:
* [Etienne Carriere] extended TA param description, adding info about
i2c xfer flags. Applied A-b and R-b tags
* [Jens Wiklander] applied R-b tag
Changes v6:
* [Etienne Carriere] fixed func return code handling
* [Etienne Carriere] tee_optee_ta_uuid passing a pointer instead of full
struct
* [Etienne Carriere] pass additionally i2c control flags in tests
* Fixed mispelling in the comments
Changes v5:
* [Jens Wiklander] Addressed comment about optee_alloc_and_init_page_list():
drop inline, proper return value and comment
Changes v4:
* [Simon Glass] Reduced amount ifdefs warnings and move to
if (IS_ENABLED(CONFIG_*)) where possible
* Fixed pointer-sign warnings
Changes v3:
* [Simon Glass] Added RPC I2C test coverage
Changes v2:
* [Simon Glass] Adjusted the usage of DM internal api (dev_get_parent_platdata)
* [Simon Glass] Added additional comments to functions
* [Jens Wiklander] s/tmem/rmem/g
Igor Opaniuk (3):
test: py: add pygit2 and pyelftools to requirements.txt
drivers: tee: sandbox: add rpc test ta emulation
test: dm: tee: extend with RPC test
Jorge Ramirez-Ortiz (1):
drivers: tee: i2c trampoline driver
drivers/tee/Makefile | 2 +
drivers/tee/optee/Kconfig | 9 ++
drivers/tee/optee/Makefile | 1 +
drivers/tee/optee/i2c.c | 90 ++++++++++++++
drivers/tee/optee/optee_msg.h | 21 ++++
drivers/tee/optee/optee_msg_supplicant.h | 5 +
drivers/tee/optee/optee_private.h | 17 +++
drivers/tee/optee/supplicant.c | 3 +
drivers/tee/sandbox.c | 142 ++++++++++++++++++++++-
include/tee/optee_ta_rpc_test.h | 30 +++++
test/dm/tee.c | 116 ++++++++++++++++--
test/py/requirements.txt | 2 +
12 files changed, 427 insertions(+), 11 deletions(-)
create mode 100644 drivers/tee/optee/i2c.c
create mode 100644 include/tee/optee_ta_rpc_test.h
--
2.25.1
2
8
Add of_match_node() helper function to iterate over the device tree
and tell if a device_node has a matching of_match structure.
Signed-off-by: Biju Das <biju.das.jz(a)bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj(a)bp.renesas.com>
Reviewed-by: Simon Glass <sjg(a)chromium.org>
---
v4->v5:
* Rebased to latest master
v3->v4: No change
* Added Simon's Rb tag.
v2->v3:
* Added a test case for of_match_node helper function.
(Ref: https://patchwork.ozlabs.org/project/uboot/patch/20201102150959.4793-2-biju…)
v1->v2:
* No Change
v1:
* New Patch
---
drivers/core/device.c | 21 +++++++++++++++++++++
include/dm/device.h | 13 +++++++++++++
test/dm/core.c | 31 +++++++++++++++++++++++++++++++
3 files changed, 65 insertions(+)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index aeab3836ed..4ff708fd38 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -1022,6 +1022,27 @@ bool of_machine_is_compatible(const char *compat)
return !fdt_node_check_compatible(fdt, 0, compat);
}
+static
+const struct udevice_id *__of_match_node(const struct udevice_id *matches,
+ const ofnode node)
+{
+ if (!matches)
+ return NULL;
+
+ for (; matches->compatible; matches++) {
+ if (ofnode_device_is_compatible(node, matches->compatible))
+ return matches;
+ }
+
+ return NULL;
+}
+
+const struct udevice_id *of_match_node(const struct udevice_id *matches,
+ const ofnode node)
+{
+ return __of_match_node(matches, node);
+}
+
int dev_disable_by_path(const char *path)
{
struct uclass *uc;
diff --git a/include/dm/device.h b/include/dm/device.h
index f5b4cd6876..950fc78184 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -802,6 +802,19 @@ bool device_is_compatible(const struct udevice *dev, const char *compat);
*/
bool of_machine_is_compatible(const char *compat);
+/**
+ * of_match_node() - Tell if a device_node has a matching of_match structure
+ *
+ *
+ * Low level utility function used by device matching.
+ *
+ * @matches: array of of device match structures to search in
+ * @node: the of device structure to match against
+ * @return matching structure on success, NULL if the match is not found
+ */
+const struct udevice_id *of_match_node(const struct udevice_id *matches,
+ const ofnode node);
+
/**
* dev_disable_by_path() - Disable a device given its device tree path
*
diff --git a/test/dm/core.c b/test/dm/core.c
index 1f5ca570dc..aae4d8427d 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -11,6 +11,7 @@
#include <fdtdec.h>
#include <log.h>
#include <malloc.h>
+#include <dm/device.h>
#include <dm/device-internal.h>
#include <dm/root.h>
#include <dm/util.h>
@@ -1067,6 +1068,36 @@ static int dm_test_inactive_child(struct unit_test_state *uts)
}
DM_TEST(dm_test_inactive_child, UT_TESTF_SCAN_PDATA);
+static int dm_test_of_match_node(struct unit_test_state *uts)
+{
+ const ulong test_data_expected = 0x1234;
+ ofnode root_node = ofnode_path("/");
+ const struct udevice_id *match;
+ unsigned long match_data;
+
+ const struct udevice_id soc_device_ids[] = {
+ { .compatible = "sandbox", .data = test_data_expected, },
+ { /* sentinel */ }
+ };
+
+ const struct udevice_id soc_device_nomatch_ids[] = {
+ { .compatible = "sandbox123", .data = test_data_expected, },
+ { /* sentinel */ }
+ };
+
+ match = of_match_node(soc_device_ids, root_node);
+ ut_assert(match);
+
+ match_data = match->data;
+ ut_asserteq(match_data, test_data_expected);
+
+ match = of_match_node(soc_device_nomatch_ids, root_node);
+ ut_asserteq_ptr(match, NULL);
+
+ return 0;
+}
+DM_TEST(dm_test_of_match_node, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
+
/* Make sure all bound devices have a sequence number */
static int dm_test_all_have_seq(struct unit_test_state *uts)
{
--
2.17.1
1
2

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

[PATCH v4 0/9] mtd: spi-nor: Add support for Cypress s25hl-t/s25hs-t
by tkuw584924@gmail.com 15 Feb '21
by tkuw584924@gmail.com 15 Feb '21
15 Feb '21
From: Takahiro Kuwano <Takahiro.Kuwano(a)infineon.com>
The S25HL-T/S25HS-T family is the Cypress Semper Flash with Quad SPI.
The datasheets can be found in the following links.
https://www.cypress.com/file/424146/download (256Mb/512Mb/1Gb, single die)
https://www.cypress.com/file/499246/download (2Gb/4Gb, dual/quad die)
Tested on Xilinx Zynq-7000 FPGA board.
Takahiro Kuwano (9):
mtd: spi-nor: Add Cypress manufacturer ID
mtd: spi-nor-ids: Add Cypress s25hl-t/s25hs-t
mtd: spi-nor-core: Add support for Read/Write Any Register
mtd: spi-nor-core: Add support for volatile QE bit
mtd: spi-nor-core: Add the ->ready() hook
mtd: spi-nor-core: Add overlaid sector erase feature
mtd: spi-nor-core: Add Cypress manufacturer ID in set_4byte
mtd: spi-nor-core: Add fixups for Cypress s25hl-t/s25hs-t
mtd: spi-nor-tiny: Add fixups for Cypress s25hl-t/s25hs-t
drivers/mtd/spi/spi-nor-core.c | 267 +++++++++++++++++++++++++++++++++
drivers/mtd/spi/spi-nor-ids.c | 36 +++++
drivers/mtd/spi/spi-nor-tiny.c | 89 +++++++++++
include/linux/mtd/spi-nor.h | 9 +-
4 files changed, 400 insertions(+), 1 deletion(-)
---
Changes since v4:
- Added Read/Write Any Register support
- Added the ->ready() hook to support multi-die package parts
- Added S25HL02GT/S25HL04GT/S25HS02GT/S25HS04GT support
Changes since v3:
- Split into multiple patches
Changes since v2:
- Fixed typo in comment for spansion_overlaid_erase()
- Fixed expressions for addr and len check in spansion_overlaid_erase()
- Added device ID check to make the changes effective for S25 only
- Added nor->setup() and fixup hooks based on the following patches
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-7-p.ya…
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-8-p.ya…
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-9-p.ya…
--
2.25.1
3
24
The following 2 commits add the ESRT and provide some intial testing.
The first commit adds the ESRT as defined in the UEFI 2.8 specification.
The ESRT is created during the execution of the efi_init_obj_list().
The ESRT will, during initialization, look for FMP instances already
present in the system and populate the corresponding FW image entries.
When a new FMP is added, via efi_add_protocol(), the
method esrt_add_from_fmp() is called to populate the corresponding ESRT
entries.
The second commit creates a fake FMP instance with the intent of testing
the code populating the ESRT entries.
CC: Heinrich Schuchardt <xypron.glpk(a)gmx.de>
CC: Sughosh Ganu <sughosh.ganu(a)linaro.org>
CC: AKASHI Takahiro <takahiro.akashi(a)linaro.org>
CC: Andre Przywara <andre.przywara(a)arm.com>
CC: Alexander Graf <agraf(a)csgraf.de>
CC: nd(a)arm.com
Jose Marinho (2):
efi: Add ESRT to the EFI system table
efi: Add fake FMP instance to test ESRT creation
include/efi_api.h | 21 +++
include/efi_loader.h | 22 +++
lib/efi_loader/Makefile | 2 +
lib/efi_loader/efi_boottime.c | 12 ++
lib/efi_loader/efi_esrt.c | 294 ++++++++++++++++++++++++++++++++++
lib/efi_loader/efi_fake_fmp.c | 172 ++++++++++++++++++++
lib/efi_loader/efi_setup.c | 4 +
7 files changed, 527 insertions(+)
create mode 100644 lib/efi_loader/efi_esrt.c
create mode 100644 lib/efi_loader/efi_fake_fmp.c
--
2.17.1
3
7
This series includes a collection of things noticed while bringing up
verified boot on Coral.
It includes support for relocating the bloblist.
Simon Glass (17):
doc: Correct documentation for uclass_root
spl: Add functions for next and previous phase
bloblist: Support relocating to a larger space
bloblist: Add missing tag names
x86: tsc_timer: Correct overflow in __udelay()
video: Allow syncing the entire framebuffer to the copy
net: Use CONFIG_IS_ENABLED() in eth_dev_get_mac_address()
fdtdec: Update the missing-devicetree message
fdtdec: Use CONFIG_IS_ENABLED in board_fdt_blob_setup()
display_options: Use USE_TINY_PRINTF for SPL check
uuid: Add a comment for UUID_STR_LEN
mmc: pci_mmc: Only generate ACPI code for the SD card
x86: coral: Add a devicetree node for eMMC
mmc: pci_mmc: Set the removable flag
crc32: Exclude crc32 from TPL
binman: Move selection of the binman node into a function
binman: Allow reading entries from a subnode
arch/x86/dts/chromebook_coral.dts | 6 +++
common/Kconfig | 10 +++++
common/bloblist.c | 17 +++++++++
common/board_f.c | 10 +++--
common/spl/spl.c | 2 +-
drivers/mmc/pci_mmc.c | 19 +++++++++-
drivers/timer/tsc_timer.c | 2 +-
drivers/video/video-uclass.c | 10 +++++
include/asm-generic/global_data.h | 4 +-
include/binman.h | 14 +++++++
include/bloblist.h | 10 +++++
include/spl.h | 53 +++++++++++++++++++++++++++
include/uuid.h | 1 +
include/video.h | 14 +++++++
lib/Makefile | 2 +
lib/binman.c | 61 ++++++++++++++++++++++++++-----
lib/display_options.c | 9 ++---
lib/fdtdec.c | 5 ++-
net/eth-uclass.c | 2 +-
test/bloblist.c | 36 ++++++++++++++++++
20 files changed, 260 insertions(+), 27 deletions(-)
--
2.30.0.284.gd98b1dd5eaa7-goog
6
44
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

11 Feb '21
In case of IOMUX enabled it assumes that console devices in the list
are available to get them stopped properly via ->stop() callback.
However, the USB keyboard driver violates this assumption and tries
to play tricks so the device get destroyed while being listed as
an active console.
Swap the order of device deregistration and IOMUX update to avoid
the use-after-free.
Fixes: 3cbcb2892809 ("usb: Fix usb_kbd_deregister when console-muxing is used")
Fixes: 8a8348703081 ("dm: usb: Add a remove() method for USB keyboards")
Reported-by: Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
---
v2: Nicolas, can you test this one instead of yours?
common/usb_kbd.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index b316807844b1..e09d9f7794c8 100644
--- a/common/usb_kbd.c
+++ b/common/usb_kbd.c
@@ -617,12 +617,12 @@ int usb_kbd_deregister(int force)
if (dev) {
usb_kbd_dev = (struct usb_device *)dev->priv;
data = usb_kbd_dev->privptr;
- if (stdio_deregister_dev(dev, force) != 0)
- return 1;
#if CONFIG_IS_ENABLED(CONSOLE_MUX)
if (iomux_doenv(stdin, env_get("stdin")) != 0)
return 1;
#endif
+ if (stdio_deregister_dev(dev, force) != 0)
+ return 1;
#ifdef CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE
destroy_int_queue(usb_kbd_dev, data->intq);
#endif
@@ -660,16 +660,16 @@ static int usb_kbd_remove(struct udevice *dev)
goto err;
}
data = udev->privptr;
- if (stdio_deregister_dev(sdev, true)) {
- ret = -EPERM;
- goto err;
- }
#if CONFIG_IS_ENABLED(CONSOLE_MUX)
if (iomux_doenv(stdin, env_get("stdin"))) {
ret = -ENOLINK;
goto err;
}
#endif
+ if (stdio_deregister_dev(sdev, true)) {
+ ret = -EPERM;
+ goto err;
+ }
#ifdef CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE
destroy_int_queue(udev, data->intq);
#endif
--
2.29.2
4
14