On 2/16/2026 3:58 PM, Siddharth Vadapalli wrote:
From: Hrushikesh Salunke <[email protected]>
Add PCIe boot documentation for J784S4-EVM including boot mode switch
settings, hardware setup requirements, endpoint configuration details
and step-by-step boot procedure.
Signed-off-by: Hrushikesh Salunke <[email protected]>
[[email protected]: simplified and documented the pcie_boot_util program]
Co-developed-by: Siddharth Vadapalli <[email protected]>
Signed-off-by: Siddharth Vadapalli <[email protected]>
---
doc/board/ti/j784s4_evm.rst | 305 ++++++++++++++++++++++++++++++++++++
1 file changed, 305 insertions(+)
diff --git a/doc/board/ti/j784s4_evm.rst b/doc/board/ti/j784s4_evm.rst
index d858dc7cdbb..fb767bedbf6 100644
--- a/doc/board/ti/j784s4_evm.rst
+++ b/doc/board/ti/j784s4_evm.rst
@@ -299,6 +299,10 @@ http://www.ti.com/lit/zip/spruj52 under the `Boot Mode
Pins` section.
- 00000000
- 01110000
+ * - PCIe
+ - 10001000
+ - 01010000
+
For SW7 and SW11, the switch state in the "ON" position = 1.
Boot Mode Pins for AM69-SK
@@ -330,6 +334,307 @@ section.
For SW2, the switch state in the "ON" position = 1.
[..]
+
+PCIe Boot Procedure
+^^^^^^^^^^^^^^^^^^^
+
overall series looks ok.
One suggestion, if you can move generic document into some common file
and include here.
then you may not need to update repeat text for each platform.
+The following steps describe the process of booting J784S4-EVM over PCIe:
+
+1. Compile the sample host program (provided after this section):
+
+ .. prompt:: bash
+
+ gcc -o pcie_boot_util pcie_boot_util.c
+
+2. Power on the J784S4-EVM (endpoint) after configuring boot mode switches
+ for PCIe Boot.
+
+3. Copy the compiled sample host program (pcie_boot_util) and the bootloader
+ images to the Root Complex. Check PCIe enumeration on Root Complex to ensure
+ that the J784S4 EVM shows up as the PCIe Endpoint:
+
+ .. prompt:: bash
+
+ lspci
+
+ The endpoint will appear as a RAM device or with multiple functions:
+
+ .. code-block:: text
+
+ 0000:00:00.0 PCI bridge: Texas Instruments Device b012
+ 0000:01:00.0 RAM memory: Texas Instruments Device b012
+ 0000:01:00.1 Non-VGA unclassified device: Texas Instruments Device 0100
+ 0000:01:00.2 Non-VGA unclassified device: Texas Instruments Device 0100
+
+4. Copy ``tiboot3.bin`` to the endpoint. Use ``lspci -vv`` to identify the BAR
+ address:
+
+ .. prompt:: bash
+
+ sudo ./pcie_boot_util 0x4007100000 tiboot3.bin
+
+ The sample program automatically writes the image start address to
+ ``0x41CF3FE0`` and the magic word ``0xB17CEAD9`` to ``0x41CF3FE4``.
+
[..]