summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-05-05efi_mem_sort: use list_for_each_entry_safe insteadRandolph Sapp
Use list_for_each_entry_safe and comparisons against the current and next efi_mem_desc. This reduces the computation required for merging regions, prevents unnecessary additional iterations of the list, and requires less temporary values. Signed-off-by: Randolph Sapp <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-05efi_selftest_memory: check for duplicates firstRandolph Sapp
Check for duplicate memory mappings before reporting any incorrect attributes. Could be that second allocation has the correct type while the first doesn't. Knowing there is a duplicate in this scenario is more helpful than just reporting the first mismatch. Signed-off-by: Randolph Sapp <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-05efi_dt_fixup: use fdtdec_get_boolRandolph Sapp
Use the more straightforward fdtdec_get_bool instead of fdt_getprop and a return code check. Signed-off-by: Randolph Sapp <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Anshul Dalal <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-05lmb: allocation flags macro documentationRandolph Sapp
Update the allocation flags inline documentation to follow the kernel object like macro documentation specification. Use active voice for the short descriptions. Signed-off-by: Randolph Sapp <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-05cmd: eficonfig: adjust struct eficonfig_entry, field keyHeinrich Schuchardt
The number EFICONFIG_ENTRY_NUM_MAX - 1 must be printable to field key of struct eficonfig_entry. Fixes: 1f0583beeb32 ("eficonfig: set EFICONFIG_ENTRY_NUM_MAX to INT_MAX - 1") Fixes: 23aa0502a4b9 ("eficonfig: increase the number of menu entries") Addresses-Coverity-ID: 583414 - Out-of-bounds write Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-05efi_loader: initialize variables in efi_dp_from_http()Heinrich Schuchardt
When using lwIP, efi_dp_from_http() may fail to initialize ip or mask. Initialize the variables before the call. Addresses-Coverity-ID: 645840 - Uninitialized variables (UNINIT) Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-05Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
DT clean ups, Kconfig clean up, R-Car Gen5 remoteproc and watchdog driver, and R-Car Gen5 CM33 initial build support.
2026-05-05arm64: renesas: Add Cortex-M33 build option to R-Car Gen5Marek Vasut
The R-Car Gen5 SoCs contains Cortex-M33, Cortex-R52 and Cortex-A720AE cores. Add U-Boot build options for the Cortex-M33 core. Since the Cortex-M33 core is a 32bit core, select V8M and ARM64 for RCAR64 accordingly. Select TMU timer on the 32bit core, where it is used instead of the ARMv8 timer. Adjust TMU timer base address to match the address map of the Cortex-M33 core. Disable unused OF_BOARD_SETUP as well as unavailable POSITION_INDEPENDENT configuration options. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2026-05-05watchdog: Add Renesas R-Car Gen5 window watchdog driverMarek Vasut
Add support of Renesas R-Car Gen5 window watchdog timer. Timeout configuration is derived from CONFIG_WATCHDOG_TIMEOUT_MSECS, which is more accurate than the 1-second granularity 'timeout' passed to .start callback. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-05-05remoteproc: renesas: Add Renesas R-Car Gen5 remote processor driverMarek Vasut
Add R-Car Gen5 RSIP controller remoteproc driver capable of starting the SCP, Cortex-R52 and Cortex-A720 cores in Renesas R-Car R8A78000 X5H SoC. The SCP core is started by releasing the core from reset, the Cortex-R52 and Cortex-A720 are started using the SCP SCMI call. The entry point for SCP core is fixed to its STCM, entry points for Cortex-R52 and Cortex-A720 are set during rproc load. Signed-off-by: Marek Vasut <[email protected]>
2026-05-05arm: renesas: Fix Kconfig indentMarek Vasut
Indent using tabs and two spaces for help text. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2026-05-05arm: dts: renesas: Remove duplicate AVB pinmux assignment on V3MMarek Vasut
Both R-Car V3M Eagle and V3MSK U-Boot DT extras contain AVB pinmux assignment, which is a leftover from before the same pinmux was part of upstream DTs. Remove the duplicate AVB pinmux assignment in favor of the upstream DT content. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2026-05-05arm: dts: renesas: Clean up RPC DT nodesMarek Vasut
Remove duplicate properties which are present both in arch/arm/dts/ and upstream dts/upstream/src/arm64/renesas/ in favor of those in upstream DTs. Since those are duplicates, this causes no functional change. Remove unused num-cs and bank-width DT properties. Signed-off-by: Marek Vasut <[email protected]>
2026-05-04Merge branch 'master' of git://git.denx.de/u-boot-coldfireTom Rini
- stmark2 / mcf5441x updates
2026-05-04fat: initialize ret in disk_rw()Heinrich Schuchardt
If fat_sect_size = 0 and nr_sect = 0, the value of ret is never initialized. A random return value is returned. Initialize ret to 0. Addresses-Coverity-ID: - 645495 Uninitialized scalar variable Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-04m68k: set proper u-boot image size for initial bootAngelo Dureghello
There is a value of 256K hardcoded as u-boot image size. This produce bank tty as soon as the image size grows over the limit. Fix it by using value preset by CONFIG_SYS_MONITOR_LEN. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04m68k: mcf5441x: create stub to use imx driversAngelo Dureghello
Some NXP imx hardware ip module as the esdhc controller are exactly the same in some new ColdFire cpus. For the specific case, mcf5441x needs to use the existing fsl_esdhc_imx.c driver for the esdhc device. Create a stub to be able to use NXP "imx" serie drivers as the fsl_esdhc_imx in the ColdFire architecture. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04configs: stmark2: add bdinfo commandAngelo Dureghello
Enable bdinfo command. Signed-off-by: Angelo Dureghello <[email protected]> --- Changes in v2: - recreated by make menuconfig
2026-05-04configs: stmark2: add support for mmcAngelo Dureghello
Add support for mmc. Signed-off-by: Angelo Dureghello <[email protected]> --- Changes in v2: - recreated by make menuconfig
2026-05-04mmc: Kconfig: allows m68k to use esdhc imx driverAngelo Dureghello
Allow cpu families as mcf5441x (m68k) to use the fsl_esdhc_imx driver since the hardware ip module is the same. Signed-off-by: Angelo Dureghello <[email protected]> --- Changes in v2: - moved before menuconfig changes
2026-05-04board: stmark2: remove old garbageAngelo Dureghello
Remove old erroneous garbage. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04board: stmark2: add sd boot commandAngelo Dureghello
Add command to boot from sd. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04m68k: dts: stmark2: enable esdhcAngelo Dureghello
Enable esdhc device. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04m68k: dts: mcf5441x: add mmc device for mcf5441xAngelo Dureghello
Add mmc support for the mcf5441x family. There is only one esdhc controller for this cpu family. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04common: memsize: fix occasionally failing alias probingEmanuele Ghidoli
probe_ram_size_by_alias() detects whether a probe address still aliases a lower address by writing through one address and reading through the other. On i.MX95 this occasionally reported a false non-alias when the alias read happened immediately after the write. A memory barrier alone, mb(), was tested but did not make the failure go away. This suggests that ordering the CPU accesses is not sufficient for this probe, likely because the issue is in the path to the memory controller rather than in the core itself. Read the written address back before checking the alias address. This appears to force the write to become observable at the probe address before using the alias read to decide whether the tested address range exists. If the readback does not match the written pattern, restore the saved value and continue with the next check. This keeps the probe robust for addresses that do not reliably retain the test pattern. Fixes: 0977448b45e2 ("common: memsize: add RAM size probe based on alias detection") Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-04bloblist: fix pointer comparison in bloblist_apply_blobs()Michal Simek
The rec_from_blob() function returns a pointer, but the code was comparing it using "rec <= 0" which is incorrect for pointer types. Pointers should be compared using "== NULL" or "!= NULL". Addresses-Coverity-ID: CID 645841: Incorrect expression (BAD_COMPARE) Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Raymond Mao <[email protected]>
2026-05-04fdt: check fdt_pack() return value in fdtdec_apply_bloblist_dtos()Michal Simek
The fdt_pack() function can return an error code, but its return value was not being checked. Add proper error handling to propagate any failure. Also fix typo in comment: "Shink" -> "Shrink". Addresses-Coverity-ID: CID 645839: Error handling issues (CHECKED_RETURN) Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Raymond Mao <[email protected]>
2026-05-04.mailmap: Update my email addressSimon Glass
Add a .mailmap entry so my [email protected] address is used for all email. Suggested-by: Quentin Schulz <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Tested-by: Quentin Schulz <[email protected]>
2026-05-04board: toradex: Quote variables in `test` cmd expressionFranz Schnyder
With correct POSIX handling, unquoted empty variables can turn the expression like test -n ${fdtfile} into test -n The POSIX handling for single argument `test` evaluates it as true, so the fallback initialization will be skipped unexpectedly. Quoting variable expansions in `test` expressions will always result in correct behavior for empty and non-empty values. This change was triggered by commit 8b0619579b22 ("cmd: test: fix handling of single-argument form of test") The aim is to have a less fragile codebase that is not dependent on a quirk of the shell implementation. Use quoted variable expansions in `test` expressions throughout. Signed-off-by: Franz Schnyder <[email protected]> Acked-by: Francesco Dolcini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-01Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Apologies for the delay, but please pull those sunxi changes into v2026.07. Nothing earth shattering, mostly minor improvements like better SPL power LED support, and fixes to some H616 DRAM setup. Also some more forward looking enhancement for the SPI code. I also pulled in Richard's raw NAND flash improvements for the H6/H616 SoC, though this lacks proper peer testing due to the lack of mainline support for any board actually employing those chips.
2026-05-01Merge tag 'efi-2026-07-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2026-07-rc2 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29967 Documentation: * .clang-format description * qemu-arm: describe secure state steps * mention that CONFIG_BOOTSTD_DEFAULTS provides network features when NET=y * ti: k3: describe fTPM support UEFI: * cmd/bootefi: move efi_init_obj_list() to the start of do_bootefi * correct return value of efi_bootmgr_run() * correct efi_binary_run_dp() return value * centralize messaging for efi_init_obj_list * correct Kconfig dependencies for EFI_HTTP_BOOT Others: * .clang-format: add U-Boot specific for each macros # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAmn0hjwACgkQxIHbvCwF # GsRDVQ/+LADSJv/WxhsEayOe1f0H0wp42bssPZikyUxHGr6azNHjgngw2sExfFt0 # YE9j3HUclZy0LLlsykUk8f6uzHsL4DTLS1pqwoi1tYX/szotvW6fP5eUUxkUD06Y # GYx8ub+Niq8F5/wT7VYj4cBxs8Pl3Zql4vp0nlBFdgxH0D9APH6ORucjNawa+vCv # a7yqzSv9vyJXdsOKxpusfrcsz8pdd8UqXRmTwgPxarc8g0gqieLAwP/bECEeq5ZR # FSKrWF9qYrLUEBVlwUx6jEVgq9JvzL1FP8p9w+WMdP++ani7ytaqL40KGorHm1mU # JAwaDdWiRgodYGRNoP5aPZNvx1o+e0dRoioF2cL9Eob+6pXG053dN5VVZUgMfGPf # 9xHfpAI47y+EvSPZEe1T/m7wAIOTBCP58rJGgTXvlCL1+dc3X4Ez68x5zcDMrJF/ # 0QnuAoaZS+XgyWwsCOR9cGHSzNT3rR3Wx/f2lKXklbCMQ+C+sp5UkRFNvYrhCqnk # tg+sWH54oEKKQ0dTwGG+tsFhn8lsdXzhRKl1jN7w4DVY/R9YZu776biU3yzortfI # ymbFmfOGmcPSD+lO7S1w+64zjvwnJT+rAzMLuYr3bIuhWpS4rd2phsEyLfcDSXwc # 51imC2PSnp7Mx51F5qjCXligYC0kHh3BHpxxZok/fHjUVzx2c98= # =RLJL # -----END PGP SIGNATURE----- # gpg: Signature made Fri 01 May 2026 04:53:48 AM CST # gpg: using RSA key 6DC4F9C71F29A6FA06B76D33C481DBBC2C051AC4 # gpg: Good signature from "Heinrich Schuchardt <[email protected]>" [unknown] # gpg: aka "[jpeg image of size 1389]" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6DC4 F9C7 1F29 A6FA 06B7 6D33 C481 DBBC 2C05 1AC4
2026-05-01mtd: nand: raw: sunxi_spl: remove user data length resetRichard Genoud
No need to reset user data length registers in SPL. In SPL, only the first user data length register is used, so we don't need to reset all of them. Signed-off-by: Richard Genoud <[email protected]> Acked-by: Andre Przywara <[email protected]>
2026-05-01mtd: rawnand: sunxi: introduce variable user data lengthRichard Genoud
In Allwinner SoCs, user data can be added in OOB before each ECC data. For older SoCs like A10, the user data size was the size of a register (4 bytes) and was mandatory before each ECC step. So, the A10 OOB Layout is: [4Bytes USER_DATA_STEP0] [ECC_STEP0 bytes] [4bytes USER_DATA_STEP1] [ECC_STEP1 bytes] ... NB: the BBM is stored at the beginning of the USER_DATA_STEP0. Now, for H6/H616 NAND flash controller, this user data can have a different size for each step. So, we are maximizing the user data length to use as many OOB bytes as possible. Fixes: 7d1de9801151 ("mtd: rawnand: sunxi_spl: add support for H6/H616 nand controller") Fixes: f163da5e6d26 ("mtd: rawnand: sunxi: add support for H6/H616 nand controller") Signed-off-by: Richard Genoud <[email protected]>
2026-05-01mtd: rawnand: sunxi: clean sunxi_nand_chip_init()Richard Genoud
In sunxi_nand_chip_init there's quite a lot of kfree/return, it's easy to forget a kfree(), so use a goto/kfree instead. Signed-off-by: Richard Genoud <[email protected]> [Andre: rename goto label, keep return 0;] Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2026-05-01.clang-format: add U-Boot specific for each macrosHeinrich Schuchardt
Formatting via clang-format is controlled by .clang-format. For each statements should be formatted with a brace at the line end: for_each() { } This requires clang-format to know that the symbol is not a function but a for each macro. We use some for each macros which don't exist in Linux. Add these to file .clang-format. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01doc: bootstd: specify CONFIG_BOOTSTD_DEFAULTS provides network features when ↵Quentin Schulz
NET=y In the past, we only had one network stack which was called NET. The network features were enabled for the legacy (and then only) networking stack since commit 22353fa6b585 ("bootstd: Add some default filesystems and commands"). Then instead on relying on NET legacy stack for enabling networking features, the dependencies were (mostly) changed to depend on CMD_NET in commit a0c739c184ca ("boot: Create a common BOOT_DEFAULTS for distro and bootstd"). Then a new stack (lwIP) appeared, then CMD_NET was made available with this new stack in commit 98ad145db61a ("net: lwip: add DHCP support and dhcp commmand") making the networking features possible to enable and finally commit f1e978fd54d9 ("boot: Update tests around network symbols in BOOT_DEFAULTS_CMDS") made it explicit that we need *a* network stack to enable some networking features. Align the bootstd documentation with what's actually implemented as Kconfig dependencies. Note that BOOTSTD_DEFAULTS selects BOOT_DEFAULTS which selects BOOT_DEFAULTS_CMDS which then selects network features. The CMDLINE symbol needs to be enabled as well for BOOT_DEFAULTS to select BOOT_DEFAULTS_CMDS, but I don't think we need to go that far into explaining what's required to enable some commands. Reported-by: Simon Glass <[email protected]> Closes: https://lore.kernel.org/u-boot/CAFLszTgZC1FGy8965pHiG-u=FhrguftRv41ghQ_Qb_RRXx6tyg@mail.gmail.com/ Signed-off-by: Quentin Schulz <[email protected]>
2026-05-01doc: .clang-format descriptionHeinrich Schuchardt
We cannot use .clang-format without modification. For instance U-Boot has some for each macros that Linux does not have. Adjust the description. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01doc: board: ti: k3: Add fTPM support documentationShiva Tripathi
Add fTPM support documentation including an overview, configuration steps for RPMB provisioning, OP-TEE TA build instructions, and verification procedure. Signed-off-by: Shiva Tripathi <[email protected]>
2026-05-01efi_loader: centralize messaging for efi_init_obj_listHeinrich Schuchardt
If efi_init_obj_list() fails we cannot use the UEFI sub-system. * Instead of having messages for this everywhere write an error message in efi_init_obj_list(). * Always use (ret != EFI_SUCCESS) when checking the return value of efi_init_obj_list(). * Remove the return code from the error message as it does not help users to understand which initialization went wrong. Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01efi_loader: correct efi_binary_run_dp() return valueHeinrich Schuchardt
efi_binary_run_dp() is expected to return an efi_status_t value. Reported-by: Simon Glass <[email protected]> Fixes: 6422820ac3e5 ("efi_loader: split unrelated code from efi_bootmgr.c") Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01efi_loader: correct return value of efi_bootmgr_run()Heinrich Schuchardt
efi_bootmgr_run() is expected to return an efi_status_t value. Reported-by: Simon Glass <[email protected]> Fixes: 0bef4b0123f2 ("cmd: bootefi: move library interfaces under lib/efi_loader") Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01cmd/bootefi: move efi_init_obj_list() to the start of do_bootefiHeinrich Schuchardt
None of the bootefi commands can be executed if the EFI sub-system cannot be initialized. Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-01doc: emulation: qemu-arm: add secure state stepsJohannes Krottmayer
Add build steps for building U-Boot in secure state with TF-A and OP-TEE. It includes the full steps for building OP-TEE and TF-A to use with U-Boot. Also a short description how to invoke QEMU with enabled EL3 and EL2. EL3 (machine option secure=on) is required to run TF-A. Signed-off-by: Johannes Krottmayer <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]> Cc: Tom Rini <[email protected]> Cc: Tuomas Tynkkynen <[email protected]>
2026-05-01EFI Loader: Correct dependencies for EFI_HTTP_BOOTTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for EFI_HTTP_BOOT. As this is implemented by running commands (as seen by what it selects) it must depend on CMDLINE as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2026-05-01arm: at91: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
All of these platforms enable CONFIG_BOARD_EARLY_INIT_F and then have a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]>
2026-05-01mtd: rawnand: sunxi: make the code mode self-explanatoryRichard Genoud
In sunxi_nfc_hw_ecc_{read,write}_chunk(), the ECC step was force to 0, the reason is not trivial to get when reading the code. The explanation is that, from the NAND flash controller perspective, we are indeed at step 0 for user data length and ECC errors. Just add a const value with an explanation to clarify things. Signed-off-by: Richard Genoud <[email protected]> Reviewed-By: Michael Trimarchi <[email protected]> Acked-by: Andre Przywara <[email protected]>
2026-05-01mtd: rawnand: sunxi: Replace hard coded value by a defineRichard Genoud
The user data length (4) used all over the code hard coded. And sometimes, it's not that trivial to know that it's the user data length and not something else. Moreover, for the H6/H616 this value is no more fixed by hardware, but could be modified. Using a define here makes the code more readable. Suggested-by: Miquel Raynal <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Richard Genoud <[email protected]> Acked-by: Andre Przywara <[email protected]>
2026-04-30spi: sunxi: wait for TX/RX fifo reset doneYixun Lan
Once reset SPI TX or RX fifo, the underlying hardware need to take some time to actually settle down, the two bits will automatically clear to 0, so use a poll mechanism to check status bits to make sure it's done correctly. On Cubie A7A board which using A733 SoC, we encoutered a SPI nor flash timeout issue, it turns out that the SPI fifo reset take a few time to settle down, Add a loop to poll the status. This was the error message shows on A7A board once this issue happened. => sf probe ERROR: sun4i_spi: Timeout transferring data Failed to initialize SPI flash at 0:0 (error -2) Signed-off-by: Yixun Lan <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]> Acked-by: Andre Przywara <[email protected]>
2026-04-30sunxi: H616: dram: drop default TPR6 Kconfig valueAndre Przywara
CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a non-zero default value. Since we need to provide a value for all the other parameters anyway, avoiding TPR6 makes no real difference. To make matters worse, TPR6 is a compound value covering multiple DRAM types, but also spans over three SoCs, which makes it hard to find one good default value. Drop the default from Kconfig, and put some explicit values in the defconfigs for the few boards that were relying on the default so far. The value is taken from one BSP, only the lower byte matters anyway for those boards, all using DDR3 DRAM. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]> Reviewed-by: Paul Kocialkowski <[email protected]>
2026-04-30sunxi: H616: dram: fix LPDDR3 TPR6 parsingJernej Skrabec
Allwinner's DRAM initialisation code defines a parameter named TPR6, presumably containing some "Vref" parameter, but containing values for *all* DRAM types. The runtime code selects one byte based on the DRAM type used. This selection code was wrong for LPDDR3, the value is encoded in bits [23:16], not [15:8]. Fix that in the code, which also aligns it with the very similar code for the A133 and A523. Signed-off-by: Jernej Skrabec <[email protected]> Reported-by: Philippe Simons <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Paul Kocialkowski <[email protected]>