mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-26 21:54:37 +08:00
Prepare v2024.10-rc6
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEEGjx/cOCPqxcHgJu/FHw5/5Y0tywFAmb7KpIACgkQFHw5/5Y0 tyzTaQv+LEFHt9BArtHHbAl8XzKIZ8H7pNSfN93Gv+T1ycnJPYNHnLejU/o54uO2 hlxj4sWN4Ns1BfI7zjHb4vfpgUZb7Sg0B2tIQW6bm2Lr5Rp5Rwo6n2L+ubgyHCCV 9SYSKTpoPQTyecVzh3V01YhdG8LWL6rfWD08Wx8zldVyaHajQwOG+VziLgw3aji8 qVr8x0KUacwe+gsOp+HuBFrnrNFFaBfDDtGW2ywePVDp9yKerAFD55lVX4fDWfPs QMsexYGZaNOcL70pj0vl8+Ds/y7mtbPSKWSW2GwPfailNP8SwnETgOhddPeThWER nQxuF9kFAF3FoSMNnMy14BFQkoD6GCjOSeCNcVtWLVhxeLFLrO4HdQtTa9dzUE23 ycGTNjmORsb7Hhm34guyfv/ImAEGTqBfwn2bIPt2f69Z7o0X1JPgGZjXXVtwZ6gL DZC8hfT8RkmVjY61fTeYkYY9RC+H1bEMFkXZPTd+pY0D4Z3Twbh+QfLimwHdp/UD F/qi6o+g =EZYp -----END PGP SIGNATURE----- Merge tag 'v2024.10-rc6' into next Prepare v2024.10-rc6
This commit is contained in:
commit
3a0b829efc
2
Makefile
2
Makefile
@ -3,7 +3,7 @@
|
||||
VERSION = 2024
|
||||
PATCHLEVEL = 10
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc5
|
||||
EXTRAVERSION = -rc6
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -64,6 +64,10 @@
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&chipid {
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&mcu_ringacc {
|
||||
reg = <0x0 0x2b800000 0x0 0x400000>,
|
||||
<0x0 0x2b000000 0x0 0x400000>,
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
------------
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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: */
|
||||
};
|
||||
};
|
||||
|
||||
|
16
include/os.h
16
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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user