[PATCH v4 00/10] arm: k3: j784s4: Add PCIe boot support

Hrushikesh Salunke h-salunke at ti.com
Mon Dec 1 12:00:53 CET 2025


This series adds PCIe endpoint boot support for the TI J784S4 SoC.

PCIe boot allows the device to boot as a PCIe endpoint, where the
bootloader images are loaded by a PCIe host through Device Firmware
Upgrade (DFU) over PCIe.

The J784S4 SoC uses PCIe1 instance with SERDES0 for endpoint boot.
To enable this functionality, the SERDES and PCIe peripherals must be
configured early in the R5 SPL stage before the bootloader images can
be transferred from the host.

This series:
1. Adds the required clock and device data for SERDES0 and PCIe1
2. Enables Cadence Torrent PHY driver at SPL stage
3. Enables J721E WIZ SERDES wrapper driver at SPL stage
4. Enables PCIe boot configs for J784S4 R5 and A72 stage
5. Disables PCIe boot configs for AM69-SK and J742S2-EVM
6. Adds comprehensive PCIe boot documentation

This feature has been tested on J784S4 EVM. Following are the logs
corresponding to this feature.

https://gist.github.com/hrushikesh221/13f2bcad10373f2fb87bc76dd0b906e5

Program used to copy bootloaders from PCIe Root-Complex to Endpoint:

https://gist.github.com/hrushikesh221/94e6042dbd717c74b74a5c9fc8ec5b6c

This series is based on commit:
65a13153107 (origin/next) Merge tag 'u-boot-imx-next-20251129' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

v3: https://lore.kernel.org/all/20251112064725.1049199-1-h-salunke@ti.com/

Changes in v4:
- Disabled PCIe boot configs for AM69-SK and J742S2-EVM variants
  that share the J784S4 SoC but don't support PCIe boot
- Added comprehensive documentation for PCIe boot including hardware setup,
  configuration details, and step-by-step boot procedure
- Rebased on current next

Hrushikesh Salunke (10):
  arm: mach-k3: j784s4: Update SoC autogen data to enable PCIe boot
  phy: cadence: Add config to enable Cadence Torrent PHY at SPL stage
  phy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stage
  configs: j784s4_evm_r5_defconfig: Enable configs for PCIe boot
  configs: j784s4_evm_a72_defconfig: Enable configs for PCIe boot
  configs: am69_sk_r5_defconfig: Disable PCIe boot configs
  configs: am69_sk_a72_defconfig: Disable PCIe boot configs
  configs: j742s2_evm_r5_defconfig: Disable PCIe boot configs
  configs: j742s2_evm_a72_defconfig: Disable PCIe boot configs
  docs: board: ti: j784s4_evm: Add PCIe boot documentation

 arch/arm/mach-k3/r5/j784s4/clk-data.c | 184 +++++++++++++++++-
 arch/arm/mach-k3/r5/j784s4/dev-data.c |  43 +++--
 configs/am69_sk_a72_defconfig         |   4 +
 configs/am69_sk_r5_defconfig          |   9 +
 configs/j742s2_evm_a72_defconfig      |   5 +
 configs/j742s2_evm_r5_defconfig       |   9 +
 configs/j784s4_evm_a72_defconfig      |   7 +
 configs/j784s4_evm_r5_defconfig       |  13 ++
 doc/board/ti/j784s4_evm.rst           | 267 ++++++++++++++++++++++++++
 drivers/phy/cadence/Kconfig           |   7 +
 drivers/phy/ti/Kconfig                |  10 +
 11 files changed, 531 insertions(+), 27 deletions(-)

--
2.34.1



More information about the U-Boot mailing list