Merge tag 'u-boot-dfu-20240930' of https://source.denx.de/u-boot/custodians/u-boot-dfu
u-boot-dfu-20240930
- Fix Kconfig dependencies for DFU_OVER_USB
diff --git a/Makefile b/Makefile
index 74df5d1..bde0389 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
VERSION = 2024
PATCHLEVEL = 10
SUBLEVEL =
-EXTRAVERSION = -rc4
+EXTRAVERSION = -rc5
NAME =
# *DOCUMENTATION*
diff --git a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
index 884f442..27851b7 100644
--- a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
+++ b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
@@ -64,6 +64,10 @@
bootph-all;
};
+&chipid {
+ bootph-all;
+};
+
&mcu_ringacc {
reg = <0x0 0x2b800000 0x0 0x400000>,
<0x0 0x2b000000 0x0 0x400000>,
diff --git a/arch/arm/mach-stm32mp/stm32mp1/psci.c b/arch/arm/mach-stm32mp/stm32mp1/psci.c
index bfbf420..a02a898 100644
--- a/arch/arm/mach-stm32mp/stm32mp1/psci.c
+++ b/arch/arm/mach-stm32mp/stm32mp1/psci.c
@@ -393,8 +393,7 @@
asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (start));
for (;;) {
tmp = readl(reg);
- tmp &= mask;
- if ((tmp & val) == val)
+ if ((tmp & mask) == val)
return 0;
asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (end));
if ((end - start) > delay)
diff --git a/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c b/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
index f096fe5..ca202be 100644
--- a/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
+++ b/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
@@ -148,8 +148,8 @@
*/
clrsetbits_le32(TAMP_SMCR,
TAMP_SMCR_BKPRWDPROT | TAMP_SMCR_BKPWDPROT,
- FIELD_PREP(TAMP_SMCR_BKPRWDPROT, 0x20) |
- FIELD_PREP(TAMP_SMCR_BKPWDPROT, 0x20));
+ FIELD_PREP(TAMP_SMCR_BKPRWDPROT, 0x0A) |
+ FIELD_PREP(TAMP_SMCR_BKPWDPROT, 0x0F));
/* GPIOZ: deactivate the security */
writel(BIT(0), RCC_MP_AHB5ENSETR);
diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c b/board/dhelectronics/dh_imx6/dh_imx6.c
index c8dd30d..ada44e0 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6.c
@@ -30,6 +30,7 @@
#include <fuse.h>
#include <i2c_eeprom.h>
#include <mmc.h>
+#include <power/regulator.h>
#include <usb.h>
#include <linux/delay.h>
#include <usb/ehci-ci.h>
@@ -127,6 +128,8 @@
setup_fec_clock();
+ regulators_enable_boot_on(_DEBUG);
+
return 0;
}
diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
index c635735..a389ab3 100644
--- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
+++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
@@ -14,6 +14,7 @@
#include <malloc.h>
#include <net.h>
#include <miiphy.h>
+#include <power/regulator.h>
#include "lpddr4_timing.h"
#include "../common/dh_common.h"
@@ -111,6 +112,8 @@
int board_init(void)
{
+ regulators_enable_boot_on(_DEBUG);
+
return 0;
}
diff --git a/cmd/efidebug.c b/cmd/efidebug.c
index 1a191eb..e040fe7 100644
--- a/cmd/efidebug.c
+++ b/cmd/efidebug.c
@@ -665,7 +665,7 @@
};
/**
- * create_lo_dp() - create a special device path for our Boot### option
+ * create_lo_dp_part() - create a special device path for our Boot### option
*
* @dev: device
* @part: disk partition
@@ -1127,7 +1127,7 @@
}
/**
- * show_efi_boot_dump() - dump all UEFI load options
+ * do_efi_boot_dump() - dump all UEFI load options
*
* @cmdtp: Command table
* @flag: Command flag
diff --git a/doc/arch/m68k.rst b/doc/arch/m68k.rst
index 8474ece..de7eb38 100644
--- a/doc/arch/m68k.rst
+++ b/doc/arch/m68k.rst
@@ -82,9 +82,9 @@
Adopted toolchains
------------------
-Please check:
-https://www.denx.de/wiki/U-Boot/ColdFireNotes
-
+Currently the `kernel.org cross-development toolchains
+<https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/>`_ are
+used in the project CI builds.
ColdFire specific configuration options/settings
------------------------------------------------
diff --git a/doc/arch/mips.rst b/doc/arch/mips.rst
index b816608..aeb5824 100644
--- a/doc/arch/mips.rst
+++ b/doc/arch/mips.rst
@@ -8,9 +8,8 @@
Toolchains
----------
- * `ELDK < DULG < DENX <http://www.denx.de/wiki/DULG/ELDK>`_
- * `Embedded Debian -- Cross-development toolchains <http://www.emdebian.org/crosstools.html>`_
* `Buildroot <http://buildroot.uclibc.org/>`_
+ * `kernel.org cross-development toolchains <https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/>`_
Known Issues
------------
diff --git a/doc/develop/process.rst b/doc/develop/process.rst
index 0542b3f..0c6fb31 100644
--- a/doc/develop/process.rst
+++ b/doc/develop/process.rst
@@ -23,9 +23,8 @@
Phases of the Development Process
---------------------------------
-U-Boot development takes place in `Release Cycles
-<https://www.denx.de/wiki/U-Boot/ReleaseCycle>`_. A Release Cycle lasts
-normally for three months.
+U-Boot development takes place in a :doc:`release_cycle`. A Release Cycle
+lasts normally for three months.
The first three weeks of each Release Cycle are called *Merge Window*.
diff --git a/doc/develop/sending_patches.rst b/doc/develop/sending_patches.rst
index 3f25b1d..e22b5e3 100644
--- a/doc/develop/sending_patches.rst
+++ b/doc/develop/sending_patches.rst
@@ -73,12 +73,13 @@
cover letter why they are ignored is desired.
* Send your patches as plain text messages: no HTML, no MIME, no links, no
- compression, no attachments. Just plain text. The best way the generate
- patches is by using the ``git format-patch`` command. Please use the
- ``master`` branch of the mainline U-Boot git repository
- (``https://source.denx.de/u-boot/u-boot.git``) as reference, unless (usually
- late in a release cycle) there has been an announcement to use the ``next``
- branch of this repository instead.
+ compression, no attachments. Just plain text. The best way to generate
+ patches is by using the ``git format-patch`` command. For a patch that is
+ fixing a bug or regression of some sort, please use the ``master`` branch of
+ the mainline U-Boot git repository located at
+ https://source.denx.de/u-boot/u-boot.git as reference. For new features, if
+ the ``next`` branch has been opened (which happens with the release of
+ ``-rc2``) that branch should be used, otherwise ``master`` is acceptable.
* Make sure that your mailer does not mangle the patch by automatic changes
like wrapping of longer lines etc.
diff --git a/doc/develop/version.rst b/doc/develop/version.rst
index 5c9046a..de11836 100644
--- a/doc/develop/version.rst
+++ b/doc/develop/version.rst
@@ -9,7 +9,7 @@
weeks as the project heads to the next release. So 2020.10-rc1 was the first
release candidate (RC), tagged soon after 2020.07 was released.
-See https://www.denx.de/wiki/view/U-Boot/ReleaseCycle for full details.
+See :doc:`release_cycle` for full details.
Within the build system, various Makefile variables are created, making use of
VERSION, PATCHLEVEL and EXTRAVERSION defined at the top of 'Makefile'. There is
diff --git a/doc/device-tree-bindings/bootcount-syscon.txt b/doc/device-tree-bindings/bootcount-syscon.txt
index e124f7b..ea27b24 100644
--- a/doc/device-tree-bindings/bootcount-syscon.txt
+++ b/doc/device-tree-bindings/bootcount-syscon.txt
@@ -1,6 +1,6 @@
Bootcount Configuration
This is the implementation of the feature as described in
-https://www.denx.de/wiki/DULG/UBootBootCountLimit.
+https://docs.u-boot.org/en/latest/api/bootcount.html
Required Properties:
- compatible: must be "u-boot,bootcount-syscon".
diff --git a/doc/mkeficapsule.1 b/doc/mkeficapsule.1
index c3d0f21..eaaba2c 100644
--- a/doc/mkeficapsule.1
+++ b/doc/mkeficapsule.1
@@ -130,4 +130,4 @@
Written by AKASHI Takahiro <takahiro.akashi@linaro.org>
.SH HOMEPAGE
-http://www.denx.de/wiki/U-Boot/WebHome
+http://www.u-boot.org/
diff --git a/doc/usage/cmd/ums.rst b/doc/usage/cmd/ums.rst
index 9d379e3..e962227 100644
--- a/doc/usage/cmd/ums.rst
+++ b/doc/usage/cmd/ums.rst
@@ -48,7 +48,7 @@
-------------
The ums command is only available if CONFIG_CMD_USB_MASS_STORAGE=y
-and depends on CONFIG_USB_USB_GADGET and CONFIG_BLK.
+which depends on CONFIG_USB_GADGET_DOWNLOAD and CONFIG_BLK.
Return value
------------
diff --git a/drivers/bootcount/Kconfig b/drivers/bootcount/Kconfig
index 2105cea..d375984 100644
--- a/drivers/bootcount/Kconfig
+++ b/drivers/bootcount/Kconfig
@@ -6,7 +6,7 @@
bool "Enable support for checking boot count limit"
help
Enable checking for exceeding the boot count limit.
- More information: http://www.denx.de/wiki/DULG/UBootBootCountLimit
+ More information: https://docs.u-boot.org/en/latest/api/bootcount.html
if BOOTCOUNT_LIMIT
diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c
index e112545..e06f446 100644
--- a/drivers/mux/mmio.c
+++ b/drivers/mux/mmio.c
@@ -31,6 +31,7 @@
static const struct udevice_id mmio_mux_of_match[] = {
{ .compatible = "mmio-mux" },
+ { .compatible = "reg-mux" },
{ /* sentinel */ },
};
@@ -45,7 +46,11 @@
int ret;
int i;
- regmap = syscon_node_to_regmap(dev_ofnode(dev->parent));
+ if (ofnode_device_is_compatible(dev_ofnode(dev), "mmio-mux"))
+ regmap = syscon_node_to_regmap(dev_ofnode(dev->parent));
+ else
+ regmap_init_mem(dev_ofnode(dev), ®map);
+
if (IS_ERR(regmap)) {
ret = PTR_ERR(regmap);
dev_err(dev, "failed to get regmap: %d\n", ret);
diff --git a/drivers/phy/cadence/phy-cadence-sierra.c b/drivers/phy/cadence/phy-cadence-sierra.c
index f5e23f3..2c9d5a1 100644
--- a/drivers/phy/cadence/phy-cadence-sierra.c
+++ b/drivers/phy/cadence/phy-cadence-sierra.c
@@ -1126,7 +1126,7 @@
sp->autoconf = dev_read_bool(dev, "cdns,autoconf");
- dev_info(dev, "sierra probed\n");
+ dev_dbg(dev, "sierra probed\n");
return 0;
clk_disable:
diff --git a/drivers/power/regulator/rk8xx.c b/drivers/power/regulator/rk8xx.c
index 34e6151..375d06e 100644
--- a/drivers/power/regulator/rk8xx.c
+++ b/drivers/power/regulator/rk8xx.c
@@ -381,7 +381,7 @@
val = ((uvolt - info->min_uv) / info->step_uv) + info->min_sel;
debug("%s: volt=%d, buck=%d, reg=0x%x, mask=0x%x, val=0x%x\n",
- __func__, uvolt, buck + 1, info->vsel_reg, mask, val);
+ __func__, uvolt, buck, info->vsel_reg, mask, val);
if (priv->variant == RK816_ID) {
pmic_clrsetbits(pmic, info->vsel_reg, mask, val);
@@ -415,7 +415,7 @@
break;
case RK806_ID:
value = RK806_POWER_EN_CLRSETBITS(buck % 4, enable);
- en_reg = RK806_POWER_EN((buck + 1) / 4);
+ en_reg = RK806_POWER_EN(buck / 4);
ret = pmic_reg_write(pmic, en_reg, value);
break;
case RK808_ID:
@@ -470,7 +470,7 @@
val = ((uvolt - info->min_uv) / info->step_uv) + info->min_sel;
debug("%s: volt=%d, buck=%d, reg=0x%x, mask=0x%x, val=0x%x\n",
- __func__, uvolt, buck + 1, info->vsel_sleep_reg, mask, val);
+ __func__, uvolt, buck, info->vsel_sleep_reg, mask, val);
return pmic_clrsetbits(pmic, info->vsel_sleep_reg, mask, val);
}
@@ -494,7 +494,7 @@
break;
case RK806_ID:
mask = BIT(buck % 4);
- ret = pmic_reg_read(pmic, RK806_POWER_EN((buck + 1) / 4));
+ ret = pmic_reg_read(pmic, RK806_POWER_EN(buck / 4));
break;
case RK808_ID:
case RK818_ID:
@@ -539,12 +539,13 @@
{
u8 reg;
- if (buck + 1 >= 9) {
+ if (buck >= 8) {
+ /* BUCK9 and BUCK10 */
reg = RK806_POWER_SLP_EN1;
- mask = BIT(buck + 1 - 3);
+ mask = BIT(buck - 2);
} else {
reg = RK806_POWER_SLP_EN0;
- mask = BIT(buck + 1);
+ mask = BIT(buck);
}
ret = pmic_clrsetbits(pmic, reg, mask, enable ? mask : 0);
}
@@ -590,12 +591,13 @@
{
u8 reg;
- if (buck + 1 >= 9) {
+ if (buck >= 8) {
+ /* BUCK9 and BUCK10 */
reg = RK806_POWER_SLP_EN1;
- mask = BIT(buck + 1 - 3);
+ mask = BIT(buck - 2);
} else {
reg = RK806_POWER_SLP_EN0;
- mask = BIT(buck + 1);
+ mask = BIT(buck);
}
val = pmic_reg_read(pmic, reg);
}
diff --git a/drivers/ram/k3-ddrss/lpddr4.c b/drivers/ram/k3-ddrss/lpddr4.c
index 11ef242..9f9abfe 100644
--- a/drivers/ram/k3-ddrss/lpddr4.c
+++ b/drivers/ram/k3-ddrss/lpddr4.c
@@ -155,10 +155,11 @@
u32 result = 0U;
result = lpddr4_startsf(pd);
- if (result == (u32)0) {
+ if (result == (u32)0)
result = lpddr4_enablepiinitiator(pd);
+ if (result == (u32)0)
result = lpddr4_startsequencecontroller(pd);
- }
+
return result;
}
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
index 32b2c41..ac7e469 100644
--- a/drivers/usb/cdns3/gadget.c
+++ b/drivers/usb/cdns3/gadget.c
@@ -965,6 +965,12 @@
if (priv_dev->dev_ver <= DEV_VER_V2)
cdns3_wa1_tray_restore_cycle_bit(priv_dev, priv_ep);
+ /* Flush TRBs */
+ flush_dcache_range((unsigned long)priv_ep->trb_pool,
+ (unsigned long)priv_ep->trb_pool +
+ ROUND(sizeof(struct cdns3_trb) * priv_ep->num_trbs,
+ CONFIG_SYS_CACHELINE_SIZE));
+
trace_cdns3_prepare_trb(priv_ep, priv_req->trb);
/*
@@ -1153,6 +1159,13 @@
priv_ep->endpoint.desc->bEndpointAddress);
#endif
+ /* Invalidate TRBs */
+ invalidate_dcache_range((unsigned long)priv_ep->trb_pool,
+ (unsigned long)priv_ep->trb_pool +
+ ROUND(sizeof(struct cdns3_trb) *
+ priv_ep->num_trbs,
+ CONFIG_SYS_CACHELINE_SIZE));
+
if (!cdns3_request_handled(priv_ep, priv_req))
goto prepare_next_td;
diff --git a/include/efi_variable.h b/include/efi_variable.h
index 223bb9a..4065cf4 100644
--- a/include/efi_variable.h
+++ b/include/efi_variable.h
@@ -38,7 +38,7 @@
void *data, u64 *timep);
/**
- * efi_set_variable() - set value of a UEFI variable
+ * efi_set_variable_int() - set value of a UEFI variable
*
* @variable_name: name of the variable
* @vendor: vendor GUID
diff --git a/include/event.h b/include/event.h
index fb353ad..75141a1 100644
--- a/include/event.h
+++ b/include/event.h
@@ -385,7 +385,7 @@
int event_uninit(void);
/**
- * event_uninit() - Set up dynamic events
+ * event_init() - Set up dynamic events
*
* Init a list of dynamic event handlers, so that these can be added as
* needed
diff --git a/include/expo.h b/include/expo.h
index 264745f..c235fa2 100644
--- a/include/expo.h
+++ b/include/expo.h
@@ -42,7 +42,7 @@
*
* @type: Action type (EXPOACT_NONE if there is no action)
* @select: Used for EXPOACT_POINT_ITEM and EXPOACT_SELECT
- * @id: ID number of the object affected.
+ * @select.id: ID number of the object affected.
*/
struct expo_action {
enum expoact_type type;
diff --git a/include/getopt.h b/include/getopt.h
index 8645082..0cf7ee8 100644
--- a/include/getopt.h
+++ b/include/getopt.h
@@ -20,11 +20,9 @@
* parsed all of @argv, then @index will equal @argc.
*/
int index;
- /* private: */
/** @arg_index: Index within the current argument */
int arg_index;
union {
- /* public: */
/**
* @opt: Option being parsed when an error occurs. @opt is only
* valid when getopt() returns ``?`` or ``:``.
@@ -35,7 +33,6 @@
* is only valid when getopt() returns an option character.
*/
char *arg;
- /* private: */
};
};
diff --git a/include/os.h b/include/os.h
index 877404a..4f73f0b 100644
--- a/include/os.h
+++ b/include/os.h
@@ -24,7 +24,7 @@
int os_printf(const char *format, ...);
/**
- * Access to the OS read() system call
+ * os_read() - access the OS read() system call
*
* @fd: File descriptor as returned by os_open()
* @buf: Buffer to place data
@@ -34,7 +34,7 @@
ssize_t os_read(int fd, void *buf, size_t count);
/**
- * Access to the OS write() system call
+ * os_write() - access the OS write() system call
*
* @fd: File descriptor as returned by os_open()
* @buf: Buffer containing data to write
@@ -44,7 +44,7 @@
ssize_t os_write(int fd, const void *buf, size_t count);
/**
- * Access to the OS lseek() system call
+ * os_lseek() - access the OS lseek() system call
*
* @fd: File descriptor as returned by os_open()
* @offset: File offset (based on whence)
@@ -67,7 +67,7 @@
off_t os_filesize(int fd);
/**
- * Access to the OS open() system call
+ * os_open() - access the OS open() system call
*
* @pathname: Pathname of file to open
* @flags: Flags, like OS_O_RDONLY, OS_O_RDWR
@@ -162,7 +162,7 @@
void os_tty_raw(int fd, bool allow_sigs);
/**
- * os_fs_restore() - restore the tty to its original mode
+ * os_fd_restore() - restore the tty to its original mode
*
* Call this to restore the original terminal mode, after it has been changed
* by os_tty_raw(). This is an internal function.
@@ -207,14 +207,14 @@
void os_usleep(unsigned long usec);
/**
- * Gets a monotonic increasing number of nano seconds from the OS
+ * os_get_nsec() - get monotonically increasing number of nano seconds from OS
*
- * Return: a monotonic increasing time scaled in nano seconds
+ * Return: a monotoniccally increasing time scaled in nano seconds
*/
uint64_t os_get_nsec(void);
/**
- * Parse arguments and update sandbox state.
+ * os_parse_args() - parse arguments and update sandbox state.
*
* @state: sandbox state to update
* @argc: argument count
diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
index c944c10..b760e36 100644
--- a/lib/efi_loader/efi_console.c
+++ b/lib/efi_loader/efi_console.c
@@ -100,7 +100,7 @@
}
/**
- * Receive and parse a reply from the terminal.
+ * term_read_reply() - receive and parse a reply from the terminal
*
* @n: array of return values
* @num: number of return values expected
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index 222001d..c92d8cc 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -295,7 +295,7 @@
}
/**
- * efi_file_open_()
+ * efi_file_open() - open file synchronously
*
* This function implements the Open service of the File Protocol.
* See the UEFI spec for details.
diff --git a/lib/efi_loader/efi_rng.c b/lib/efi_loader/efi_rng.c
index 9bad7ed..4734f95 100644
--- a/lib/efi_loader/efi_rng.c
+++ b/lib/efi_loader/efi_rng.c
@@ -91,7 +91,7 @@
}
/**
- * rng_getrng() - get random value
+ * getrng() - get random value
*
* This function implement the GetRng() service of the EFI random number
* generator protocol. See the UEFI spec for details.
diff --git a/lib/efi_loader/efi_unicode_collation.c b/lib/efi_loader/efi_unicode_collation.c
index 627bb91..d48700a 100644
--- a/lib/efi_loader/efi_unicode_collation.c
+++ b/lib/efi_loader/efi_unicode_collation.c
@@ -266,7 +266,7 @@
}
/**
- * efi_fat_to_str() - convert a utf-16 string to legal characters for a FAT
+ * efi_str_to_fat() - convert a utf-16 string to legal characters for a FAT
* file name in an OEM code page
*
* @this: unicode collation protocol instance
diff --git a/tools/binman/entries.rst b/tools/binman/entries.rst
index 1248270..d82f7b8 100644
--- a/tools/binman/entries.rst
+++ b/tools/binman/entries.rst
@@ -221,7 +221,7 @@
.. _FIP: https://trustedfirmware-a.readthedocs.io/en/latest/design/firmware-design.html#firmware-image-package-fip
.. _`TF-A source tree`: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
-.. _`send a patch`: https://www.denx.de/wiki/U-Boot/Patches
+.. _`send a patch`: https://docs.u-boot.org/en/latest/develop/sending_patches.html
diff --git a/tools/binman/etype/atf_fip.py b/tools/binman/etype/atf_fip.py
index 73a3f85..3da0dfc 100644
--- a/tools/binman/etype/atf_fip.py
+++ b/tools/binman/etype/atf_fip.py
@@ -163,7 +163,7 @@
.. _FIP: https://trustedfirmware-a.readthedocs.io/en/latest/design/firmware-design.html#firmware-image-package-fip
.. _`TF-A source tree`: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
- .. _`send a patch`: https://www.denx.de/wiki/U-Boot/Patches
+ .. _`send a patch`: https://docs.u-boot.org/en/latest/develop/sending_patches.html
"""
def __init__(self, section, etype, node):
# Put this here to allow entry-docs and help to work without libfdt