From e04d137231f2e9e14708a32448c879125b8e308f Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Mon, 26 May 2025 16:29:31 -0600 Subject: Revert "ext4fs: Fix: Read outside partition error" The issue here is that the function read_allocated_block() will report problems via a negative return value. If we say the return value is stored in an lbaint_t that can no longer happen (and Coverity discovered this by reporting a no effect comparison and then dead code). The problem being fixed by allowing for storing a larger block number will have to be solved in some other manner. This reverts commit df2ed552f0b05591090369a7fe7ddc92439dea5c. Addresses-Coverity-ID: 131183 Signed-off-by: Tom Rini --- fs/ext4/ext4fs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c index f10c622e62c..1727da2dc6d 100644 --- a/fs/ext4/ext4fs.c +++ b/fs/ext4/ext4fs.c @@ -101,7 +101,7 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos, blockcnt = lldiv(((len + pos) + blocksize - 1), blocksize); for (i = lldiv(pos, blocksize); i < blockcnt; i++) { - lbaint_t blknr; + long int blknr; int blockoff = pos - (blocksize * i); int blockend = blocksize; int skipfirst = 0; -- cgit v1.2.3 From 8894251de2588be9cd1f197900cc354b2708dfdc Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sun, 13 Apr 2025 15:10:45 +0200 Subject: ARM: renesas: Enable serial RX buffer on Renesas R-Car Enable CONFIG_SERIAL_RX_BUFFER on all Renesas R-Car devices which use the SCIF serial port. This allows receiving large strings at bulk even if the RX FIFO is small and would otherwise overflow. The usual trigger for the problem addressed here is a paste of a very long command into U-Boot command line, somewhere between 400 and 500 characters long. The trailing end of the string is usually not received and the command line input stops responding due to RX overflow errors. The CONFIG_SERIAL_RX_BUFFER allows efficient read of data from the RX FIFO, which prevents the overflow, and allows safe reception of long pasted strings. Signed-off-by: Marek Vasut --- configs/renesas_rcar.config | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/renesas_rcar.config b/configs/renesas_rcar.config index d0a12f266aa..db5846e992c 100644 --- a/configs/renesas_rcar.config +++ b/configs/renesas_rcar.config @@ -24,5 +24,6 @@ CONFIG_MTD=y CONFIG_OF_CONTROL=y CONFIG_RCAR_GPIO=y CONFIG_SCIF_CONSOLE=y +CONFIG_SERIAL_RX_BUFFER=y CONFIG_SPI=y CONFIG_VERSION_VARIABLE=y -- cgit v1.2.3 From 61319d30042ac137e9979955b77f4d83202d1d6c Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 19 May 2025 13:32:07 +0000 Subject: board: rzg2l: Drop myself to reviewer for RZ/G2L boards I still intend to review patches, and will be using my own email address going forward. Signed-off-by: Paul Barker --- board/renesas/rzg2l/MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/board/renesas/rzg2l/MAINTAINERS b/board/renesas/rzg2l/MAINTAINERS index 0e656e2ef4f..b3547e39e77 100644 --- a/board/renesas/rzg2l/MAINTAINERS +++ b/board/renesas/rzg2l/MAINTAINERS @@ -1,6 +1,6 @@ RENESAS RZG2L BOARD FAMILY -M: Paul Barker -S: Supported +R: Paul Barker +S: Orphan N: rz-smarc N: rzg2l N: r9a07g044 -- cgit v1.2.3 From 9a1301aa7012184a36920e894c287d3928b469bc Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sun, 25 May 2025 15:42:51 +0200 Subject: board: rzg2l: Update MAINTAINERS file Un-orphan the RZ/G2L , keep the RZ/G2L maintained. Signed-off-by: Marek Vasut Reviewed-by: Paul Barker --- board/renesas/rzg2l/MAINTAINERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/board/renesas/rzg2l/MAINTAINERS b/board/renesas/rzg2l/MAINTAINERS index b3547e39e77..b5375daad6e 100644 --- a/board/renesas/rzg2l/MAINTAINERS +++ b/board/renesas/rzg2l/MAINTAINERS @@ -1,6 +1,7 @@ RENESAS RZG2L BOARD FAMILY +M: Marek Vasut R: Paul Barker -S: Orphan +S: Maintained N: rz-smarc N: rzg2l N: r9a07g044 -- cgit v1.2.3 From 93905ab6e7564089f5d7b703b660464d675e5ab0 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sun, 2 Mar 2025 19:30:28 +0100 Subject: scripts/setlocalversion: Reinstate .scmversion support The .scmversion is used by oe-core to append U-Boot version string. LOCALVERSION is not fully compatible replacement as it adds trailing "-dirty" string at the end of version string in case the U-Boot git tree contains uncommitted changes. This behavior itself is correct. However, OE builds do clone U-Boot sources from git and may apply additional patches on top, which are not tracked in U-Boot git tree, but rather in the OE metalayer git tree, which leads to the addition of "-dirty" string as well. The .scmversion used by oe-core used to replace the version string suffix fully, including the "-dirty" string. Reinstate support for the .scmversion to let OE core do exactly that as it used to do it. Fixes: 5c02350fa03d ("scripts/setlocalversion: sync with linux v6.9") Signed-off-by: Marek Vasut --- scripts/setlocalversion | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/setlocalversion b/scripts/setlocalversion index dbe048210d6..26d121816dd 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -48,6 +48,10 @@ scm_version() done cd "$srctree" + if test -e .scmversion; then + cat .scmversion + return + fi if test -n "$(git rev-parse --show-cdup 2>/dev/null)"; then return -- cgit v1.2.3 From 6aa9c0f453cf920762e0b90d56d80f7cb36d5e6d Mon Sep 17 00:00:00 2001 From: Benjamin ROBIN Date: Sat, 17 May 2025 22:09:30 +0200 Subject: env: Fix network support when CONFIG_NET_LWIP is set When lwIP (CONFIG_NET_LWIP) is used instead of legacy stack (CONFIG_NET), environment flags support associated with network was not built: restore support of "i" and "m" environment flags. Signed-off-by: Benjamin ROBIN Acked-by: Jerome Forissier Reviewed-by: Tom Rini --- env/flags.c | 10 +++++----- include/env_callback.h | 2 +- include/env_flags.h | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/env/flags.c b/env/flags.c index 233fd460d84..f734fda50c2 100644 --- a/env/flags.c +++ b/env/flags.c @@ -22,7 +22,7 @@ #include #endif -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) #define ENV_FLAGS_NET_VARTYPE_REPS "im" #else #define ENV_FLAGS_NET_VARTYPE_REPS "" @@ -57,7 +57,7 @@ static const char * const env_flags_vartype_names[] = { "decimal", "hexadecimal", "boolean", -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) "IP address", "MAC address", #endif @@ -211,7 +211,7 @@ static void skip_num(int hex, const char *value, const char **end, *end = value; } -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) int eth_validate_ethaddr_str(const char *addr) { const char *end; @@ -244,7 +244,7 @@ static int _env_flags_validate_type(const char *value, enum env_flags_vartype type) { const char *end; -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) const char *cur; int i; #endif @@ -273,7 +273,7 @@ static int _env_flags_validate_type(const char *value, if (value[1] != '\0') return -1; break; -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) case env_flags_vartype_ipaddr: cur = value; for (i = 0; i < 4; i++) { diff --git a/include/env_callback.h b/include/env_callback.h index 47a31f6cf52..918ccb3b14f 100644 --- a/include/env_callback.h +++ b/include/env_callback.h @@ -32,7 +32,7 @@ #define DNS_CALLBACK #endif -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) #define NET_CALLBACKS \ "bootfile:bootfile," \ "ipaddr:ipaddr," \ diff --git a/include/env_flags.h b/include/env_flags.h index 2476043b0e3..92c7ea8529a 100644 --- a/include/env_flags.h +++ b/include/env_flags.h @@ -14,7 +14,7 @@ enum env_flags_vartype { env_flags_vartype_decimal, env_flags_vartype_hex, env_flags_vartype_bool, -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) env_flags_vartype_ipaddr, env_flags_vartype_macaddr, #endif @@ -41,7 +41,7 @@ enum env_flags_varaccess { #define CFG_ENV_FLAGS_LIST_STATIC "" #endif -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) #ifdef CONFIG_REGEX #define ETHADDR_WILDCARD "\\d*" #else @@ -123,7 +123,7 @@ enum env_flags_varaccess env_flags_parse_varaccess(const char *flags); */ enum env_flags_varaccess env_flags_parse_varaccess_from_binflags(int binflags); -#ifdef CONFIG_NET +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP) /* * Check if a string has the format of an Ethernet MAC address */ -- cgit v1.2.3 From b8f282b8e0ee1e2c36694071c26b6b796f50c0a1 Mon Sep 17 00:00:00 2001 From: Benjamin ROBIN Date: Tue, 20 May 2025 22:35:15 +0200 Subject: bootm: Fix bmi->images pointer not initialized in some cases When building with only bootz command, without bootm, images pointer inside bootm_info structure is not initialized. And since this structure is stored in stack, the generated error is kind of random, but most of the time this will generate: "ramdisk - allocation error". Also, after analysis, this problem could occur with the command booti, if the command bootm is disabled. Currently bootm_init() is called by: do_bootz(), do_bootm(), do_booti() and by do_stm32prog(). And all of these commands execute bootm_run_states() which access the images pointer stored into bootm_info structure. So, to fix this issue, just do the assignment unconditionally. Fixes: c2211ff65136 ("bootm: Add more fields to bootm_info") Signed-off-by: Benjamin ROBIN Reviewed-by: Tom Rini --- boot/bootm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/boot/bootm.c b/boot/bootm.c index f6aa32746b7..108ca7fb472 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -1169,8 +1169,7 @@ void bootm_init(struct bootm_info *bmi) { memset(bmi, '\0', sizeof(struct bootm_info)); bmi->boot_progress = true; - if (IS_ENABLED(CONFIG_CMD_BOOTM)) - bmi->images = &images; + bmi->images = &images; } /** -- cgit v1.2.3 From b22a276f039f818d5564bec6637071cfc8a7e432 Mon Sep 17 00:00:00 2001 From: Eddie Kovsky Date: Wed, 21 May 2025 15:26:59 -0600 Subject: image: android: fix ramdisk default address Commit 21e7fa0e3ac5 ("image: android: handle ramdisk default address") changed the default behavior for header versions less than or equal to 2. The ramdisk address (img_data.ramdisk_ptr) is only assigned to *rd_data if the physical load address (img_data.ramdisk_addr) is equal to 0 or the Android default ramdisk address. /* Ramdisk can be used in-place, use current ptr */ if (img_data.ramdisk_addr == 0 || img_data.ramdisk_addr == ANDROID_IMAGE_DEFAULT_RAMDISK_ADDR) { *rd_data = img_data.ramdisk_ptr; } else { ramdisk_ptr = img_data.ramdisk_addr; *rd_data = ramdisk_ptr; memcpy((void *)(ramdisk_ptr), (void *)img_data.ramdisk_ptr, img_data.ramdisk_size); } When the img_data.ramdisk_addr and the img_data.kernel_addr are the same *rd_data needs to be assigned to the ramdisk address (ramdisk_ptr), not the physical address (ramdisk_addr). As a result of the current behavior, we can no longer boot a kernel on the Renesas R-Car S4 board. Add an additional check to the if clause so that the ramdisk address is assigned when the kernel address and the ramdisk address are the same, restoring the previous default behavior. Fixes: 21e7fa0e3ac5 ("image: android: handle ramdisk default address") Signed-off-by: Eddie Kovsky Reviewed-by: Mattijs Korpershoek Tested-by: Mattijs Korpershoek # khadas vim3 --- boot/image-android.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boot/image-android.c b/boot/image-android.c index 1746b018900..459cdb8456c 100644 --- a/boot/image-android.c +++ b/boot/image-android.c @@ -488,7 +488,8 @@ int android_image_get_ramdisk(const void *hdr, const void *vendor_boot_img, } else { /* Ramdisk can be used in-place, use current ptr */ if (img_data.ramdisk_addr == 0 || - img_data.ramdisk_addr == ANDROID_IMAGE_DEFAULT_RAMDISK_ADDR) { + img_data.ramdisk_addr == ANDROID_IMAGE_DEFAULT_RAMDISK_ADDR || + img_data.ramdisk_addr == img_data.kernel_addr) { *rd_data = img_data.ramdisk_ptr; } else { ramdisk_ptr = img_data.ramdisk_addr; -- cgit v1.2.3 From 967eebcd85865b795351bfe4e77399b9f414c6c5 Mon Sep 17 00:00:00 2001 From: Venkatesh Yadav Abbarapu Date: Fri, 16 May 2025 14:53:14 +0530 Subject: pci: zynqmp: Fix the pcireg base The pcireg base is not assigned to any address, reading the pcireg base with PS_LINKUP_OFFSET which is incorrect and giving random values. So update the pcireg base from devicetree so that we can read the valid PCIE link status and PHY ready status. Signed-off-by: Venkatesh Yadav Abbarapu Reviewed-by: Stefan Roese Link: https://lore.kernel.org/r/20250516092314.939424-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek --- drivers/pci/pcie-xilinx-nwl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/pci/pcie-xilinx-nwl.c b/drivers/pci/pcie-xilinx-nwl.c index 7ef2bdf57b5..e03ab3be912 100644 --- a/drivers/pci/pcie-xilinx-nwl.c +++ b/drivers/pci/pcie-xilinx-nwl.c @@ -303,6 +303,13 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie) return PTR_ERR(pcie->breg_base); pcie->phys_breg_base = res.start; + ret = dev_read_resource_byname(dev, "pcireg", &res); + if (ret) + return ret; + pcie->pcireg_base = devm_ioremap(dev, res.start, resource_size(&res)); + if (IS_ERR(pcie->pcireg_base)) + return PTR_ERR(pcie->pcireg_base); + ret = dev_read_resource_byname(dev, "cfg", &res); if (ret) return ret; -- cgit v1.2.3 From 85f181b194c7d3810db4a0df8ea2386287b26be0 Mon Sep 17 00:00:00 2001 From: Naresh Kumar Ravulapalli Date: Mon, 5 May 2025 18:28:51 -0700 Subject: drivers: fpga: intel_sdm_mb: Flush cache before FPGA configuration FPGA configuration encounters failure when the cache is not flushed. Add cache flushing to the memory region that holds the FPGA configuration bitstream. Signed-off-by: Naresh Kumar Ravulapalli Link: https://lore.kernel.org/r/20250506012851.30039-1-nareshkumar.ravulapalli@altera.com Signed-off-by: Michal Simek --- drivers/fpga/intel_sdm_mb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/fpga/intel_sdm_mb.c b/drivers/fpga/intel_sdm_mb.c index 5fe4dbdfd32..a2f3b160a73 100644 --- a/drivers/fpga/intel_sdm_mb.c +++ b/drivers/fpga/intel_sdm_mb.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2018 Intel Corporation + * Copyright (C) 2025 Altera Corporation */ #include @@ -9,6 +10,8 @@ #include #include #include +#include +#include #include #include #include @@ -738,6 +741,8 @@ int intel_sdm_mb_load(Altera_desc *desc, const void *rbf_data, size_t rbf_size) debug("Invoking FPGA_CONFIG_START...\n"); + flush_dcache_range((unsigned long)rbf_data, (unsigned long)(rbf_data + rbf_size)); + ret = invoke_smc(INTEL_SIP_SMC_FPGA_CONFIG_START, &arg, 1, NULL, 0); if (ret) { @@ -1023,6 +1028,8 @@ int intel_sdm_mb_load(Altera_desc *desc, const void *rbf_data, size_t rbf_size) u32 resp_len = 2; u32 resp_buf[2]; + flush_dcache_range((unsigned long)rbf_data, (unsigned long)(rbf_data + rbf_size)); + debug("Sending MBOX_RECONFIG...\n"); ret = mbox_send_cmd(MBOX_ID_UBOOT, MBOX_RECONFIG, MBOX_CMD_DIRECT, 0, NULL, 0, &resp_len, resp_buf); -- cgit v1.2.3 From 90df44fb4f0e1cbe18b02080ef8bf9e365f867b8 Mon Sep 17 00:00:00 2001 From: Frantisek Bohacek Date: Thu, 22 May 2025 08:07:03 +0200 Subject: phy: zynqmp: Fix sgmii clk ctrl GTR lane bit shift The bitshift in GEM_CLK_CTRL register is five bits, not two. There are four bits for each GEM, and one bit reserved in between. This has caused that using more than one GEM is impossible, additionally corrupting the GEM0's configuration, leaving GEM0 unusable as well (ie. if GEM0 and GEM1 are used, GEM1 configuration is going to write to GEM0's registers wrong value, leaving GEM0 unusable) Signed-off-by: Frantisek Bohacek Link: https://lore.kernel.org/r/20250522060703.4863-1-rutherther@ditigal.xyz Signed-off-by: Michal Simek --- drivers/phy/phy-zynqmp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/phy/phy-zynqmp.c b/drivers/phy/phy-zynqmp.c index 7049e740d56..9649e660220 100644 --- a/drivers/phy/phy-zynqmp.c +++ b/drivers/phy/phy-zynqmp.c @@ -138,6 +138,7 @@ #define PROT_BUS_WIDTH_40 0x2 #define PROT_BUS_WIDTH_MASK 0x3 #define PROT_BUS_WIDTH_SHIFT 2 +#define GEM_CLK_CTRL_WIDTH_SHIFT 5 /* Number of GT lanes */ #define NUM_LANES 4 @@ -400,6 +401,7 @@ static void xpsgtr_phy_init_sgmii(struct xpsgtr_phy *gtr_phy) { struct xpsgtr_dev *gtr_dev = gtr_phy->dev; u32 shift = gtr_phy->lane * PROT_BUS_WIDTH_SHIFT; + u32 clk_ctrl_shift = gtr_phy->lane * GEM_CLK_CTRL_WIDTH_SHIFT; /* Set SGMII protocol TX and RX bus width to 10 bits. */ xpsgtr_clr_set(gtr_dev, TX_PROT_BUS_WIDTH, PROT_BUS_WIDTH_MASK << shift, @@ -417,9 +419,9 @@ static void xpsgtr_phy_init_sgmii(struct xpsgtr_phy *gtr_phy) */ /* GEM I/O Clock Control */ clrsetbits_le32(ZYNQMP_IOU_SLCR_BASEADDR + IOU_SLCR_GEM_CLK_CTRL, - 0xf << shift, + 0xf << clk_ctrl_shift, (GEM_CTRL_GEM_SGMII_MODE | GEM_CTRL_GEM_REF_SRC_SEL) << - shift); + clk_ctrl_shift); /* Setup signal detect */ clrsetbits_le32(ZYNQMP_IOU_SLCR_BASEADDR + IOU_SLCR_GEM_CTRL, -- cgit v1.2.3 From 6759bd73e9cf491c5049f87b84e627920efb5824 Mon Sep 17 00:00:00 2001 From: Martin Kaistra Date: Tue, 15 Apr 2025 17:04:00 +0200 Subject: net: gem: ignore tx_clk if MII is used If the MII interface is used, the PHY is the clock master, thus don't set the clock rate. On Zynq-7000, this will prevent the following error: zynq_gem ethernet@e000b000: failed to set tx clock rate 25000000 Signed-off-by: Martin Kaistra Link: https://lore.kernel.org/r/20250415150400.136723-1-martin.kaistra@linutronix.de Signed-off-by: Michal Simek --- drivers/net/zynq_gem.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index 461805ae53f..703e22479d2 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -567,12 +567,14 @@ static int zynq_gem_init(struct udevice *dev) } #endif - ret = clk_get_rate(&priv->tx_clk); - if (ret != clk_rate) { - ret = clk_set_rate(&priv->tx_clk, clk_rate); - if (IS_ERR_VALUE(ret)) { - dev_err(dev, "failed to set tx clock rate %ld\n", clk_rate); - return ret; + if (priv->interface != PHY_INTERFACE_MODE_MII) { + ret = clk_get_rate(&priv->tx_clk); + if (ret != clk_rate) { + ret = clk_set_rate(&priv->tx_clk, clk_rate); + if (IS_ERR_VALUE(ret)) { + dev_err(dev, "failed to set tx clock rate %ld\n", clk_rate); + return ret; + } } } -- cgit v1.2.3 From 04fcd9a56bbb4e1fa8a9609804e4ca942a62b9c0 Mon Sep 17 00:00:00 2001 From: Mayuresh Chitale Date: Thu, 29 May 2025 03:30:49 +0000 Subject: Revert "booti/bootm: riscv: Verify image arch type" This reverts commit 37b0b22d8b7bbed6aa95b6daed06dcbf4a66f211 as discussed in [1]. [1] https://lists.denx.de/pipermail/u-boot/2025-May/590841.html Signed-off-by: Mayuresh Chitale Reviewed-by: Leo Yu-Chi Liang --- arch/riscv/lib/bootm.c | 4 ---- cmd/booti.c | 7 ++----- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c index c98c5e76633..9544907ab1e 100644 --- a/arch/riscv/lib/bootm.c +++ b/arch/riscv/lib/bootm.c @@ -90,10 +90,6 @@ static void boot_jump_linux(struct bootm_headers *images, int flag) announce_and_cleanup(fake); if (!fake) { - if (images->os.arch != IH_ARCH_DEFAULT) { - printf("Image arch not compatible with host arch.\n"); - hang(); - } if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) { #ifdef CONFIG_SMP ret = smp_call_function(images->ep, diff --git a/cmd/booti.c b/cmd/booti.c index ced2c1047ab..1a57fe91397 100644 --- a/cmd/booti.c +++ b/cmd/booti.c @@ -130,11 +130,8 @@ int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) bootm_disable_interrupts(); images.os.os = IH_OS_LINUX; - if (IS_ENABLED(CONFIG_RISCV)) - if (IS_ENABLED(CONFIG_64BIT)) - images.os.arch = IH_ARCH_RISCV64; - else - images.os.arch = IH_ARCH_RISCV; + if (IS_ENABLED(CONFIG_RISCV_SMODE)) + images.os.arch = IH_ARCH_RISCV; else if (IS_ENABLED(CONFIG_ARM64)) images.os.arch = IH_ARCH_ARM64; -- cgit v1.2.3 From 29a2025d77192e510580403b793ae027af19c81c Mon Sep 17 00:00:00 2001 From: Mayuresh Chitale Date: Thu, 29 May 2025 03:30:50 +0000 Subject: Revert "riscv: Select appropriate image type" This reverts commit 027a316828528da95a77d20632370b1bc2823f0b as discussed in [1]. [1] https://lists.denx.de/pipermail/u-boot/2025-May/590841.html Signed-off-by: Mayuresh Chitale Reviewed-by: Leo Yu-Chi Liang --- arch/riscv/dts/binman.dtsi | 14 ++++---------- arch/riscv/include/asm/u-boot.h | 4 ---- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/riscv/dts/binman.dtsi b/arch/riscv/dts/binman.dtsi index c5b0464d6a7..b518560bb94 100644 --- a/arch/riscv/dts/binman.dtsi +++ b/arch/riscv/dts/binman.dtsi @@ -5,12 +5,6 @@ #include -#ifdef CONFIG_64BIT -#define ARCH "riscv64" -#else -#define ARCH "riscv" - -#endif / { binman: binman { multiple-images; @@ -37,7 +31,7 @@ description = "U-Boot"; type = "standalone"; os = "U-Boot"; - arch = ARCH; + arch = "riscv"; compression = "none"; load = /bits/ 64 ; @@ -49,7 +43,7 @@ description = "Linux"; type = "standalone"; os = "Linux"; - arch = ARCH; + arch = "riscv"; compression = "none"; load = /bits/ 64 ; @@ -62,7 +56,7 @@ tee { description = "OP-TEE"; type = "tee"; - arch = ARCH; + arch = "riscv"; compression = "none"; os = "tee"; load = /bits/ 64 ; @@ -76,7 +70,7 @@ description = "OpenSBI fw_dynamic Firmware"; type = "firmware"; os = "opensbi"; - arch = ARCH; + arch = "riscv"; compression = "none"; load = /bits/ 64 ; entry = /bits/ 64 ; diff --git a/arch/riscv/include/asm/u-boot.h b/arch/riscv/include/asm/u-boot.h index a90cc4c21cf..d5e1d5f3231 100644 --- a/arch/riscv/include/asm/u-boot.h +++ b/arch/riscv/include/asm/u-boot.h @@ -23,10 +23,6 @@ #include /* For image.h:image_check_target_arch() */ -#ifdef CONFIG_64BIT -#define IH_ARCH_DEFAULT IH_ARCH_RISCV64 -#else #define IH_ARCH_DEFAULT IH_ARCH_RISCV -#endif #endif /* _U_BOOT_H_ */ -- cgit v1.2.3 From 31e215fde81417299e45a6ae4a7ee880fac84c37 Mon Sep 17 00:00:00 2001 From: Mayuresh Chitale Date: Thu, 29 May 2025 03:30:51 +0000 Subject: Revert "riscv: image: Add new image type for RV64" This reverts commit 14a4792a71db3561bea065415ac1f2ac69ef32b5 as discussed in [1]. [1] https://lists.denx.de/pipermail/u-boot/2025-May/590841.html Signed-off-by: Mayuresh Chitale Reviewed-by: Leo Yu-Chi Liang --- boot/image.c | 3 +-- include/image.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/boot/image.c b/boot/image.c index 45299a7dc33..139c5bd035a 100644 --- a/boot/image.c +++ b/boot/image.c @@ -92,8 +92,7 @@ static const table_entry_t uimage_arch[] = { { IH_ARCH_ARC, "arc", "ARC", }, { IH_ARCH_X86_64, "x86_64", "AMD x86_64", }, { IH_ARCH_XTENSA, "xtensa", "Xtensa", }, - { IH_ARCH_RISCV, "riscv", "RISC-V 32 Bit",}, - { IH_ARCH_RISCV64, "riscv64", "RISC-V 64 Bit",}, + { IH_ARCH_RISCV, "riscv", "RISC-V", }, { -1, "", "", }, }; diff --git a/include/image.h b/include/image.h index 4620782c069..c1db8383459 100644 --- a/include/image.h +++ b/include/image.h @@ -138,8 +138,7 @@ enum { IH_ARCH_ARC, /* Synopsys DesignWare ARC */ IH_ARCH_X86_64, /* AMD x86_64, Intel and Via */ IH_ARCH_XTENSA, /* Xtensa */ - IH_ARCH_RISCV, /* RISC-V 32 bit*/ - IH_ARCH_RISCV64, /* RISC-V 64 bit*/ + IH_ARCH_RISCV, /* RISC-V */ IH_ARCH_COUNT, }; -- cgit v1.2.3 From ec7b49c4108afdca3864da45b5444efb327ce75c Mon Sep 17 00:00:00 2001 From: Wojciech Szamocki Date: Fri, 23 May 2025 12:57:07 +0200 Subject: i2c: designware_i2c Return -ETIMEDOUT for timeout errors Change the return value for timeout errors in i2c-designware from 1 to -ETIMEDOUT. Returning errors as negative values is standard practice in the u-boot, which enhances error handling consistency across the codebase. The current behavior can lead to silent errors when functions check for negative return values to identify errors. For example, in `dm_i2c_reg_read` from i2c-uclass.c, a timeout results in an uninitialized value being returned, potentially causing unexpected behavior. Cc: Heiko Schocher Cc: Tom Rini Cc: Wojciech Szamocki Signed-off-by: Wojciech Szamocki Reviewed-by: Heiko Schocher --- drivers/i2c/designware_i2c.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index e8c1623d41f..a54976e7889 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -404,7 +404,7 @@ static int i2c_wait_for_bb(struct i2c_regs *i2c_base) /* Evaluate timeout */ if (get_timer(start_time_bb) > (unsigned long)(I2C_BYTE_TO_BB)) - return 1; + return -ETIMEDOUT; } return 0; @@ -413,8 +413,10 @@ static int i2c_wait_for_bb(struct i2c_regs *i2c_base) static int i2c_xfer_init(struct i2c_regs *i2c_base, uchar chip, uint addr, int alen) { - if (i2c_wait_for_bb(i2c_base)) - return 1; + int ret = i2c_wait_for_bb(i2c_base); + + if (ret) + return ret; i2c_setaddress(i2c_base, chip); while (alen) { @@ -429,6 +431,7 @@ static int i2c_xfer_init(struct i2c_regs *i2c_base, uchar chip, uint addr, static int i2c_xfer_finish(struct i2c_regs *i2c_base) { ulong start_stop_det = get_timer(0); + int ret; while (1) { if ((readl(&i2c_base->ic_raw_intr_stat) & IC_STOP_DET)) { @@ -439,9 +442,10 @@ static int i2c_xfer_finish(struct i2c_regs *i2c_base) } } - if (i2c_wait_for_bb(i2c_base)) { + ret = i2c_wait_for_bb(i2c_base); + if (ret) { printf("Timed out waiting for bus\n"); - return 1; + return ret; } i2c_flush_rxfifo(i2c_base); @@ -464,6 +468,7 @@ static int __dw_i2c_read(struct i2c_regs *i2c_base, u8 dev, uint addr, { unsigned long start_time_rx; unsigned int active = 0; + int ret; #ifdef CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW /* @@ -484,8 +489,9 @@ static int __dw_i2c_read(struct i2c_regs *i2c_base, u8 dev, uint addr, addr); #endif - if (i2c_xfer_init(i2c_base, dev, addr, alen)) - return 1; + ret = i2c_xfer_init(i2c_base, dev, addr, alen); + if (ret) + return ret; start_time_rx = get_timer(0); while (len) { @@ -510,7 +516,7 @@ static int __dw_i2c_read(struct i2c_regs *i2c_base, u8 dev, uint addr, start_time_rx = get_timer(0); active = 0; } else if (get_timer(start_time_rx) > I2C_BYTE_TO) { - return 1; + return -ETIMEDOUT; } } @@ -532,6 +538,7 @@ static int __dw_i2c_write(struct i2c_regs *i2c_base, u8 dev, uint addr, { int nb = len; unsigned long start_time_tx; + int ret; #ifdef CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW /* @@ -552,8 +559,9 @@ static int __dw_i2c_write(struct i2c_regs *i2c_base, u8 dev, uint addr, addr); #endif - if (i2c_xfer_init(i2c_base, dev, addr, alen)) - return 1; + ret = i2c_xfer_init(i2c_base, dev, addr, alen); + if (ret) + return ret; start_time_tx = get_timer(0); while (len) { @@ -569,7 +577,7 @@ static int __dw_i2c_write(struct i2c_regs *i2c_base, u8 dev, uint addr, } else if (get_timer(start_time_tx) > (nb * I2C_BYTE_TO)) { printf("Timed out. i2c write Failed\n"); - return 1; + return -ETIMEDOUT; } } -- cgit v1.2.3 From b28fee5cc2ae0c1103a4c5a98473369b597c3e74 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 17 Apr 2025 15:49:11 +0200 Subject: board: dragonboard410c: Fix button cmd name Commit 359e1d4a57e0 ("board: dragonboard410c: Use button_cmd instead of custom code") was made in parallel with commit 8f5685d5d32f ("button: qcom-pmic: prettify and standardise button labels"), which changed the default button label from "vol_down" to "Volume Down". This is causing errors in the console during boot now: No button labelled 'vol_down' Fix this by using the new label. Fixes: 359e1d4a57e0 ("board: dragonboard410c: Use button_cmd instead of custom code") Fixes: 8f5685d5d32f ("button: qcom-pmic: prettify and standardise button labels") Signed-off-by: Stephan Gerhold Reviewed-by: Reviewed-by: Sumit Garg Link: https://lore.kernel.org/r/20250417-db410c-fixes2-v1-1-76ad994da152@linaro.org Signed-off-by: Casey Connolly --- board/qualcomm/dragonboard410c/dragonboard410c.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.env b/board/qualcomm/dragonboard410c/dragonboard410c.env index 38399d65c64..ab253435ae7 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.env +++ b/board/qualcomm/dragonboard410c/dragonboard410c.env @@ -2,5 +2,5 @@ initrd_high=0xffffffffffffffff fastboot=fastboot -l $fastboot_addr_r usb 0 boot_targets=usb mmc1 mmc0 pxe -button_cmd_0_name=vol_down +button_cmd_0_name=Volume Down button_cmd_0=run fastboot -- cgit v1.2.3 From 036b54c7200ec361776061ab1fe2ddd302fa78c5 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 17 Apr 2025 15:49:12 +0200 Subject: board: dragonboard410c: Drop custom reduced malloc size At the moment, the dragonboard410c_defconfig specifies a custom SYS_MALLOC_LEN, lower than the default for Qualcomm boards defined in arch/arm/mach-snapdragon/Kconfig. It looks like it's too low, since flashing larger sparse partition images using Fastboot fails with: FAILED (remote: 'Malloc failed for: CHUNK_TYPE_RAW') We are not really that memory-constrained for U-Boot on DB410c, so fix this by just dropping the custom malloc size and using the default. Signed-off-by: Stephan Gerhold Reviewed-by: Reviewed-by: Sumit Garg Link: https://lore.kernel.org/r/20250417-db410c-fixes2-v1-2-76ad994da152@linaro.org Signed-off-by: Casey Connolly --- configs/dragonboard410c_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig index 449d48a3c00..6feba70b943 100644 --- a/configs/dragonboard410c_defconfig +++ b/configs/dragonboard410c_defconfig @@ -4,7 +4,6 @@ CONFIG_COUNTER_FREQUENCY=19200000 CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y CONFIG_ARCH_SNAPDRAGON=y CONFIG_TEXT_BASE=0x8f600000 -CONFIG_SYS_MALLOC_LEN=0x802000 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x8007fff0 CONFIG_ENV_SIZE=0x2000 -- cgit v1.2.3 From 792ccccb46e58fbeb3666efbe241bcfaa450568f Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 17 Apr 2025 15:49:13 +0200 Subject: board: dragonboard410c: Enable support for KASLR in Linux When booting Linux, there is currently the following warning in the console when using the default dragonboard410c_defconfig: [ 0.000000] KASLR disabled due to lack of seed Fix this by enabling DM_RNG and RNG_MSM in the defconfig to generate the KASLR seed: [ 0.000000] KASLR enabled Signed-off-by: Stephan Gerhold Reviewed-by: Reviewed-by: Sumit Garg Link: https://lore.kernel.org/r/20250417-db410c-fixes2-v1-3-76ad994da152@linaro.org Signed-off-by: Casey Connolly --- configs/dragonboard410c_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig index 6feba70b943..d267b6ed34d 100644 --- a/configs/dragonboard410c_defconfig +++ b/configs/dragonboard410c_defconfig @@ -55,6 +55,8 @@ CONFIG_PINCONF=y CONFIG_PINCTRL_QCOM_APQ8016=y CONFIG_DM_PMIC=y CONFIG_PMIC_QCOM=y +CONFIG_DM_RNG=y +CONFIG_RNG_MSM=y CONFIG_MSM_SERIAL=y CONFIG_SPMI_MSM=y CONFIG_USB=y -- cgit v1.2.3 From eb2c63ddccb94b134846f890fcada84554ba2896 Mon Sep 17 00:00:00 2001 From: Rui Miguel Silva Date: Sat, 12 Apr 2025 18:41:31 +0100 Subject: power: qcom_vbus_regulator: add and fix support for pmic variants Fix and add support for different pmic variants pm8x50b to handle the vbus regulator. Signed-off-by: Rui Miguel Silva Link: https://lore.kernel.org/r/20250412174157.104419-1-rui.silva@linaro.org Signed-off-by: Casey Connolly --- drivers/power/regulator/qcom_usb_vbus_regulator.c | 37 ++++++++++++++++++----- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/drivers/power/regulator/qcom_usb_vbus_regulator.c b/drivers/power/regulator/qcom_usb_vbus_regulator.c index 2d58ef5e111..07f118d4797 100644 --- a/drivers/power/regulator/qcom_usb_vbus_regulator.c +++ b/drivers/power/regulator/qcom_usb_vbus_regulator.c @@ -15,14 +15,33 @@ #include #include -#define CMD_OTG 0x50 +enum pm8x50b_vbus { + PM8150B, + PM8550B, +}; + #define OTG_EN BIT(0) -// The 0 bit in this register's bit field is undocumented -#define OTG_CFG 0x56 + #define OTG_EN_SRC_CFG BIT(1) +struct qcom_otg_regs { + u32 otg_cmd; + u32 otg_cfg; +}; struct qcom_usb_vbus_priv { phys_addr_t base; + struct qcom_otg_regs *regs; +}; + +static const struct qcom_otg_regs qcom_otg[] = { + [PM8150B] = { + .otg_cmd = 0x40, + .otg_cfg = 0x53, + }, + [PM8550B] = { + .otg_cmd = 0x50, + .otg_cfg = 0x56, + }, }; static int qcom_usb_vbus_regulator_of_to_plat(struct udevice *dev) @@ -38,8 +57,9 @@ static int qcom_usb_vbus_regulator_of_to_plat(struct udevice *dev) static int qcom_usb_vbus_regulator_get_enable(struct udevice *dev) { + const struct qcom_otg_regs *regs = &qcom_otg[dev_get_driver_data(dev)]; struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); - int otg_en_reg = priv->base + CMD_OTG; + int otg_en_reg = priv->base + regs->otg_cmd; int ret; ret = pmic_reg_read(dev->parent, otg_en_reg); @@ -53,8 +73,9 @@ static int qcom_usb_vbus_regulator_get_enable(struct udevice *dev) static int qcom_usb_vbus_regulator_set_enable(struct udevice *dev, bool enable) { + const struct qcom_otg_regs *regs = &qcom_otg[dev_get_driver_data(dev)]; struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); - int otg_en_reg = priv->base + CMD_OTG; + int otg_en_reg = priv->base + regs->otg_cmd; int ret; if (enable) { @@ -76,8 +97,9 @@ static int qcom_usb_vbus_regulator_set_enable(struct udevice *dev, bool enable) static int qcom_usb_vbus_regulator_probe(struct udevice *dev) { + const struct qcom_otg_regs *regs = &qcom_otg[dev_get_driver_data(dev)]; struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); - int otg_cfg_reg = priv->base + OTG_CFG; + int otg_cfg_reg = priv->base + regs->otg_cfg; int ret; /* Disable HW logic for VBUS enable */ @@ -96,7 +118,8 @@ static const struct dm_regulator_ops qcom_usb_vbus_regulator_ops = { }; static const struct udevice_id qcom_usb_vbus_regulator_ids[] = { - { .compatible = "qcom,pm8150b-vbus-reg"}, + { .compatible = "qcom,pm8150b-vbus-reg", .data = PM8150B }, + { .compatible = "qcom,pm8550b-vbus-reg", .data = PM8550B }, { }, }; -- cgit v1.2.3 From 3d9e6d42ca1433c6dd478bf6c0f73e2b9484c94c Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:41 +0200 Subject: clk: qcom: apq8016: Fix SDCC clock addresses The SDCC_...(n) macros in clock-apq8016.c result in the wrong addresses: - SDCC1: SDCC_APPS_CBCR(0) = ((0 * 0x1000) + 0x41018) = 0x41018 Should be 0x42018, this is an invalid register close to the USB clocks. - SDCC2: SDCC_APPS_CBCR(1) = ((1 * 0x1000) + 0x41018) = 0x42018 Should be 0x43018, this is the SDCC1 clock. When we try to enable SDCC2, we actually end up enabling SDCC1. When we try to enable SDCC1, we just issue some broken register writes. This hasn't caused any trouble so far, because the boot firmware is keeping both SDCC clocks running. However, if these clocks are disabled when entering U-Boot, MMC initialization is failing. Fix this by using the proper offset for the macros. The SDCC_CMD_RCGR() was already correct, but change it the same way for consistency. Fixes: 085921368b7d ("arm: Add support for Qualcomm Snapdragon family") Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-1-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-apq8016.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/clk/qcom/clock-apq8016.c b/drivers/clk/qcom/clock-apq8016.c index 6a53f900a9e..274c71c53ff 100644 --- a/drivers/clk/qcom/clock-apq8016.c +++ b/drivers/clk/qcom/clock-apq8016.c @@ -23,10 +23,10 @@ #define APCS_GPLL_ENA_VOTE (0x45000) #define APCS_CLOCK_BRANCH_ENA_VOTE (0x45004) -#define SDCC_BCR(n) ((n * 0x1000) + 0x41000) -#define SDCC_CMD_RCGR(n) (((n + 1) * 0x1000) + 0x41004) -#define SDCC_APPS_CBCR(n) ((n * 0x1000) + 0x41018) -#define SDCC_AHB_CBCR(n) ((n * 0x1000) + 0x4101C) +#define SDCC_BCR(n) (((n) * 0x1000) + 0x42000) +#define SDCC_CMD_RCGR(n) (((n) * 0x1000) + 0x42004) +#define SDCC_APPS_CBCR(n) (((n) * 0x1000) + 0x42018) +#define SDCC_AHB_CBCR(n) (((n) * 0x1000) + 0x4201C) /* BLSP1 AHB clock (root clock for BLSP) */ #define BLSP1_AHB_CBCR 0x1008 -- cgit v1.2.3 From 409da8c4935338743b054e7c82f463c4a1c538e0 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:42 +0200 Subject: clk: qcom: Move qcom_gate_clk_en() to C file This avoids having to inline it separately into every single clock driver, when U-Boot is built with support for multiple SoCs. Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-2-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-qcom.c | 15 +++++++++++++++ drivers/clk/qcom/clock-qcom.h | 15 +-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/drivers/clk/qcom/clock-qcom.c b/drivers/clk/qcom/clock-qcom.c index 7687bbe6a23..5018851725b 100644 --- a/drivers/clk/qcom/clock-qcom.c +++ b/drivers/clk/qcom/clock-qcom.c @@ -74,6 +74,21 @@ void clk_enable_vote_clk(phys_addr_t base, const struct vote_clk *vclk) } while ((val != BRANCH_ON_VAL) && (val != BRANCH_NOC_FSM_ON_VAL)); } +int qcom_gate_clk_en(const struct msm_clk_priv *priv, unsigned long id) +{ + u32 val; + if (id >= priv->data->num_clks || priv->data->clks[id].reg == 0) { + log_err("gcc@%#08llx: unknown clock ID %lu!\n", + priv->base, id); + return -ENOENT; + } + + val = readl(priv->base + priv->data->clks[id].reg); + writel(val | priv->data->clks[id].en_val, priv->base + priv->data->clks[id].reg); + + return 0; +} + #define APPS_CMD_RCGR_UPDATE BIT(0) /* Update clock command via CMD_RCGR */ diff --git a/drivers/clk/qcom/clock-qcom.h b/drivers/clk/qcom/clock-qcom.h index f43edea2525..ee0347d9d86 100644 --- a/drivers/clk/qcom/clock-qcom.h +++ b/drivers/clk/qcom/clock-qcom.h @@ -107,19 +107,6 @@ void clk_rcg_set_rate(phys_addr_t base, uint32_t cmd_rcgr, int div, int source); void clk_phy_mux_enable(phys_addr_t base, uint32_t cmd_rcgr, bool enabled); -static inline int qcom_gate_clk_en(const struct msm_clk_priv *priv, unsigned long id) -{ - u32 val; - if (id >= priv->data->num_clks || priv->data->clks[id].reg == 0) { - log_err("gcc@%#08llx: unknown clock ID %lu!\n", - priv->base, id); - return -ENOENT; - } - - val = readl(priv->base + priv->data->clks[id].reg); - writel(val | priv->data->clks[id].en_val, priv->base + priv->data->clks[id].reg); - - return 0; -} +int qcom_gate_clk_en(const struct msm_clk_priv *priv, unsigned long id); #endif -- cgit v1.2.3 From 94e57ba2011b4bb96c0714e02a5056bc0c7f87d0 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:43 +0200 Subject: clk: qcom: Use setbits_le32() for qcom_gate_clk_en() The other clock enable functions in clock-qcom.c use setbits_le32() to read/modify/write the enable registers. Use the same for qcom_gate_clk_en() to simplify the code a bit. Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-3-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-qcom.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/clk/qcom/clock-qcom.c b/drivers/clk/qcom/clock-qcom.c index 5018851725b..7a259db7934 100644 --- a/drivers/clk/qcom/clock-qcom.c +++ b/drivers/clk/qcom/clock-qcom.c @@ -76,16 +76,13 @@ void clk_enable_vote_clk(phys_addr_t base, const struct vote_clk *vclk) int qcom_gate_clk_en(const struct msm_clk_priv *priv, unsigned long id) { - u32 val; if (id >= priv->data->num_clks || priv->data->clks[id].reg == 0) { log_err("gcc@%#08llx: unknown clock ID %lu!\n", priv->base, id); return -ENOENT; } - val = readl(priv->base + priv->data->clks[id].reg); - writel(val | priv->data->clks[id].en_val, priv->base + priv->data->clks[id].reg); - + setbits_le32(priv->base + priv->data->clks[id].reg, priv->data->clks[id].en_val); return 0; } -- cgit v1.2.3 From 6c049ed99392353bcda24f708e1cfa5c21f2a0f9 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:44 +0200 Subject: clk: qcom: Allow polling for clock status in qcom_gate_clk_en() GATE_CLK() in its current state is unsafe: A simple write to the clock enable register does not guarantee that the clock is immediately running. Without polling the clock status, we may issue writes to registers before the necessary clocks start running. This doesn't seem to cause issues in U-Boot at the moment, but for example removing the CLK_OFF polling in TF-A for the SMMU clocks on DB410c reliably triggers an exception during boot. Make it possible to poll the branch clock status register, by adding a new GATE_CLK_POLLED() macro that takes the extra register address. Existing usages work just as before, without polling the clock status. Ideally all usages should be updated to specify the correct poll address in the future. The Qualcomm naming for these clocks is "branch" and not "gate", but let's keep the existing naming for now to avoid confusion until all others drivers have been converted. Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-4-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-qcom.c | 15 +++++++++++++++ drivers/clk/qcom/clock-qcom.h | 11 +++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/clk/qcom/clock-qcom.c b/drivers/clk/qcom/clock-qcom.c index 7a259db7934..6b46d9db744 100644 --- a/drivers/clk/qcom/clock-qcom.c +++ b/drivers/clk/qcom/clock-qcom.c @@ -83,6 +83,21 @@ int qcom_gate_clk_en(const struct msm_clk_priv *priv, unsigned long id) } setbits_le32(priv->base + priv->data->clks[id].reg, priv->data->clks[id].en_val); + if (priv->data->clks[id].cbcr_reg) { + unsigned int count; + u32 val; + + for (count = 0; count < 200; count++) { + val = readl(priv->base + priv->data->clks[id].cbcr_reg); + val &= BRANCH_CHECK_MASK; + if (val == BRANCH_ON_VAL || val == BRANCH_NOC_FSM_ON_VAL) + break; + udelay(1); + } + if (WARN(count == 200, "WARNING: Clock @ %#lx [%#010x] stuck at off\n", + priv->data->clks[id].cbcr_reg, val)) + return -EBUSY; + } return 0; } diff --git a/drivers/clk/qcom/clock-qcom.h b/drivers/clk/qcom/clock-qcom.h index ee0347d9d86..1b60882dae4 100644 --- a/drivers/clk/qcom/clock-qcom.h +++ b/drivers/clk/qcom/clock-qcom.h @@ -52,13 +52,20 @@ struct freq_tbl { struct gate_clk { uintptr_t reg; u32 en_val; + uintptr_t cbcr_reg; const char *name; }; +/* + * GATE_CLK() is deprecated: Use GATE_CLK_POLLED() instead to ensure the clock + * is running before we start making use of devices or registers. + */ #ifdef DEBUG -#define GATE_CLK(clk, reg, val) [clk] = { reg, val, #clk } +#define GATE_CLK(clk, reg, val) [clk] = { reg, val, 0, #clk } +#define GATE_CLK_POLLED(clk, en_reg, val, cbcr_reg) [clk] = { en_reg, val, cbcr_reg, #clk } #else -#define GATE_CLK(clk, reg, val) [clk] = { reg, val, NULL } +#define GATE_CLK(clk, reg, val) [clk] = { reg, val, 0, NULL } +#define GATE_CLK_POLLED(clk, en_reg, val, cbcr_reg) [clk] = { en_reg, val, cbcr_reg, NULL } #endif struct qcom_reset_map { -- cgit v1.2.3 From 9d9bac00bc071deaeac1428c9d7dfe0afa1939a7 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:45 +0200 Subject: clk: qcom: apq8016: Convert GATE_CLK() to GATE_CLK_POLLED() Convert the usages of GATE_CLK() in clock-apq8016 to GATE_CLK_POLLED() to make sure that we poll the status when enabling clocks: - PRNG_AHB_CLK is a vote clock, so we poll a different register address. - The USB clocks are simple branches, so enable/poll is the same register. Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-5-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-apq8016.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/clk/qcom/clock-apq8016.c b/drivers/clk/qcom/clock-apq8016.c index 274c71c53ff..e3a9807f580 100644 --- a/drivers/clk/qcom/clock-apq8016.c +++ b/drivers/clk/qcom/clock-apq8016.c @@ -54,9 +54,9 @@ static struct vote_clk gcc_blsp1_ahb_clk = { }; static const struct gate_clk apq8016_clks[] = { - GATE_CLK(GCC_PRNG_AHB_CLK, 0x45004, BIT(8)), - GATE_CLK(GCC_USB_HS_AHB_CLK, 0x41008, BIT(0)), - GATE_CLK(GCC_USB_HS_SYSTEM_CLK, 0x41004, BIT(0)), + GATE_CLK_POLLED(GCC_PRNG_AHB_CLK, 0x45004, BIT(8), 0x13004), + GATE_CLK_POLLED(GCC_USB_HS_AHB_CLK, 0x41008, BIT(0), 0x41008), + GATE_CLK_POLLED(GCC_USB_HS_SYSTEM_CLK, 0x41004, BIT(0), 0x41004), }; /* SDHCI */ -- cgit v1.2.3 From 1079d4bf2ed88e7e34a56152a63eb16fca7f7811 Mon Sep 17 00:00:00 2001 From: Stephan Gerhold Date: Thu, 24 Apr 2025 11:16:46 +0200 Subject: clk: qcom: apq8016: Fix SDCC clock warnings As of commit dc8754e8e408 ("clk/qcom: apq8016: improve clk_enable logging") there are now warnings in the U-Boot console on DragonBoard 410c: apq8016_clk_enable: unknown clk id 122 apq8016_clk_enable: unknown clk id 123 apq8016_clk_enable: unknown clk id 124 apq8016_clk_enable: unknown clk id 125 This is because we don't implement enable() properly for the SDCC clocks. Currently they are being enabled as part of set_rate(). Fix this by moving the enable calls out of the apq8016_clk_init_sdc() function and convert them to the equivalent GATE_CLK_POLLED() definitions. Reviewed-by: Neil Armstrong Signed-off-by: Stephan Gerhold Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424-apq8016-clock-fixes2-v2-6-fcc371c9e45f@linaro.org Signed-off-by: Casey Connolly --- drivers/clk/qcom/clock-apq8016.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/clk/qcom/clock-apq8016.c b/drivers/clk/qcom/clock-apq8016.c index e3a9807f580..b7bd9c9a342 100644 --- a/drivers/clk/qcom/clock-apq8016.c +++ b/drivers/clk/qcom/clock-apq8016.c @@ -23,10 +23,7 @@ #define APCS_GPLL_ENA_VOTE (0x45000) #define APCS_CLOCK_BRANCH_ENA_VOTE (0x45004) -#define SDCC_BCR(n) (((n) * 0x1000) + 0x42000) #define SDCC_CMD_RCGR(n) (((n) * 0x1000) + 0x42004) -#define SDCC_APPS_CBCR(n) (((n) * 0x1000) + 0x42018) -#define SDCC_AHB_CBCR(n) (((n) * 0x1000) + 0x4201C) /* BLSP1 AHB clock (root clock for BLSP) */ #define BLSP1_AHB_CBCR 0x1008 @@ -55,6 +52,10 @@ static struct vote_clk gcc_blsp1_ahb_clk = { static const struct gate_clk apq8016_clks[] = { GATE_CLK_POLLED(GCC_PRNG_AHB_CLK, 0x45004, BIT(8), 0x13004), + GATE_CLK_POLLED(GCC_SDCC1_AHB_CLK, 0x4201c, BIT(0), 0x4201c), + GATE_CLK_POLLED(GCC_SDCC1_APPS_CLK, 0x42018, BIT(0), 0x42018), + GATE_CLK_POLLED(GCC_SDCC2_AHB_CLK, 0x4301c, BIT(0), 0x4301c), + GATE_CLK_POLLED(GCC_SDCC2_APPS_CLK, 0x43018, BIT(0), 0x43018), GATE_CLK_POLLED(GCC_USB_HS_AHB_CLK, 0x41008, BIT(0), 0x41008), GATE_CLK_POLLED(GCC_USB_HS_SYSTEM_CLK, 0x41004, BIT(0), 0x41004), }; @@ -67,12 +68,10 @@ static int apq8016_clk_init_sdc(struct msm_clk_priv *priv, int slot, uint rate) if (rate == 200000000) div = 4; - clk_enable_cbc(priv->base + SDCC_AHB_CBCR(slot)); /* 800Mhz/div, gpll0 */ clk_rcg_set_rate_mnd(priv->base, SDCC_CMD_RCGR(slot), div, 0, 0, CFG_CLK_SRC_GPLL0, 8); clk_enable_gpll0(priv->base, &gpll0_vote_clk); - clk_enable_cbc(priv->base + SDCC_APPS_CBCR(slot)); return rate; } -- cgit v1.2.3 From c92bf21e731a20d7de6acacd6487e98c69fd2a83 Mon Sep 17 00:00:00 2001 From: Alexey Minnekhanov Date: Thu, 24 Apr 2025 04:48:11 +0300 Subject: button: qcom-pmic: allow to specify code in devicetree Most device vendors put "Volume Down" button onto PMIC RESIN. But Sony is special: see dts/upstream/src/arm64/qcom/sdm630-sony-xperia-nile.dtsi or [1]. They put "Volume Down" on PMIC GPIO 7 where others usually put "Volume Up", and KEY_VOLUMEUP is inside &pon_resin. Currently if you boot U-Boot on such Sony device, you end up with 2 "Volume Down" buttons, and no "Volume Up", which makes navigating menu problematic. Support reading devicetree "linux,code" property and override statically defined button code & label based on that. [1] https://elixir.bootlin.com/linux/v6.15-rc3/source/arch/ arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi#L263 Signed-off-by: Alexey Minnekhanov Signed-off-by: Alexey Minnekhanov Reviewed-by: Casey Connolly Link: https://lore.kernel.org/r/20250424014811.3809818-1-alexeymin@minlexx.ru Signed-off-by: Casey Connolly --- drivers/button/button-qcom-pmic.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/button/button-qcom-pmic.c b/drivers/button/button-qcom-pmic.c index e3bb9bd758a..85addfe32a2 100644 --- a/drivers/button/button-qcom-pmic.c +++ b/drivers/button/button-qcom-pmic.c @@ -143,6 +143,21 @@ static int qcom_pwrkey_probe(struct udevice *dev) priv->base = base; + ret = dev_read_u32(dev, "linux,code", &priv->code); + if (ret == 0) { + /* convert key, if read OK */ + switch (priv->code) { + case KEY_VOLUMEDOWN: + priv->code = KEY_DOWN; + uc_plat->label = "Volume Down"; + break; + case KEY_VOLUMEUP: + priv->code = KEY_UP; + uc_plat->label = "Volume Up"; + break; + } + } + /* Do a sanity check */ ret = pmic_reg_read(priv->pmic, priv->base + REG_TYPE); if (ret != 0x1 && ret != 0xb) { -- cgit v1.2.3 From 14315b73a8e7aef9125c7c1aa28ebe3f0725a202 Mon Sep 17 00:00:00 2001 From: Sumit Garg Date: Mon, 5 May 2025 18:13:33 +0530 Subject: mach-snapdragon: Update fdtfile logic to work for RB1 and RB2 RB1 and RB2 have three root compatibles where the last one can't be used to decode fdtfile name (qcm* vs qrb*). So rather just rely on the first compatible to retrieve the SoC name. Signed-off-by: Sumit Garg Link: https://lore.kernel.org/r/20250505124333.12344-1-sumit.garg@kernel.org Signed-off-by: Casey Connolly --- arch/arm/mach-snapdragon/board.c | 63 +++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c index 3ab75f0fce0..5547d6d054f 100644 --- a/arch/arm/mach-snapdragon/board.c +++ b/arch/arm/mach-snapdragon/board.c @@ -409,52 +409,39 @@ static void configure_env(void) return; } - /* The last compatible is always the SoC compatible */ - ret = ofnode_read_string_index(root, "compatible", compat_count - 1, &last_compat); - if (ret < 0) { - log_warning("Can't read second compatible\n"); - return; - } - - /* Copy the second compat (e.g. "qcom,sdm845") into buf */ - strlcpy(buf, last_compat, sizeof(buf) - 1); - tmp = buf; - - /* strsep() is destructive, it replaces the comma with a \0 */ - if (!strsep(&tmp, ",")) { - log_warning("second compatible '%s' has no ','\n", buf); - return; - } - - /* tmp now points to just the "sdm845" part of the string */ - env_set("soc", tmp); - - /* Now figure out the "board" part from the first compatible */ - memset(buf, 0, sizeof(buf)); strlcpy(buf, first_compat, sizeof(buf) - 1); tmp = buf; /* The Qualcomm reference boards (RBx, HDK, etc) */ if (!strncmp("qcom", buf, strlen("qcom"))) { + char *soc; + /* * They all have the first compatible as "qcom,-" * (e.g. "qcom,qrb5165-rb5"). We extract just the part after * the dash. */ - if (!strsep(&tmp, "-")) { + if (!strsep(&tmp, ",")) { + log_warning("compatible '%s' has no ','\n", buf); + return; + } + soc = strsep(&tmp, "-"); + if (!soc) { log_warning("compatible '%s' has no '-'\n", buf); return; } - /* tmp is now "rb5" */ + + env_set("soc", soc); env_set("board", tmp); } else { if (!strsep(&tmp, ",")) { log_warning("compatible '%s' has no ','\n", buf); return; } - /* for thundercomm we just want the bit after the comma (e.g. "db845c"), - * for all other boards we replace the comma with a '-' and take both - * (e.g. "oneplus-enchilada") + /* + * For thundercomm we just want the bit after the comma + * (e.g. "db845c"), for all other boards we replace the comma + * with a '-' and take both (e.g. "oneplus-enchilada") */ if (!strncmp("thundercomm", buf, strlen("thundercomm"))) { env_set("board", tmp); @@ -462,6 +449,28 @@ static void configure_env(void) *(tmp - 1) = '-'; env_set("board", buf); } + + /* The last compatible is always the SoC compatible */ + ret = ofnode_read_string_index(root, "compatible", + compat_count - 1, &last_compat); + if (ret < 0) { + log_warning("Can't read second compatible\n"); + return; + } + + /* Copy the last compat (e.g. "qcom,sdm845") into buf */ + memset(buf, 0, sizeof(buf)); + strlcpy(buf, last_compat, sizeof(buf) - 1); + tmp = buf; + + /* strsep() is destructive, it replaces the comma with a \0 */ + if (!strsep(&tmp, ",")) { + log_warning("second compatible '%s' has no ','\n", buf); + return; + } + + /* tmp now points to just the "sdm845" part of the string */ + env_set("soc", tmp); } /* Now build the full path name */ -- cgit v1.2.3 From afb3ab64cb7df90a2c6fd54f1639ff3f807f1e86 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Fri, 30 May 2025 08:05:48 -0600 Subject: scripts/spelling.txt: Sync script with kernel v6.15 Keep spelling.txt in sync with the version from kernel v6.15. Reported-by: Yao Zi Reviewed-by: Yao Zi Signed-off-by: Tom Rini --- scripts/spelling.txt | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 191 insertions(+), 2 deletions(-) diff --git a/scripts/spelling.txt b/scripts/spelling.txt index aec616b1d3b..50791c71f45 100644 --- a/scripts/spelling.txt +++ b/scripts/spelling.txt @@ -23,8 +23,10 @@ absoulte||absolute acccess||access acceess||access accelaration||acceleration +accelearion||acceleration acceleratoin||acceleration accelleration||acceleration +accelrometer||accelerometer accesing||accessing accesnt||accent accessable||accessible @@ -58,11 +60,13 @@ acording||according activete||activate actived||activated actualy||actually +actvie||active acumulating||accumulating acumulative||accumulative acumulator||accumulator acutally||actually adapater||adapter +adderted||asserted addional||additional additionaly||additionally additonal||additional @@ -120,6 +124,7 @@ alue||value ambigious||ambiguous ambigous||ambiguous amoung||among +amount of times||number of times amout||amount amplifer||amplifier amplifyer||amplifier @@ -133,8 +138,10 @@ anniversery||anniversary annoucement||announcement anomolies||anomalies anomoly||anomaly +anonynous||anonymous anway||anyway aplication||application +apeared||appeared appearence||appearance applicaion||application appliction||application @@ -149,8 +156,10 @@ apropriate||appropriate aquainted||acquainted aquired||acquired aquisition||acquisition +aquires||acquires arbitary||arbitrary architechture||architecture +archtecture||architecture arguement||argument arguements||arguments arithmatic||arithmetic @@ -169,16 +178,22 @@ assigment||assignment assigments||assignments assistent||assistant assocaited||associated +assocated||associated assocating||associating assocation||association +assocative||associative associcated||associated assotiated||associated asssert||assert assum||assume assumtpion||assumption +asume||assume asuming||assuming asycronous||asynchronous +asychronous||asynchronous asynchnous||asynchronous +asynchrnous||asynchronous +asynchronus||asynchronous asynchromous||asynchronous asymetric||asymmetric asymmeric||asymmetric @@ -207,6 +222,7 @@ autonymous||autonomous auxillary||auxiliary auxilliary||auxiliary avaiable||available +avaialable||available avaible||available availabe||available availabled||available @@ -230,6 +246,7 @@ baloons||balloons bandwith||bandwidth banlance||balance batery||battery +battey||battery beacuse||because becasue||because becomming||becoming @@ -241,6 +258,7 @@ beter||better betweeen||between bianries||binaries bitmast||bitmask +bitwiedh||bitwidth boardcast||broadcast borad||board boundry||boundary @@ -249,14 +267,18 @@ brigde||bridge broadcase||broadcast broadcat||broadcast bufer||buffer +bufferred||buffered +bufferur||buffer bufufer||buffer cacluated||calculated caculate||calculate caculation||calculation cadidate||candidate cahces||caches +calcluate||calculate calender||calendar calescing||coalescing +calibraiton||calibration calle||called callibration||calibration callled||called @@ -265,7 +287,12 @@ calucate||calculate calulate||calculate cancelation||cancellation cancle||cancel +cant||can't +cant'||can't canot||cannot +cann't||can't +cannnot||cannot +capabiity||capability capabilites||capabilities capabilties||capabilities capabilty||capability @@ -273,9 +300,11 @@ capabitilies||capabilities capablity||capability capatibilities||capabilities capapbilities||capabilities +captuer||capture caputure||capture carefuly||carefully cariage||carriage +casued||caused catagory||category cehck||check challange||challenge @@ -302,12 +331,14 @@ chiled||child chked||checked chnage||change chnages||changes +chnange||change chnnel||channel choosen||chosen chouse||chose circumvernt||circumvent claread||cleared clared||cleared +clearify||clarify closeing||closing clustred||clustered cnfiguration||configuration @@ -323,11 +354,13 @@ comminucation||communication commited||committed commiting||committing committ||commit +commmand||command commnunication||communication commoditiy||commodity comsume||consume comsumer||consumer comsuming||consuming +comaptible||compatible compability||compatibility compaibility||compatibility comparsion||comparison @@ -348,15 +381,20 @@ compoment||component comppatible||compatible compres||compress compresion||compression +compresser||compressor comression||compression +comsumed||consumed comunicate||communicate comunication||communication conbination||combination +concurent||concurrent conditionaly||conditionally conditon||condition condtion||condition +condtional||conditional conected||connected conector||connector +configed||configured configration||configuration configred||configured configuartion||configuration @@ -366,8 +404,10 @@ configuratoin||configuration configuraton||configuration configuretion||configuration configutation||configuration +congiuration||configuration conider||consider conjuction||conjunction +connction||connection connecetd||connected connectinos||connections connetor||connector @@ -375,6 +415,8 @@ connnection||connection connnections||connections consistancy||consistency consistant||consistent +consits||consists +constructred||constructed containes||contains containts||contains contaisn||contains @@ -385,6 +427,7 @@ continious||continuous continous||continuous continously||continuously continueing||continuing +contiuous||continuous contraints||constraints contruct||construct contol||control @@ -407,8 +450,11 @@ cotrol||control cound||could couter||counter coutner||counter +creationg||creating cryptocraphic||cryptographic +cummulative||cumulative cunter||counter +curent||current curently||currently cylic||cyclic dafault||default @@ -420,7 +466,9 @@ decendant||descendant decendants||descendants decompres||decompress decsribed||described +decrese||decrease decription||description +detault||default dectected||detected defailt||default deferal||deferral @@ -429,6 +477,7 @@ defferred||deferred definate||definite definately||definitely definiation||definition +definiton||definition defintion||definition defintions||definitions defualt||default @@ -442,6 +491,8 @@ delare||declare delares||declares delaring||declaring delemiter||delimiter +deley||delay +delibrately||deliberately delievered||delivered demodualtor||demodulator demension||dimension @@ -454,6 +505,7 @@ depreacte||deprecate desactivate||deactivate desciptor||descriptor desciptors||descriptors +descritpor||descriptor descripto||descriptor descripton||description descrition||description @@ -470,7 +522,9 @@ destorys||destroys destroied||destroyed detabase||database deteced||detected +detecion||detection detectt||detect +detroyed||destroyed develope||develop developement||development developped||developed @@ -490,6 +544,7 @@ diferent||different differrence||difference diffrent||different differenciate||differentiate +diffreential||differential diffrentiate||differentiate difinition||definition digial||digital @@ -497,16 +552,20 @@ dimention||dimension dimesions||dimensions diconnected||disconnected disabed||disabled +disasembler||disassembler disble||disable disgest||digest disired||desired dispalying||displaying +dissable||disable +dissapeared||disappeared diplay||display directon||direction direcly||directly direectly||directly diregard||disregard disassocation||disassociation +disassocative||disassociative disapear||disappear disapeared||disappeared disappared||disappeared @@ -524,6 +583,7 @@ dissconect||disconnect distiction||distinction divisable||divisible divsiors||divisors +dsiabled||disabled docuentation||documentation documantation||documentation documentaion||documentation @@ -554,6 +614,7 @@ eigth||eight elementry||elementary eletronic||electronic embeded||embedded +emtpy||empty enabledi||enabled enbale||enable enble||enable @@ -561,6 +622,7 @@ enchanced||enhanced encorporating||incorporating encrupted||encrypted encrypiton||encryption +encryped||encrypted encryptio||encryption endianess||endianness enpoint||endpoint @@ -590,11 +652,14 @@ etsbalishment||establishment evalute||evaluate evalutes||evaluates evalution||evaluation +evaulated||evaluated excecutable||executable +excceed||exceed exceded||exceeded exceds||exceeds exceeed||exceed excellant||excellent +exchnage||exchange execeeded||exceeded execeeds||exceeds exeed||exceed @@ -603,17 +668,23 @@ exeuction||execution existance||existence existant||existent exixt||exist +exsits||exists exlcude||exclude +exlcuding||excluding exlcusive||exclusive +exlusive||exclusive +exlicitly||explicitly exmaple||example expecially||especially experies||expires explicite||explicit +explicity||explicitly explicitely||explicitly explict||explicit explictely||explicitly explictly||explicitly expresion||expression +exprienced||experienced exprimental||experimental extened||extended exteneded||extended @@ -642,27 +713,32 @@ feauture||feature feautures||features fetaure||feature fetaures||features +fetcing||fetching fileystem||filesystem fimrware||firmware fimware||firmware firmare||firmware firmaware||firmware +firtly||firstly firware||firmware firwmare||firmware finanize||finalize findn||find finilizes||finalizes finsih||finish +fliter||filter flusing||flushing folloing||following followign||following followings||following follwing||following fonud||found +forcebly||forcibly forseeable||foreseeable forse||force fortan||fortran forwardig||forwarding +forwared||forwarded frambuffer||framebuffer framming||framing framwork||framework @@ -670,6 +746,7 @@ frequence||frequency frequncy||frequency frequancy||frequency frome||from +fronend||frontend fucntion||function fuction||function fuctions||functions @@ -693,6 +770,8 @@ generiously||generously genereate||generate genereted||generated genric||generic +gerenal||general +geting||getting globel||global grabing||grabbing grahical||graphical @@ -700,6 +779,7 @@ grahpical||graphical granularty||granularity grapic||graphic grranted||granted +grups||groups guage||gauge guarenteed||guaranteed guarentee||guarantee @@ -711,21 +791,27 @@ hanled||handled happend||happened hardare||hardware harware||hardware +hardward||hardware havind||having +heigth||height heirarchically||hierarchically heirarchy||hierarchy +heirachy||hierarchy helpfull||helpful hearbeat||heartbeat heterogenous||heterogeneous hexdecimal||hexadecimal hybernate||hibernate +hiearchy||hierarchy hierachy||hierarchy hierarchie||hierarchy homogenous||homogeneous +horizental||horizontal howver||however hsould||should hypervior||hypervisor hypter||hyper +idel||idle identidier||identifier iligal||illegal illigal||illegal @@ -754,6 +840,7 @@ implmentation||implementation implmenting||implementing incative||inactive incomming||incoming +incompaitiblity||incompatibility incompatabilities||incompatibilities incompatable||incompatible incompatble||incompatible @@ -771,6 +858,7 @@ independed||independent indiate||indicate indicat||indicate inexpect||inexpected +infalte||inflate inferface||interface infinit||infinite infomation||information @@ -779,6 +867,7 @@ informations||information informtion||information infromation||information ingore||ignore +inheritence||inheritance inital||initial initalized||initialized initalised||initialized @@ -789,6 +878,7 @@ initators||initiators initialiazation||initialization initializationg||initialization initializiation||initialization +initializtion||initialization initialze||initialize initialzed||initialized initialzing||initializing @@ -805,12 +895,14 @@ instanciate||instantiate instanciated||instantiated instuments||instruments insufficent||insufficient +intead||instead inteface||interface integreated||integrated integrety||integrity integrey||integrity intendet||intended intented||intended +interal||internal interanl||internal interchangable||interchangeable interferring||interfering @@ -822,6 +914,7 @@ interoprability||interoperability interuupt||interrupt interupt||interrupt interupts||interrupts +interurpt||interrupt interrface||interface interrrupt||interrupt interrup||interrupt @@ -862,12 +955,14 @@ iteraions||iterations iternations||iterations itertation||iteration itslef||itself +ivalid||invalid jave||java jeffies||jiffies jumpimng||jumping juse||just jus||just kown||known +lable||label langage||language langauage||language langauge||language @@ -916,9 +1011,11 @@ matchs||matches mathimatical||mathematical mathimatic||mathematic mathimatics||mathematics +maxmium||maximum maximium||maximum maxium||maximum mechamism||mechanism +mechanim||mechanism meetign||meeting memeory||memory memmber||member @@ -927,6 +1024,7 @@ memroy||memory ment||meant mergable||mergeable mesage||message +mesages||messages messags||messages messgaes||messages messsage||message @@ -935,9 +1033,13 @@ metdata||metadata micropone||microphone microprocesspr||microprocessor migrateable||migratable +miliseconds||milliseconds +millenium||millennium milliseonds||milliseconds +minimim||minimum minium||minimum minimam||minimum +minimun||minimum miniumum||minimum minumum||minimum misalinged||misaligned @@ -956,6 +1058,7 @@ mmnemonic||mnemonic mnay||many modfiy||modify modifer||modifier +modul||module modulues||modules momery||memory memomry||memory @@ -965,8 +1068,9 @@ monochromo||monochrome monocrome||monochrome mopdule||module mroe||more -multipler||multiplier mulitplied||multiplied +muliple||multiple +multipler||multiplier multidimensionnal||multidimensional multipe||multiple multple||multiple @@ -989,15 +1093,19 @@ negotation||negotiation nerver||never nescessary||necessary nessessary||necessary +none existent||non-existent noticable||noticeable notication||notification notications||notifications notifcations||notifications notifed||notified notity||notify +notfify||notify nubmer||number numebr||number +numer||number numner||number +nunber||number obtaion||obtain obusing||abusing occassionally||occasionally @@ -1009,17 +1117,20 @@ occured||occurred occurence||occurrence occure||occurred occuring||occurring +ocurrence||occurrence offser||offset offet||offset offlaod||offload offloded||offloaded offseting||offsetting +oflload||offload omited||omitted omiting||omitting omitt||omit ommiting||omitting ommitted||omitted onself||oneself +onthe||on the ony||only openning||opening operatione||operation @@ -1031,12 +1142,14 @@ orientatied||orientated orientied||oriented orignal||original originial||original +orphanded||orphaned otherise||otherwise ouput||output oustanding||outstanding overaall||overall overhread||overhead overlaping||overlapping +oveflow||overflow overflw||overflow overlfow||overflow overide||override @@ -1056,9 +1169,11 @@ pakage||package paket||packet pallette||palette paln||plan +palne||plane paramameters||parameters paramaters||parameters paramater||parameter +paramenters||parameters parametes||parameters parametised||parametrised paramter||parameter @@ -1085,12 +1200,16 @@ perfomring||performing periperal||peripheral peripherial||peripheral permissons||permissions +permited||permitted peroid||period persistance||persistence persistant||persistent phoneticly||phonetically +pipline||pipeline +plaform||platform plalform||platform platfoem||platform +platfomr||platform platfrom||platform plattform||platform pleaes||please @@ -1102,9 +1221,11 @@ poiter||pointer posible||possible positon||position possibilites||possibilities +postion||position potocol||protocol powerfull||powerful pramater||parameter +preambule||preamble preamle||preamble preample||preamble preapre||prepare @@ -1113,6 +1234,7 @@ preceeding||preceding preceed||precede precendence||precedence precission||precision +predicition||prediction preemptable||preemptible prefered||preferred prefferably||preferably @@ -1126,15 +1248,19 @@ preprare||prepare pressre||pressure presuambly||presumably previosuly||previously +previsously||previously primative||primitive princliple||principle priorty||priority +priting||printing privilaged||privileged privilage||privilege priviledge||privilege +priviledged||privileged priviledges||privileges privleges||privileges probaly||probably +probabalistic||probabilistic procceed||proceed proccesors||processors procesed||processed @@ -1154,6 +1280,7 @@ programable||programmable programers||programmers programm||program programms||programs +progres||progress progresss||progress prohibitted||prohibited prohibitting||prohibiting @@ -1182,12 +1309,15 @@ purgable||purgeable pwoer||power queing||queuing quering||querying +querrying||querying queus||queues randomally||randomly raoming||roaming +readyness||readiness reasearcher||researcher reasearchers||researchers reasearch||research +recalcualte||recalculate receieve||receive recepient||recipient recevied||received @@ -1200,8 +1330,10 @@ recieves||receives recieving||receiving recogniced||recognised recognizeable||recognizable +recompte||recompute recommanded||recommended recyle||recycle +redect||reject redircet||redirect redirectrion||redirection redundacy||redundancy @@ -1209,11 +1341,14 @@ reename||rename refcounf||refcount refence||reference refered||referred +referencce||reference referenace||reference +refererence||reference refering||referring refernces||references refernnce||reference refrence||reference +regiser||register registed||registered registerd||registered registeration||registration @@ -1233,17 +1368,21 @@ reloade||reload remoote||remote remore||remote removeable||removable +repective||respective repectively||respectively replacable||replaceable replacments||replacements replys||replies reponse||response representaion||representation +repsonse||response +reqested||requested reqeust||request reqister||register requed||requeued requestied||requested requiere||require +requieres||requires requirment||requirement requred||required requried||required @@ -1254,6 +1393,8 @@ reseting||resetting reseved||reserved reseverd||reserved resizeable||resizable +resonable||reasonable +resotre||restore resouce||resource resouces||resources resoures||resources @@ -1278,6 +1419,7 @@ reuest||request reuqest||request reutnred||returned revsion||revision +rewritting||rewriting rmeoved||removed rmeove||remove rmeoves||removes @@ -1286,11 +1428,14 @@ routins||routines rquest||request runing||running runned||ran +runnnig||running runnning||running runtine||runtime sacrifying||sacrificing safly||safely safty||safety +satify||satisfy +satisifed||satisfied savable||saveable scaleing||scaling scaned||scanned @@ -1325,9 +1470,11 @@ sequencial||sequential serivce||service serveral||several servive||service +sesion||session setts||sets settting||setting shapshot||snapshot +shoft||shift shotdown||shutdown shoud||should shouldnt||shouldn't @@ -1341,17 +1488,22 @@ similiar||similar simlar||similar simliar||similar simpified||simplified +simultaneusly||simultaneously +simultanous||simultaneous singaled||signaled singal||signal singed||signed +slect||select sleeped||slept sliped||slipped softwade||software softwares||software soley||solely +soluation||solution souce||source speach||speech specfic||specific +specfication||specification specfield||specified speciefied||specified specifc||specific @@ -1380,6 +1532,7 @@ standart||standard standy||standby stardard||standard staticly||statically +statisitcs||statistics statuss||status stoped||stopped stoping||stopping @@ -1398,6 +1551,7 @@ submited||submitted submition||submission succeded||succeeded suceed||succeed +succesfuly||successfully succesfully||successfully succesful||successful successed||succeeded @@ -1413,6 +1567,7 @@ suported||supported suport||support supportet||supported suppored||supported +supporing||supporting supportin||supporting suppoted||supported suppported||supported @@ -1439,6 +1594,8 @@ syfs||sysfs symetric||symmetric synax||syntax synchonized||synchronized +sychronization||synchronization +sychronously||synchronously synchronuously||synchronously syncronize||synchronize syncronized||synchronized @@ -1447,35 +1604,45 @@ syncronus||synchronous syste||system sytem||system sythesis||synthesis +tagert||target taht||that +tained||tainted +tarffic||traffic tansmit||transmit targetted||targeted targetting||targeting taskelt||tasklet teh||the +temeprature||temperature temorary||temporary temproarily||temporarily temperture||temperature -thead||thread +theads||threads therfore||therefore thier||their threds||threads threee||three threshhold||threshold thresold||threshold +throtting||throttling throught||through +tansition||transition trackling||tracking troughput||throughput trys||tries thses||these tiggers||triggers tiggered||triggered +tiggerring||triggering tipically||typically timeing||timing +timming||timing timout||timeout tmis||this +tolarance||tolerance toogle||toggle torerable||tolerable +torlence||tolerance traget||target traking||tracking tramsmitted||transmitted @@ -1484,17 +1651,22 @@ tranasction||transaction tranceiver||transceiver tranfer||transfer tranmission||transmission +tranport||transport transcevier||transceiver transciever||transceiver transferd||transferred transfered||transferred transfering||transferring transision||transition +transistioned||transitioned transmittd||transmitted transormed||transformed +trasaction||transaction trasfer||transfer trasmission||transmission +trasmitter||transmitter treshold||threshold +trigged||triggered triggerd||triggered trigerred||triggered trigerring||triggering @@ -1503,13 +1675,17 @@ tunning||tuning ture||true tyep||type udpate||update +updtes||updates uesd||used +unknwon||unknown uknown||unknown usccess||success uncommited||uncommitted uncompatible||incompatible +uncomressed||uncompressed unconditionaly||unconditionally undeflow||underflow +undelying||underlying underun||underrun unecessary||unnecessary unexecpted||unexpected @@ -1521,6 +1697,7 @@ unexpexted||unexpected unfortunatelly||unfortunately unifiy||unify uniterrupted||uninterrupted +uninterruptable||uninterruptible unintialized||uninitialized unitialized||uninitialized unkmown||unknown @@ -1537,13 +1714,17 @@ unneccessary||unnecessary unnecesary||unnecessary unneedingly||unnecessarily unnsupported||unsupported +unuspported||unsupported unmached||unmatched unprecise||imprecise +unpriviledged||unprivileged +unpriviliged||unprivileged unregester||unregister unresgister||unregister unrgesiter||unregister unsinged||unsigned unstabel||unstable +unsolicted||unsolicited unsolicitied||unsolicited unsuccessfull||unsuccessful unsuported||unsupported @@ -1553,6 +1734,8 @@ unuseful||useless unvalid||invalid upate||update upsupported||unsupported +upto||up to +useable||usable usefule||useful usefull||useful usege||usage @@ -1567,6 +1750,7 @@ utitity||utility utitlty||utility vaid||valid vaild||valid +validationg||validating valide||valid variantions||variations varible||variable @@ -1574,9 +1758,12 @@ varient||variant vaule||value verbse||verbose veify||verify +verfication||verification veriosn||version +versoin||version verisons||versions verison||version +veritical||vertical verson||version vicefersa||vice-versa virtal||virtual @@ -1587,6 +1774,7 @@ vitual||virtual volatge||voltage vunerable||vulnerable wakeus||wakeups +was't||wasn't wathdog||watchdog wating||waiting wiat||wait @@ -1597,6 +1785,7 @@ whenver||whenever wheter||whether whe||when wierd||weird +wihout||without wiil||will wirte||write withing||within -- cgit v1.2.3 From d1555de5fa21c06118540dcd4a627a1af29bbb40 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Tue, 27 May 2025 11:33:31 +0200 Subject: arm/dts/qemu-sbsa: Fix interrupt Change the vcpumntirq in the GICv3 node from SPI to PPI. Prevents Linux from complaining: '[Firmware Bug]: CPU interface incapable of MMIO access' Fixes: 6d722894fd48 "board: emulation: Add QEMU sbsa support" Signed-off-by: Patrick Rudolph --- arch/arm/dts/qemu-sbsa.dts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/dts/qemu-sbsa.dts b/arch/arm/dts/qemu-sbsa.dts index 099b51b927f..a7718d6c29e 100644 --- a/arch/arm/dts/qemu-sbsa.dts +++ b/arch/arm/dts/qemu-sbsa.dts @@ -91,7 +91,10 @@ #interrupt-cells = <3>; status = "okay"; interrupt-controller; - interrupts = ; + + /* vcpumntirq: virtual CPU interface maintenance interrupt */ + interrupts = ; + reg = /bits/ 64 , /bits/ 64 , /bits/ 64 <0 0>, -- cgit v1.2.3 From 77b053502f396e83f6a0ea38d747d6836dc501f0 Mon Sep 17 00:00:00 2001 From: Padmarao Begari Date: Fri, 11 Apr 2025 07:55:38 +0200 Subject: usb: onboard-hub: Fix return type for regulator APIs Apart from ENOENT observing return value as ENOSYS when !DM_REGULATOR that's why cover both configurations. Changed code is not working as operation should be "&&" not "||" (ret != -ENOENT && ret != -ENOSYS). Also fix the remove function where the regulator_set_enable_if_allowed() function is returning an error. Signed-off-by: Padmarao Begari Reviewed-by: Marek Vasut Signed-off-by: Michal Simek Link: https://lore.kernel.org/r/a2d520f14efc30fc28ec59881205e156dabbfcd9.1744350937.git.michal.simek@amd.com --- common/usb_onboard_hub.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 7fe62b043e6..d17c85dd622 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -146,7 +146,7 @@ static int usb_onboard_hub_probe(struct udevice *dev) int ret; ret = device_get_supply_regulator(dev, "vdd-supply", &hub->vdd); - if (ret && ret != -ENOENT) { + if (ret && ret != -ENOENT && ret != -ENOSYS) { dev_err(dev, "can't get vdd-supply: %d\n", ret); return ret; } @@ -204,14 +204,16 @@ static int usb_onboard_hub_bind(struct udevice *dev) static int usb_onboard_hub_remove(struct udevice *dev) { struct onboard_hub *hub = dev_get_priv(dev); - int ret; + int ret = 0; if (hub->reset_gpio) dm_gpio_free(hub->reset_gpio->dev, hub->reset_gpio); - ret = regulator_set_enable_if_allowed(hub->vdd, false); - if (ret) - dev_err(dev, "can't disable vdd-supply: %d\n", ret); + if (hub->vdd) { + ret = regulator_set_enable_if_allowed(hub->vdd, false); + if (ret) + dev_err(dev, "can't disable vdd-supply: %d\n", ret); + } return ret; } -- cgit v1.2.3 From 4ef863f2d69417df2bd88358bd79a51995ac5bc5 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 4 Jun 2025 07:09:02 -0600 Subject: x86: Correct condition for init_cache_f_r() The condition here is reversed, which makes link and coral very slow, leading to lab failures. Fixes 6c171f7a184 ("common: board: make initcalls static") Signed-off-by: Simon Glass Reviewed-by: Jerome Forissier --- common/board_f.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/board_f.c b/common/board_f.c index bff465d9cb2..c8a612d6070 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -1079,7 +1079,7 @@ void board_init_f(ulong boot_flags) */ static void initcall_run_f_r(void) { -#if CONFIG_IS_ENABLED(X86_64) +#if !CONFIG_IS_ENABLED(X86_64) INITCALL(init_cache_f_r); #endif } -- cgit v1.2.3 From 2782ce5fce883554c968b8852a5ecfde0f2b9a95 Mon Sep 17 00:00:00 2001 From: Judith Mendez Date: Thu, 22 May 2025 10:05:50 -0500 Subject: mmc: am654_sdhci: Clear UHS_MODE_SELECT when <= MMC_HS_52 This clears UHS_MODE_SELECT for timing modes <= MMC_HS_52. When initializing to HS400 mode, the host controller downgrades to non-uhs modes so clear UHS_MODE_SELECT at modes <= MMC_HS_52. This fixes eMMC writes on j7200 EVM. Fixes: 6067aa66b3bb ("mmc: am654_sdhci: Add am654_sdhci_set_control_reg") Signed-off-by: Judith Mendez Reviewed-by: Peng Fan --- drivers/mmc/am654_sdhci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c index 0df3568f073..d3c8f94dd0c 100644 --- a/drivers/mmc/am654_sdhci.c +++ b/drivers/mmc/am654_sdhci.c @@ -527,11 +527,16 @@ static int am654_sdhci_execute_tuning(struct mmc *mmc, u8 opcode) void am654_sdhci_set_control_reg(struct sdhci_host *host) { struct mmc *mmc = host->mmc; + u32 reg; + reg = sdhci_readw(host, SDHCI_HOST_CONTROL2); + reg &= ~SDHCI_CTRL_UHS_MASK; sdhci_set_voltage(host); if (mmc->selected_mode > MMC_HS_52) sdhci_set_uhs_timing(host); + else + sdhci_writew(host, reg, SDHCI_HOST_CONTROL2); } const struct sdhci_ops am654_sdhci_ops = { -- cgit v1.2.3 From 5262b3ab9329b702f98ef61e76b0c78eb8c76f24 Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Thu, 22 May 2025 11:40:13 -0500 Subject: board: ti: am62ax: env: Use default MMC related args There are common MMC args for TI plats in include/environment/ti/mmc.env. Since we already include this, there is no need to redefine these MMC vars. Use the defaults. This seems like something that could have been done while refactoring these vars in the first place as it happened after this AM62A file was available hence the fixes tag. Reported-by: Chirag Shilwant Fixes: 3709b529156e ("env: ti: mmc.env: Move mmc related args to common place") Signed-off-by: Andrew Davis Reviewed-by: Neha Malcom Francis Acked-by: Chirag Shilwant Reviewed-by: Judith Mendez --- board/ti/am62ax/am62ax.env | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/board/ti/am62ax/am62ax.env b/board/ti/am62ax/am62ax.env index 96d9e1e2797..dc7af56a6f7 100644 --- a/board/ti/am62ax/am62ax.env +++ b/board/ti/am62ax/am62ax.env @@ -17,18 +17,5 @@ mmcdev=1 bootpart=1:2 bootdir=/boot rd_spec=- -init_mmc=run args_all args_mmc -get_overlay_mmc= - fdt address ${fdtaddr}; - fdt resize 0x100000; - for overlay in $name_overlays; - do; - load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && - fdt apply ${dtboaddr}; - done; -get_kern_mmc=load mmc ${bootpart} ${loadaddr} - ${bootdir}/${name_kern} -get_fit_mmc=load mmc ${bootpart} ${addr_fit} - ${bootdir}/${name_fit} -partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs} + rproc_fw_binaries= 0 /lib/firmware/am62a-mcu-r5f0_0-fw 1 /lib/firmware/am62a-c71_0-fw -- cgit v1.2.3 From 27cd65ca1bf16c21818c233c6d658f3e747f5e85 Mon Sep 17 00:00:00 2001 From: Anshul Dalal Date: Thu, 22 May 2025 18:03:04 +0530 Subject: mach-k3: am62ax: enable caches for the SPL stage board_init_f for the am62a is missing the call to spl_enable_cache which exists for all other am62 platforms (check am625_init.c & am62p5_init.c). This allows the usage of caches while loading and parsing the u-boot.img FIT resulting in ~2x speedup in the A53 SPL stage. Signed-off-by: Anshul Dalal --- arch/arm/mach-k3/am62ax/am62a7_init.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c b/arch/arm/mach-k3/am62ax/am62a7_init.c index 28aee34f30b..edd43a1d78d 100644 --- a/arch/arm/mach-k3/am62ax/am62a7_init.c +++ b/arch/arm/mach-k3/am62ax/am62a7_init.c @@ -191,6 +191,7 @@ void board_init_f(ulong dummy) if (ret) panic("DRAM init failed: %d\n", ret); #endif + spl_enable_cache(); setup_qos(); -- cgit v1.2.3 From 79d9ac8b13e34f6e70af4f6a513afb8ebde29c98 Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:39 +0200 Subject: arm: uniphier: Change _debug_uart_putc function to inline Update the definition of _debug_uart_putc to static inline. This matches the instructions in include/debug_uart.h and provides consistency with implementations for other platforms. Signed-off-by: Lukasz Czechowski Reviewed-by: Tom Rini Reviewed-by: Kever Yang --- arch/arm/mach-uniphier/debug-uart/debug-uart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-uniphier/debug-uart/debug-uart.c b/arch/arm/mach-uniphier/debug-uart/debug-uart.c index 6836eb63bfa..1a3e290aa97 100644 --- a/arch/arm/mach-uniphier/debug-uart/debug-uart.c +++ b/arch/arm/mach-uniphier/debug-uart/debug-uart.c @@ -16,7 +16,7 @@ #define UNIPHIER_UART_LSR 0x14 #define UNIPHIER_UART_LDR 0x24 -static void _debug_uart_putc(int c) +static inline void _debug_uart_putc(int c) { void __iomem *base = (void __iomem *)CONFIG_VAL(DEBUG_UART_BASE); -- cgit v1.2.3 From c1f9995d822275aeda76ce5ae0d4b66c57f2d7fc Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:40 +0200 Subject: efi: stub: Change _debug_uart_putc function to inline Update definition of _debug_uart_putc to static inline. This will allow to avoid compilation warnings about unused code after introduction of patch changing debug uart functions to dummies if CONFIG_DEBUG_UART is not set. This also matches the instructions in include/debug_uart.h and provides consistency with implementations for other platforms. Signed-off-by: Lukasz Czechowski Reviewed-by: Tom Rini Reviewed-by: Kever Yang --- lib/efi/efi_stub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c index 40fc29d9adf..a083c7f1e9b 100644 --- a/lib/efi/efi_stub.c +++ b/lib/efi/efi_stub.c @@ -83,7 +83,7 @@ void puts(const char *str) putc(*str++); } -static void _debug_uart_putc(int ch) +static inline void _debug_uart_putc(int ch) { putc(ch); } -- cgit v1.2.3 From 6773a46f1131fe95bcddb7472635e07a5fd249f8 Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:41 +0200 Subject: ram: rockchip: Fix dependency of RAM_ROCKCHIP_DEBUG The RAM_ROCKCHIP_DEBUG can be used only if DEBUG_UART is available. The next commit introduces changes in definition of debug uart functions, so that DEBUG_UART is required to be defined in order to initialize uart and use print functions. Signed-off-by: Lukasz Czechowski Reviewed-by: Kever Yang Reviewed-by: Quentin Schulz --- drivers/ram/rockchip/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/ram/rockchip/Kconfig b/drivers/ram/rockchip/Kconfig index 67c63ecba04..d707d09c1c8 100644 --- a/drivers/ram/rockchip/Kconfig +++ b/drivers/ram/rockchip/Kconfig @@ -15,6 +15,7 @@ if RAM_ROCKCHIP config RAM_ROCKCHIP_DEBUG bool "Rockchip ram drivers debugging" + depends on DEBUG_UART default y help This enables debugging ram driver API's for the platforms -- cgit v1.2.3 From 0fb68337f2482f0397681b92d13bcfbf3741cd06 Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:42 +0200 Subject: debug_uart: Replace debug functions with dummies if CONFIG_DEBUG_UART is not set In case DEBUG UART is not used, define dummy macros replacing the actual function implementations that will not be available. This allows to compile code and avoid linker errors. Redefine the DEBUG_UART_FUNCS macro if DEBUG UART is not available, to avoid compilation errors. Signed-off-by: Lukasz Czechowski Reviewed-by: Kever Yang --- include/debug_uart.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/debug_uart.h b/include/debug_uart.h index 714b369e6fe..d5e397d5e0a 100644 --- a/include/debug_uart.h +++ b/include/debug_uart.h @@ -128,6 +128,8 @@ void printdec(unsigned int value); (1 << CONFIG_DEBUG_UART_SHIFT), \ CONFIG_DEBUG_UART_SHIFT) +#ifdef CONFIG_DEBUG_UART + /* * Now define some functions - this should be inserted into the serial driver */ @@ -197,4 +199,22 @@ void printdec(unsigned int value); _DEBUG_UART_ANNOUNCE \ } \ +#else + +#define DEBUG_UART_FUNCS + +#define _printch(ch) (void)(ch) +#define printhex1(digit) (void)(digit) +#define printhex(value, digits) do { (void)(value); (void)(digits); } while(0) + +#define printch(ch) (void)(ch) +#define printascii(str) (void)(str) +#define printhex2(value) (void)(value) +#define printhex4(value) (void)(value) +#define printhex8(value) (void)(value) +#define printdec(value) (void)(value) +#define debug_uart_init() ((void)0) + +#endif + #endif -- cgit v1.2.3 From 80bac2343025f058cbba5b7b26257755368bd9f7 Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:43 +0200 Subject: rockchip: px30: Weaken dependency TPL/SPL serial Allow to disable serial console in TPL and SPL. Weak dependency to SPL_SERIAL and TPL_SERIAL is also used in other Rockchip boards. Signed-off-by: Lukasz Czechowski Reviewed-by: Quentin Schulz Reviewed-by: Kever Yang --- arch/arm/mach-rockchip/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 9210877a4a4..dac160d33ae 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -11,8 +11,8 @@ config ROCKCHIP_PX30 select TPL_TINY_FRAMEWORK if TPL select TPL_HAVE_INIT_STACK if TPL imply SPL_SEPARATE_BSS - select SPL_SERIAL - select TPL_SERIAL + imply SPL_SERIAL + imply TPL_SERIAL select DEBUG_UART_BOARD_INIT imply ROCKCHIP_COMMON_BOARD imply ROCKCHIP_COMMON_STACK_ADDR -- cgit v1.2.3 From ac86ee45eea978a4191361cbe2dfaeb11dd1a43c Mon Sep 17 00:00:00 2001 From: Lukasz Czechowski Date: Tue, 20 May 2025 13:36:44 +0200 Subject: rockchip: px30: Fix hard dependency to DEBUG_UART_BOARD_INIT Because DEBUG_UART_BOARD_INIT depends on DEBUG_UART, hard dependency to DEBUG_UART_BOARD_INIT in ROCKCHIP_PX30 can cause warnings if DEBUG_UART is disabled. The DEBUG_UART_BOARD_INIT is already implied by ARCH_ROCKCHIP entry. Remove hard dependency from ROCKCHIP_PX30, so that it will be consistent with other rockchip boards. Signed-off-by: Lukasz Czechowski Reviewed-by: Quentin Schulz Reviewed-by: Kever Yang --- arch/arm/mach-rockchip/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index dac160d33ae..d3ed870b169 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -13,7 +13,6 @@ config ROCKCHIP_PX30 imply SPL_SEPARATE_BSS imply SPL_SERIAL imply TPL_SERIAL - select DEBUG_UART_BOARD_INIT imply ROCKCHIP_COMMON_BOARD imply ROCKCHIP_COMMON_STACK_ADDR imply SPL_ROCKCHIP_COMMON_BOARD -- cgit v1.2.3 From fd11e10c96db3b657597feccb7db1b9591042625 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 14 May 2025 18:18:13 +0200 Subject: configs: ringneck-px30: enable exFAT support Our upcoming Mass Flasher solution will be storing boot artifacts on an exFAT partition so enable its support. Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- configs/ringneck-px30_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/ringneck-px30_defconfig b/configs/ringneck-px30_defconfig index 5c651a18b0b..a6562d03edc 100644 --- a/configs/ringneck-px30_defconfig +++ b/configs/ringneck-px30_defconfig @@ -110,6 +110,7 @@ CONFIG_DM_THERMAL=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y +CONFIG_FS_EXFAT=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y # CONFIG_RSA is not set -- cgit v1.2.3 From 41edb09cd0a2ce9921c2b111dea0e209d05ad324 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 14 May 2025 18:18:14 +0200 Subject: configs: jaguar-rk3588: enable exFAT support Our upcoming Mass Flasher solution will be storing boot artifacts on an exFAT partition so enable its support. Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- configs/jaguar-rk3588_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/jaguar-rk3588_defconfig b/configs/jaguar-rk3588_defconfig index 35f34ebf071..03d38274b15 100644 --- a/configs/jaguar-rk3588_defconfig +++ b/configs/jaguar-rk3588_defconfig @@ -108,4 +108,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_GENERIC=y +CONFIG_FS_EXFAT=y CONFIG_ERRNO_STR=y -- cgit v1.2.3 From 369e86a98ab760eee7a4000b855b3aaa6b1fd32d Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 14 May 2025 18:18:15 +0200 Subject: configs: tiger-rk3588: enable exFAT support Our upcoming Mass Flasher solution will be storing boot artifacts on an exFAT partition so enable its support. Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- configs/tiger-rk3588_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/tiger-rk3588_defconfig b/configs/tiger-rk3588_defconfig index b3726b6b511..c14bd9774e9 100644 --- a/configs/tiger-rk3588_defconfig +++ b/configs/tiger-rk3588_defconfig @@ -113,4 +113,5 @@ CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_GENERIC=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y +CONFIG_FS_EXFAT=y CONFIG_ERRNO_STR=y -- cgit v1.2.3 From 4aa110d73eeb674c6fbfece6c2c3582b1784b396 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 14 May 2025 18:18:16 +0200 Subject: configs: puma-rk3399: enable exFAT support Our upcoming Mass Flasher solution will be storing boot artifacts on an exFAT partition so enable its support. Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- configs/puma-rk3399_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig index 95ed6eea953..4e8cee06775 100644 --- a/configs/puma-rk3399_defconfig +++ b/configs/puma-rk3399_defconfig @@ -104,4 +104,5 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y +CONFIG_FS_EXFAT=y CONFIG_ERRNO_STR=y -- cgit v1.2.3 From 81a26131bdf5d094c9d2cda89a06dca90f9084a1 Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Fri, 23 May 2025 16:53:37 +0000 Subject: rockchip: io-domain: Add debug logging for regulators during probe Log the value of the regulators during initialization of the IO-domain driver to aid in debugging GPIO voltage configuration problems. Signed-off-by: Justin Klaassen Reviewed-by: Quentin Schulz Reviewed-by: Kever Yang --- drivers/misc/rockchip-io-domain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/misc/rockchip-io-domain.c b/drivers/misc/rockchip-io-domain.c index 025b6049a9f..a0573c52193 100644 --- a/drivers/misc/rockchip-io-domain.c +++ b/drivers/misc/rockchip-io-domain.c @@ -344,8 +344,10 @@ static int rockchip_iodomain_probe(struct udevice *dev) continue; ret = device_get_supply_regulator(dev, supply_name, ®); - if (ret) + if (ret) { + dev_dbg(dev, "%s: Regulator not found\n", supply_name); continue; + } ret = regulator_autoset(reg); if (ret && ret != -EALREADY && ret != -EMEDIUMTYPE && @@ -353,6 +355,7 @@ static int rockchip_iodomain_probe(struct udevice *dev) continue; uV = regulator_get_value(reg); + dev_dbg(dev, "%s: Regulator %s at %d uV\n", supply_name, reg->name, uV); if (uV <= 0) continue; -- cgit v1.2.3 From 83b1d04765de8aa9cfaa76d2db37b493a46cf504 Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Fri, 23 May 2025 16:53:38 +0000 Subject: rockchip: io-domain: Add CONFIG_SPL_ROCKCHIP_IODOMAIN Allows use of the Rockchip IO-domain driver in SPL to configure the GPIO to match the voltage supplied by specific regulators (e.g. "vcc_sdio"). Signed-off-by: Justin Klaassen Reviewed-by: Quentin Schulz Reviewed-by: Kever Yang --- drivers/misc/Kconfig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index ffc5868c0dd..8b8f6309ada 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -114,6 +114,14 @@ config ROCKCHIP_IODOMAIN for the IO-domain setting of the SoC to match the voltage supplied by the regulators. +config SPL_ROCKCHIP_IODOMAIN + bool "Rockchip IO-domain driver support in SPL" + depends on SPL_MISC && SPL_DM_REGULATOR && ARCH_ROCKCHIP + help + Enable support for IO-domains in Rockchip SoCs in SPL. It is necessary + for the IO-domain setting of the SoC to match the voltage supplied + by the regulators. + config SIFIVE_OTP bool "SiFive eMemory OTP driver" depends on MISC -- cgit v1.2.3 From f8f865ec0b17d756e10d4088bff1814744044dd3 Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Fri, 23 May 2025 16:53:39 +0000 Subject: regulator: rk8xx: Add CONFIG_SPL_REGULATOR_RK8XX Allows use of the regulator functions of the RK8XX PMIC in SPL, which is necessary to support the functionality of the Rockchip IO-domain driver on relevant platforms. Signed-off-by: Justin Klaassen Reviewed-by: Quentin Schulz Reviewed-by: Kever Yang --- drivers/power/regulator/Kconfig | 9 +++++++++ drivers/power/regulator/rk8xx.c | 8 ++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/power/regulator/Kconfig b/drivers/power/regulator/Kconfig index 7ed435f0202..65b99e89656 100644 --- a/drivers/power/regulator/Kconfig +++ b/drivers/power/regulator/Kconfig @@ -264,6 +264,15 @@ config REGULATOR_RK8XX by the PMIC device. This driver is controlled by a device tree node which includes voltage limits. +config SPL_REGULATOR_RK8XX + bool "Enable driver for RK8XX regulators in SPL" + depends on SPL_DM_REGULATOR && SPL_PMIC_RK8XX + help + Enable support for the regulator functions of the RK8XX PMIC in SPL. The + driver implements get/set api for the various BUCKS and LDOs supported + by the PMIC device. This driver is controlled by a device tree node + which includes voltage limits. + config DM_REGULATOR_S2MPS11 bool "Enable driver for S2MPS11 regulator" depends on DM_REGULATOR && PMIC_S2MPS11 diff --git a/drivers/power/regulator/rk8xx.c b/drivers/power/regulator/rk8xx.c index 368675ebb9f..88453bb7bdb 100644 --- a/drivers/power/regulator/rk8xx.c +++ b/drivers/power/regulator/rk8xx.c @@ -16,10 +16,6 @@ #include #include -#ifndef CONFIG_XPL_BUILD -#define ENABLE_DRIVER -#endif - /* Not used or exisit register and configure */ #define NA 0xff @@ -202,7 +198,7 @@ static const struct rk8xx_reg_info rk818_buck[] = { { 1800000, 100000, REG_BUCK4_ON_VSEL, REG_BUCK4_SLP_VSEL, REG_BUCK4_CONFIG, RK818_BUCK4_VSEL_MASK, 0x00, 0x1f }, }; -#ifdef ENABLE_DRIVER +#if CONFIG_IS_ENABLED(REGULATOR_RK8XX) static const struct rk8xx_reg_info rk806_nldo[] = { /* nldo 1 */ { 500000, 12500, RK806_NLDO_ON_VSEL(1), RK806_NLDO_SLP_VSEL(1), NA, RK806_NLDO_VSEL_MASK, 0x00, 0xe7}, @@ -454,7 +450,7 @@ static int _buck_set_enable(struct udevice *pmic, int buck, bool enable) return ret; } -#ifdef ENABLE_DRIVER +#if CONFIG_IS_ENABLED(REGULATOR_RK8XX) static int _buck_set_suspend_value(struct udevice *pmic, int buck, int uvolt) { const struct rk8xx_reg_info *info = get_buck_reg(pmic, buck, uvolt); -- cgit v1.2.3 From 2abd7fff9ebf08d51614c58e824d184ebe550404 Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Fri, 23 May 2025 16:53:40 +0000 Subject: rockchip: rk3399-nanopi-4: Allow MMC driver to control SD regulators This change removes the "regulator-always-on" property from the "vcc3v0_sd" (vmmc-supply) and "vcc_sdio" (vqmmc-supply) regulators, which otherwise prevents the MMC driver from being able to power cycle the SD card as part of the initialization procedure. It also removes the "regulator-boot-on" from the "vcc_sdio" regulator, which could theoretically damage a SD card that is already initialized in a low voltage mode. Signed-off-by: Justin Klaassen Reviewed-by: Kever Yang --- arch/arm/dts/rk3399-nanopi4-u-boot.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi index 75736124996..ba2b73223d4 100644 --- a/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi +++ b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi @@ -19,8 +19,11 @@ &vcc3v0_sd { bootph-pre-ram; + /delete-property/ regulator-always-on; }; &vcc_sdio { + /delete-property/ regulator-always-on; + /delete-property/ regulator-boot-on; regulator-init-microvolt = <3000000>; }; -- cgit v1.2.3 From 210ab4f60df8d48abb475fd4dac7a9a74ffa6090 Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Fri, 23 May 2025 16:53:41 +0000 Subject: rockchip: rk3399-nanopi-4: Enable IO-domain driver in SPL The NanoPi RK3399 boards support UHS-I (up to SDR104) SD cards, however using any of these 1.8v modes results in a boot failure in SPL upon soft reboot. The issue is that the "vcc_sdio" regulator is left at 1.8v on reboot and the corresponding GPIO defaults to 3.3v. This prevents the SD card from being reinitialized and read successfully. This change enables the RK8XX regulators and Rockchip IO-domain drivers in SPL, which initializes "vcc_sdio" regulator to 3.0v and configures the GPIO for the correct level on boot. Signed-off-by: Justin Klaassen Reviewed-by: Kever Yang --- arch/arm/dts/rk3399-nanopi4-u-boot.dtsi | 9 +++++++++ configs/nanopc-t4-rk3399_defconfig | 7 +++++++ configs/nanopi-m4-2gb-rk3399_defconfig | 7 +++++++ configs/nanopi-m4-rk3399_defconfig | 7 +++++++ configs/nanopi-m4b-rk3399_defconfig | 7 +++++++ configs/nanopi-neo4-rk3399_defconfig | 7 +++++++ configs/nanopi-r4s-rk3399_defconfig | 7 +++++++ 7 files changed, 51 insertions(+) diff --git a/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi index ba2b73223d4..62fd21f2ca5 100644 --- a/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi +++ b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi @@ -9,6 +9,14 @@ bootph-pre-ram; }; +&i2c0_xfer { + bootph-pre-ram; +}; + +&io_domains { + bootph-pre-ram; +}; + &sdmmc { pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_cd>; }; @@ -23,6 +31,7 @@ }; &vcc_sdio { + bootph-pre-ram; /delete-property/ regulator-always-on; /delete-property/ regulator-boot-on; regulator-init-microvolt = <3000000>; diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index cf634bdce4c..40e99878016 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-nanopc-t4" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -18,6 +19,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopc-t4.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -33,6 +36,7 @@ CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -46,8 +50,11 @@ CONFIG_NVME_PCI=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_BAUDRATE=1500000 CONFIG_DEBUG_UART_SHIFT=2 diff --git a/configs/nanopi-m4-2gb-rk3399_defconfig b/configs/nanopi-m4-2gb-rk3399_defconfig index e4d6beeb493..5c53293757d 100644 --- a/configs/nanopi-m4-2gb-rk3399_defconfig +++ b/configs/nanopi-m4-2gb-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-m4-2gb" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -19,6 +20,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-m4-2gb.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -37,6 +40,7 @@ CONFIG_SCSI_AHCI=y CONFIG_AHCI_PCI=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -50,8 +54,11 @@ CONFIG_NVME_PCI=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_SCSI=y CONFIG_BAUDRATE=1500000 diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 25761e3f9f8..76d2994ae57 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-nanopi-m4" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -19,6 +20,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-m4.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -36,6 +39,7 @@ CONFIG_SCSI_AHCI=y CONFIG_AHCI_PCI=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -49,8 +53,11 @@ CONFIG_NVME_PCI=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_SCSI=y CONFIG_BAUDRATE=1500000 diff --git a/configs/nanopi-m4b-rk3399_defconfig b/configs/nanopi-m4b-rk3399_defconfig index f32d3e5ffd1..17241b38946 100644 --- a/configs/nanopi-m4b-rk3399_defconfig +++ b/configs/nanopi-m4b-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-nanopi-m4b" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -19,6 +20,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-m4b.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -36,6 +39,7 @@ CONFIG_SCSI_AHCI=y CONFIG_AHCI_PCI=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -49,8 +53,11 @@ CONFIG_NVME_PCI=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_SCSI=y CONFIG_BAUDRATE=1500000 diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index 00822f7f655..c0aedd5288b 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-nanopi-neo4" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -17,6 +18,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-neo4.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -31,6 +34,7 @@ CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -43,8 +47,11 @@ CONFIG_GMAC_ROCKCHIP=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_BAUDRATE=1500000 CONFIG_DEBUG_UART_SHIFT=2 diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig index 100b68bb49e..3ce9bad76fe 100644 --- a/configs/nanopi-r4s-rk3399_defconfig +++ b/configs/nanopi-r4s-rk3399_defconfig @@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x3F8000 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-nanopi-r4s" CONFIG_DM_RESET=y CONFIG_ROCKCHIP_RK3399=y +CONFIG_SPL_DRIVERS_MISC=y CONFIG_TARGET_EVB_RK3399=y CONFIG_SYS_LOAD_ADDR=0x800800 CONFIG_DEBUG_UART_BASE=0xFF1A0000 @@ -17,6 +18,8 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s.dtb" CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SPL_MAX_SIZE=0x40000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_I2C=y +CONFIG_SPL_POWER=y CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y CONFIG_TPL=y CONFIG_CMD_BOOTZ=y @@ -31,6 +34,7 @@ CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_SPL_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y @@ -43,8 +47,11 @@ CONFIG_GMAC_ROCKCHIP=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PMIC_RK8XX=y +CONFIG_SPL_PMIC_RK8XX=y +CONFIG_SPL_DM_REGULATOR=y CONFIG_SPL_DM_REGULATOR_FIXED=y CONFIG_REGULATOR_RK8XX=y +CONFIG_SPL_REGULATOR_RK8XX=y CONFIG_PWM_ROCKCHIP=y CONFIG_RAM_ROCKCHIP_LPDDR4=y CONFIG_BAUDRATE=1500000 -- cgit v1.2.3 From b8101af3ce56a547f373d273d9ea37aefb74dc5a Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 28 May 2025 14:07:27 +0200 Subject: power: rk8xx: fix swapped mask and value in init registers for RK806 The val (the bits to set) is the second member of the reg_data structure and mask the third one. We obviously want to clear bits 6 and 7 in order to only set bit 7 in there instead of only clearing bit 7 in order to write bits 6 and 7 (which makes no sense). Fortunately, according to the datasheet, bit 6 value doesn't matter when bit 7 is set so this is essentially just a cosmetic change, no intended change in behavior. Fixes: f172575d92cd ("power: rk8xx: add support for RK806") Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang --- drivers/power/pmic/rk8xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c index a14555cf472..3bc696d4caa 100644 --- a/drivers/power/pmic/rk8xx.c +++ b/drivers/power/pmic/rk8xx.c @@ -91,7 +91,7 @@ void rk8xx_off_for_plugin(struct udevice *dev) static struct reg_data rk806_init_reg[] = { /* RST_FUN */ - { RK806_REG_SYS_CFG3, GENMASK(7, 6), BIT(7)}, + { RK806_REG_SYS_CFG3, BIT(7), GENMASK(7, 6)}, }; static struct reg_data rk817_init_reg[] = { -- cgit v1.2.3 From 5bbfaea4d4728cfcd6ec70eac3dc1a319a3e53e4 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 18 May 2025 08:43:44 +0200 Subject: efi_loader: correct EFI_TCG2_PROTOCOL_MEASURE_DTB description %s/data that change/data that changes/ %s/cannot be used has/cannot be used for/ %s/Otherwise/Otherwise,/ %s/allows better measurement/allows for better measurement/ Acked-by: Ilias Apalodimas Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/Kconfig | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index 7f02a83e2a2..3dadbc54b58 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -443,10 +443,9 @@ config EFI_TCG2_PROTOCOL_MEASURE_DTB help When enabled, the DTB image passed to the booted EFI image is measured using the EFI TCG2 protocol. Do not enable this feature if - the passed DTB contains data that change across platform reboots - and cannot be used has a predictable measurement. Otherwise - this feature allows better measurement of the system boot - sequence. + the passed DTB contains data that changes across platform reboots + and cannot be used for a predictable measurement. Otherwise, this + feature allows for better measurement of the system boot sequence. config EFI_LOAD_FILE2_INITRD bool "EFI_FILE_LOAD2_PROTOCOL for Linux initial ramdisk" -- cgit v1.2.3 From abc8fd101496034a174a86c04263eeeaaa90916d Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 25 May 2025 13:10:58 +0100 Subject: doc: board: ti: Add missing firmware for BB-AI64 The details of the sysfw.itb from the R5 build that also needs to be copied as part of the target images is missing, but is included in the image formats a little further down, so add it to the instructions. Signed-off-by: Peter Robinson Reviewed-by: Dhruva Gole Acked-by: Nishanth Menon --- doc/board/beagle/j721e_beagleboneai64.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/board/beagle/j721e_beagleboneai64.rst b/doc/board/beagle/j721e_beagleboneai64.rst index 090b2b3b86a..a57bc743569 100644 --- a/doc/board/beagle/j721e_beagleboneai64.rst +++ b/doc/board/beagle/j721e_beagleboneai64.rst @@ -83,6 +83,7 @@ Target Images Copy the below images to an SD card and boot: * tiboot3-j721e-gp-evm.bin from R5 build as tiboot3.bin +* sysfw-j721e-gp-evm.itb from R5 build as sysfw.itb * tispl.bin_unsigned from Cortex-A build as tispl.bin * u-boot.img_unsigned from Cortex-A build as u-boot.img -- cgit v1.2.3 From e108a0f6d928b07d4528e7addf17435a63a5831e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 1 Jun 2025 06:04:01 -0600 Subject: doc: efi_loader: Tidy up the bootefi-command docs There are backslashes in some of the tags which seems to be unnecessary. Remove then. Change the word 'either' to 'any' since there are three options. Signed-off-by: Simon Glass Reviewed-by: Heinrich Schuchardt --- doc/usage/cmd/bootefi.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/usage/cmd/bootefi.rst b/doc/usage/cmd/bootefi.rst index 3efe9e9df57..d6e4e62e383 100644 --- a/doc/usage/cmd/bootefi.rst +++ b/doc/usage/cmd/bootefi.rst @@ -20,19 +20,19 @@ Synopsis Description ----------- -The *bootefi* command is used to launch a UEFI binary which can be either of +The *bootefi* command is used to launch a UEFI binary which can be any of * UEFI application * UEFI boot services driver * UEFI run-time services driver An operating system requires a hardware description which can either be -presented as ACPI table (CONFIG\_GENERATE\_ACPI\_TABLE=y) or as device-tree. -The load address of the device-tree may be provided as parameter *fdt\_addr*. If +presented as ACPI table (CONFIG_GENERATE_ACPI_TABLE=y) or as device-tree. +The load address of the device-tree may be provided as parameter *fdt_addr*. If this address is not specified, the bootefi command will try to fall back in sequence to: -* the device-tree specified by environment variable *fdt\_addr* +* the device-tree specified by environment variable *fdt_addr* * the device-tree specified by environment variable *fdtcontroladdr* The load address of the binary is specified by parameter *image_address*. A @@ -110,7 +110,7 @@ U-Boot can be compiled with UEFI unit tests. These unit tests are invoked using the *bootefi selftest* sub-command. Which unit test is executed is controlled by the environment variable -*efi\_selftest*. If this variable is not set, all unit tests that are not marked +*efi_selftest*. If this variable is not set, all unit tests that are not marked as 'on request' are executed. To show a list of the available unit tests the value *list* can be used @@ -126,7 +126,7 @@ To show a list of the available unit tests the value *list* can be used 'configuration tables' ... -A single test is selected for execution by setting the *efi\_selftest* +A single test is selected for execution by setting the *efi_selftest* environment variable to match one of the listed identifiers :: @@ -140,10 +140,10 @@ return to the command line but require a board reset. Configuration ------------- -To use the *bootefi* command you must specify CONFIG\_CMD\_BOOTEFI=y. -The *bootefi bootmgr* sub-command requries CMD\_BOOTEFI\_BOOTMGR=y. -The *bootefi hello* sub-command requries CMD\_BOOTEFI\_HELLO=y. -The *bootefi selftest* sub-command depends on CMD\_BOOTEFI\_SELFTEST=y. +To use the *bootefi* command you must specify CONFIG_CMD_BOOTEFI=y. +The *bootefi bootmgr* sub-command requries CMD_BOOTEFI_BOOTMGR=y. +The *bootefi hello* sub-command requries CMD_BOOTEFI_HELLO=y. +The *bootefi selftest* sub-command depends on CMD_BOOTEFI_SELFTEST=y. See also -------- -- cgit v1.2.3 From 2018486f6c1ae7dae56b46f2bbfcffffaf9441b7 Mon Sep 17 00:00:00 2001 From: BehradElmi Date: Mon, 2 Jun 2025 20:54:16 +0330 Subject: doc: build: fix typo in gcc.rst Fix a typo error in gcc.rst, changing "out-out-tree" to "out-of-tree" in the Out-of-tree section. Signed-off-by: BehradElmi Reviewed-by: Heinrich Schuchardt --- doc/build/gcc.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build/gcc.rst b/doc/build/gcc.rst index c76a7fbd732..1fef718ceec 100644 --- a/doc/build/gcc.rst +++ b/doc/build/gcc.rst @@ -122,7 +122,7 @@ Out-of-tree building ~~~~~~~~~~~~~~~~~~~~ By default building is performed locally and the objects are saved in the source -directory. To build out-out-tree use one of the two methods below: +directory. To build out-of-tree use one of the two methods below: Add O= parameter to the make command line: -- cgit v1.2.3 From 03005fbe5006c4c79143fdddb453d3ec74e004f5 Mon Sep 17 00:00:00 2001 From: Yang Xiwen Date: Sat, 31 May 2025 21:10:02 +0800 Subject: arm: armv7: restore section to .text after saved_args when CONFIG_BLOBLIST is enabled, the section is switched to .data but is not switched back to .text. It makes all the code below placed in .data section, also breaks CONFIG_POSITION_INDEPENDENT. Fix it by adding `.section .text` to switch the section back to .text. Fixes: 5103e69344d6 ("arm: armv7: save boot arguments") Signed-off-by: Yang Xiwen --- arch/arm/cpu/armv7/start.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index 959251957de..833486817f8 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -182,6 +182,8 @@ saved_args: .word 0 .endr END(saved_args) + + .section .text #endif #ifdef CONFIG_ARMV7_LPAE -- cgit v1.2.3 From 0a7610c97ae6af8d2681e361eb24fce1cd63194d Mon Sep 17 00:00:00 2001 From: Yang Xiwen Date: Sat, 31 May 2025 21:10:03 +0800 Subject: arm: qemu: Add imply CONFIG_POSITION_INDEPENDENT Add 'imply CONFIG_POSITION_INDEPENTDENT' for QEMU arm arch. This allows qemu arm boards to load u-boot.bin at any address. It is skipped by default when u-boot is loaded by either --bios or --kernel. To load u-boot.bin at a different address, one can use u-boot chain-loading or qemu loader device[1]. [1] https://www.qemu.org/docs/master/system/generic-loader.html Signed-off-by: Yang Xiwen --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 79f60eb3f34..6ff3f2750ea 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1091,6 +1091,7 @@ config ARCH_QEMU imply USB_XHCI_PCI imply USB_KEYBOARD imply CMD_USB + imply POSITION_INDEPENDENT config ARCH_RENESAS bool "Renesas ARM SoCs" -- cgit v1.2.3 From 89ee2ce3f9e0572dec5590ffe0ec0f470e81d744 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Mon, 9 Jun 2025 09:24:34 -0600 Subject: configs: Resync with savedefconfig Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini --- configs/SBx81LIFKW_defconfig | 3 -- configs/SBx81LIFXCAT_defconfig | 3 -- configs/amd_versal2_virt_defconfig | 1 - configs/brcp150_defconfig | 1 - configs/brcp170_defconfig | 1 - configs/brcp1_1r_defconfig | 1 - configs/brcp1_1r_switch_defconfig | 1 - configs/brcp1_2r_defconfig | 1 - configs/brsmarc2_defconfig | 1 - configs/colibri_t20_defconfig | 1 - configs/d2net_v2_defconfig | 3 -- configs/dns325_defconfig | 3 -- configs/dragonboard410c_defconfig | 2 -- configs/ds109_defconfig | 1 - configs/guruplug_defconfig | 3 -- configs/harmony_defconfig | 1 - configs/hmibsc_defconfig | 2 -- configs/ib62x0_defconfig | 3 -- configs/inetspace_v2_defconfig | 3 -- configs/mot_defconfig | 1 - configs/mvebu_espressobin_ultra-88f3720_defconfig | 4 +-- configs/nas220_defconfig | 3 -- configs/net2big_v2_defconfig | 3 -- configs/netspace_lite_v2_defconfig | 3 -- configs/netspace_max_v2_defconfig | 3 -- configs/netspace_mini_v2_defconfig | 3 -- configs/netspace_v2_defconfig | 3 -- configs/paz00_defconfig | 1 - configs/picasso_defconfig | 1 - configs/qemu_arm64_defconfig | 1 - configs/seaboard_defconfig | 1 - configs/star_defconfig | 1 - configs/syzygy_hub_defconfig | 1 - configs/th1520_lpi4a_defconfig | 35 +++++++++++------------ configs/topic_miami_defconfig | 1 - configs/topic_miamilite_defconfig | 1 - configs/topic_miamiplus_defconfig | 1 - configs/total_compute_defconfig | 6 ++-- configs/transformer_t20_defconfig | 1 - configs/ventana_defconfig | 1 - configs/xilinx_versal_net_virt_defconfig | 1 - configs/xilinx_versal_virt_defconfig | 1 - configs/xilinx_zynq_virt_defconfig | 1 - configs/xilinx_zynqmp_kria_defconfig | 1 - configs/xilinx_zynqmp_virt_defconfig | 1 - 45 files changed, 22 insertions(+), 93 deletions(-) diff --git a/configs/SBx81LIFKW_defconfig b/configs/SBx81LIFKW_defconfig index 35f5b5bf0d4..bb5e185ef61 100644 --- a/configs/SBx81LIFKW_defconfig +++ b/configs/SBx81LIFKW_defconfig @@ -15,7 +15,6 @@ CONFIG_DEFAULT_DEVICE_TREE="kirkwood-atl-sbx81lifkw" CONFIG_SYS_MONITOR_LEN=262144 CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_IDENT_STRING="\nSBx81LIFKW" -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_SYS_CBSIZE=256 CONFIG_SYS_PBSIZE=276 @@ -63,8 +62,6 @@ CONFIG_MVGBE=y CONFIG_MII=y CONFIG_DM_RTC=y CONFIG_RTC_MV=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/SBx81LIFXCAT_defconfig b/configs/SBx81LIFXCAT_defconfig index ed3bc5b2dc5..159232d28ca 100644 --- a/configs/SBx81LIFXCAT_defconfig +++ b/configs/SBx81LIFXCAT_defconfig @@ -15,7 +15,6 @@ CONFIG_DEFAULT_DEVICE_TREE="kirkwood-atl-sbx81lifxcat" CONFIG_SYS_MONITOR_LEN=262144 CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_IDENT_STRING="\nSBx81LIFXCAT" -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_SYS_CBSIZE=256 CONFIG_SYS_PBSIZE=276 @@ -61,8 +60,6 @@ CONFIG_MV88E61XX_FIXED_PORTS=0x300 CONFIG_PHY_FIXED=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/amd_versal2_virt_defconfig b/configs/amd_versal2_virt_defconfig index 6ec7dd317fd..15ac0211828 100644 --- a/configs/amd_versal2_virt_defconfig +++ b/configs/amd_versal2_virt_defconfig @@ -139,7 +139,6 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/brcp150_defconfig b/configs/brcp150_defconfig index badde918f41..6219a0b6f69 100644 --- a/configs/brcp150_defconfig +++ b/configs/brcp150_defconfig @@ -111,7 +111,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/brcp170_defconfig b/configs/brcp170_defconfig index 209c4dfcec2..7108410c4ea 100644 --- a/configs/brcp170_defconfig +++ b/configs/brcp170_defconfig @@ -110,7 +110,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/brcp1_1r_defconfig b/configs/brcp1_1r_defconfig index f4a7071e8eb..bfce7105e00 100644 --- a/configs/brcp1_1r_defconfig +++ b/configs/brcp1_1r_defconfig @@ -110,7 +110,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/brcp1_1r_switch_defconfig b/configs/brcp1_1r_switch_defconfig index c15033db9ee..8ae6608798d 100644 --- a/configs/brcp1_1r_switch_defconfig +++ b/configs/brcp1_1r_switch_defconfig @@ -111,7 +111,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/brcp1_2r_defconfig b/configs/brcp1_2r_defconfig index ead2f1f5450..ec19180cdf5 100644 --- a/configs/brcp1_2r_defconfig +++ b/configs/brcp1_2r_defconfig @@ -110,7 +110,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/brsmarc2_defconfig b/configs/brsmarc2_defconfig index 5fdc669a12c..f295d70cfe9 100644 --- a/configs/brsmarc2_defconfig +++ b/configs/brsmarc2_defconfig @@ -110,7 +110,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_STORAGE=y CONFIG_SYS_TIMER_COUNTS_DOWN=y diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig index feb24d843b3..05421399042 100644 --- a/configs/colibri_t20_defconfig +++ b/configs/colibri_t20_defconfig @@ -69,7 +69,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y diff --git a/configs/d2net_v2_defconfig b/configs/d2net_v2_defconfig index c5e4bb0f409..48437be4237 100644 --- a/configs/d2net_v2_defconfig +++ b/configs/d2net_v2_defconfig @@ -15,7 +15,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-d2net" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" D2 v2" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -66,8 +65,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig index 1ba02e0595f..1e0c502d608 100644 --- a/configs/dns325_defconfig +++ b/configs/dns325_defconfig @@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xE0000 CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-dns325" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING="\nD-Link DNS-325" -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="if test -n ${bootenv} && usb start; then if run loadbootenv; then echo Loaded environment ${bootenv} from usb;run importbootenv;fi;if test -n ${bootenvcmd}; then echo Running bootenvcmd ...;run bootenvcmd;fi;fi;run setnandbootenv subbootcmd;" @@ -56,8 +55,6 @@ CONFIG_MVGBE=y CONFIG_MII=y CONFIG_DM_RTC=y CONFIG_RTC_MV=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig index d267b6ed34d..c3bd009ed10 100644 --- a/configs/dragonboard410c_defconfig +++ b/configs/dragonboard410c_defconfig @@ -63,8 +63,6 @@ CONFIG_USB=y # CONFIG_DM_USB_GADGET is not set CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MSM=y -CONFIG_USB_ULPI_VIEWPORT=y -CONFIG_USB_ULPI=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_ASIX88179=y diff --git a/configs/ds109_defconfig b/configs/ds109_defconfig index 1dafef3529b..b93136a3721 100644 --- a/configs/ds109_defconfig +++ b/configs/ds109_defconfig @@ -17,7 +17,6 @@ CONFIG_ENV_SECT_SIZE=0x10000 CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ds109" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_ENV_ADDR=0x3D0000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="setenv ethact egiga0; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;" CONFIG_USE_PREBOOT=y diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig index 540b9184b38..dcb1d4f5694 100644 --- a/configs/guruplug_defconfig +++ b/configs/guruplug_defconfig @@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xE0000 CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-guruplug-server-plus" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING="\nMarvell-GuruPlug" -# CONFIG_SYS_MALLOC_F is not set CONFIG_HAS_BOARD_SIZE_LIMIT=y CONFIG_BOARD_SIZE_LIMIT=917504 CONFIG_BOOTDELAY=3 @@ -58,8 +57,6 @@ CONFIG_MVGBE=y CONFIG_MII=y CONFIG_DM_RTC=y CONFIG_RTC_MV=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig index 9fa9c12918b..c38b9e19506 100644 --- a/configs/harmony_defconfig +++ b/configs/harmony_defconfig @@ -56,7 +56,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y diff --git a/configs/hmibsc_defconfig b/configs/hmibsc_defconfig index 4550eba71ab..30ee4f39f25 100644 --- a/configs/hmibsc_defconfig +++ b/configs/hmibsc_defconfig @@ -73,8 +73,6 @@ CONFIG_USB=y # CONFIG_DM_USB_GADGET is not set CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MSM=y -CONFIG_USB_ULPI_VIEWPORT=y -CONFIG_USB_ULPI=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_ASIX88179=y diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig index dcfbcc83eb3..1beb5837bb4 100644 --- a/configs/ib62x0_defconfig +++ b/configs/ib62x0_defconfig @@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xE0000 CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ib62x0" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" RaidSonic ICY BOX IB-NAS62x0" -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000" @@ -57,8 +56,6 @@ CONFIG_MTD=y CONFIG_MTD_RAW_NAND=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y diff --git a/configs/inetspace_v2_defconfig b/configs/inetspace_v2_defconfig index cb097397e22..eb287ebea74 100644 --- a/configs/inetspace_v2_defconfig +++ b/configs/inetspace_v2_defconfig @@ -15,7 +15,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-is2" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" IS v2" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -66,8 +65,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/mot_defconfig b/configs/mot_defconfig index 40b4feeeb90..66a62cf077d 100644 --- a/configs/mot_defconfig +++ b/configs/mot_defconfig @@ -77,7 +77,6 @@ CONFIG_POWEROFF_GPIO=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_GADGET=y diff --git a/configs/mvebu_espressobin_ultra-88f3720_defconfig b/configs/mvebu_espressobin_ultra-88f3720_defconfig index fb8efbdf0b9..401fa91aa6d 100644 --- a/configs/mvebu_espressobin_ultra-88f3720_defconfig +++ b/configs/mvebu_espressobin_ultra-88f3720_defconfig @@ -86,6 +86,8 @@ CONFIG_MVEBU_COMPHY_SUPPORT=y CONFIG_PINCTRL=y CONFIG_PINCTRL_ARMADA_37XX=y CONFIG_DM_REGULATOR_GPIO=y +CONFIG_DM_RNG=y +CONFIG_RNG_TURRIS_RWTM=y CONFIG_DM_RTC=y CONFIG_RTC_PCF8563=y CONFIG_DEFAULT_ENV_IS_RW=y @@ -97,5 +99,3 @@ CONFIG_USB_EHCI_HCD=y # CONFIG_WATCHDOG_AUTOSTART is not set CONFIG_WDT=y CONFIG_WDT_ARMADA_37XX=y -CONFIG_DM_RNG=y -CONFIG_RNG_TURRIS_RWTM=y diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig index ca70ee96379..94a4d4c0b3f 100644 --- a/configs/nas220_defconfig +++ b/configs/nas220_defconfig @@ -13,7 +13,6 @@ CONFIG_ENV_OFFSET=0xA0000 CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-blackarmor-nas220" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING="\nNAS 220" -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTCOMMAND=y CONFIG_USE_PREBOOT=y @@ -60,8 +59,6 @@ CONFIG_MVGBE=y CONFIG_MII=y CONFIG_DM_RTC=y CONFIG_RTC_MV=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y diff --git a/configs/net2big_v2_defconfig b/configs/net2big_v2_defconfig index 67b883dd699..3d2d15dadbe 100644 --- a/configs/net2big_v2_defconfig +++ b/configs/net2big_v2_defconfig @@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-net2big" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" 2Big v2" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -67,8 +66,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/netspace_lite_v2_defconfig b/configs/netspace_lite_v2_defconfig index 7c0e42cdde9..4bc7bda241e 100644 --- a/configs/netspace_lite_v2_defconfig +++ b/configs/netspace_lite_v2_defconfig @@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ns2lite" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" NS v2 Lite" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -67,8 +66,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/netspace_max_v2_defconfig b/configs/netspace_max_v2_defconfig index 65cd79fe274..e0e433a935f 100644 --- a/configs/netspace_max_v2_defconfig +++ b/configs/netspace_max_v2_defconfig @@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ns2max" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" NS Max v2" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -67,8 +66,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/netspace_mini_v2_defconfig b/configs/netspace_mini_v2_defconfig index 1f82c2c22bd..21078a87b34 100644 --- a/configs/netspace_mini_v2_defconfig +++ b/configs/netspace_mini_v2_defconfig @@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ns2mini" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" NS v2 Mini" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -65,8 +64,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/netspace_v2_defconfig b/configs/netspace_v2_defconfig index f900d0cb01e..93dc6c078ab 100644 --- a/configs/netspace_v2_defconfig +++ b/configs/netspace_v2_defconfig @@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="marvell/kirkwood-ns2" CONFIG_SYS_LOAD_ADDR=0x800000 CONFIG_IDENT_STRING=" NS v2" CONFIG_ENV_ADDR=0x70000 -# CONFIG_SYS_MALLOC_F is not set CONFIG_BOOTDELAY=3 CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttyS0,115200" @@ -67,8 +66,6 @@ CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_MVGBE=y CONFIG_MII=y -CONFIG_SYS_NS16550_SERIAL=y -CONFIG_SYS_NS16550_REG_SIZE=-4 CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig index af2cb712e06..b59c2e0ca58 100644 --- a/configs/paz00_defconfig +++ b/configs/paz00_defconfig @@ -45,7 +45,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y diff --git a/configs/picasso_defconfig b/configs/picasso_defconfig index 6a83df919b5..1e9f5ca6bb7 100644 --- a/configs/picasso_defconfig +++ b/configs/picasso_defconfig @@ -70,7 +70,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_GADGET=y diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig index b1371d4258f..72bd255eafa 100644 --- a/configs/qemu_arm64_defconfig +++ b/configs/qemu_arm64_defconfig @@ -1,5 +1,4 @@ CONFIG_ARM=y -CONFIG_POSITION_INDEPENDENT=y CONFIG_ARCH_QEMU=y CONFIG_SYS_MALLOC_LEN=0x1000000 CONFIG_BLOBLIST_SIZE_RELOC=0x2000 diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig index 21375f233f0..55ec3287d3a 100644 --- a/configs/seaboard_defconfig +++ b/configs/seaboard_defconfig @@ -53,7 +53,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y diff --git a/configs/star_defconfig b/configs/star_defconfig index f0574b077ac..6665bfa8e90 100644 --- a/configs/star_defconfig +++ b/configs/star_defconfig @@ -75,7 +75,6 @@ CONFIG_SYSRESET_MAX8907=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_GADGET=y diff --git a/configs/syzygy_hub_defconfig b/configs/syzygy_hub_defconfig index bf11e898145..14395a79ad2 100644 --- a/configs/syzygy_hub_defconfig +++ b/configs/syzygy_hub_defconfig @@ -70,7 +70,6 @@ CONFIG_ARM_DCC=y CONFIG_ZYNQ_SERIAL=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/th1520_lpi4a_defconfig b/configs/th1520_lpi4a_defconfig index b19dc009fde..b9eedc6b754 100644 --- a/configs/th1520_lpi4a_defconfig +++ b/configs/th1520_lpi4a_defconfig @@ -1,13 +1,18 @@ CONFIG_RISCV=y CONFIG_SYS_MALLOC_LEN=0x800000 CONFIG_SYS_MALLOC_F_LEN=0x3000 +CONFIG_SPL_GPIO=y CONFIG_NR_DRAM_BANKS=1 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="th1520-lichee-pi-4a" +CONFIG_SPL_STACK=0xffe0170000 +CONFIG_SPL_BSS_START_ADDR=0xffe0160000 +CONFIG_SPL_BSS_MAX_SIZE=0x10000 CONFIG_SYS_BOOTM_LEN=0x4000000 CONFIG_SYS_LOAD_ADDR=0x80200000 +CONFIG_SPL=y # CONFIG_SMP is not set CONFIG_TARGET_TH1520_LPI4A=y CONFIG_ARCH_RV64I=y @@ -18,6 +23,7 @@ CONFIG_SYS_BOOT_GET_KBD=y CONFIG_FIT=y # CONFIG_FIT_FULL_CHECK is not set # CONFIG_FIT_PRINT is not set +CONFIG_SPL_LOAD_FIT_ADDRESS=0xffe0040000 # CONFIG_BOOTSTD is not set # CONFIG_LEGACY_IMAGE_FORMAT is not set CONFIG_DISTRO_DEFAULTS=y @@ -30,6 +36,14 @@ CONFIG_LOG=y CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_SPL_MAX_SIZE=0x40000 +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set +CONFIG_SPL_HAVE_INIT_STACK=y +CONFIG_SPL_SYS_MALLOC=y +CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y +CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x10000000 +CONFIG_SPL_SYS_MALLOC_SIZE=0x400000 +CONFIG_SPL_RAM_DEVICE=y CONFIG_SYS_PROMPT="LPI4A=> " CONFIG_CMD_CONFIG=y CONFIG_CMD_LICENSE=y @@ -78,6 +92,9 @@ CONFIG_MMC_SDHCI_ADMA=y CONFIG_MMC_SDHCI_SNPS=y # CONFIG_MTD is not set # CONFIG_POWER is not set +CONFIG_RAM=y +CONFIG_SPL_RAM=y +CONFIG_SPL_THEAD_TH1520_DDR=y CONFIG_SYS_NS16550=y CONFIG_RISCV_TIMER=y CONFIG_AES=y @@ -90,21 +107,3 @@ CONFIG_ZLIB_UNCOMPRESS=y CONFIG_BZIP2=y CONFIG_ZSTD=y CONFIG_LIB_RATIONAL=y -CONFIG_SPL=y -# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -CONFIG_SPL_LOAD_FIT_ADDRESS=0xffe0040000 -CONFIG_SPL_HAVE_INIT_STACK=y -CONFIG_SPL_STACK=0xffe0170000 -CONFIG_SPL_BSS_START_ADDR=0xffe0160000 -CONFIG_SPL_BSS_MAX_SIZE=0x10000 -CONFIG_SPL_MAX_SIZE=0x40000 -CONFIG_SPL_RAM_DEVICE=y -CONFIG_RAM=y -CONFIG_SPL_RAM=y -CONFIG_SPL_THEAD_TH1520_DDR=y -CONFIG_SPL_GPIO=y -CONFIG_SPL_MMC_y -CONFIG_SPL_SYS_MALLOC=y -CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y -CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x10000000 -CONFIG_SPL_SYS_MALLOC_SIZE=0x400000 diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig index 1be8d892070..1d0b060ef70 100644 --- a/configs/topic_miami_defconfig +++ b/configs/topic_miami_defconfig @@ -85,7 +85,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig index c48d64bf535..49a6efaae0a 100644 --- a/configs/topic_miamilite_defconfig +++ b/configs/topic_miamilite_defconfig @@ -71,7 +71,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig index e16801032e3..5ffcc8b2d94 100644 --- a/configs/topic_miamiplus_defconfig +++ b/configs/topic_miamiplus_defconfig @@ -71,7 +71,6 @@ CONFIG_ZYNQ_SERIAL=y CONFIG_ZYNQ_QSPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/total_compute_defconfig b/configs/total_compute_defconfig index e66c011efb1..cce58d31994 100644 --- a/configs/total_compute_defconfig +++ b/configs/total_compute_defconfig @@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_TARGET_TOTAL_COMPUTE=y CONFIG_TEXT_BASE=0xe0000000 CONFIG_SYS_MALLOC_LEN=0x3200000 +CONFIG_BLOBLIST_SIZE_RELOC=0x10000 CONFIG_NR_DRAM_BANKS=2 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x8007fff0 @@ -22,6 +23,8 @@ CONFIG_SYS_CBSIZE=512 CONFIG_SYS_PBSIZE=544 # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_BLOBLIST=y +CONFIG_BLOBLIST_PASSAGE_MANDATORY=y CONFIG_SYS_PROMPT="TOTAL_COMPUTE# " # CONFIG_CMD_CONSOLE is not set # CONFIG_CMD_XIMG is not set @@ -55,6 +58,3 @@ CONFIG_SYS_FLASH_CFI=y CONFIG_SYS_MAX_FLASH_SECT=256 # CONFIG_RANDOM_UUID is not set CONFIG_LIBAVB=y -CONFIG_BLOBLIST=y -CONFIG_BLOBLIST_PASSAGE_MANDATORY=y -CONFIG_BLOBLIST_SIZE_RELOC=0x10000 diff --git a/configs/transformer_t20_defconfig b/configs/transformer_t20_defconfig index c934e1a2410..1317676fe2a 100644 --- a/configs/transformer_t20_defconfig +++ b/configs/transformer_t20_defconfig @@ -70,7 +70,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_GADGET=y diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig index 3afa04dd10a..5b37a98eeaa 100644 --- a/configs/ventana_defconfig +++ b/configs/ventana_defconfig @@ -46,7 +46,6 @@ CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y diff --git a/configs/xilinx_versal_net_virt_defconfig b/configs/xilinx_versal_net_virt_defconfig index a82ccdc9a0c..f4cac522b81 100644 --- a/configs/xilinx_versal_net_virt_defconfig +++ b/configs/xilinx_versal_net_virt_defconfig @@ -139,7 +139,6 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig index ba4519ce303..ddf874f741d 100644 --- a/configs/xilinx_versal_virt_defconfig +++ b/configs/xilinx_versal_virt_defconfig @@ -152,7 +152,6 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig index 6859e24b731..1cc314dd775 100644 --- a/configs/xilinx_zynq_virt_defconfig +++ b/configs/xilinx_zynq_virt_defconfig @@ -151,7 +151,6 @@ CONFIG_ZYNQ_QSPI=y CONFIG_SPI_STACKED_PARALLEL=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Xilinx" diff --git a/configs/xilinx_zynqmp_kria_defconfig b/configs/xilinx_zynqmp_kria_defconfig index ae79f101701..48246f1b4f6 100644 --- a/configs/xilinx_zynqmp_kria_defconfig +++ b/configs/xilinx_zynqmp_kria_defconfig @@ -202,7 +202,6 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_ONBOARD_HUB=y CONFIG_USB_HOST_ETHER=y diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig index 29aa5891b23..7807f6240e3 100644 --- a/configs/xilinx_zynqmp_virt_defconfig +++ b/configs/xilinx_zynqmp_virt_defconfig @@ -214,7 +214,6 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GENERIC=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_ULPI=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -- cgit v1.2.3 From b492f9520c04b1c581f57735e224612155f66780 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 5 Jun 2025 07:52:44 -0300 Subject: Revert "caam: Fix CAAM error on startup" This reverts commit 159b6f0e119962ce5da645f548cefe9196c8778e. Since commit 159b6f0e1199 ("caam: Fix CAAM error on startup") the following regression was reported by Tim Harvey: "I've found that this patch causes a regression on an imx8mm board (imx8mm_venice_defconfig) where the first call to caam_rng_read fails here in jr_dequeue but if you call it again it works. With some debugging added: SEC0: RNG instantiated ... Hit any key to stop autoboot: 0 u-boot=> rng list RNG #0 - caam-rng u-boot=> rng 0 10 caam_rng_read caam-rng len=16 run_descriptor_jr_idx idx=0 Error in SEC deq: -1 caam_rng_read_one run_descriptor_jr failed: -1 caam_rng_read caam-rng caam_rng_read_one failed: -5 Reading RNG failed u-boot=> rng 0 10 caam_rng_read caam-rng len=16 run_descriptor_jr_idx idx=0 00000000: ad 2e ad c0 2a 12 27 c4 65 82 66 19 be ef f6 07 ....*.'.e.f..... If I revert your patch caam_rng_read works initially and on subsequent calls." " I ran into this when I was testing lwIP HTTPS as it causes anything that uses dm_rng to fail the first time (such as HTTPS)." Revert it for now to avoid the regression. Reported-by: Tim Harvey Signed-off-by: Fabio Estevam Acked-by: Peng Fan --- drivers/crypto/fsl/jr.c | 25 +++++++++++-------------- drivers/crypto/fsl/jr.h | 4 ++++ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c index 1d95d2bff27..8f7a821ebf3 100644 --- a/drivers/crypto/fsl/jr.c +++ b/drivers/crypto/fsl/jr.c @@ -217,6 +217,13 @@ static int jr_enqueue(uint32_t *desc_addr, jr->head = (head + 1) & (jr->size - 1); + /* Invalidate output ring */ + start = (unsigned long)jr->output_ring & + ~(ARCH_DMA_MINALIGN - 1); + end = ALIGN((unsigned long)jr->output_ring + jr->op_size, + ARCH_DMA_MINALIGN); + invalidate_dcache_range(start, end); + sec_out32(®s->irja, 1); return 0; @@ -236,7 +243,6 @@ static int jr_dequeue(int sec_idx, struct caam_regs *caam) #else uint32_t *addr; #endif - unsigned long start, end; while (sec_in32(®s->orsf) && CIRC_CNT(jr->head, jr->tail, jr->size)) { @@ -244,11 +250,6 @@ static int jr_dequeue(int sec_idx, struct caam_regs *caam) found = 0; caam_dma_addr_t op_desc; - - /* Invalidate output ring */ - start = (unsigned long)jr->output_ring & ~(ARCH_DMA_MINALIGN - 1); - end = ALIGN((unsigned long)jr->output_ring + jr->op_size, ARCH_DMA_MINALIGN); - invalidate_dcache_range(start, end); #ifdef CONFIG_CAAM_64BIT /* Read the 64 bit Descriptor address from Output Ring. * The 32 bit hign and low part of the address will @@ -282,13 +283,8 @@ static int jr_dequeue(int sec_idx, struct caam_regs *caam) } /* Error condition if match not found */ - if (!found) { - int slots_full = sec_in32(®s->orsf); - - jr->tail = (jr->tail + slots_full) & (jr->size - 1); - sec_out32(®s->orjr, slots_full); + if (!found) return -1; - } jr->info[idx].op_done = 1; callback = (void *)jr->info[idx].callback; @@ -300,14 +296,14 @@ static int jr_dequeue(int sec_idx, struct caam_regs *caam) */ if (idx == tail) do { - jr->info[tail].op_done = 0; tail = (tail + 1) & (jr->size - 1); } while (jr->info[tail].op_done); jr->tail = tail; - + jr->read_idx = (jr->read_idx + 1) & (jr->size - 1); sec_out32(®s->orjr, 1); + jr->info[idx].op_done = 0; callback(status, arg); } @@ -382,6 +378,7 @@ static int jr_sw_cleanup(uint8_t sec_idx, struct caam_regs *caam) jr->head = 0; jr->tail = 0; + jr->read_idx = 0; jr->write_idx = 0; memset(jr->info, 0, sizeof(jr->info)); memset(jr->input_ring, 0, jr->size * sizeof(caam_dma_addr_t)); diff --git a/drivers/crypto/fsl/jr.h b/drivers/crypto/fsl/jr.h index 8d5ca03e501..b136cd8d05a 100644 --- a/drivers/crypto/fsl/jr.h +++ b/drivers/crypto/fsl/jr.h @@ -83,6 +83,10 @@ struct jobring { * in-order job completion */ int tail; + /* Read index of the output ring. It may not match with tail in case + * of out of order completetion + */ + int read_idx; /* Write index to input ring. Would be always equal to head */ int write_idx; /* Size of the rings. */ -- cgit v1.2.3 From 51ec8db23280bd6fdb0da2a0257603f21aaf6ef3 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 7 Jun 2025 13:32:17 +0200 Subject: pylibfdt: correct license information Setuptools 78.1.1 shows warnings: * Pattern 'GPL' did not match any files. * Pattern 'BSD-2-Clause' did not match any files. * SetuptoolsDeprecationWarning: License classifiers are deprecated. Cf. https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license Signed-off-by: Heinrich Schuchardt Reviewed-by: Bryan Brattlof Reviewed-by: Tom Rini --- scripts/dtc/pylibfdt/setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/setup.py index c6fe5a6a446..487e669f524 100755 --- a/scripts/dtc/pylibfdt/setup.py +++ b/scripts/dtc/pylibfdt/setup.py @@ -158,12 +158,10 @@ setup( long_description_content_type="text/plain", url="https://git.kernel.org/pub/scm/utils/dtc/dtc.git", license="BSD", - license_files=["GPL", "BSD-2-Clause"], + license_files=["Licenses/gpl-2.0.txt", "Licenses/bsd-2-clause.txt"], classifiers=[ "Programming Language :: Python :: 3", - "License :: OSI Approved :: BSD License", - "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Operating System :: OS Independent", ], -- cgit v1.2.3 From d7c449c3d83a986d61e38d1762433c0607caf5c5 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Mon, 9 Jun 2025 15:54:18 -0600 Subject: Prepare v2025.07-rc4 Signed-off-by: Tom Rini --- Makefile | 2 +- doc/develop/release_cycle.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f88684947ee..451d8960ad1 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ VERSION = 2025 PATCHLEVEL = 07 SUBLEVEL = -EXTRAVERSION = -rc3 +EXTRAVERSION = -rc4 NAME = # *DOCUMENTATION* diff --git a/doc/develop/release_cycle.rst b/doc/develop/release_cycle.rst index 36bb9055e6a..fee7cca2628 100644 --- a/doc/develop/release_cycle.rst +++ b/doc/develop/release_cycle.rst @@ -77,7 +77,7 @@ For the next scheduled release, release candidates were made on:: * U-Boot |next_ver|-rc3 was released on Mon 26 May 2025. -.. * U-Boot |next_ver|-rc4 was released on Mon 09 June 2025. +* U-Boot |next_ver|-rc4 was released on Mon 09 June 2025. .. * U-Boot |next_ver|-rc5 was released on Mon 23 June 2025. -- cgit v1.2.3