summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-11-18soc: qcom: cmd-db: Add cmd_db_read_slave_id() & cmd_db_read_aux_data() functionsAswin Murugan
Partially reverted commit "soc: qcom: cmd-db: drop unused functions" by restoring only the cmd_db_read_slave_id() and cmd_db_read_aux_data() functions, which were removed in that commit. These functions are required for the RPMH Power Domain Driver. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Casey Connolly <[email protected]>> --- Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-11-17Merge tag 'u-boot-stm32-20251117' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/28392 dhelectronics: - Move dh_add_item_number_and_serial_to_env() to common code - Read values from M24256 write-lockable page on STM32MP13xx DHCOR - Add MAC address readout from fuses on DH STM32MP1 DHSOM - Keep the reg11 and reg18 regulators always enabled on STM32MP13xx DHCOR. - Fix boot for stm32mp15xx-dhsom. - Fix build of ST DFU virt code on DH STM32MP1 DHSOM - Introduce DH STM32MP13x target. STM32MP2: - Add support for stm32mp257-dk board. - Fix arm, smc-id value for stm32mp23/25. - Fix stm32mp235f-dk boot (add syscon compatible, add txbyteclk). - Add display support: - Introduce LVDS driver. - Add LTDC support. - Add Ethernet support for stm32mp255. STM32MP13: - Add ADC support. - Add power check for stm32mp135f-dk board.
2025-11-17video: stm32: ltdc: properly search the first available panelRaphael Gallais-Pou
Initially there was only one DSI bridge with one panel attached to this device. This explained the call to uclass_first_device_err(UCLASS_PANEL, ...) which worked fine at the time. Now that multiple bridges and panels, with different technologies, can be plugged onto the board this way to get the panel device is outdated. The lookup is done is two steps. First we circle through the UCLASS_VIDEO_BRIDGE, and once we get one, we search through its endpoints until we get a UCLASS_PANEL device available. Acked-by: Yannick Fertre <[email protected]> Signed-off-by: Raphael Gallais-Pou <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-11-17video: stm32: ltdc: support new hardware version for STM32MP25 SoCRaphael Gallais-Pou
STM32MP2 SoCs feature a new version of the LTDC IP. This new version features a bus clock, as well as a 150MHz pad frequency. Add its compatible to the list of device to probe and handle quirks. The new hardware version features a bus clock. Reviewed-by: Patrice Chotard <[email protected]> Acked-by: Yannick Fertre <[email protected]> Signed-off-by: Raphael Gallais-Pou <[email protected]>
2025-11-17video: stm32: STM32 driver support for LVDSRaphael Gallais-Pou
The LVDS Display Interface Transmitter handles the LVDS protocol: it maps the pixels received from the upstream Pixel-DMA (LTDC) onto the LVDS PHY. The LVDS controller driver supports the following high-level features: • FDP-Link-I and OpenLDI (v0.95) protocols • Single-Link or Dual-Link operation • Single-Display or Double-Display (with the same content duplicated on both) • Flexible Bit-Mapping, including JEIDA and VESA • RGB888 or RGB666 output • Synchronous design, with one input pixel per clock cycle • No resolution limitation. Acked-by: Yannick Fertre <[email protected]> Signed-off-by: Raphael Gallais-Pou <[email protected]>
2025-11-17video: simple_panel: add support for "panel-lvds" displayRaphael Gallais-Pou
Add the compatible "panel-lvds" for simple-panel driver in U-Boot. In Linux this compatible is managed by the driver drivers/gpu/drm/panel/panel-lvds.c but in U-Boot the specific LVDS features (bus_format/bus_flags) are not supported. Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Yannick Fertre <[email protected]> Signed-off-by: Raphael Gallais-Pou <[email protected]>
2025-11-17ofnode: support panel-timings in ofnode_decode_display_timingRaphael Gallais-Pou
The "Display Timings" in panel-common.yaml can be provided by 2 properties - panel-timing: when display panels are restricted to a single resolution the "panel-timing" node expresses the required timings. - display-timings: several resolutions with different timings are supported with several timing subnode of "display-timings" node This patch update the parsing function to handle this 2 possibility when index = 0. Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Yannick Fertre <[email protected]> Signed-off-by: Raphael Gallais-Pou <[email protected]>
2025-11-17adc: stm32mp13: add support of adc to stm32mp13Olivier Moysan
Add support of STM32 ADCs to STM32MP13x. This patch introduces stm32_adc_regspec structure, as this is already done in kernel driver, to manage smartly the differences in register set between STMP32MP15 and STM32MP13 ADCs. Signed-off-by: Olivier Moysan <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2025-11-17ufs: rcar-gen5: Use a unique U_BOOT_DRIVER nameTom Rini
All instances of U_BOOT_DRIVER must be unique or we will have link time failures. It is possible to enable both ufs-renesas-rcar.c and ufs-renesas-rcar-gen5.c at the same time, so give ufs-renesas-rcar-gen5.c a new unique U_BOOT_DRIVER name. Fixes: 3351fe7ecc1a ("ufs: Add UFS driver for Renesas R-Car X5H") Signed-off-by: Tom Rini <[email protected]> Acked-by: Marek Vasut <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-11-17ufs: Keep Makefile and Kconfig sorted one more timeMarek Vasut
Sort the Makefile and Kconfig alphabetically again. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Igor Belwon <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2025-11-15Merge tag 'i2c-updates-for-2026.01-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-i2c I2C updates for 2026.01-rc3 - i2c: mux: declare staic functions where posible from Michal
2025-11-15i2c: muxes: i2c_mux_select/deselect() should be staticMichal Simek
i2c_mux_select/deselect() are not called out of i2c-mux-uclass.c that's why they should be static. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-11-13pinctrl: renesas: r8a779h0: Remove STPWT_EXTFXRGeert Uytterhoeven
Rev.0.81 of the R-Car V4M Series Hardware User’s Manual removed the "STPWT_EXTFXR" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779h0: Remove CC5_OSCOUTHuy Bui
Rev.0.71 of the R-Car V4M Series Hardware User’s Manual removed the "CC5_OSCOUT" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove STPWT_EXTFXRHuy Bui
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "STPWT_EXTFXR" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove CC5_OSCOUTHuy Bui
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "CC5_OSCOUT" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove AVB[01]_MIIThanh Quan
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "AVB[01]_MII_*" signals from the pin control register tables. As these are further unused in the pin control driver, they can be removed safely. Signed-off-by: Thanh Quan <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-12usb: gadget: Tighten CI_UDC dependenciesTom Rini
This driver cannot build when DM_USB_GADGET is enabled as both options control building of files that use the same global namespace and functionality. In this case make CI_UDC depend on DM_USB_GADGET being disabled as non-DM support is the legacy choice. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-11-12usb: host: xhci: Make U_BOOT_DRIVER entries uniqueTom Rini
All instances of the U_BOOT_DRIVER must use a unique name or they will lead to link time failures due to name space conflicts when both are present. Most of the XHCI drivers follow pattern of xhci_xxx in their name, but a few used "usb_xhci". Change these to follow the pattern of the rest of the XHCI glue drivers. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2025-11-12usb: gadget: Tighten the dependency for DWC2 OTG supportTom Rini
The DWC2 OTG driver depends on an ARM-specific header file to compile, so make it depend on ARM. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-11-12usb: musb: drop musb legacy driversPeter Robinson
The last of the users of the legacy musb drivers have been migrated so now remove the old musb stack, all users should now be using the new musb stack if they need this functionality. Signed-off-by: Peter Robinson <[email protected]> [trini: Remove a Makefile reference that was missed in v1] Signed-off-by: Tom Rini <[email protected]>
2025-11-12usb: gadget: spl: Add missing dependency for SPL_USB_GADGETTom Rini
It makes no sense to ask about nor enable SPL_USB_GADGET without SPL_FRAMEWORK being enabled. Attempting to do so leads to Kconfig noting dependency issues. Add the missing dependency. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-11-12soc: exynos-pmu: add support for Exynos7 PMUKaustabh Chakraborty
Add the compatible string of Exynos7's PMU as defined in upstream dt-schema. This also supports derivative PMUs as defined in schema. There's no additional setup required here, so pmu_init is skipped. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12serial: s5p: add compatible for exynos8895Kaustabh Chakraborty
Add the compatible for Exynos8895 UART as described in upstream devicetree bindings. This enables support for Exynos8895 and other similar UART devices, such as Exynos7870. Other than that, the driver works as-is. Signed-off-by: Kaustabh Chakraborty <[email protected]> Reviewed-by: Henrik Grimler <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12pinctrl: exynos78x0: add proper support for exynos7870 pinctrlKaustabh Chakraborty
The pinctrl blocks for Exynos7870 and Exynos7880 are similar, however in Exynos7870, the CCORE block is actually referred to as MIF. Since ordering happens lexically, it isn't directly compatible with samsung,exynos78x0-pinctrl. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12pinctrl: exynos: bind GPIO driver along with pinctrlKaustabh Chakraborty
The devicetree of Samsung devices typically have the pin controller and GPIO bank descriptors under the same pinctrl node. In U-Boot, these are handled by two separate drivers. It is not possible to invoke both drivers from a single node compatible. Bind the GPIO driver on pinctrl driver bind, with the same OF node as the pinctrl driver. This solution is already being used in other pinctrl drivers. The hierarchy, as represented in `dm tree`, is as follows: pinctrl@13750000 |-- gpio-banks | |-- gpr0-gpio-bank | |-- gpr1-gpio-bank | |-- gpr2-gpio-bank | |-- gpr3-gpio-bank | `-- gpr4-gpio-bank |-- sd0-bus-width1-pins |-- sd0-bus-width4-pins |-- sd0-bus-width8-pins `-- sd0-clk-pins Since a bind function doesn't exist, create and add it to all pinctrl drivers. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: use private clk struct to access clock flagsKaustabh Chakraborty
There may be cases where the flags set for a clock is not available. This is usually the case with clocks which have been retrieved using clk_request(). However, clock flags are found in their respective private clock struct, so use that instead. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for Exynos7870 CMUKaustabh Chakraborty
Introduce a simple clock driver for Exynos7870's CMU blocks, more specifically, CMU_MIF, CMU_FSYS, and CMU_PERI banks. This should be enough to serve U-Boot's minimal requirements. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add function for Samsung CMU ops->requestKaustabh Chakraborty
The request function performs a simple check if the clock with the provided ID is present or not. This is done with a simple call to clk_get_by_id(). A non-zero return value indicates that the requested clock is not available. In some cases, clk->dev points to the clock bank device instead of the clock device. This pointer is therefore overwritten in order to reference to the correct device instance. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for PLL1417XKaustabh Chakraborty
PLL1417X seem to be compatible with PLL0822X, as also seen in the respective Linux kernel driver. Add an enum entry for the type, while merely being an alias for PLL0822X. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: add support for fixed rate and fixed factor clocksKaustabh Chakraborty
Add register functions for fixed rate and fixed factor clock drivers. The vendor-specific structs defined are borrowed from the CCF driver found in the Linux kernel. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-12clk: exynos: provide device pointer to clk_register_* functionsKaustabh Chakraborty
The device pointer set as NULL causes problems when clock banks depend on clocks from another clock bank. In such case, the appropriate clock needs to be resolved from OF phandle arguments, which is not possible if the associated device is not provided. Make necessary changes to make the correct device pointer available. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-11-11Merge patch series "reenable dm_gpio tests, add support for gpio-line-names ↵Tom Rini
lookup" Rasmus Villemoes <[email protected]> says: Hopefully third time's the charm. I merely wanted to add support (mostly for use by the 'gpio' shell command) for looking up a gpio via the gpio-line-names DT property. We already have a "gpio_request_by_line_name()", but cmd/gpio.c does a separate "lookup + request", so it felt more natural to teach the lookup machinery this as well. That ran into OF_CONTROL-but-not-OF_LIBFDT being a thing for SPL, so here's yet another attempt. Now, when trying to do my civic duty and add tests for this, I found that test/dm/gpio.c has been defunct for a couple of years, and reinstating it is not entirely trivial. After a couple of rounds CI is now happy with this: https://github.com/u-boot/u-boot/pull/828 Link: https://lore.kernel.org/r/[email protected]
2025-11-11gpio: search gpio-line-names property in dm_gpio_lookup_nameRasmus Villemoes
In scripts as well as interactively, it's much nicer to be able to refer to GPIOs via their names defined in the device tree property "gpio-line-names", instead of the rather opaque names derived from the bank name with a _xx suffix. E.g. gpio read factory_reset FACTORY_RESET if test $factory_reset = 1 ; then ... versus gpio read factory_reset gpio@481ac000_16 if test $factory_reset = 1 ; then ... This is also consistent with the move on the linux/userspace side towards using line names instead of legacy chip+offset or the even more legacy global gpio numbering in sysfs. As dev_read_stringlist_search() depends on both OF_CONTROL and OF_LIBFDT (which matters for the SPL case), we need some .config conditional. However, it only adds about ~50 bytes of code to U-Boot proper, and dm_gpio_lookup_name() most often ends up being GC'ed for SPL, thus adds no overhead there, so for now make it a hidden symbol which is merely a convenient shorthand for CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(OF_LIBFDT). Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-11-11scsi: Fix the name string memory leak during scsi scanBin Meng
There is a memory leak during the scsi scan process due to the strdup'ed name string is never freed. Actually it is unnecessary to pass a strdup'ed name string to blk_create_devicef() as we can use the name string on the stack directly. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-11-11gpio: OMAP: add dependency to TI_SYSCYegor Yefremov
OMAP GPIO driver needs TI_SYSC to initialize its clocks when using a devicetree-based setup. Signed-off-by: Yegor Yefremov <[email protected]>
2025-11-10Merge tag 'scmi-master-2025-11-11' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/28272 - Support scmi v3.2 CONFIG_SET for clock protocol - A patchset from Marek to optimize the scmi clk booting time - Fix scmi clk set_parent in non-CCF case - Drop mmu_set_region_dcache_behaviour in firmware scmi
2025-11-10dm: Remove pre-schema tag supportTom Rini
Support for using "u-boot,dm-..." rather than "bootph-..." has been deprecated since February 2023. Any platforms using this have had a console message saying to migrate by 2023.07. Go and remove all support here now, for the v2026.01 release. The results of this change that aren't clear from the above are that we still have a checkpatch.pl error message, and document in doc/develop/spl.rst that they have been migrated since 2023. We also change the key2dtsi.py tool to use the correct bootph phase rather than the legacy phase. Signed-off-by: Tom Rini <[email protected]>
2025-11-10clk: scmi: Defer issue of SCMI_CLOCK_ATTRIBUTESMarek Vasut
Instead of resolving clock control flags using SCMI_CLOCK_ATTRIBUTES during probe for each and every clock, resolve the clock control flags using SCMI_CLOCK_ATTRIBUTES when the clock control flags are first used. Because most clock are never used by U-Boot, this allows reducing the amount of SCMI_CLOCK_ATTRIBUTES considerably, and this improve probe time of the scmi clock driver and U-Boot start up time. On Renesas X5H, with 1700+ SCMI clock, the boot time improved by 1.7s . Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Postpone clock name resolutionMarek Vasut
The clock names are retrived via SCMI_CLOCK_ATTRIBUTES, called for each clock ID. This may take a lot of time to complete and is not strictly necessary. Register each clock as "scmi-%zu" instead, and let the first call of SCMI_CLOCK_ATTRIBUTES fill in the actual clock name. This has a side effect, which can be considered both an upside and also a downside. Unused clock are never renamed and retain their placeholder "scmi-%zu" name, which avoids empty clock names for nameless SCMI clock, and avoids the name resolution and improves boot time. But for those SCMI clock which do have name, that name is not listed until the clock are used. This is a preparatory patch for deferred issue of SCMI_CLOCK_ATTRIBUTES. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Factor out clock control flags resolutionMarek Vasut
Pull clock control flags resolution into dedicated function and call it from each site that does access clock control flags. No functional change. This is a preparatory patch for deferred issue of SCMI_CLOCK_ATTRIBUTES. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: Bulk allocate all sub-driver instance dataMarek Vasut
Allocate all sub-driver instance data at once. The amount of data that have to be allocated is known up front, so is the size of the data, so there is no need to call malloc() in a loop, mallocate all data at once. The upside is, less heap fragmentation and fewer malloc() calls overall, and a faster boot time. The downside is, if some of the clock fail to register, then the clock driver cannot free parts of the bulk allocated sub-driver instance data. Such a failure can only occur if clk_register() were to fail, and if that happens, the system has more significant problems. Worse, if a core clock driver fails to probe, the system has even bigger problem. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10clk: scmi: fix set_parent support when CCF is not being usedKamlesh Gurudasani
When not using Common clock framework(CCF), calls to scmi_clk_set_parent returns -ENOTSUPP, which should not be the case. Fix that. Fixes: 15fdfef6642c ("clk: scmi: check the clock state/parent/rate control permissions) Signed-off-by: Kamlesh Gurudasani <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10firmware: scmi: Add clock v3.2 CONFIG_SET supportVinh Nguyen
SCMI v3.2 introduces a new clock CONFIG_SET message format that can optionally carry also OEM specific configuration values beside the usual clock enable/disable requests. Add support to use such new format when talking to a v3.2 compliant SCMI platform. Support existing enable/disable operations across different clock protocol versions: this patch still does not add protocol operations to support the new OEM specific optional configuration capabilities. No functional change for the SCMI drivers users of the related enable and disable clock operations. [Marek: Remodel after Linux e49e314a2cf7 ("firmware: arm_scmi: Add clock v3.2 CONFIG_SET support") Support both old < 2.1 and new >= 2.1 protocol versions. Update commit message based on Linux one] Signed-off-by: Vinh Nguyen <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-10firmware: scmi: Drop mmu_set_region_dcache_behaviour() misuseMarek Vasut
MMU region cache behavior configuration for SCMI/SMT mailboxes is platform specific. Even on ARM systems, the mailbox memory may not even be located in any cacheable MMU region and may instead reside in some SRAM. Remove this non-generic cache behavior configuration code from generic code path. It is unlikely that any platform is affected by this change if it did configure its MMU regions correctly on start up. Platforms which might be affected are i.MX94/95 and STM32MP. Fixes: 240720e9052f ("firmware: scmi: mailbox/smt agent device") Fixes: 2a3f161c8b16 ("scmi: correctly configure MMU for SCMI buffer") Fixes: b2ae10970d40 ("firmware: scmi: use PAGE_SIZE alignment for ARM64") Signed-off-by: Marek Vasut <[email protected]> Tested-by: Alice Guo <[email protected]> Tested-by: Patrice Chotard <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-11-08Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
Remaining R-Car Gen5 driver patches, MMC, clock. Also a trivial adjustment for mailbox core to allow operation without .recv callback.
2025-11-07Merge patch series "Add PCIe Endpoint controller support for TI J784S4 SoC"Tom Rini
Hrushikesh Salunke <[email protected]> says: This series enables PCIe Endpoint mode on TI's J784S4 SoC. The J784S4 SoC features two Cadence PCIe controller instances (PCIe0 and PCIe1) that can operate in endpoint mode. This series adds support for configuring these controllers with up to 4 lanes. Key changes include: - Adding a stabilization delay after power domain reset to prevent timing-related initialization issues - SERDES mux configuration support for proper lane routing, which is essential for SoCs where SERDES lanes are shared between multiple controllers (PCIe, USB, etc.) with different configurations across boot phases - J784S4 SoC endpoint configuration with 4-lane support - Disabling unconfigured endpoint functions to prevent enumeration issues on the Root Complex side This series has been tested on J784S4 EVM with PCIe endpoint boot configuration. Following are the corresponding test logs. https://gist.github.com/hrushikesh221/331d65f45f43fd138f57e6adb61c4332 Link: https://lore.kernel.org/r/[email protected]
2025-11-07Merge patch series "arm: airoha: add support for en7523 based boards"Tom Rini
Mikhail Kshevetskiy <[email protected]> says: This patch series adds basic support for the boards based on Airoha EN7523/EN7529/EN7562 SoCs. Due to ATF restrictions these boards are able to run 32-bit OS only. This patch series adds support for the following hardware: * console UART * ethernet controller/switch * spinand flash (in non-dma mode) The following issues may be expected: * Extra slow UBI attaching in U-Boot (up to 20 sec with fastmap enabled). This is caused by the lack of DMA support in the U-Boot airoha-snfi driver. * Linux airoha-snfi driver in some cases might damage you flash data (see: https://lore.kernel.org/lkml/[email protected]/) * Latest linux kernel is recommended to properly support flashes with more than one plane per lun (see: https://lore.kernel.org/lkml/[email protected]/) * It's NOT recommended to use flashes working in continuous mode because U-Boot airoha-snfi driver does not support such flashes properly. The patches was tested on the board: - SoC: Airoha EN7562 - RAM: 512 MB - SPI NAND: 4 Gbit, made by Toshiba - Linux boot: was NOT tested The U-Boot was chain-loaded from the running U-Boot. Airoha ATF-2.3 does not allow easily chain-loading of U-Boot from U-Boot, so a special FIT image (mimic linux kernel) was created 1) Create u-boot.its file with the following contents: === cut here === /dts-v1/; / { description = "ARM OpenWrt FIT (Flattened Image Tree)"; #address-cells = <1>; images { u-boot-ram { description = "OpenWrt U-Boot RAM image"; data = /incbin/("u-boot.bin.lzma"); type = "kernel"; arch = "arm"; os = "linux"; compression = "lzma"; load = <0x81e00000>; entry = <0x81e00000>; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; fdt-1 { description = "OpenWrt device tree blob"; data = /incbin/("dts/upstream/src/arm/airoha/en7523-evb.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; }; configurations { default = "config-ram-uboot"; config-ram-uboot { description = "OpenWrt RAM U-Boot"; kernel = "u-boot-ram"; fdt = "fdt-1"; }; }; }; ================== 2) Create u-boot.itb image to chain-load new u-boot from the old one lzma_alone e u-boot.bin u-boot.bin.lzma mkimage -f u-boot.its u-boot.itb 3) Load new u-boot from the old one U-Boot> tftpboot u-boot.itb && bootm Link: https://lore.kernel.org/r/[email protected]
2025-11-07pci_endpoint: pci_cdns_ti_ep: Enable PCIe Endpoint mode in J784S4 SoCHrushikesh Salunke
TI's J784S4 SoC has two instances of PCIe Controller namely PCIe0 and PCIe1 which are Cadence PCIe Controllers. Add support to configure PCIe instances in Endpoint mode of operation. While at it disable all endpoint functions except function 0 during probe to prevent the Root Complex from enumerating unconfigured functions. This ensures only properly configured endpoint functions are visible to the host and avoids enumeration issues with multi-function devices. Signed-off-by: Hrushikesh Salunke <[email protected]>
2025-11-07pci_endpoint: pci_cdns_ti_ep: Add SERDES mux configuration supportHrushikesh Salunke
Probe the mux device early in the SERDES configuration flow to ensure proper lane routing before PHY initialization. This is required for SoCs where SERDES lanes can be muxed between different controllers (PCIe, USB, etc), and different mux configurations are required between different boot phases. Signed-off-by: Hrushikesh Salunke <[email protected]>