summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-06-05rtc: pcf85063: add support for NXP PCF85063 familyAlexander Feilke
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]>
2026-06-05rtc: pcf85063: adjust date format to adhere to the rtc_time specAlexander Feilke
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]>
2026-06-05cpu: imx8_cpu: fix the mpidr checkPeng Fan
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]>
2026-06-05cpu: imx8_cpu: Add iMX8MP UltraLite Part cpu typeYe Li
iMX8MP UltraLite part is missed in the cpu type print Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]>
2026-06-05sysinfo: tq_eeprom: new driverNora Schiffer
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]>
2026-06-05sysinfo: add sysinfo_get_and_detect() helperNora Schiffer
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]>
2026-06-05sysinfo: uclass: use sysinfo_priv size for per_device_autoNora Schiffer
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]>
2026-06-05clk: imx: don't build i.MX/RTxxxx code for all users of CCFAlexander Sverdlin
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]>
2026-06-05arm: imx8mp: Add new variant parts supportYe Li
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]>
2026-06-05watchdog: ulp_wdog: Use driver model for reset_cpu()Alice Guo
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]>
2026-06-04cpu: imx8_cpu: Fix CPU segment information printYe Li
Should not use CONFIG_IMX_TMU to determine the print of CPU market segment information. Only iMX8 platforms don't have segment fuse. And there is no extended commercial part on iMX9 (91/93/94/95), fix it to extended industrial. Signed-off-by: Ye Li <[email protected]>
2026-06-04Merge tag 'u-boot-nvme-fixes-20260604' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs - fix dcache invalidation range in identify command - avoid deleting uncreated queues - free prp_pool on nvme_init() failure paths - Log I/O timeouts
2026-06-04Merge tag 'rpi-2026.07-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Updates for RPi for 2026.07-rc4: - pci: bcmstb: Support for bcm2712
2026-06-04pci: brcmstb: Adapt to AXI bridgeTorsten Duwe
Fix-ups for the BCM root complex when it is located behind an AXI bridge and clocked with 54MHz. Some are from kernel commit 377bced88c326, some where picked by Oleksii off a now-stale older branch. All reworked for the simpler setup code in U-Boot. Signed-off-by: Torsten Duwe <[email protected]> Co-authored-by: Oleksii Moisieiev <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2026-06-04pci: brcmstb: rework iBAR handlingTorsten Duwe
Rework the setup of inbound PCIe windows: use the convenience functions from Linux kernel commit ae6476c6de187 to calculate the BAR offsets and factor out the setup code into a separate function. The Linux kernel first allocates and populates an array of inbound_win[] and sets the BARs from it later, while U-Boot does it all on the fly, in one go, so the code is not 1:1 comparable. Signed-off-by: Torsten Duwe <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2026-06-04pci: brcmstb: Fix iBAR size calculationTorsten Duwe
Fix inbound window size calculation, like Linux commit 25a98c7270156. Signed-off-by: Torsten Duwe <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2026-06-04pci: brcmstb: Get and use bridge and rescal reset propertiesTorsten Duwe
Check whether the device tree has nodes for the two reset controls and use them if so. Signed-off-by: Torsten Duwe <[email protected]> Co-authored-by: Oleksii Moisieiev <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2026-06-04reset: Add RPi5 rescal reset facilitiesTorsten Duwe
A driver for Broadcom rescal reset controllers ported from linux/drivers/reset/reset-brcmstb-rescal.c to U-Boot. Signed-off-by: Torsten Duwe <[email protected]> Co-authored-by: Oleksii Moisieiev <[email protected]> Tested-by: Pedro Falcato <[email protected]>
2026-06-04reset: Add RPi5 brcmstb reset facilitiesTorsten Duwe
A driver for Broadcom reset controllers ported from linux/drivers/reset/reset-brcmstb.c to U-Boot. Signed-off-by: Torsten Duwe <[email protected]> Co-authored-by: Oleksii Moisieiev <[email protected]> Tested-by: Pedro Falcato <[email protected]>
2026-06-04pci: brcmstb: Support different variants using a cfg structTorsten Duwe
The Linux kernel driver already had support for multiple hardware variants when the bcm2712 was added (see e.g. linux commit 10dbedad3c818 which is the last in a longer set of changes). This patch brings in this required infrastructure and adds a differentiation between 2711 and 2712 register layouts on top. Signed-off-by: Torsten Duwe <[email protected]> Co-authored-by: Oleksii Moisieiev <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2026-06-04pci: brcmstb: Fix PCIe bus numbersAndrea della Porta
The linux kernel assigns a new domain for every Root Complex where bus numbering starts from 0 for each domain. U-Boot does not have domains and uses a flattened bus numbering scheme instead. This means that any device or bridge on the second enumerated RC will receive a bus number equal to the last assigned one +1. This bus number contributes to the address written into the index register, which will select the configuration space to be read. Compensate for this contribution by subtracting the base bus number. Signed-off-by: Andrea della Porta <[email protected]> Signed-off-by: Torsten Duwe <[email protected]> Tested-by: Pedro Falcato <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2026-06-03Merge tag 'net-20260603' of https://source.denx.de/u-boot/custodians/u-boot-netTom Rini
Pull request net-20260603. net: - ti: icssg: Fix portname buffer overflow - pxe: Fix potential initrd_filesize buffer overflow net-legacy: - bootp, dhcpv6: Prevent out-of-bound reads and buffer overflow - sntp: Check packet length in sntp_handler
2026-06-03Merge tag 'net-next-20260603' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net into next Pull request net-next-20260603 - eth, phy: Convert several drivers to use the dev APIs - Guard SYS_RX_ETH_BUFFER with NET - phy: Kconfig: use bool instead of tristate
2026-06-03drivers: nvme: Log I/O timeoutsDenis Mukhin
Current code silently swallows any timed-out commands scheduled to NVMe. Log those to be able to debug any potential problems with the NVMe hardware/firmware. Signed-off-by: Denis Mukhin <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2026-06-03net: ti: icssg: Fix portname buffer overflowFrancois Berder
portname consists of dev->parent->name ("icssg0-eth", "icssg1-eth", or "ethernet") and dev->name is the port node name ("port@0" or "port@1"). Every board DTS in the repository produces a string that overflows the buffer: "icssg1-eth-port@0" 17 chars + NUL = 18 bytes (AM642 EVM, IoT2050) "ethernet-port@0" 15 chars + NUL = 16 bytes (SR-SOM, phyboard) This commits increases portname to 64 bytes and replaces sprintf by snprintf so that any future DT node name cannot overflow it regardless of length. Signed-off-by: Francois Berder <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-06-03net: mvpp2: convert FDT access to ofnode APIPeng Fan
Convert mvpp2 driver from legacy fdtdec/fdt_* APIs to the ofnode-based interfaces. Replace usage of dev_of_offset(), fdtdec_lookup_phandle(), fdtdec_get_int(), fdt_parent_offset(), and related helpers with their ofnode equivalents, including dev_ofnode(), ofnode_parse_phandle(), ofnode_read_s32_default(), ofnode_get_parent(), and ofnode_for_each_subnode(). Remove direct dependencies on gd->fdt_blob. Main changes: - Use ofnode_valid() instead of integer checks for node presence - Switch fixed-link detection to ofnode_find_subnode() - Replace uclass_get_device_by_of_offset() with uclass_get_device_by_ofnode() - Update subnode iteration and device binding to use ofnode No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-03net: mvpp2: Use dev_read_addr_index_ptr()Peng Fan
Use dev_read_addr_index_ptr() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-03net: dc2114x: Use dev_remap_addr()Peng Fan
Use dev_remap_addr() to simplify code. dev_remap_addr() does same thing as dev_read_addr() + map_physmem(). And it supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-03net: calxedaxgmac: Use dev_read_addr()Peng Fan
Use dev_read_addr() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-03net: qe: dm_qe_uec: Use dev_read_addr()Peng Fan
Use dev_read_addr() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2026-06-03net: ethoc: Use dev_read_addr_index()Peng Fan
Use dev_read_addr_index() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-03phy: cadence: Use device APIPeng Fan
Use dev_remap_addr_index() and dev_read_addr_size_index() which support both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-06-03phy: marvell: comphy: Use dev_read_addr_index_ptr()Peng Fan
Use dev_read_addr_index_ptr() which supports both live device tree and flat DT backends, avoiding direct dependency on devfdt_* helpers. No functional changes. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-06-03phy: ti-pipe3: Use device API for DT parsingPeng Fan
Replace legacy FDT parsing in get_reg() with the device API dev_read_phandle_with_args() which removes direct access to gd->fdt_blob and aligns the driver with modern U-Boot DT handling. The offset is retrieved from the phandle argument instead of manually parsing the property cells. Add validation for the argument count to avoid out-of-bounds access on malformed DTs. Also switch from devfdt_get_addr_size_index() to dev_read_addr_size_index() for consistency with the DM API. No functional changes. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-06-03phy: Kconfig: use bool instead of tristateDavid Lechner
Change all uses of tristate in the PHY Kconfigs to bool. U-Boot does not support modules, so tristate does not make sense here. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Reviewed-by: Anshul Dalal <[email protected]> Reviewed-by: Casey Connolly <[email protected]>
2026-06-03net: tsec: make tsec_private a private structureQuentin Schulz
Move the definition of tsec_private within the only file that makes use of it. This adds the benefit of include/tsec.h not referencing PKTBUFSRX (which is set to CONFIG_SYS_RX_ETH_BUFFER, which we're trying to move to be under CONFIG_NET dependency) anymore. Considering drivers/net/tsec.c is only built if CONFIG_NET=y, this is fine. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2026-06-03usb: dwc3: generic: Staticize and constify driver opsMarek Vasut
Set the ops structure as static const. The structure is not accessible from outside of this driver and is not going to be modified at runtime. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2026-06-03usb: dwc3: sti: Staticize and constify driver opsMarek Vasut
Set the ops structure as static const. The structure is not accessible from outside of this driver and is not going to be modified at runtime. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2026-06-03usb: dwc3: am62: Staticize and constify driver opsMarek Vasut
Set the ops structure as static const. The structure is not accessible from outside of this driver and is not going to be modified at runtime. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2026-06-02usb: xhci-mvebu: Enable Armada 375 in XHCI driverTony Dinh
Add armada-375-xhci to the compatible list in XHCI MVEBU driver. Tested with WD MyCloud Gen2 NAS. Signed-off-by: Tony Dinh <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-06-02timer: sp804: Fix dev_read_addr error checkFrancois Berder
dev_read_addr returns FDT_ADDR_T_NONE (-1) in case of error and not 0. Signed-off-by: Francois Berder <[email protected]>
2026-06-02Merge patch series "Clean up bloblist initialization"Tom Rini
Tom Rini <[email protected]> says: This series does a few small but important cleanups to how we check for, and initialize a bloblist. The first thing is that the way things are done today, our HANDOFF code can only work with a fixed bloblist location, so express that requirement in Kconfig. Next, we demote the scary message about "Bloblist at ... not found" to a debug because we most often see that because the bloblist doesn't (and can't) exist yet. Finally, we remove bloblist_maybe_init and split this in to an exists and a real init. This results in practically no growth (between 8 bytes growth to 12 bytes saved, with some outliers saving much more thanks to knowing it's impossible to have been passed a bloblist yet). This also cleans up some of the code around checking for / knowing about a bloblist existing. Link: https://lore.kernel.org/r/[email protected]
2026-05-30Merge patch series "video: bridge: anx6345: Staticize and constify driver ops"Tom Rini
This series from Marek Vasut <[email protected]> adds "static" and "const" keywords to structs where they are missing and would be useful to have. Link: https://lore.kernel.org/r/[email protected]
2026-05-30video console: add 6x8 console font from linuxAlexey Charkov
Small screens on the order of 256x144 pixels can't fit much text at 8x16, and 4x6 is virtually illegible, so add an in-between 6x8 font from Linux. Font data obtained from lib/fonts/font_6x8.c in the Linux kernel at commit db65872b38dc ("lib/fonts: Remove internal symbols and macros from public header file") Link: https://github.com/torvalds/linux/blob/db65872b38dc9f18a62669d6ae1e4ec7868a85a9/lib/fonts/font_6x8.c Signed-off-by: Alexey Charkov <[email protected]>
2026-05-30video: kconfig: replace tristate with bool for LCD panel driversDario Binacchi
U-Boot does not support loadable modules, therefore using 'tristate' in Kconfig is incorrect since the 'm' option cannot be selected. Replace tristate with bool for the affected LCD panel drivers to reflect the U-Boot build model and avoid misleading configuration options. No functional change intended. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Svyatoslav Ryhel <[email protected]>
2026-05-30video: Kconfig: fix indentation of help textDario Binacchi
Fix the indentation of the help text for VIDEO_LCD_NOVATEK_NT35510 and VIDEO_LCD_ORISETECH_OTM8009A to align with the standard Kconfig format. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2026-05-30video: simplefb: Parse memory region from memory-region propertyAelin Reidel
Linux' simplefb driver allows setting the memory-region property to a phandle to a node that describes the memory to be used for the framebuffer. If it is present, it will override the "reg" property. This adds support for parsing the property and prefers it if present. Signed-off-by: Aelin Reidel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-30video: simplefb: Map framebuffer region on probe on ARM64Luca Weiss
The framebuffer buffer might not be mapped on some devices. This is #ifdef'ed for ARM64 since mmu_map_region() is not defined for any other architecture. Signed-off-by: Luca Weiss <[email protected]> Acked-by: Sumit Garg <[email protected]>
2026-05-30video: Correct dependencies for VIDEO_TIDSSTom Rini
The VIDEO_TIDSS functionality can only work with PANEL enabled, so express this dependency in Kconfig for all phases. Signed-off-by: Tom Rini <[email protected]>
2026-05-30video: Correct dependencies for VIDEO_LCD_RAYDIUM_RM68200Tom Rini
The VIDEO_LCD_RAYDIUM_RM68200 functionality can only work with BACKLIGHT enabled, so express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]>