| Age | Commit message (Collapse) | Author |
|
Enable CONFIG_DFU_MTD and CONFIG_DM_MTD to support DFU transfers
over MTD partitions, required for FWU multi-bank update using
NOR flash.
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Add fwu_plat_get_alt_num() and fwu_plat_get_bootidx() platform
callbacks required for FWU multi-bank update on Versal and Versal
Gen 2. The boot index is read from the PMC Global PGGS4 register
which is populated by PLM with a magic number and boot partition
index. Uses firmware IOCTL when CONFIG_ZYNQMP_FIRMWARE is enabled,
otherwise falls back to direct MMIO read.
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Add configure_capsule_updates() supporting MMC, SD and QSPI/OSPI
boot modes for DFU string generation. Add set_dfu_alt_info() for
FWU multi-bank mode to generate DFU alt info from NOR flash MTD
partitions. Add XILINX_BOOT_IMAGE_GUID for the capsule updatable
firmware image.
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Guard configure_capsule_updates() so it is skipped when FWU
multi-bank update is enabled. Add set_dfu_alt_info() for FWU
multi-bank mode to generate DFU alt info dynamically from NOR
flash MTD partitions using fwu_gen_alt_info_from_mtd().
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Add zynqmp_pm_get_pmc_global_pggs_reg() to read PMC Global PGGS3
and PGGS4 registers via firmware IOCTL. Supports IOCTL_READ_PGGS
as the preferred path and falls back to IOCTL_READ_REG for older
PLM firmware versions that do not support IOCTL_READ_PGGS.
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Add PMC Global PGGS3 and PGGS4 register defines to Versal and
Versal Gen 2 hardware headers. These registers hold boot index
and boot metadata required for FWU multi-bank update support.
Signed-off-by: Padmarao Begari <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Enable CONFIG_SPL_OPTIMIZE_INLINING to let the compiler decide which
functions marked 'inline' to actually inline, rather than forcing all of
them. This reduces SPL code size by allowing the compiler to eliminate
unnecessary code duplication.
spl/u-boot-spl: all -872 text -872
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/09f2a62099abf561b91b0d3692714f0f29057d31.1777550623.git.michal.simek@amd.com
|
|
The MicroBlaze V platform has only a single hart, so multi-hart
enumeration support is unnecessary. Disable CONFIG_AVAILABLE_HARTS
to reduce code size.
all -121 data -12 text -109
spl/u-boot-spl: all -68 data -4 text -64
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/511c3c05d29479a4d1410a902cc01963113c4e1a.1777550623.git.michal.simek@amd.com
|
|
usb_ether_init() called in board_late_init() when CONFIG_USB_ETHER
was enabled without CONFIG_USB_GADGET_DOWNLOAD.
This makes USB ethernet gadget a fixed default, with no way to opt
out at runtime without a rebuild.
Remove the hardcoded call. If USB ethernet gadget functionality is
needed, it can be added via the preboot environment variable.
Signed-off-by: Pranav Sanwal <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
USB_GADGET_DOWNLOAD enables the g_dnl composite gadget framework,
allowing other functions to operate over the USB peripheral
interface.
Signed-off-by: Pranav Sanwal <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
%s/requird/required/
%s/current XHCI/currently XHCI/
Reviewed-by: Marek Vasut <[email protected]>
Reviewed-by: Bin Meng <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
|
|
When applying base relocations from a PE-COFF binary all data must
be treated as untrusted. Add the following checks to
efi_loader_relocate():
* Reject relocation blocks that don't start on a 32-bit aligned
address.
* Reject relocation blocks whose SizeOfBlock is smaller than the
block header, which would cause an unsigned underflow when computing
the entry count.
* A block with SizeOfBlock == 0 is invalid and does not mark the end of
the relocation table.
* Reject relocation blocks that extend beyond the end of the
relocation section.
* Reject individual relocation entries whose target offset, together
with the access width, exceeds the mapped image size, preventing
out-of-bounds writes.
Pass virt_size to efi_loader_relocate() from efi_load_pe() to enable
the per-entry bounds check.
Reported-by: Anas Cherni <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Ilias Apalodimas <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
|
|
A single percent sign might be interpreted as a string format directive
and shall thus be escaped - doubling it - to actually indicate a
percentage.
Without the escape, pytest fails to run test_fdt.py with the following
error:
ValueError: Test coverage failure
fdt code coverage: Traceback (most recent call last):
File "/usr/lib64/python3.14/argparse.py", line 1748, in _check_help
formatter._expand_help(action)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib64/python3.14/argparse.py", line 676, in _expand_help
return help_string % params
~~~~~~~~~~~~^~~~~~~~
TypeError: %c requires an int or a unicode character, not dict
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/user/u-boot/./tools/dtoc/test_fdt", line 1002, in <module>
sys.exit(main())
~~~~^^
File "/home/user/u-boot/./tools/dtoc/test_fdt", line 987, in main
parser.add_argument('-T', '--test-coverage', action='store_true',
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
default=False,
^^^^^^^^^^^^^^
help='run tests and check for 100% coverage')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.14/argparse.py", line 1562, in add_argument
self._check_help(action)
~~~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib64/python3.14/argparse.py", line 1750, in _check_help
raise ValueError('badly formed help string') from exc
ValueError: badly formed help string
Fixes: 7640b166604e ("test_fdt: Convert to use argparse")
Signed-off-by: Francesco Valla <[email protected]>
|
|
The GitHub dependabot tool has reported two "high" priority bug,
CVE-2026-44431 and CVE-2026-44432, with this package. Update to the
patched version.
Reported-by: GitHub dependabot
Signed-off-by: Tom Rini <[email protected]>
|
|
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/30357
- Several conversions to OF_UPSTREAM.
- Improvements for TQMa6UL boards.
- Add iMX8MP UltraLite Part CPU type.
|
|
Alexander Feilke <[email protected]> says:
This series fixes some spec inconsistencies and oversimplifications in the initial
PCF85063 support, and adds some missing features from mainline linux v6.19.
[trini: Make a minor correction to the Kconfig help that Alexander
Sverdlin noted in review]
Signed-off-by: Tom Rini <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
|
|
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Retrofit from upstream linux to try resetting the device after power loss.
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Use previously ignored quartz-load-femtofarads property from device tree
to set load capacitance. If missing, leave the device unconfigured
as a default might have been set. force_cap is left out for now but
can be retrofitted in the future as there may be different hardware
without the 12.500pF flag.
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Sync from upstream linux v6.19.
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Sync definitions from upstream linux v6.19.
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Supported devices:
- generic PCF85063 / PCF85063TP (no alarm regs)
- PCF85063A / PCF85073A (alarm regs)
Tested with TQMa8MPxL SOM from TQ-Systems GmbH.
Also add missing .data field to rv8263 which represents the number
of available registers (= linux `pcf85063_config.max_register + 1`).
Signed-off-by: Markus Niebel <[email protected]>
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
The rtc_time documentation in rtc_def.h notes a differences
to the common "struct time" that specifies tm_mon as 1 ... 12
and tm_year as year since 0. Also trim register values to valid bits.
Fixes: 1c2a2253f798 ("drivers: rtc: add PCF85063 support")
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
The old check accepted day 0 as well as Feb 29th in non-leap years.
With this change, both day and month 0 are rejected, and the local day
limit logic is now handled by rtc_month_days(), which correctly accounts
for month length and leap years.
In the 'MMDDhhmm' format case, tm_year is not initialized by mk_date().
The leap-year calculation in rtc_month_days() therefore depends on the
value provided by the caller, which do_date() does, via dm_rtc_get().
This is pre-existing behaviour, but is now made more explicit.
Signed-off-by: Markus Niebel <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Alexander Sverdlin <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Use static as this function is not used externally.
Signed-off-by: Alexander Feilke <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
|
|
The mpidr's type is u32, however dev_read_addr returns a value with type
fdt_addr_t(phys_addr_t) which is 64bit long. So the check never fail.
This patch we still keep mpidr as u32 type, because i.MX8 only has max
two cluster, the higher 32bit will always be 0. Use a variable addr
to do the check, if check pass, assign the lower 32 bit to plat->mpidr.
Signed-off-by: Peng Fan <[email protected]>
Signed-off-by: Ye Li <[email protected]>
|
|
iMX8MP UltraLite part is missed in the cpu type print
Signed-off-by: Ye Li <[email protected]>
Acked-by: Peng Fan <[email protected]>
|
|
Probe TQ sysinfo drivers to print device info from eeprom during boot.
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Add sysinfo node for tq,eeprom sysinfo driver.
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
TQMa7 has board-information located in EEPROM at offset 0x20.
Add necessary nodes and properties for nvmem-cells.
Revert this commit once the upstream linux device trees are
accepted and synchronized.
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Add a setup helper based on the tq_eeprom sysinfo driver
and set up the U-Boot environment.
Signed-off-by: Nora Schiffer <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Introduce a sysinfo driver that can be instantiated from the device,
which will provide information from the EEPROM found on all TQ-Systems
SoMs.
Signed-off-by: Nora Schiffer <[email protected]>
Signed-off-by: Max Merchel <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
sysinfo_detect() is commonly called after sysinfo_get(). Make the API a
bit more convenient to use by introducing a helper.
Signed-off-by: Nora Schiffer <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
|
|
Reference the struct itself for the size as it is more robust,
even if it contains just a bool at the moment.
Signed-off-by: Nora Schiffer <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Fix ad-hoc tabs and spaces use, convert to tabs. Drop bogus duplicate
asterisk from non-kerneldoc code comments. No functional change.
Signed-off-by: Marek Vasut <[email protected]>
|
|
When commit 1d7993d1d0ef
("clk: Port Linux common clock framework [CCF] for imx6q to U-boot (tag: v5.1.12)")
introduced the parts of Linux Common Clock Framework, it was done for i.MX6
only and even had "depends on SPL_CLK_IMX6Q" conditions. Since commit
ccab06689aa2 ("clk: imx: expose CCF entry for all") the framework can be
reused with SoCs of other vendors (say, TI), but NXP SoC-specific code is
still being build. It is especially problematic for size-constrained SPL
images on TI AM62x.
Make the build of the i.MX/RTxxxx code not only dependent on
CONFIG_$(PHASE_)CLK_CCF, but also on CONFIG_MACH_IMX options which shall
cover the i.MX platform users.
This saves 2264 bytes on 32-bit ARM platforms [using CCF].
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Alexander Sverdlin <[email protected]>
|
|
Enable the driver to support using I2C interfaces.
Signed-off-by: Frieder Schrempf <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
blk_dwrite/blk_derase returns the number of blocks
written/erased. The existing check allowed partial
writes or partial erase to be considered successful.
Fix error handling of blk_dwrite/blk_derase by checking
that return value corresponds to the number of blocks
written/erased.
Signed-off-by: Francois Berder <[email protected]>
|
|
iMX8MP added 4 new variant parts for low cost industrial and HMI.
The parts disabled HIFI DSP and ISP while other functions are enabled.
Part number:
- MIMX8ML2DVNLZAB and MIMX8ML2CVNKZAB (2-core)
- MIMX8ML5DVNLZAB and MIMX8ML5CVNKZAB (4-core)
Signed-off-by: Ye Li <[email protected]>
|
|
Replace magic value with documented variable.
While at it, restrict fastboot env guard to USB
as its the only supported fastboot method.
Fixes d000ce5efee3 ("board: tqma7: add code for u-boot with spl")
Signed-off-by: Alexander Feilke <[email protected]>
|
|
The variable `pend_tab_total_sz` is calculated using the macro
`LPI_PENDBASE_SZ`, which depends on the global variable `lpi_id_bits`.
However, `lpi_id_bits` is initialized later in the function based on
the GICD_TYPER register. This results in `pend_tab_total_sz` being
calculated with an uninitialized `lpi_id_bits` value (0), This leads
to the LPI pending tables being mapped with an incorrect size.
Fixes: 60b9b47d295b ("Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details"")
Signed-off-by: Lyrix liu <[email protected]>
Signed-off-by: Ye Li <[email protected]>
|
|
work around ERR11115:
The lower part of the OCRAM is unusable on i.MX6UL mask revision 2N52P
with date code before 9/22/2017. Adjust CONFIG_SPL_TEXT_BASE and
CONFIG_SPL_MAX_SIZE accordingly to fix boot on these SoCs.
Signed-off-by: Max Merchel <[email protected]>
|
|
The TQMa6UL[L]x is a family of SoMs based on the i.MX6UL[L] SoCs.
They are available either with board connectors or as LGA packages
with solder balls. Add Support for the SoM and its combination with
our MBa6ULx carrier board. For use with the MBa6ULx carrier board,
the LGA variant is soldered onto an adapter board.
Signed-off-by: Nora Schiffer <[email protected]>
Signed-off-by: Max Merchel <[email protected]>
|
|
Add boot phase properties from U-Boot device tree.
Patches are integrated into Linux v7.1-rc1.
Revert this commit once the upstream linux device trees are
synchronized.
Signed-off-by: Max Merchel <[email protected]>
|
|
Add u-boot specific device tree properties.
Signed-off-by: Max Merchel <[email protected]>
|
|
The watchdog base addresses are now obtained from the devicetree via
ofnode_* functions. Remove the hardcoded macro definitions as they are
no longer needed.
Signed-off-by: Alice Guo <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
Replace hardcoded WDOG_BASE_ADDR with driver model based dynamic address
lookup from device tree, allowing reset_cpu() to dynamically locate
watchdog devices from device tree.
This change also enables CONFIG_WDT for relevant boards and ensures the
watchdog nodes are available for driver model usage.
- Remove hardcoded WDOG_BASE_ADDR from hw_watchdog_* functions
- Reimplement reset_cpu() using UCLASS_WDT device iteration
- Add ulp_wdt_expire_now() callback for standard WDT interface
- Pass wdog register pointer to hw_watchdog_set_timeout()
- Enable CONFIG_WDT for boards using ULP watchdog
- Remove wdog3 status = "disabled" overrides from U-Boot device tree
overlays, as the watchdog device needs to be accessible for driver
model based reset functionality.
Signed-off-by: Alice Guo <[email protected]>
Acked-by: Francesco Dolcini <[email protected]> # Toradex boards
Reviewed-by: Peng Fan <[email protected]>
|
|
Replace hardcoded watchdog base addresses with dynamic address lookup
from device tree for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95
and i.MX952.
Move i.MX7ULP watchdog initialization from s_init() to
arch_cpu_init() because ofnode_* APIs depend on FDT, which is not
available during s_init().
Signed-off-by: Alice Guo <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
Update watchdog device tree nodes to enable dynamic base address
retrieval for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95 and
i.MX952. This allows the bootloader to obtain watchdog base addresses
from the device tree instead of using hardcoded values.
- imx7ulp: Add wdog2 node
- imx8ulp: Mark wdog3 available
- imx91/imx93: Add wdog4 and wdog5 nodes
Mark wdog3/wdog4/wdog5 available
- imx943: Add wdog4 node and mark wdog3/wdog4 available
- imx95/imx952: Add wdog4 node and mark wdog3/wdog4 available
Watchdog nodes are marked with "bootph-all" to ensure availability
during early boot stages when init_wdog() occurs.
Signed-off-by: Alice Guo <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
|
|
Enable OF_UPSTREAM and remove local device tree files in favor of
upstream device trees from Linux kernel.
Signed-off-by: Alice Guo <[email protected]>
|