diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/mach-stm32mp/stm32mp1/psci.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c | 4 | ||||
-rw-r--r-- | board/dhelectronics/dh_imx6/dh_imx6.c | 3 | ||||
-rw-r--r-- | board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c | 3 | ||||
-rw-r--r-- | cmd/efidebug.c | 4 | ||||
-rw-r--r-- | doc/develop/release_cycle.rst | 4 | ||||
-rw-r--r-- | doc/usage/cmd/ums.rst | 2 | ||||
-rw-r--r-- | drivers/dfu/Kconfig | 2 | ||||
-rw-r--r-- | drivers/mux/mmio.c | 7 | ||||
-rw-r--r-- | drivers/phy/cadence/phy-cadence-sierra.c | 2 | ||||
-rw-r--r-- | drivers/power/regulator/rk8xx.c | 22 | ||||
-rw-r--r-- | drivers/ram/k3-ddrss/lpddr4.c | 5 | ||||
-rw-r--r-- | drivers/usb/cdns3/gadget.c | 13 | ||||
-rw-r--r-- | drivers/usb/gadget/Kconfig | 1 | ||||
-rw-r--r-- | include/efi_variable.h | 2 | ||||
-rw-r--r-- | include/event.h | 2 | ||||
-rw-r--r-- | include/expo.h | 2 | ||||
-rw-r--r-- | include/getopt.h | 3 | ||||
-rw-r--r-- | include/os.h | 16 | ||||
-rw-r--r-- | lib/efi_loader/efi_console.c | 2 | ||||
-rw-r--r-- | lib/efi_loader/efi_file.c | 2 | ||||
-rw-r--r-- | lib/efi_loader/efi_rng.c | 2 | ||||
-rw-r--r-- | lib/efi_loader/efi_unicode_collation.c | 2 |
25 files changed, 71 insertions, 43 deletions
@@ -3,7 +3,7 @@ VERSION = 2024 PATCHLEVEL = 10 SUBLEVEL = -EXTRAVERSION = -rc5 +EXTRAVERSION = -rc6 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 884f44239e1..27851b7d083 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 bfbf420fdb5..a02a8988a68 100644 --- a/arch/arm/mach-stm32mp/stm32mp1/psci.c +++ b/arch/arm/mach-stm32mp/stm32mp1/psci.c @@ -393,8 +393,7 @@ static int __secure secure_waitbits(u32 reg, u32 mask, u32 val) 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 f096fe538d8..ca202bec8ee 100644 --- a/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c +++ b/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c @@ -148,8 +148,8 @@ static void security_init(void) */ 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 c8dd30dfeaf..ada44e01424 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 @@ int board_init(void) 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 c635735d89c..a389ab3c2d9 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 dh_setup_mac_address(void) int board_init(void) { + regulators_enable_boot_on(_DEBUG); + return 0; } diff --git a/cmd/efidebug.c b/cmd/efidebug.c index 1a191eb9994..e040fe75fa1 100644 --- a/cmd/efidebug.c +++ b/cmd/efidebug.c @@ -665,7 +665,7 @@ enum efi_lo_dp_part { }; /** - * 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 @@ static void show_efi_boot_opt(u16 *varname16) } /** - * 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/develop/release_cycle.rst b/doc/develop/release_cycle.rst index de1d3045b44..3cb63a0f402 100644 --- a/doc/develop/release_cycle.rst +++ b/doc/develop/release_cycle.rst @@ -75,9 +75,9 @@ For the next scheduled release, release candidates were made on:: * U-Boot v2024.10-rc4 was released on Mon 02 September 2024. -.. * U-Boot v2024.10-rc5 was released on Mon 16 September 2024. +* U-Boot v2024.10-rc5 was released on Mon 16 September 2024. -.. * U-Boot v2024.10-rc6 was released on Mon 30 September 2024. +* U-Boot v2024.10-rc6 was released on Mon 30 September 2024. Please note that the following dates are planned only and may be deviated from as needed. diff --git a/doc/usage/cmd/ums.rst b/doc/usage/cmd/ums.rst index 9d379e3c829..e96222785f2 100644 --- a/doc/usage/cmd/ums.rst +++ b/doc/usage/cmd/ums.rst @@ -48,7 +48,7 @@ Configuration ------------- 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/dfu/Kconfig b/drivers/dfu/Kconfig index 971204758aa..aadd7e8cf7f 100644 --- a/drivers/dfu/Kconfig +++ b/drivers/dfu/Kconfig @@ -7,7 +7,7 @@ config DFU config DFU_OVER_USB bool select HASH - depends on USB_GADGET + depends on USB_GADGET_DOWNLOAD config DFU_OVER_TFTP bool diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c index e1125458a62..e06f4462b5a 100644 --- a/drivers/mux/mmio.c +++ b/drivers/mux/mmio.c @@ -31,6 +31,7 @@ static const struct mux_control_ops mux_mmio_ops = { static const struct udevice_id mmio_mux_of_match[] = { { .compatible = "mmio-mux" }, + { .compatible = "reg-mux" }, { /* sentinel */ }, }; @@ -45,7 +46,11 @@ static int mmio_mux_probe(struct udevice *dev) 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 f5e23f36c56..2c9d5a12127 100644 --- a/drivers/phy/cadence/phy-cadence-sierra.c +++ b/drivers/phy/cadence/phy-cadence-sierra.c @@ -1126,7 +1126,7 @@ static int cdns_sierra_phy_probe(struct udevice *dev) 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 34e61511d88..375d06e3207 100644 --- a/drivers/power/regulator/rk8xx.c +++ b/drivers/power/regulator/rk8xx.c @@ -381,7 +381,7 @@ static int _buck_set_value(struct udevice *pmic, int buck, int uvolt) 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 @@ static int _buck_set_enable(struct udevice *pmic, int buck, bool enable) 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 @@ static int _buck_set_suspend_value(struct udevice *pmic, int buck, int uvolt) 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 @@ static int _buck_get_enable(struct udevice *pmic, int buck) 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 @@ static int _buck_set_suspend_enable(struct udevice *pmic, int buck, bool enable) { 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 @@ static int _buck_get_suspend_enable(struct udevice *pmic, int buck) { 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 11ef242a37b..9f9abfeca48 100644 --- a/drivers/ram/k3-ddrss/lpddr4.c +++ b/drivers/ram/k3-ddrss/lpddr4.c @@ -155,10 +155,11 @@ u32 lpddr4_start(const lpddr4_privatedata *pd) 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 32b2c412068..ac7e469469a 100644 --- a/drivers/usb/cdns3/gadget.c +++ b/drivers/usb/cdns3/gadget.c @@ -965,6 +965,12 @@ int cdns3_ep_run_transfer(struct cdns3_endpoint *priv_ep, 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 @@ static void cdns3_transfer_completed(struct cdns3_device *priv_dev, 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/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index b1247a9eeae..f20a16e3e7d 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -324,6 +324,7 @@ config SPL_DFU select SPL_HASH select SPL_DFU_NO_RESET select SPL_RAM_SUPPORT + depends on DFU_OVER_USB help This feature enables the DFU (Device Firmware Upgrade) in SPL with RAM memory device support. The ROM code will load and execute diff --git a/include/efi_variable.h b/include/efi_variable.h index 223bb9a4a5b..4065cf45eca 100644 --- a/include/efi_variable.h +++ b/include/efi_variable.h @@ -38,7 +38,7 @@ efi_status_t efi_get_variable_int(const u16 *variable_name, 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 fb353ad623e..75141a192a4 100644 --- a/include/event.h +++ b/include/event.h @@ -385,7 +385,7 @@ static inline int event_notify_null(enum event_t type) 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 264745f7f01..c235fa2709d 100644 --- a/include/expo.h +++ b/include/expo.h @@ -42,7 +42,7 @@ enum expoact_type { * * @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 8645082da2a..0cf7ee84d6f 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -20,11 +20,9 @@ struct getopt_state { * 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 @@ struct getopt_state { * is only valid when getopt() returns an option character. */ char *arg; - /* private: */ }; }; diff --git a/include/os.h b/include/os.h index 4371270a1ee..ae3ca6d42a2 100644 --- a/include/os.h +++ b/include/os.h @@ -24,7 +24,7 @@ struct sandbox_state; 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 @@ int os_printf(const char *format, ...); 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_read(int fd, void *buf, size_t count); 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_lseek(int fd, off_t offset, int whence); 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_raise_sigalrm(void); 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_realloc(void *ptr, size_t length); 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 cea50c748aa..9d9f786a6db 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -100,7 +100,7 @@ static int term_get_char(s32 *c) } /** - * 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 222001d6a3b..c92d8ccf004 100644 --- a/lib/efi_loader/efi_file.c +++ b/lib/efi_loader/efi_file.c @@ -295,7 +295,7 @@ out: } /** - * 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 9bad7ed6931..4734f95eee1 100644 --- a/lib/efi_loader/efi_rng.c +++ b/lib/efi_loader/efi_rng.c @@ -91,7 +91,7 @@ back: } /** - * 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 627bb9123cf..d48700a352b 100644 --- a/lib/efi_loader/efi_unicode_collation.c +++ b/lib/efi_loader/efi_unicode_collation.c @@ -266,7 +266,7 @@ static void EFIAPI efi_fat_to_str(struct efi_unicode_collation_protocol *this, } /** - * 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 |