[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