All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L
@ 2026-08-04  0:09 Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 01/11] firmware: scmi: switch to dev_ofnode during bind Bryan Brattlof
                   ` (10 more replies)
  0 siblings, 11 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Hello Everyone,

This series adds the initial support TI's AM62L SoC family along with
the AM62L-EVM reference board.

The AM62L is a lite, low power and performance optimized family of
application processors that are built for Linux application development.
AM62L is well suited for a wide range of general-purpose applications
with scalable ARM Cortex-A53 core performance and embedded features such
as: Multimedia DSI/DPI support, integrated ADC on chip, advanced lower
power management modes, and extensive security options for IP protection
with the built-in security features.

Additionally, the AM62Lx devices includes an extensive set of
peripherals that make it a well-suited for a broad range of industrial
applications while offering intelligent features and optimized power
architecture as well. In addition, the extensive set of peripherals
included in AM62Lx enables system-level connectivity, such as: USB,
MMC/SD, OSPI, CAN-FD and an ADC.

AM62L is a general purpose processor, however some of the applications
well suited for it include: Human Machine Interfaces (HMI), Medical
patient monitoring , Building automation, Smart secure gateways, Smart
Thermostats, EV charging stations, Smart Metering, Solar energy and
more.

Some highlights of AM62L SoC are:

- Single to Dual 64-bit Arm® Cortex®-A53 microprocessor subsystem up to
  1.25GHz Integrated Giga-bit Ethernet switch supporting up to a total
  of two external

- 16-bit DDR Subsystem that supports LPDDR4, DDR4 memory types.

- Display support: 1x display support over MIPI DSI (4 lanes DPHY) or
  DPI (24-bit RGB LVCMOS)

- Multiple low power modes support, ex: Deep sleep and Standby

- Support for secure boot, Trusted Execution Environment (TEE) &
  Cryptographic Acceleration

For more information check out our Technical Reference Manual (TRM)
which is located here:

    https://www.ti.com/lit/ug/sprujb4/sprujb4.pdf

Happy Hacking
~Bryan

---
Changes in v3:
- Added TI Copyright
- Used CROSS_COMPILE=$CC64 to align with other board docs
- Extended documentation and testing for ti-secure-rom etype
- Kept warning about which versions of OpenOCD have the tcl scripts
- Corrected TFA reserved memory size
- Removed 'emulated' from the board configuration file
- Capitalized 'Include' in commit message
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com

Changes in v2:
- Coalesced boot parameter table Kconfig address
- Removed signed u-boot fit image to align with older K3 devices
- Removed &smci{} bootph override in the u-boot.dtsi overlay
- Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com

Cc: Peng Fan <peng.fan@nxp.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Anshul Dalal <anshuld@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Cc: Bryan Brattlof <bb@ti.com>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Aristo Chen <aristo.chen@canonical.com>
Cc: Udit Kumar <u-kumar1@ti.com>
Cc: Andrew Davis <afd@ti.com>
Cc: Daniel Golle <daniel@makrotopia.org>
Cc: Johan Jonker <jbx6244@gmail.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Cc: Paresh Bhagat <p-bhagat@ti.com>
Cc: Swamil Jain <s-jain1@ti.com>
Cc: Neha Malcom Francis <n-francis@ti.com>
Cc: Shiva Tripathi <s-tripathi1@ti.com>
Cc: Apurva Nandan <a-nandan@ti.com>
Cc: Chintan Vankar <c-vankar@ti.com>
Cc: Francesco Dolcini <francesco.dolcini@toradex.com>
Cc: Marek Vasut <marek.vasut+renesas@mailbox.org>
Cc: Siddharth Vadapalli <s-vadapalli@ti.com>
Cc: Hrushikesh Salunke <h-salunke@ti.com>
Cc: Manorit Chawdhry <m-chawdhry@ti.com>
To: u-boot@lists.u-boot-project.org

---
Anshul Dalal (1):
      firmware: scmi: switch to dev_ofnode during bind

Bryan Brattlof (9):
      tools: binman: extend ti_secure_rom to handle op-tee
      soc: add data to identify the am62lx
      boot/Kconfig: disable fit post processing for AM62L
      arm: mach-k3: Add initial am62lx SoC support
      board: ti: am62lx: add initial board files
      configs: am62lx_evm: add initial defconfig
      doc: ti: k3: fix pygments warning parsing device-tree
      doc: board: ti: correct path to tcl scripts
      doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM

Vignesh Raghavendra (1):
      arm: dts: k3-am62lx: Add binman support

 arch/arm/dts/k3-am62l3-evm-binman.dtsi             | 218 +++++++++
 arch/arm/dts/k3-am62l3-evm-u-boot.dtsi             |  12 +
 arch/arm/mach-k3/Kconfig                           |  38 +-
 arch/arm/mach-k3/Makefile                          |   2 +
 arch/arm/mach-k3/am62lx/Kconfig                    |  23 +
 arch/arm/mach-k3/am62lx/Makefile                   |   7 +
 arch/arm/mach-k3/am62lx/am62l3_fdt.c               |  12 +
 arch/arm/mach-k3/am62lx/am62l3_init.c              |  58 +++
 arch/arm/mach-k3/am62lx/boot.c                     |  83 ++++
 arch/arm/mach-k3/am62lx/schema.yaml                | 427 +++++++++++++++++
 arch/arm/mach-k3/include/mach/am62l_hardware.h     |  48 ++
 arch/arm/mach-k3/include/mach/am62l_spl.h          |  41 ++
 arch/arm/mach-k3/include/mach/hardware.h           |   6 +
 arch/arm/mach-k3/include/mach/spl.h                |   4 +
 board/ti/am62lx/Kconfig                            |  19 +
 board/ti/am62lx/MAINTAINERS                        |   8 +
 board/ti/am62lx/Makefile                           |   7 +
 board/ti/am62lx/am62lx.env                         |   8 +
 board/ti/am62lx/board-cfg.yaml                     |  32 ++
 board/ti/am62lx/evm.c                              |  19 +
 board/ti/am62lx/sec-cfg.yaml                       | 380 +++++++++++++++
 boot/Kconfig                                       |   2 +-
 configs/am62lx_evm_defconfig                       | 139 ++++++
 doc/board/ti/am6254atl_sk.rst                      |   2 +-
 doc/board/ti/am62ax_sk.rst                         |   2 +-
 doc/board/ti/am62dx_evm.rst                        |  11 +-
 doc/board/ti/am62lx_evm.rst                        | 222 +++++++++
 doc/board/ti/am62px_sk.rst                         |  12 +-
 doc/board/ti/am62x_sk.rst                          |   2 +-
 doc/board/ti/am64x_evm.rst                         |  24 +
 doc/board/ti/am65x_evm.rst                         |   2 +-
 doc/board/ti/img/am62lx_boot_diagram_phase1.svg    | 450 ++++++++++++++++++
 doc/board/ti/img/am62lx_boot_diagram_phase2.svg    | 525 +++++++++++++++++++++
 doc/board/ti/img/am62lx_tiboot3.bin.svg            | 170 +++++++
 doc/board/ti/img/am62lx_tispl.bin.svg              | 222 +++++++++
 doc/board/ti/img/am62lx_u-boot.img.svg             | 143 ++++++
 doc/board/ti/j7200_evm.rst                         |   2 +-
 doc/board/ti/j721e_evm.rst                         |   2 +-
 doc/board/ti/j722s_evm.rst                         |   2 +-
 doc/board/ti/j784s4_evm.rst                        |   2 +-
 doc/board/ti/k3.rst                                |  39 +-
 drivers/firmware/scmi/scmi_agent-uclass.c          |   2 +-
 drivers/soc/soc_ti_k3.c                            |  11 +
 include/configs/am62l3_evm.h                       |  14 +
 tools/binman/btool/openssl.py                      |  11 +-
 tools/binman/etype/ti_secure_rom.py                |  34 +-
 tools/binman/etype/x509_cert.py                    |   4 +
 .../binman/test/vendor/ti_secure_rom_combined.dts  |   1 +
 48 files changed, 3456 insertions(+), 48 deletions(-)
---
base-commit: baa64b2f892890f00a377eac4a3e685472bb56b5
change-id: 20241025-am62lx-78cce63f43f6

Best regards,
--  
Bryan Brattlof <bb@ti.com>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v3 01/11] firmware: scmi: switch to dev_ofnode during bind
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 02/11] tools: binman: extend ti_secure_rom to handle op-tee Bryan Brattlof
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

From: Anshul Dalal <anshuld@ti.com>

When using ofnode_null() the node offset passed to the FDT API will be
-1 which is invalid and breaks probe. Switch to dev_ofnode()

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
 drivers/firmware/scmi/scmi_agent-uclass.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/scmi/scmi_agent-uclass.c b/drivers/firmware/scmi/scmi_agent-uclass.c
index cd458a7f4588..65c1ddad2b57 100644
--- a/drivers/firmware/scmi/scmi_agent-uclass.c
+++ b/drivers/firmware/scmi/scmi_agent-uclass.c
@@ -437,7 +437,7 @@ static int scmi_bind_protocols(struct udevice *dev)
 	/* initialize the device from device tree */
 	drv = DM_DRIVER_GET(scmi_base_drv);
 	name = "scmi-base.0";
-	ret = device_bind(dev, drv, name, NULL, ofnode_null(), &proto);
+	ret = device_bind(dev, drv, name, NULL, dev_ofnode(dev), &proto);
 	if (ret) {
 		dev_err(dev, "failed to bind base protocol\n");
 		return ret;

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 02/11] tools: binman: extend ti_secure_rom to handle op-tee
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 01/11] firmware: scmi: switch to dev_ofnode during bind Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 03/11] soc: add data to identify the am62lx Bryan Brattlof
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Add an optional 'tee' entry to the x509 certificate template to include
optee during the second (tispl) boot phase for the AM62L.

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Extended documentation and testing for ti-secure-rom etype
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
---
 tools/binman/btool/openssl.py                      | 11 ++++---
 tools/binman/etype/ti_secure_rom.py                | 34 +++++++++++++++++++++-
 tools/binman/etype/x509_cert.py                    |  4 +++
 .../binman/test/vendor/ti_secure_rom_combined.dts  |  1 +
 4 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/tools/binman/btool/openssl.py b/tools/binman/btool/openssl.py
index b26f087c4470..c4762f6ccee6 100644
--- a/tools/binman/btool/openssl.py
+++ b/tools/binman/btool/openssl.py
@@ -239,10 +239,10 @@ emailAddress           = {req_dist_name_dict['emailAddress']}
     def x509_cert_rom_combined(self, cert_fname, input_fname, key_fname, sw_rev,
                   config_fname, req_dist_name_dict, load_addr, sha, total_size, num_comps,
                   sysfw_inner_cert_ext_boot_sequence_string, dm_data_ext_boot_sequence_string,
-                  imagesize_sbl, hashval_sbl, load_addr_sysfw, imagesize_sysfw,
-                  hashval_sysfw, load_addr_sysfw_data, imagesize_sysfw_data,
-                  hashval_sysfw_data, sysfw_inner_cert_ext_boot_block,
-                  dm_data_ext_boot_block, bootcore_opts, debug):
+                  tee_ext_boot_sequence_string, imagesize_sbl, hashval_sbl, load_addr_sysfw,
+                  imagesize_sysfw, hashval_sysfw, load_addr_sysfw_data, imagesize_sysfw_data,
+                  hashval_sysfw_data, sysfw_inner_cert_ext_boot_block, dm_data_ext_boot_block,
+                  tee_ext_boot_block, bootcore_opts, debug):
         """Create a certificate
 
         Args:
@@ -299,6 +299,7 @@ sbl=SEQUENCE:sbl
 sysfw=SEQUENCE:sysfw
 sysfw_data=SEQUENCE:sysfw_data
 {sysfw_inner_cert_ext_boot_sequence_string}
+{tee_ext_boot_sequence_string}
 {dm_data_ext_boot_sequence_string}
 
 [sbl]
@@ -340,6 +341,8 @@ coreDbgSecEn = INTEGER:0
 
 {sysfw_inner_cert_ext_boot_block}
 
+{tee_ext_boot_block}
+
 {dm_data_ext_boot_block}
         ''', file=outf)
         args = ['req', '-new', '-x509', '-key', key_fname, '-nodes',
diff --git a/tools/binman/etype/ti_secure_rom.py b/tools/binman/etype/ti_secure_rom.py
index 7e90c6559409..0d7d3e602a9a 100644
--- a/tools/binman/etype/ti_secure_rom.py
+++ b/tools/binman/etype/ti_secure_rom.py
@@ -42,10 +42,12 @@ class Entry_ti_secure_rom(Entry_x509_cert):
         - content-sysfw-data: phandle of sysfw-data or tifs-data binary
         - content-sysfw-inner-cert (optional): phandle of sysfw inner certificate binary
         - content-dm-data (optional): phandle of dm-data binary
+        - content-tee (optional): phandle of the tee binary
         - load-sysfw: load address of sysfw binary
         - load-sysfw-data: load address of sysfw-data or tifs-data binary
         - load-sysfw-inner-cert (optional): load address of sysfw inner certificate binary
         - load-dm-data (optional): load address of dm-data binary
+        - load-tee (optional): load address of the tee binary
 
     Output files:
         - input.<unique_name> - input file passed to openssl
@@ -80,6 +82,11 @@ class Entry_ti_secure_rom(Entry_x509_cert):
             self.dm_data = fdt_util.GetBool(self._node, 'dm-data', False)
             if self.dm_data:
                 self.load_addr_dm_data = fdt_util.GetInt(self._node, 'load-dm-data', 0x00000000)
+
+        self.tee = fdt_util.GetBool(self._node, 'content-tee', False)
+        if self.tee:
+            self.load_addr_tee = fdt_util.GetInt(self._node, 'load-tee', 0x00000000)
+
         self.req_dist_name = {'C': 'US',
                     'ST': 'TX',
                     'L': 'Dallas',
@@ -219,7 +226,32 @@ compSize = INTEGER:{imagesize_dm_data}
 shaType  = OID:{self.sha_type}
 shaValue = FORMAT:HEX,OCT:{hashval_dm_data}"""
 
-        self.total_size = self.imagesize_sbl +  self.imagesize_sysfw + self.imagesize_sysfw_data + imagesize_sysfw_inner_cert + imagesize_dm_data
+        # tee
+        self.tee_ext_boot_sequence_string = ""
+        self.tee_ext_boot_block = ""
+        imagesize_tee = 0
+        if self.tee:
+            self.content = fdt_util.GetPhandleList(self._node, 'content-tee')
+            input_data_tee = self.GetContents(required)
+
+            input_fname_tee = tools.get_output_filename('input.%s' % uniq)
+            tools.write_file(input_fname_tee, input_data_tee)
+
+            indata_tee = tools.read_file(input_fname_tee)
+            hashval_tee = hashlib.sha512(indata_tee).hexdigest()
+            imagesize_tee = len(indata_tee)
+            self.num_comps += 1
+            self.tee_ext_boot_sequence_string = "tee=SEQUENCE:tee"
+            self.tee_ext_boot_block = f"""[tee]
+compType = INTEGER:17
+bootCore = INTEGER:16
+compOpts = INTEGER:0
+destAddr = FORMAT:HEX,OCT:{self.load_addr_tee:08x}
+compSize = INTEGER:{imagesize_tee}
+shaType  = OID:{self.sha_type}
+shaValue = FORMAT:HEX,OCT:{hashval_tee}"""
+
+        self.total_size = self.imagesize_sbl +  self.imagesize_sysfw + self.imagesize_sysfw_data + imagesize_sysfw_inner_cert + imagesize_dm_data + imagesize_tee
         return super().GetCertificate(required=required, type='rom-combined')
 
     def GetCertificate(self, required):
diff --git a/tools/binman/etype/x509_cert.py b/tools/binman/etype/x509_cert.py
index b6e8b0b4fb09..79b7b37baee7 100644
--- a/tools/binman/etype/x509_cert.py
+++ b/tools/binman/etype/x509_cert.py
@@ -41,6 +41,7 @@ class Entry_x509_cert(Entry_collection):
         self.num_comps = None
         self.sysfw_inner_cert_ext_boot_sequence_string = None
         self.dm_data_ext_boot_sequence_string = None
+        self.tee_ext_boot_sequence_string = None
         self.imagesize_sbl = None
         self.hashval_sbl = None
         self.load_addr_sysfw = None
@@ -51,6 +52,7 @@ class Entry_x509_cert(Entry_collection):
         self.hashval_sysfw_data = None
         self.sysfw_inner_cert_ext_boot_block = None
         self.dm_data_ext_boot_block = None
+        self.tee_ext_boot_block = None
         self.firewall_cert_data = None
         self.debug = False
 
@@ -132,6 +134,7 @@ class Entry_x509_cert(Entry_collection):
                 num_comps=self.num_comps,
                 sysfw_inner_cert_ext_boot_sequence_string=self.sysfw_inner_cert_ext_boot_sequence_string,
                 dm_data_ext_boot_sequence_string=self.dm_data_ext_boot_sequence_string,
+                tee_ext_boot_sequence_string=self.tee_ext_boot_sequence_string,
                 imagesize_sbl=self.imagesize_sbl,
                 hashval_sbl=self.hashval_sbl,
                 load_addr_sysfw=self.load_addr_sysfw,
@@ -142,6 +145,7 @@ class Entry_x509_cert(Entry_collection):
                 hashval_sysfw_data=self.hashval_sysfw_data,
                 sysfw_inner_cert_ext_boot_block=self.sysfw_inner_cert_ext_boot_block,
                 dm_data_ext_boot_block=self.dm_data_ext_boot_block,
+                tee_ext_boot_block=self.tee_ext_boot_block,
                 bootcore_opts=self.bootcore_opts,
                 debug=self.debug
             )
diff --git a/tools/binman/test/vendor/ti_secure_rom_combined.dts b/tools/binman/test/vendor/ti_secure_rom_combined.dts
index bf872739bc13..ea246599c6c6 100644
--- a/tools/binman/test/vendor/ti_secure_rom_combined.dts
+++ b/tools/binman/test/vendor/ti_secure_rom_combined.dts
@@ -14,6 +14,7 @@
 			content-sysfw-data = <&unsecure_binary>;
 			content-sysfw-inner-cert = <&unsecure_binary>;
 			content-dm-data = <&unsecure_binary>;
+			content-tee = <&unsecure_binary>;
 			combined;
 			sysfw-inner-cert;
 			dm-data;

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 03/11] soc: add data to identify the am62lx
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 01/11] firmware: scmi: switch to dev_ofnode during bind Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 02/11] tools: binman: extend ti_secure_rom to handle op-tee Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 04/11] boot/Kconfig: disable fit post processing for AM62L Bryan Brattlof
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Include the part number for TI's am62lx family of SoCs so we can
properly identify it during boot.

Tested-by: Anshul Dalal <anshuld@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Capitalized 'Include' in commit message
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
---
 arch/arm/mach-k3/include/mach/hardware.h |  2 ++
 drivers/soc/soc_ti_k3.c                  | 11 +++++++++++
 2 files changed, 13 insertions(+)

diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h
index 2c771a1195f5..6b86f6ed12e6 100644
--- a/arch/arm/mach-k3/include/mach/hardware.h
+++ b/arch/arm/mach-k3/include/mach/hardware.h
@@ -56,6 +56,7 @@
 #define JTAG_ID_PARTNO_SHIFT	12
 #define JTAG_ID_PARTNO_MASK	(0xffff << 12)
 #define JTAG_ID_PARTNO_AM62AX   0xbb8d
+#define JTAG_ID_PARTNO_AM62LX	0xbba7
 #define JTAG_ID_PARTNO_AM62PX	0xbb9d
 #define JTAG_ID_PARTNO_AM62X	0xbb7e
 #define JTAG_ID_PARTNO_AM64X	0xbb38
@@ -81,6 +82,7 @@ static inline bool soc_is_##id(void) \
 }
 K3_SOC_ID(am62x, AM62X)
 K3_SOC_ID(am62ax, AM62AX)
+K3_SOC_ID(am62lx, AM62LX)
 K3_SOC_ID(am62px, AM62PX)
 K3_SOC_ID(am64x, AM64X)
 K3_SOC_ID(am65x, AM65X)
diff --git a/drivers/soc/soc_ti_k3.c b/drivers/soc/soc_ti_k3.c
index b34cbd08e073..6ffd88f22c09 100644
--- a/drivers/soc/soc_ti_k3.c
+++ b/drivers/soc/soc_ti_k3.c
@@ -36,6 +36,9 @@ static const char *get_family_string(u32 idreg)
 	case JTAG_ID_PARTNO_AM62PX:
 		family = "AM62PX";
 		break;
+	case JTAG_ID_PARTNO_AM62LX:
+		family = "AM62LX";
+		break;
 	case JTAG_ID_PARTNO_AM64X:
 		family = "AM64X";
 		break;
@@ -72,6 +75,10 @@ static const char *get_family_string(u32 idreg)
 	return family;
 }
 
+static char *am62lx_rev_string_map[] = {
+	"1.0", "1.1",
+};
+
 static char *j721e_rev_string_map[] = {
 	"1.0", "1.1", "2.0",
 };
@@ -89,6 +96,10 @@ static const char *get_rev_string(u32 idreg)
 	soc = (idreg & JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
 
 	switch (soc) {
+	case JTAG_ID_PARTNO_AM62LX:
+		if (rev >= ARRAY_SIZE(am62lx_rev_string_map))
+			goto bail;
+		return am62lx_rev_string_map[rev];
 	case JTAG_ID_PARTNO_J721E:
 		if (rev >= ARRAY_SIZE(j721e_rev_string_map))
 			goto bail;

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 04/11] boot/Kconfig: disable fit post processing for AM62L
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (2 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 03/11] soc: add data to identify the am62lx Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support Bryan Brattlof
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

The AM62L family of SoCs utilize a 2 stage ROM boot which uses x509
certificates for booting securely. There is no need for processing of a
fitImage. Disable it for the AM62L SoC family.

Tested-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
 boot/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boot/Kconfig b/boot/Kconfig
index c67dc0ba4932..b942be6ceb3b 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -335,7 +335,7 @@ config SPL_LOAD_FIT_FULL
 config SPL_FIT_IMAGE_POST_PROCESS
 	bool "Enable post-processing of FIT artifacts after loading by the SPL"
 	depends on SPL_LOAD_FIT
-	default y if TI_SECURE_DEVICE
+	default y if (TI_SECURE_DEVICE && !SOC_K3_AM62L3)
 	help
 	  Allows doing any sort of manipulation to blobs after they got extracted
 	  from the U-Boot FIT image like stripping off headers or modifying the

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (3 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 04/11] boot/Kconfig: disable fit post processing for AM62L Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:12   ` Anshul Dalal
  2026-08-04  0:09 ` [PATCH v3 06/11] board: ti: am62lx: add initial board files Bryan Brattlof
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Add initial mach-k3 files needed to support boards based on the AM62L
family of SoCs

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Added TI Copyright
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com

Changes in v2:
- Coalesced boot parameter table Kconfig address
- Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com
---
 arch/arm/mach-k3/Kconfig                       |  17 +-
 arch/arm/mach-k3/Makefile                      |   2 +
 arch/arm/mach-k3/am62lx/Kconfig                |  23 ++
 arch/arm/mach-k3/am62lx/Makefile               |   7 +
 arch/arm/mach-k3/am62lx/am62l3_fdt.c           |  12 +
 arch/arm/mach-k3/am62lx/am62l3_init.c          |  58 ++++
 arch/arm/mach-k3/am62lx/boot.c                 |  83 +++++
 arch/arm/mach-k3/am62lx/schema.yaml            | 427 +++++++++++++++++++++++++
 arch/arm/mach-k3/include/mach/am62l_hardware.h |  48 +++
 arch/arm/mach-k3/include/mach/am62l_spl.h      |  41 +++
 arch/arm/mach-k3/include/mach/hardware.h       |   4 +
 arch/arm/mach-k3/include/mach/spl.h            |   4 +
 include/configs/am62l3_evm.h                   |  14 +
 13 files changed, 736 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
index a32ed3a9683f..8249fc97bc93 100644
--- a/arch/arm/mach-k3/Kconfig
+++ b/arch/arm/mach-k3/Kconfig
@@ -10,6 +10,15 @@ config SOC_K3_AM625
 config SOC_K3_AM62A7
 	bool "TI's K3 based AM62A7 SoC Family Support"
 
+config SOC_K3_AM62L3
+	bool "TI's K3 based AM62L3 SoC Family Support"
+	select CLK_SCMI
+	select SPL_CLK_SCMI
+	select SCMI_FIRMWARE
+	select SCMI_POWER_DOMAIN
+	select SPL_SCMI_POWER_DOMAIN
+	select SYSRESET_PSCI
+
 config SOC_K3_AM62P5
 	bool "TI's K3 based AM62P5 SoC Family Support"
 
@@ -81,11 +90,9 @@ config SYS_K3_BOOT_PARAM_TABLE_INDEX
 	default 0x41cffbfc if SOC_K3_J721E || SOC_K3_J7200
 	default 0x41cfdbfc if SOC_K3_J721S2 || SOC_K3_J784S4
 	default 0x701bebfc if SOC_K3_AM642
-	default 0x43c3f290 if SOC_K3_AM625
+	default 0x43c3f290 if SOC_K3_AM625 || SOC_K3_AM62L3 || SOC_K3_AM62P5 || SOC_K3_J722S
 	default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
 	default 0x7000f290 if SOC_K3_AM62A7 && ARM64
-	default 0x43c4f290 if SOC_K3_AM62P5
-	default 0x43c7f290 if SOC_K3_J722S
 	help
 	  Address at which ROM stores the value which determines if SPL
 	  is booted up by primary boot media or secondary boot media.
@@ -124,7 +131,7 @@ config K3_EARLY_CONS_IDX
 
 config K3_ATF_LOAD_ADDR
 	hex "Load address of ATF image"
-	default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
+	default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S || SOC_K3_AM62L3)
 	default 0x70000000
 	help
 	  The load address for the ATF image. This value is used to build the
@@ -133,6 +140,7 @@ config K3_ATF_LOAD_ADDR
 config K3_ATF_RESERVED_SIZE
 	hex "Reserved memory size for ATF"
 	default 0x80000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
+	default 0x200000 if SOC_K3_AM62L3
 	default 0x20000
 	help
 	  The runtime memory size reserved for ATF. This value is used to fixup the
@@ -206,6 +214,7 @@ source "arch/arm/mach-k3/am65x/Kconfig"
 source "arch/arm/mach-k3/am64x/Kconfig"
 source "arch/arm/mach-k3/am62x/Kconfig"
 source "arch/arm/mach-k3/am62ax/Kconfig"
+source "arch/arm/mach-k3/am62lx/Kconfig"
 source "arch/arm/mach-k3/am62px/Kconfig"
 source "arch/arm/mach-k3/j721e/Kconfig"
 source "arch/arm/mach-k3/j7200/Kconfig"
diff --git a/arch/arm/mach-k3/Makefile b/arch/arm/mach-k3/Makefile
index b2fd5810b67c..66ae20143b6f 100644
--- a/arch/arm/mach-k3/Makefile
+++ b/arch/arm/mach-k3/Makefile
@@ -6,9 +6,11 @@
 obj-$(CONFIG_ARM64) += arm64/
 obj-$(CONFIG_CPU_V7R) += r5/
 obj-$(CONFIG_OF_LIBFDT) += common_fdt.o
+
 obj-y += common.o security.o k3-ddr.o
 obj-$(CONFIG_SOC_K3_AM62A7) += am62ax/
 obj-$(CONFIG_SOC_K3_AM62P5) += am62px/
+obj-$(CONFIG_SOC_K3_AM62L3) += am62lx/
 obj-$(CONFIG_SOC_K3_AM625) += am62x/
 obj-$(CONFIG_SOC_K3_AM642) += am64x/
 obj-$(CONFIG_SOC_K3_AM654) += am65x/
diff --git a/arch/arm/mach-k3/am62lx/Kconfig b/arch/arm/mach-k3/am62lx/Kconfig
new file mode 100644
index 000000000000..d9609a91993a
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/Kconfig
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+
+if SOC_K3_AM62L3
+
+choice
+	prompt "TI K3 AM62Lx based boards"
+	optional
+
+config TARGET_AM62L3_EVM
+	bool "TI K3 based AM62L5 EVM"
+	select ARM64
+	select BINMAN
+	select OF_UPSTREAM
+	select OF_SYSTEM_SETUP
+
+endchoice
+
+source "board/ti/am62lx/Kconfig"
+
+endif
diff --git a/arch/arm/mach-k3/am62lx/Makefile b/arch/arm/mach-k3/am62lx/Makefile
new file mode 100644
index 000000000000..c97ffe27492f
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/Makefile
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+obj-$(CONFIG_OF_SYSTEM_SETUP) += am62l3_fdt.o
+obj-$(CONFIG_SPL_BUILD) += am62l3_init.o
+obj-y += boot.o
diff --git a/arch/arm/mach-k3/am62lx/am62l3_fdt.c b/arch/arm/mach-k3/am62lx/am62l3_fdt.c
new file mode 100644
index 000000000000..da8c2d18ba86
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/am62l3_fdt.c
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include <asm/arch/k3-common-fdt.h>
+#include <fdt_support.h>
+
+int ft_system_setup(void *blob, struct bd_info *bd)
+{
+	return fdt_fixup_reserved(blob);
+}
diff --git a/arch/arm/mach-k3/am62lx/am62l3_init.c b/arch/arm/mach-k3/am62lx/am62l3_init.c
new file mode 100644
index 000000000000..ee2a50f808d0
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/am62l3_init.c
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * AM62Lx: SoC specific initialization
+ *
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include <asm/arch/hardware.h>
+#include <asm/io.h>
+#include <dm.h>
+#include <dm/uclass-internal.h>
+#include <hang.h>
+#include <spl.h>
+
+#include "../common.h"
+
+void board_init_f(ulong dummy)
+{
+	int ret;
+
+	ret = spl_early_init();
+	if (ret) {
+		debug("spl_early_init() failed: %d\n", ret);
+		hang();
+	}
+
+	preloader_console_init();
+	debug("am62lx_init: %s done\n", __func__);
+}
+
+u32 spl_boot_device(void)
+{
+	return get_boot_device();
+}
+
+u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
+{
+	u32 devstat = readl(CTRLMMR_MAIN_DEVSTAT);
+	u32 bootmode = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK) >>
+		MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT;
+	u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK) >>
+		MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT;
+
+	switch (bootmode) {
+	case BOOT_DEVICE_EMMC:
+		if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT))
+			return MMCSD_MODE_EMMCBOOT;
+		if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4))
+			return MMCSD_MODE_FS;
+		return MMCSD_MODE_EMMCBOOT;
+	case BOOT_DEVICE_MMC:
+		if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
+			return MMCSD_MODE_RAW;
+	default:
+		return MMCSD_MODE_FS;
+	}
+}
+
diff --git a/arch/arm/mach-k3/am62lx/boot.c b/arch/arm/mach-k3/am62lx/boot.c
new file mode 100644
index 000000000000..77ddabce856d
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/boot.c
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0+
+// SPDX-FileCopyrightText: Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/am62l_spl.h>
+
+static u32 get_backup_bootmedia(u32 devstat)
+{
+	u32 bootmode = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK) >>
+				MAIN_DEVSTAT_BACKUP_BOOTMODE_SHIFT;
+	u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_MASK) >>
+				MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_SHIFT;
+
+	switch (bootmode) {
+	case BACKUP_BOOT_DEVICE_UART:
+		return BOOT_DEVICE_UART;
+
+	case BACKUP_BOOT_DEVICE_MMC:
+		if (bootmode_cfg)
+			return BOOT_DEVICE_MMC2;
+		return BOOT_DEVICE_MMC1;
+
+	case BACKUP_BOOT_DEVICE_SPI:
+		return BOOT_DEVICE_SPI;
+
+	case BACKUP_BOOT_DEVICE_DFU:
+		if (bootmode_cfg & MAIN_DEVSTAT_BACKUP_USB_MODE_MASK)
+			return BOOT_DEVICE_USB;
+		return BOOT_DEVICE_DFU;
+	};
+
+	return BOOT_DEVICE_RAM;
+}
+
+static u32 get_primary_bootmedia(u32 devstat)
+{
+	u32 bootmode = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK) >>
+				MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT;
+	u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK) >>
+				MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT;
+
+	switch (bootmode) {
+	case BOOT_DEVICE_XSPI_FAST:
+	case BOOT_DEVICE_XSPI:
+	case BOOT_DEVICE_OSPI:
+	case BOOT_DEVICE_QSPI:
+	case BOOT_DEVICE_SPI:
+		return BOOT_DEVICE_SPI;
+
+	case BOOT_DEVICE_EMMC:
+		return BOOT_DEVICE_MMC1;
+
+	case BOOT_DEVICE_SPI_NAND:
+		return BOOT_DEVICE_SPI_NAND;
+
+	case BOOT_DEVICE_MMC:
+		if ((bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_PORT_MASK) >>
+				MAIN_DEVSTAT_PRIMARY_MMC_PORT_SHIFT)
+			return BOOT_DEVICE_MMC2;
+		return BOOT_DEVICE_MMC1;
+
+	case BOOT_DEVICE_DFU:
+		if ((bootmode_cfg & MAIN_DEVSTAT_PRIMARY_USB_MODE_MASK) >>
+		    MAIN_DEVSTAT_PRIMARY_USB_MODE_SHIFT)
+			return BOOT_DEVICE_USB;
+		return BOOT_DEVICE_DFU;
+
+	case BOOT_DEVICE_NOBOOT:
+		return BOOT_DEVICE_RAM;
+	}
+
+	return bootmode;
+}
+
+u32 get_boot_device(void)
+{
+	u32 devstat = readl(CTRLMMR_MAIN_DEVSTAT);
+	u32 bootmode = *(u32 *)(K3_BOOT_PARAM_TABLE_INDEX_OCRAM);
+
+	if (bootmode == K3_PRIMARY_BOOTMODE)
+		return get_primary_bootmedia(devstat);
+	return get_backup_bootmedia(devstat);
+}
diff --git a/arch/arm/mach-k3/am62lx/schema.yaml b/arch/arm/mach-k3/am62lx/schema.yaml
new file mode 100644
index 000000000000..c1dcd9ced403
--- /dev/null
+++ b/arch/arm/mach-k3/am62lx/schema.yaml
@@ -0,0 +1,427 @@
+# SPDX-License-Identifier: GPL-2.0-only OR MIT
+#
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Config schema for TI AM62L devices
+#
+
+---
+
+definitions:
+    u8:
+        type: integer
+        minimum: 0
+        maximum: 0xff
+    u16:
+        type: integer
+        minimum: 0
+        maximum: 0xffff
+    u32:
+        type: integer
+        minimum: 0
+        maximum: 0xffffffff
+
+
+
+type: object
+properties:
+    pm-cfg:
+        type: object
+        properties:
+            rev:
+                type: object
+                properties:
+                    boardcfg_abi_maj:
+                        $ref: "#/definitions/u8"
+                    boardcfg_abi_min:
+                        $ref: "#/definitions/u8"
+    board-cfg:
+        type: object
+        properties:
+            rev:
+                type: object
+                properties:
+                    boardcfg_abi_maj:
+                        $ref: "#/definitions/u8"
+                    boardcfg_abi_min:
+                        $ref: "#/definitions/u8"
+            control:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    main_isolation_enable:
+                        $ref: "#/definitions/u8"
+                    main_isolation_hostid:
+                        $ref: "#/definitions/u16"
+
+            bm_writer_cfg:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    allowed_host:
+                        $ref : "#/definitions/u8"
+
+            reserved:
+                type: array
+                minItems: 7
+                maxItems: 7
+                items:
+                    $ref: "#/definitions/u8"
+
+            debug_cfg:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    trace_dst_enables:
+                        $ref: "#/definitions/u16"
+                    trace_src_enables:
+                        $ref: "#/definitions/u16"
+
+    sec-cfg:
+        type: object
+        properties:
+            rev:
+                type: object
+                properties:
+                    boardcfg_abi_maj:
+                        $ref: "#/definitions/u8"
+                    boardcfg_abi_min:
+                        $ref: "#/definitions/u8"
+
+            processor_acl_list:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    proc_acl_entries:
+                        type: array
+                        minItems: 32
+                        maxItems: 32
+                        items:
+                            type: object
+                            properties:
+                                processor_id:
+                                    $ref: "#/definitions/u8"
+                                proc_access_master:
+                                    $ref: "#/definitions/u8"
+                                proc_access_secondary:
+                                    type: array
+                                    minItems: 3
+                                    maxItems: 3
+                                    items:
+                                        $ref: "#/definitions/u8"
+            host_hierarchy:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    host_hierarchy_entries:
+                        type: array
+                        minItems: 32
+                        maxItems: 32
+                        items:
+                            type: object
+                            properties:
+                                host_id:
+                                    $ref: "#/definitions/u8"
+                                supervisor_host_id:
+                                    $ref: "#/definitions/u8"
+
+            otp_config:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    otp_entry:
+                        type: array
+                        minItems: 32
+                        maxItems: 32
+                        items:
+                            type: object
+                            properties:
+                                host_id:
+                                    $ref: "#/definitions/u8"
+                                host_perms:
+                                    $ref: "#/definitions/u8"
+                    write_host_id:
+                        $ref: "#/definitions/u8"
+
+            dkek_config:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    allowed_hosts:
+                        type: array
+                        minItems: 4
+                        maxItems: 4
+                        items:
+                            $ref: "#/definitions/u8"
+                    allow_dkek_export_tisci:
+                        $ref: "#/definitions/u8"
+                    rsvd:
+                        type: array
+                        minItems: 3
+                        maxItems: 3
+                        items:
+                            $ref: "#/definitions/u8"
+
+            sa2ul_cfg:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    rsvd:
+                        type: array
+                        minItems: 2
+                        maxItems: 4
+                        items:
+                            $ref: "#/definitions/u8"
+                    enable_saul_psil_global_config_writes:
+                        $ref: "#/definitions/u8"
+                    auth_resource_owner:
+                        $ref: "#/definitions/u8"
+
+            sec_dbg_config:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    allow_jtag_unlock:
+                        $ref: "#/definitions/u8"
+                    allow_wildcard_unlock:
+                        $ref: "#/definitions/u8"
+                    allowed_debug_level_rsvd:
+                        $ref: "#/definitions/u8"
+                    rsvd:
+                        $ref: "#/definitions/u8"
+                    min_cert_rev:
+                        $ref: "#/definitions/u32"
+                    jtag_unlock_hosts:
+                        type: array
+                        minItems: 4
+                        maxItems: 4
+                        items:
+                            $ref: "#/definitions/u8"
+
+
+            sec_handover_cfg:
+                type: object
+                properties:
+                    subhdr:
+                        type: object
+                        properties:
+                            magic:
+                                $ref: "#/definitions/u16"
+                            size:
+                                $ref: "#/definitions/u16"
+                    handover_msg_sender:
+                        $ref: "#/definitions/u8"
+                    handover_to_host_id:
+                        $ref: "#/definitions/u8"
+                    rsvd:
+                        type: array
+                        minItems: 4
+                        maxItems: 4
+                        items:
+                            $ref: "#/definitions/u8"
+
+    rm-cfg:
+        type: object
+        properties:
+            rm_boardcfg:
+                type: object
+                properties:
+                    rev:
+                        type: object
+                        properties:
+                            boardcfg_abi_maj:
+                                $ref: "#/definitions/u8"
+                            boardcfg_abi_min:
+                                $ref: "#/definitions/u8"
+
+                    host_cfg:
+                        type: object
+                        properties:
+                            subhdr:
+                                type: object
+                                properties:
+                                    magic:
+                                        $ref: "#/definitions/u16"
+                                    size:
+                                        $ref: "#/definitions/u16"
+                            host_cfg_entries:
+                                type: array
+                                minItems: 0
+                                maxItems: 32
+                                items:
+                                    type: object
+                                    properties:
+                                        host_id:
+                                            $ref: "#/definitions/u8"
+                                        allowed_atype:
+                                            $ref: "#/definitions/u8"
+                                        allowed_qos:
+                                            $ref: "#/definitions/u16"
+                                        allowed_orderid:
+                                            $ref: "#/definitions/u32"
+                                        allowed_priority:
+                                            $ref: "#/definitions/u16"
+                                        allowed_sched_priority:
+                                            $ref: "#/definitions/u8"
+                    resasg:
+                        type: object
+                        properties:
+                            subhdr:
+                                type: object
+                                properties:
+                                    magic:
+                                        $ref: "#/definitions/u16"
+                                    size:
+                                        $ref: "#/definitions/u16"
+                            resasg_entries_size:
+                                        $ref: "#/definitions/u16"
+                            reserved:
+                                        $ref: "#/definitions/u16"
+
+            resasg_entries:
+                type: array
+                minItems: 0
+                maxItems: 468
+                items:
+                    type: object
+                    properties:
+                        start_resource:
+                            $ref: "#/definitions/u16"
+                        num_resource:
+                            $ref: "#/definitions/u16"
+                        type:
+                            $ref: "#/definitions/u16"
+                        host_id:
+                            $ref: "#/definitions/u8"
+                        reserved:
+                            $ref: "#/definitions/u8"
+
+    tifs-rm-cfg:
+        type: object
+        properties:
+            rm_boardcfg:
+                type: object
+                properties:
+                    rev:
+                        type: object
+                        properties:
+                            boardcfg_abi_maj:
+                                $ref: "#/definitions/u8"
+                            boardcfg_abi_min:
+                                $ref: "#/definitions/u8"
+
+                    host_cfg:
+                        type: object
+                        properties:
+                            subhdr:
+                                type: object
+                                properties:
+                                    magic:
+                                        $ref: "#/definitions/u16"
+                                    size:
+                                        $ref: "#/definitions/u16"
+                            host_cfg_entries:
+                                type: array
+                                minItems: 0
+                                maxItems: 32
+                                items:
+                                    type: object
+                                    properties:
+                                        host_id:
+                                            $ref: "#/definitions/u8"
+                                        allowed_atype:
+                                            $ref: "#/definitions/u8"
+                                        allowed_qos:
+                                            $ref: "#/definitions/u16"
+                                        allowed_orderid:
+                                            $ref: "#/definitions/u32"
+                                        allowed_priority:
+                                            $ref: "#/definitions/u16"
+                                        allowed_sched_priority:
+                                            $ref: "#/definitions/u8"
+                    resasg:
+                        type: object
+                        properties:
+                            subhdr:
+                                type: object
+                                properties:
+                                    magic:
+                                        $ref: "#/definitions/u16"
+                                    size:
+                                        $ref: "#/definitions/u16"
+                            resasg_entries_size:
+                                        $ref: "#/definitions/u16"
+                            reserved:
+                                        $ref: "#/definitions/u16"
+
+            resasg_entries:
+                type: array
+                minItems: 0
+                maxItems: 468
+                items:
+                    type: object
+                    properties:
+                        start_resource:
+                            $ref: "#/definitions/u16"
+                        num_resource:
+                            $ref: "#/definitions/u16"
+                        type:
+                            $ref: "#/definitions/u16"
+                        host_id:
+                            $ref: "#/definitions/u8"
+                        reserved:
+                            $ref: "#/definitions/u8"
diff --git a/arch/arm/mach-k3/include/mach/am62l_hardware.h b/arch/arm/mach-k3/include/mach/am62l_hardware.h
new file mode 100644
index 000000000000..7791511ff2a2
--- /dev/null
+++ b/arch/arm/mach-k3/include/mach/am62l_hardware.h
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * AM62Lx SoC definitions, structures etc.
+ *
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#ifndef __ASM_ARCH_AM62L_HARDWARE_H
+#define __ASM_ARCH_AM62L_HARDWARE_H
+
+#include <config.h>
+#ifndef __ASSEMBLY__
+#include <linux/bitops.h>
+#endif
+
+#define CTRL_MMR0_BASE				0x00100000
+#define WKUP_CTRL_MMR0_BASE			0x43000000
+#define WKUP_CTRL_MMR1_BASE			0x43010000
+
+#define CTRLMMR_MAIN_DEVSTAT			(WKUP_CTRL_MMR1_BASE + 0x30)
+#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK	GENMASK(6, 3)
+#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT	3
+#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK	GENMASK(9, 7)
+#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT	7
+#define MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK	GENMASK(12, 10)
+#define MAIN_DEVSTAT_BACKUP_BOOTMODE_SHIFT	10
+#define MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_MASK	BIT(13)
+#define MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_SHIFT	13
+
+/* Primary Bootmode MMC Config macros */
+#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_MASK	BIT(2)
+#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_SHIFT	2
+#define MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK	BIT(0)
+#define MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_SHIFT	0
+
+/* Primary Bootmode USB Config macros */
+#define MAIN_DEVSTAT_PRIMARY_USB_MODE_SHIFT	1
+#define MAIN_DEVSTAT_PRIMARY_USB_MODE_MASK	BIT(1)
+
+/* Backup Bootmode USB Config macros */
+#define MAIN_DEVSTAT_BACKUP_USB_MODE_MASK	BIT(0)
+
+/* address boot rom leaves its boot structure */
+#define K3_BOOT_PARAM_TABLE_INDEX_OCRAM		0x70816e70
+
+static const u32 put_core_ids[] = {};
+
+#endif /* __ASM_ARCH_AM62L_HARDWARE_H */
diff --git a/arch/arm/mach-k3/include/mach/am62l_spl.h b/arch/arm/mach-k3/include/mach/am62l_spl.h
new file mode 100644
index 000000000000..52d702d179c6
--- /dev/null
+++ b/arch/arm/mach-k3/include/mach/am62l_spl.h
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#ifndef _ASM_ARCH_AM62L_SPL_H_
+#define _ASM_ARCH_AM62L_SPL_H_
+
+/* Primary BootMode devices */
+#define BOOT_DEVICE_SPI_NAND		0x00
+#define BOOT_DEVICE_RAM			0xFF
+#define BOOT_DEVICE_OSPI		0x01
+#define BOOT_DEVICE_QSPI		0x02
+#define BOOT_DEVICE_SPI			0x03
+#define BOOT_DEVICE_UART		0x07
+#define BOOT_DEVICE_MMC			0x08
+#define BOOT_DEVICE_EMMC		0x09
+#define BOOT_DEVICE_USB			0x0A
+#define BOOT_DEVICE_DFU			0x0A
+#define BOOT_DEVICE_GPMC_NAND		0x0B
+#define BOOT_DEVICE_XSPI_FAST		0x0D
+#define BOOT_DEVICE_XSPI		0x0E
+#define BOOT_DEVICE_NOBOOT		0x0F
+
+/* U-Boot used aliases */
+#define BOOT_DEVICE_MMC2		BOOT_DEVICE_MMC
+#define BOOT_DEVICE_MMC1		BOOT_DEVICE_EMMC
+/* Invalid Choices for the AM62Lx */
+#define BOOT_DEVICE_MMC2_2		0x1F
+#define BOOT_DEVICE_ETHERNET		0x1F
+
+/* Backup BootMode devices */
+#define BACKUP_BOOT_DEVICE_USB		0x01
+#define BACKUP_BOOT_DEVICE_DFU		0x01
+#define BACKUP_BOOT_DEVICE_UART		0x03
+#define BACKUP_BOOT_DEVICE_MMC		0x05
+#define BACKUP_BOOT_DEVICE_SPI		0x06
+
+#define K3_PRIMARY_BOOTMODE		0x0
+
+#endif /* _ASM_ARCH_AM62L_SPL_H_ */
diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h
index 6b86f6ed12e6..cbf43deaa3fc 100644
--- a/arch/arm/mach-k3/include/mach/hardware.h
+++ b/arch/arm/mach-k3/include/mach/hardware.h
@@ -16,6 +16,10 @@
 #include "am62a_hardware.h"
 #endif
 
+#ifdef CONFIG_SOC_K3_AM62L3
+#include "am62l_hardware.h"
+#endif
+
 #ifdef CONFIG_SOC_K3_AM62P5
 #include "am62p_hardware.h"
 #endif
diff --git a/arch/arm/mach-k3/include/mach/spl.h b/arch/arm/mach-k3/include/mach/spl.h
index a47441ae6a59..ff0b5d41b9f1 100644
--- a/arch/arm/mach-k3/include/mach/spl.h
+++ b/arch/arm/mach-k3/include/mach/spl.h
@@ -46,4 +46,8 @@
 #include "j722s_spl.h"
 #endif
 
+#ifdef CONFIG_SOC_K3_AM62L3
+#include "am62l_spl.h"
+#endif
+
 #endif /* _ASM_ARCH_SPL_H_ */
diff --git a/include/configs/am62l3_evm.h b/include/configs/am62l3_evm.h
new file mode 100644
index 000000000000..181d450daf10
--- /dev/null
+++ b/include/configs/am62l3_evm.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Configuration header file for K3 AM62L SoC family
+ *
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ *
+ */
+
+#ifndef __CONFIG_AM62L3_EVM_H
+#define __CONFIG_AM62L3_EVM_H
+
+#include <configs/ti_armv7_common.h>
+
+#endif /* __CONFIG_AM62L3_EVM_H */

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 06/11] board: ti: am62lx: add initial board files
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (4 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:14   ` Anshul Dalal
  2026-08-04  0:09 ` [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support Bryan Brattlof
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Add the initial board files to support the AM62L3-SK reference boards
for basic boot via SD and MMC

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Removed 'emulated' from the board configuration file
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
---
 board/ti/am62lx/Kconfig        |  19 +++
 board/ti/am62lx/MAINTAINERS    |   8 +
 board/ti/am62lx/Makefile       |   7 +
 board/ti/am62lx/am62lx.env     |   8 +
 board/ti/am62lx/board-cfg.yaml |  32 ++++
 board/ti/am62lx/evm.c          |  19 +++
 board/ti/am62lx/sec-cfg.yaml   | 380 +++++++++++++++++++++++++++++++++++++++++
 7 files changed, 473 insertions(+)

diff --git a/board/ti/am62lx/Kconfig b/board/ti/am62lx/Kconfig
new file mode 100644
index 000000000000..2ee6d0221178
--- /dev/null
+++ b/board/ti/am62lx/Kconfig
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+
+if TARGET_AM62L3_EVM
+
+config SYS_BOARD
+	default "am62lx"
+
+config SYS_VENDOR
+	default "ti"
+
+config SYS_CONFIG_NAME
+	default "am62l3_evm"
+
+source "board/ti/common/Kconfig"
+
+endif
diff --git a/board/ti/am62lx/MAINTAINERS b/board/ti/am62lx/MAINTAINERS
new file mode 100644
index 000000000000..e945689a7f17
--- /dev/null
+++ b/board/ti/am62lx/MAINTAINERS
@@ -0,0 +1,8 @@
+AM62Lx BOARD
+M:	Vignesh Raghavendra <vigneshr@ti.com>
+M:	Bryan Brattlof <bb@ti.com>
+M:	Tom Rini <trini@konsulko.com>
+S:	Maintained
+F:	board/ti/am62lx/
+F:	include/configs/am62l3_evm.h
+F:	configs/am62lx_evm_defconfig
diff --git a/board/ti/am62lx/Makefile b/board/ti/am62lx/Makefile
new file mode 100644
index 000000000000..ac5f5e7e807a
--- /dev/null
+++ b/board/ti/am62lx/Makefile
@@ -0,0 +1,7 @@
+#
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y	+= evm.o
diff --git a/board/ti/am62lx/am62lx.env b/board/ti/am62lx/am62lx.env
new file mode 100644
index 000000000000..0dd86db400ee
--- /dev/null
+++ b/board/ti/am62lx/am62lx.env
@@ -0,0 +1,8 @@
+kernel_addr_r=0x82000000
+fdt_addr_r=0x88000000
+fdtoverlay_addr_r=0x89000000
+ramdisk_addr_r=0x88080000
+pxefile_addr_r=0x80100000
+
+dfu_alt_info_ram=
+	u-boot.img ram 0x83000000 0x400000
diff --git a/board/ti/am62lx/board-cfg.yaml b/board/ti/am62lx/board-cfg.yaml
new file mode 100644
index 000000000000..abb3174d4bcc
--- /dev/null
+++ b/board/ti/am62lx/board-cfg.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Board configuration for the AM62L-EVM
+#
+---
+board-cfg:
+  rev:
+    boardcfg_abi_maj: 0x0
+    boardcfg_abi_min: 0x1
+
+  control:
+    subhdr:
+      magic: 0xC1D3
+      size: 7
+    main_isolation_enable: 0x5A
+    main_isolation_hostid: 0x2
+
+  bm_writer_cfg:
+    subhdr:
+      magic: 0x7D8A
+      size: 5
+    allowed_host: 10
+
+  reserved: [0, 0, 0, 0, 0, 0, 0]
+
+  debug_cfg:
+    subhdr:
+      magic: 0x020C
+      size: 8
+    trace_dst_enables: 0x00
+    trace_src_enables: 0x00
diff --git a/board/ti/am62lx/evm.c b/board/ti/am62lx/evm.c
new file mode 100644
index 000000000000..cafafb8ede87
--- /dev/null
+++ b/board/ti/am62lx/evm.c
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Board specific initialization for AM62Lx platforms
+ *
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ *
+ */
+
+#include <asm/arch/hardware.h>
+#include <asm/io.h>
+#include <dm/uclass.h>
+#include <env.h>
+#include <fdt_support.h>
+#include <spl.h>
+
+int board_init(void)
+{
+	return 0;
+}
diff --git a/board/ti/am62lx/sec-cfg.yaml b/board/ti/am62lx/sec-cfg.yaml
new file mode 100644
index 000000000000..044e8cb09dd7
--- /dev/null
+++ b/board/ti/am62lx/sec-cfg.yaml
@@ -0,0 +1,380 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Security management configuration for AM62Lx
+#
+---
+
+sec-cfg:
+    rev:
+        boardcfg_abi_maj: 0x0
+        boardcfg_abi_min: 0x1
+
+    processor_acl_list:
+        subhdr:
+            magic: 0xF1EA
+            size: 164
+
+        proc_acl_entries:
+            -  # 1
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 2
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 3
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 4
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 5
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 6
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 7
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 8
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 9
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 10
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 11
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 12
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 13
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 14
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 15
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 16
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 17
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 18
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 19
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 20
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 21
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 22
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 23
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 24
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 25
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 26
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 27
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 28
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 29
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 30
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 31
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+            -  # 32
+                processor_id: 0
+                proc_access_master: 0
+                proc_access_secondary: [0, 0, 0]
+    host_hierarchy:
+        subhdr:
+            magic: 0x8D27
+            size: 68
+        host_hierarchy_entries:
+            -  # 1
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 2
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 3
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 4
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 5
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 6
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 7
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 8
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 9
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 10
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 11
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 12
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 13
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 14
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 15
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 16
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 17
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 18
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 19
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 20
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 21
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 22
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 23
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 24
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 25
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 26
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 27
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 28
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 29
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 30
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 31
+                host_id: 0
+                supervisor_host_id: 0
+            -  # 32
+                host_id: 0
+                supervisor_host_id: 0
+    otp_config:
+        subhdr:
+            magic: 0x4081
+            size: 69
+        otp_entry:
+            -  # 1
+                host_id: 10
+                host_perms: 2
+            -  # 2
+                host_id: 10
+                host_perms: 2
+            -  # 3
+                host_id: 10
+                host_perms: 2
+            -  # 4
+                host_id: 10
+                host_perms: 2
+            -  # 5
+                host_id: 10
+                host_perms: 2
+            -  # 6
+                host_id: 10
+                host_perms: 2
+            -  # 7
+                host_id: 10
+                host_perms: 2
+            -  # 8
+                host_id: 10
+                host_perms: 2
+            -  # 9
+                host_id: 10
+                host_perms: 2
+            -  # 10
+                host_id: 10
+                host_perms: 2
+            -  # 11
+                host_id: 10
+                host_perms: 2
+            -  # 12
+                host_id: 10
+                host_perms: 2
+            -  # 13
+                host_id: 10
+                host_perms: 2
+            -  # 14
+                host_id: 10
+                host_perms: 2
+            -  # 15
+                host_id: 10
+                host_perms: 2
+            -  # 16
+                host_id: 10
+                host_perms: 2
+            -  # 17
+                host_id: 10
+                host_perms: 2
+            -  # 18
+                host_id: 10
+                host_perms: 2
+            -  # 19
+                host_id: 10
+                host_perms: 2
+            -  # 20
+                host_id: 10
+                host_perms: 2
+            -  # 21
+                host_id: 10
+                host_perms: 2
+            -  # 22
+                host_id: 10
+                host_perms: 2
+            -  # 23
+                host_id: 10
+                host_perms: 2
+            -  # 24
+                host_id: 10
+                host_perms: 2
+            -  # 25
+                host_id: 10
+                host_perms: 2
+            -  # 26
+                host_id: 10
+                host_perms: 2
+            -  # 27
+                host_id: 10
+                host_perms: 2
+            -  # 28
+                host_id: 10
+                host_perms: 2
+            -  # 29
+                host_id: 10
+                host_perms: 2
+            -  # 30
+                host_id: 10
+                host_perms: 2
+            -  # 31
+                host_id: 10
+                host_perms: 2
+            -  # 32
+                host_id: 10
+                host_perms: 2
+        write_host_id: 10
+    dkek_config:
+        subhdr:
+            magic: 0x5170
+            size: 12
+        allowed_hosts: [128, 0, 0, 0]
+        allow_dkek_export_tisci: 0x5A
+        rsvd: [0, 0, 0]
+    sa2ul_cfg:
+        subhdr:
+            magic: 0x0
+            size: 0
+        auth_resource_owner: 0
+        enable_saul_psil_global_config_writes: 0x0
+        rsvd: [0, 0]
+    sec_dbg_config:
+        subhdr:
+            magic: 0x42AF
+            size: 16
+        allow_jtag_unlock: 0x5A
+        allow_wildcard_unlock: 0x5A
+        allowed_debug_level_rsvd: 0
+        rsvd: 0
+        min_cert_rev: 0x0
+        jtag_unlock_hosts: [0, 0, 0, 0]
+    sec_handover_cfg:
+        subhdr:
+            magic: 0x0
+            size: 10
+        handover_msg_sender: 0
+        handover_to_host_id: 0
+        rsvd: [0, 0, 0, 0]

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (5 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 06/11] board: ti: am62lx: add initial board files Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:20   ` Anshul Dalal
  2026-08-04  0:09 ` [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig Bryan Brattlof
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

From: Vignesh Raghavendra <vigneshr@ti.com>

Add the initial configuration to build the boot binaries for the AM62L
family of devices

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v2:
- Removed bootph from scmi{} node
- Removed signatures from u-boot fit image
- Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com
---
 arch/arm/dts/k3-am62l3-evm-binman.dtsi | 218 +++++++++++++++++++++++++++++++++
 arch/arm/dts/k3-am62l3-evm-u-boot.dtsi |  12 ++
 arch/arm/mach-k3/Kconfig               |  21 ++++
 3 files changed, 251 insertions(+)

diff --git a/arch/arm/dts/k3-am62l3-evm-binman.dtsi b/arch/arm/dts/k3-am62l3-evm-binman.dtsi
new file mode 100644
index 000000000000..3f7e2097e521
--- /dev/null
+++ b/arch/arm/dts/k3-am62l3-evm-binman.dtsi
@@ -0,0 +1,218 @@
+// SPDX-License-Identifier: GPL-2.0-only or MIT
+/*
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/ {
+	binman: binman {
+		multiple-images;
+	};
+};
+
+&binman {
+	custMpk {
+		filename = "custMpk.pem";
+
+		custmpk_pem: blob-ext {
+			filename = "arch/arm/mach-k3/keys/custMpk.pem";
+		};
+	};
+
+	custMpk-crt {
+		filename = "custMpk.crt";
+
+		custmpk_crt: blob-ext {
+			filename = "arch/arm/mach-k3/keys/custMpk.crt";
+		};
+	};
+
+	custMpk-key {
+		filename = "custMpk.key";
+
+		custmpk_key: blob-ext {
+			filename = "arch/arm/mach-k3/keys/custMpk.key";
+		};
+	};
+
+	board-cfg {
+		filename = "board-cfg.bin";
+
+		bcfg_yaml: ti-board-config {
+			config = "board-cfg.yaml";
+			schema = "arch/arm/mach-k3/am62lx/schema.yaml";
+		};
+	};
+
+	sec-cfg {
+		filename = "sec-cfg.bin";
+
+		sec_yaml: ti-board-config {
+			config = "sec-cfg.yaml";
+			schema = "arch/arm/mach-k3/am62lx/schema.yaml";
+		};
+	};
+
+	combined-tifs-cfg {
+		filename = "combined-tifs-cfg.bin";
+
+		ti-board-config {
+			bcfg_yaml_tifs: board-cfg {
+				config = "board-cfg.yaml";
+				schema = "arch/arm/mach-k3/am62lx/schema.yaml";
+			};
+
+			sec_yaml_tifs: sec-cfg {
+				config = "sec-cfg.yaml";
+				schema = "arch/arm/mach-k3/am62lx/schema.yaml";
+			};
+		};
+	};
+
+	tiboot3.bin {
+		filename = "tiboot3.bin";
+
+		ti-secure-rom {
+			content = <&bl1>, <&tifs_enc>, <&tifs_data>, <&tifs_cert>;
+			combined;
+			sysfw-inner-cert;
+			keyfile = "custMpk.pem";
+			sw-rev = <1>;
+			content-sbl = <&bl1>;
+			content-sysfw = <&tifs_enc>;
+			content-sysfw-data = <&tifs_data>;
+			content-sysfw-inner-cert = <&tifs_cert>;
+			load = <0x70800000>;
+			load-sysfw = <CONFIG_K3_TIFS_LOAD_ADDR>;
+			load-sysfw-data = <CONFIG_K3_TIFS_DATA_LOAD_ADDR>;
+			core-opts = <160>;
+		};
+
+		bl1: atf-bl1 {
+		};
+
+		tifs_enc: tifs-enc.bin {
+			filename = "ti-sysfw/ti-fs-firmware-am62lx-hs-enc.bin";
+			type = "blob-ext";
+		};
+
+		tifs_data: sysfw-data.bin {
+			filename = "combined-tifs-cfg.bin";
+			type = "blob-ext";
+		};
+
+		tifs_cert: tifs-cert.bin {
+			filename = "ti-sysfw/ti-fs-firmware-am62lx-hs-cert.bin";
+			type = "blob-ext";
+		};
+	};
+
+	tispl.bin {
+		filename = "tispl.bin";
+
+		ti-secure-rom {
+			content = <&atf>, <&tifs_enc2>, <&tifs_data2>,
+				  <&tifs_cert2>, <&tee>, <&spl>;
+			combined;
+			sysfw-inner-cert;
+			dm-data;
+			keyfile = "custMpk.pem";
+			sw-rev = <1>;
+			content-sbl = <&atf>;
+			content-tee = <&tee>;
+			content-sysfw = <&tifs_enc2>;
+			content-sysfw-data = <&tifs_data2>;
+			content-sysfw-inner-cert = <&tifs_cert2>;
+			content-dm-data = <&spl>;
+			load = <CONFIG_K3_ATF_LOAD_ADDR>;
+			load-sysfw = <CONFIG_K3_TIFS_LOAD_ADDR>;
+			load-sysfw-data = <CONFIG_K3_TIFS_DATA_LOAD_ADDR>;
+			load-dm-data = <CONFIG_SPL_TEXT_BASE>;
+			load-tee = <CONFIG_K3_OPTEE_LOAD_ADDR>;
+		};
+
+		atf: atf-bl31 {
+		};
+
+		tifs_enc2: tifs-enc2.bin {
+			filename = "ti-sysfw/ti-fs-firmware-am62lx-hs-enc.bin";
+			type = "blob-ext";
+		};
+
+		tifs_data2: sysfw-data2.bin {
+			filename = "combined-tifs-cfg.bin";
+			type = "blob-ext";
+		};
+
+		tifs_cert2: tifs-cert2.bin {
+			filename = "ti-sysfw/ti-fs-firmware-am62lx-hs-cert.bin";
+			type = "blob-ext";
+		};
+
+		tee: tee-os {
+		};
+
+		spl: section {
+			u-boot-spl-nodtb {
+			};
+
+			u-boot-spl-pubkey-dtb {
+				algo = "sha512,rsa4096";
+				required = "conf";
+				key-name-hint = "custMpk";
+			};
+		};
+	};
+
+	u-boot.img {
+		filename = "u-boot.img";
+		pad-byte = <0xff>;
+
+		fit {
+			description = "U-Boot fitImage for AM62Lx SK";
+
+			images {
+				uboot {
+					description = "U-Boot for AM62Lx SK";
+					type = "firmware";
+					os = "u-boot";
+					arch = "arm";
+					compression = "none";
+					load = <CONFIG_TEXT_BASE>;
+
+					blob {
+						filename = "u-boot-nodtb.bin";
+					};
+
+					hash {
+						algo = "sha512";
+					};
+				};
+
+				fdt-0 {
+					description = "k3-am62lx-evm";
+					type = "flat_dt";
+					arch = "arm";
+					compression = "none";
+
+					u-boot-dtb {
+					};
+
+					hash {
+						algo = "sha512";
+					};
+				};
+			};
+
+			configurations {
+				default = "conf-0";
+
+				conf-0 {
+					description = "k3-am62lx-evm";
+					firmware = "uboot";
+					loadables = "uboot";
+					fdt = "fdt-0";
+				};
+			};
+		};
+	};
+};
diff --git a/arch/arm/dts/k3-am62l3-evm-u-boot.dtsi b/arch/arm/dts/k3-am62l3-evm-u-boot.dtsi
new file mode 100644
index 000000000000..d48b478b89c4
--- /dev/null
+++ b/arch/arm/dts/k3-am62l3-evm-u-boot.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include "k3-am62l3-evm-binman.dtsi"
+
+/ {
+	aliases {
+		mmc1 = &sdhci1;
+	};
+};
diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
index 8249fc97bc93..02f82364777d 100644
--- a/arch/arm/mach-k3/Kconfig
+++ b/arch/arm/mach-k3/Kconfig
@@ -129,6 +129,26 @@ config K3_EARLY_CONS_IDX
 	  Use this option to set the index of the serial device to be used
 	  for the early console during SPL execution.
 
+config K3_TIFS_LOAD_ADDR
+	hex "Load address of TI's Foundational Security (TIFS) firmware"
+	default 0x40000
+	help
+	  The load address for TI's Foundation Security firmware. This value is
+	  used to build the x509 certificate to tell boot ROM where to place the
+	  TIFS firmware in memory.
+
+	  Unless you know what you're doing. Do not change this value.
+
+config K3_TIFS_DATA_LOAD_ADDR
+	hex "Load address of TIFS configuration data"
+	default 0x6c000
+	help
+	  The load address for TI's Foundation Security configuration data. This
+	  value is used to build the x509 certificate to tell ROM where to place
+	  the TIFS firmware.
+
+	  Unless you know what you're doing. Do not change this value.
+
 config K3_ATF_LOAD_ADDR
 	hex "Load address of ATF image"
 	default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S || SOC_K3_AM62L3)
@@ -149,6 +169,7 @@ config K3_ATF_RESERVED_SIZE
 
 config K3_OPTEE_LOAD_ADDR
 	hex "Load address of OPTEE image"
+	default 0x80200000 if SOC_K3_AM62L3
 	default 0x9e800000
 	help
 	  The load address for the OPTEE image. This value defaults to 0x9e800000

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (6 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:56   ` Anshul Dalal
  2026-08-04  0:09 ` [PATCH v3 09/11] doc: ti: k3: fix pygments warning parsing device-tree Bryan Brattlof
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Add the initial minimum configuration needed to boot the AM62L3-SK
reference boards.

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v2:
- removed options used for fit image signing
- Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com
---
 configs/am62lx_evm_defconfig | 139 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

diff --git a/configs/am62lx_evm_defconfig b/configs/am62lx_evm_defconfig
new file mode 100644
index 000000000000..2db07b508c2a
--- /dev/null
+++ b/configs/am62lx_evm_defconfig
@@ -0,0 +1,139 @@
+CONFIG_ARM=y
+CONFIG_ARCH_K3=y
+CONFIG_TEXT_BASE=0x84000000
+CONFIG_SYS_MALLOC_F_LEN=0x8000
+CONFIG_TI_COMMON_CMD_OPTIONS=y
+CONFIG_SPL_GPIO=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SOC_K3_AM62L3=y
+CONFIG_TARGET_AM62L3_EVM=y
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82b80000
+CONFIG_SF_DEFAULT_SPEED=25000000
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62l3-evm"
+CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_DM_RESET=y
+CONFIG_SPL_MMC=y
+CONFIG_SPL_SERIAL=y
+CONFIG_SPL_STACK_R_ADDR=0x85000000
+CONFIG_SPL_TEXT_BASE=0x82000000
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0x82c80000
+CONFIG_SPL_BSS_MAX_SIZE=0x80000
+CONFIG_SPL_STACK_R=y
+CONFIG_SYS_BOOTM_LEN=0x800000
+CONFIG_SYS_LOAD_ADDR=0x84000000
+CONFIG_SPL_SIZE_LIMIT=0x50000
+CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x800
+CONFIG_SPL_FS_FAT=y
+CONFIG_SPL_LIBDISK_SUPPORT=y
+# CONFIG_PSCI_RESET is not set
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_EFI_SET_TIME=y
+CONFIG_SPL_LOAD_FIT_ADDRESS=0x83000000
+CONFIG_BOOTSTD_FULL=y
+# CONFIG_BOARD_INIT is not set
+CONFIG_SPL_MAX_SIZE=0x58000
+CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
+# CONFIG_SPL_BINMAN_SYMBOLS is not set
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
+CONFIG_SPL_DMA=y
+CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
+CONFIG_SPL_I2C=y
+CONFIG_SPL_DM_MAILBOX=y
+CONFIG_SPL_POWER_DOMAIN=y
+CONFIG_SPL_RAM_DEVICE=y
+CONFIG_SPL_YMODEM_SUPPORT=y
+CONFIG_CMD_BOOTEFI_SELFTEST=y
+CONFIG_CMD_NVEDIT_EFI=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_EFIDEBUG=y
+CONFIG_OF_CONTROL=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_DM=y
+CONFIG_SPL_DM_DEVICE_REMOVE=y
+CONFIG_SPL_DM_SEQ_ALIAS=y
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
+CONFIG_DFU_MMC=y
+CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
+CONFIG_DMA_CHANNELS=y
+CONFIG_TI_K3_NAVSS_UDMA=y
+# CONFIG_SCMI_AGENT_OPTEE is not set
+CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
+CONFIG_DA8XX_GPIO=y
+CONFIG_DM_PCA953X=y
+CONFIG_SPL_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_OMAP24XX=y
+CONFIG_DM_MAILBOX=y
+CONFIG_K3_SEC_PROXY=y
+CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_MMC_IO_VOLTAGE=y
+CONFIG_SPL_MMC_IO_VOLTAGE=y
+CONFIG_MMC_UHS_SUPPORT=y
+CONFIG_SPL_MMC_UHS_SUPPORT=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_SPL_MMC_HS200_SUPPORT=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_ADMA=y
+CONFIG_SPL_MMC_SDHCI_ADMA=y
+CONFIG_MMC_SDHCI_AM654=y
+CONFIG_MTD=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPI_FLASH_SOFT_RESET=y
+CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_S28HX_T=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_MT35XU=y
+CONFIG_TI_AM65_CPSW_NUSS=y
+CONFIG_PHY_TI_DP83867=y
+CONFIG_PHY_FIXED=y
+CONFIG_PHY=y
+CONFIG_PINCTRL=y
+CONFIG_SPL_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_SPL_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
+CONFIG_DM_RTC=y
+CONFIG_RTC_EMULATION=y
+CONFIG_DM_SERIAL=y
+CONFIG_SOC_DEVICE=y
+CONFIG_SOC_DEVICE_TI_K3=y
+CONFIG_SOC_TI=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_CADENCE_QSPI=y
+CONFIG_SYSRESET=y
+CONFIG_SPL_SYSRESET=y
+CONFIG_USB=y
+CONFIG_DM_USB_GADGET=y
+CONFIG_SPL_DM_USB_GADGET=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_GENERIC=y
+CONFIG_SPL_USB_DWC3_GENERIC=y
+CONFIG_SPL_USB_DWC3_AM62=y
+CONFIG_USB_DWC3_AM62=y
+CONFIG_USB_GADGET=y
+CONFIG_SPL_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
+CONFIG_USB_GADGET_VENDOR_NUM=0x0451
+CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_SPL_DFU=y
+CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
+# CONFIG_TOOLS_MKEFICAPSULE is not set

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 09/11] doc: ti: k3: fix pygments warning parsing device-tree
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (7 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts Bryan Brattlof
  2026-08-04  0:09 ` [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM Bryan Brattlof
  10 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

A warning is emitted when generating the FIT image examples because of
white-space and invalid node names. Fix them

Tested-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
 doc/board/ti/k3.rst | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/doc/board/ti/k3.rst b/doc/board/ti/k3.rst
index d3ecaf599094..b7b69949af16 100644
--- a/doc/board/ti/k3.rst
+++ b/doc/board/ti/k3.rst
@@ -466,25 +466,29 @@ choose any configuration at runtime to boot from.
 
 .. code-block:: dts
 
-    /dts-v1/;
+   / {
+       description = "FIT Image description";
+       #address-cells = <1>;
 
-    / {
-        description = "FIT Image description";
-        #address-cells = <1>;
+       images {
+           image-1 {};
+           image-2 {};
+           fdt-1 {};
+           fdt-2 {};
+       };
 
-        images {
-            [image-1]
-            [image-2]
-            [fdt-1]
-            [fdt-2]
-        }
-
-        configurations {
-            default = <conf-1>
-            [conf-1: image-1,fdt-1]
-            [conf-2: image-2,fdt-1]
-        }
-    }
+       configurations {
+           default = <conf-1>
+           conf-1 {
+               image = "image-1";
+               fdt = "fdt-1";
+           };
+           conf-2 {
+                image = "image-2";
+                fdt = "fdt-1";
+           };
+       };
+   };
 
 * Sample Images
 

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (8 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 09/11] doc: ti: k3: fix pygments warning parsing device-tree Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:57   ` Anshul Dalal
  2026-08-04 14:49   ` Andrew Davis
  2026-08-04  0:09 ` [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM Bryan Brattlof
  10 siblings, 2 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

OpenOCD has moved where it has placed the tcl scripts for TI's reference
boards. Update their paths to the new locations.

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Kept warning about which versions of OpenOCD have the tcl scripts
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
---
 doc/board/ti/am6254atl_sk.rst |  2 +-
 doc/board/ti/am62ax_sk.rst    |  2 +-
 doc/board/ti/am62dx_evm.rst   | 11 ++++++-----
 doc/board/ti/am62px_sk.rst    | 12 +++++-------
 doc/board/ti/am62x_sk.rst     |  2 +-
 doc/board/ti/am64x_evm.rst    | 24 ++++++++++++++++++++++++
 doc/board/ti/am65x_evm.rst    |  2 +-
 doc/board/ti/j7200_evm.rst    |  2 +-
 doc/board/ti/j721e_evm.rst    |  2 +-
 doc/board/ti/j722s_evm.rst    |  2 +-
 doc/board/ti/j784s4_evm.rst   |  2 +-
 11 files changed, 43 insertions(+), 20 deletions(-)

diff --git a/doc/board/ti/am6254atl_sk.rst b/doc/board/ti/am6254atl_sk.rst
index 18a3520b39c7..0df058aee157 100644
--- a/doc/board/ti/am6254atl_sk.rst
+++ b/doc/board/ti/am6254atl_sk.rst
@@ -305,4 +305,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash $
 
-  openocd -f board/ti_am625evm.cfg
+   openocd -f board/ti/am625evm.cfg
diff --git a/doc/board/ti/am62ax_sk.rst b/doc/board/ti/am62ax_sk.rst
index 3453ed339e7f..b04bfc991ea0 100644
--- a/doc/board/ti/am62ax_sk.rst
+++ b/doc/board/ti/am62ax_sk.rst
@@ -435,4 +435,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash
 
-  openocd -f board/ti_am62a7evm.cfg
+   openocd -f board/ti/am62a7evm.cfg
diff --git a/doc/board/ti/am62dx_evm.rst b/doc/board/ti/am62dx_evm.rst
index 0d12e3ec1476..88071b3e69d9 100644
--- a/doc/board/ti/am62dx_evm.rst
+++ b/doc/board/ti/am62dx_evm.rst
@@ -237,10 +237,6 @@ detailed setup information.
 
 .. warning::
 
-  **AM62A**: OpenOCD support since August 2023 (git master)
-
-  **AM62D**: Uses AM62A configuration (compatible due to same core architecture)
-
   Until the next stable release of OpenOCD is available in your development
   environment's distribution, it might be necessary to build OpenOCD `from the
   source <https://github.com/openocd-org/openocd>`_.
@@ -253,4 +249,9 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash
 
-  openocd -f board/ti/am62a7evm.cfg
+   openocd -f board/ti/am62a7evm.cfg
+
+.. note::
+
+   The AM62D-EVM uses the same tcl configuration as the AM62A-SK due to
+   same core architecture.
diff --git a/doc/board/ti/am62px_sk.rst b/doc/board/ti/am62px_sk.rst
index 44dae4afc870..9d8b5ebf38fb 100644
--- a/doc/board/ti/am62px_sk.rst
+++ b/doc/board/ti/am62px_sk.rst
@@ -331,13 +331,11 @@ detailed setup information.
 
 .. warning::
 
-  **OpenOCD support after**: v0.12.0
+   **OpenOCD support after**: v0.12.0
 
-  While support for the entire K3 generation including the am62xxx
-  extended family was added before v0.12.0, the tcl scripts for the
-  am62px have been accepted and will be available in the next release of
-  OpenOCD. It may be necessary to build OpenOCD from source depending on
-  the version your distribution has packaged.
+   Until the next stable release of OpenOCD is available in your development
+   environment's distribution, it might be necissary to build OpenOCD `from the
+   source <https://github.com/openocd-org/open ocd>`_.
 
 .. include::  k3.rst
     :start-after: .. k3_rst_include_start_openocd_connect_XDS110
@@ -347,4 +345,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash
 
-  openocd -f board/ti_am62pevm.cfg
+   openocd -f board/ti/am62pevm.cfg
diff --git a/doc/board/ti/am62x_sk.rst b/doc/board/ti/am62x_sk.rst
index ef9425035cb8..2e4923f7a7a1 100644
--- a/doc/board/ti/am62x_sk.rst
+++ b/doc/board/ti/am62x_sk.rst
@@ -867,4 +867,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash $
 
-  openocd -f board/ti_am625evm.cfg
+   openocd -f board/ti/am625evm.cfg
diff --git a/doc/board/ti/am64x_evm.rst b/doc/board/ti/am64x_evm.rst
index 65c4c456528c..6f02a1eef883 100644
--- a/doc/board/ti/am64x_evm.rst
+++ b/doc/board/ti/am64x_evm.rst
@@ -227,3 +227,27 @@ https://www.ti.com/lit/pdf/spruim2 under the `Boot Mode Pins` section.
 
   For SW2 and SW3, the switch state in the "ON" position = 1.
   Boot bits on SK is reversed bits to the bootmode signals
+
+Debugging U-Boot
+----------------
+
+See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
+detailed setup information.
+
+.. warning::
+
+   **OpenOCD support after**: v0.12.0
+
+   Until the next stable release of OpenOCD is available in your development
+   environment's distribution, it might be necissary to build OpenOCD `from the
+   source <https://github.com/openocd-org/open ocd>`_.
+
+.. include::  k3.rst
+    :start-after: .. k3_rst_include_start_openocd_connect_XDS110
+    :end-before: .. k3_rst_include_end_openocd_connect_XDS110
+
+To start OpenOCD and connect to the board
+
+.. prompt:: bash
+
+   openocd -f board/ti/am642evm.cfg
diff --git a/doc/board/ti/am65x_evm.rst b/doc/board/ti/am65x_evm.rst
index 73ceef2e531c..5f75c01ec65a 100644
--- a/doc/board/ti/am65x_evm.rst
+++ b/doc/board/ti/am65x_evm.rst
@@ -321,4 +321,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash $
 
-  openocd -f board/ti_am654evm.cfg
+   openocd -f board/ti/am654evm.cfg
diff --git a/doc/board/ti/j7200_evm.rst b/doc/board/ti/j7200_evm.rst
index 4fd2aff83547..e5c29c2bbb7b 100644
--- a/doc/board/ti/j7200_evm.rst
+++ b/doc/board/ti/j7200_evm.rst
@@ -232,4 +232,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash $
 
-  openocd -f board/ti_j7200evm.cfg
+   openocd -f board/ti/j7200evm.cfg
diff --git a/doc/board/ti/j721e_evm.rst b/doc/board/ti/j721e_evm.rst
index 41c8d4c72a8d..c3f3736e625a 100644
--- a/doc/board/ti/j721e_evm.rst
+++ b/doc/board/ti/j721e_evm.rst
@@ -261,4 +261,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash $
 
-  openocd -f board/ti_j721eevm.cfg
+   openocd -f board/ti/j721evm.cfg
diff --git a/doc/board/ti/j722s_evm.rst b/doc/board/ti/j722s_evm.rst
index 4b5cf0275940..3d11271613c7 100644
--- a/doc/board/ti/j722s_evm.rst
+++ b/doc/board/ti/j722s_evm.rst
@@ -255,4 +255,4 @@ To start OpenOCD and connect to the board
 
 .. prompt:: bash
 
-  openocd -f board/ti_j722sevm.cfg
+   openocd -f board/ti/j722sevm.cfg
diff --git a/doc/board/ti/j784s4_evm.rst b/doc/board/ti/j784s4_evm.rst
index ec82228ab908..54b4b6031f0c 100644
--- a/doc/board/ti/j784s4_evm.rst
+++ b/doc/board/ti/j784s4_evm.rst
@@ -663,4 +663,4 @@ following.
 
 .. prompt:: bash
 
-  openocd -f board/ti_j784s4evm.cfg
+   openocd -f board/ti/j784s4evm.cfg

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM
  2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
                   ` (9 preceding siblings ...)
  2026-08-04  0:09 ` [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts Bryan Brattlof
@ 2026-08-04  0:09 ` Bryan Brattlof
  2026-08-04 11:29   ` Anshul Dalal
  10 siblings, 1 reply; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04  0:09 UTC (permalink / raw)
  To: u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Bryan Brattlof, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Andrew Davis, Daniel Golle, Johan Jonker,
	Vignesh Raghavendra, Paresh Bhagat, Swamil Jain,
	Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

Add the initial documentation on the bootflow, build, and deubgging
procedures along with the relevant links to more information about the
AM62Lx processor and the reference board.

Tested-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
---
Changes in v3:
- Used CROSS_COMPILE=$CC64 to align with other board docs
- Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
---
 doc/board/ti/am62lx_evm.rst                     | 222 ++++++++++
 doc/board/ti/img/am62lx_boot_diagram_phase1.svg | 450 ++++++++++++++++++++
 doc/board/ti/img/am62lx_boot_diagram_phase2.svg | 525 ++++++++++++++++++++++++
 doc/board/ti/img/am62lx_tiboot3.bin.svg         | 170 ++++++++
 doc/board/ti/img/am62lx_tispl.bin.svg           | 222 ++++++++++
 doc/board/ti/img/am62lx_u-boot.img.svg          | 143 +++++++
 doc/board/ti/k3.rst                             |   1 +
 7 files changed, 1733 insertions(+)

diff --git a/doc/board/ti/am62lx_evm.rst b/doc/board/ti/am62lx_evm.rst
new file mode 100644
index 000000000000..84fdc1e710e1
--- /dev/null
+++ b/doc/board/ti/am62lx_evm.rst
@@ -0,0 +1,222 @@
+.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+.. sectionauthor:: Bryan Brattlof <bb@ti.com>
+
+AM62Lx Platforms
+================
+
+The AM62L is a lite, low power and performance optimized family
+of application processors that are built for Linux application
+development. The AM62L is well suited for a wide range of
+general-purpose applications with scalable ARM Cortex-A53 core
+performance and embedded features such as: Multimedia DSI/DPI support,
+integrated ADC on chip, advanced lower power management modes, and
+extensive security options for IP protection with the built-in security
+features.
+
+The AM62L is a general purpose processor, however some of the
+applications well suited for it include: Human Machine Interfaces (HMI),
+Medical patient monitoring , Building automation, Smart secure gateways,
+Smart Thermostats, EV charging stations, Smart Metering, Solar energy
+and more.
+
+Some highlights of AM62L SoC are:
+
+- Single to Dual 64-bit Arm® Cortex®-A53 microprocessor subsystem up to
+  1.25GHz Integrated Giga-bit Ethernet switch supporting up to a total
+  of two external ports
+
+- 16-bit DDR Subsystem that supports LPDDR4, DDR4 memory types.
+
+- Display support: 1x display support over MIPI DSI (4 lanes DPHY) or
+  DPI (24-bit RGB LVCMOS)
+
+- Multiple low power modes support, ex: Deep sleep and Standby
+
+- Support for secure boot, Trusted Execution Environment (TEE) &
+  Cryptographic Acceleration
+
+For more information check out our `Technical Reference Manual (TRM)`_.
+
+.. _Technical Reference Manual (TRM): https://www.ti.com/lit/ug/sprujb4/sprujb4.pdf
+
+
+Boot Flow:
+----------
+
+The AM62Lx SoCs deviate significantly from the typical boot-flow of the
+other Sitara or Jacinto class of SoCs.
+
+The first CPU released on power on will be the Security Management
+Subsystem (SMS) MCU to first secure the device like all other K3 SoCs.
+However because the lack of any MCU cores the boot ROM is located on one
+of the A53 cores which is responsible for loading TI's root-of-trust
+firmware (TIFS) along with a BL1 image generated from the
+ARM-Trusted-Firmware repository. The BL1 image is responsible for
+initializing the debug console, the DDR controller, and speeding up the
+A53 to it's maximum allowable.
+
+Once the BL1 is done, it will send a message back to the SMS core to
+reset and begin the second boot phase.
+
+.. image:: img/am62lx_boot_diagram_phase1.svg
+   :alt: First phase of the AM62L boot flow
+
+For the second boot phase, with DDR active ROM can now load the larger
+images contained in the tispl.bin (or whatever filename or offset was
+configured during the BL1 boot phase) which contains TI's root-of-trust
+firmware (TIFS) along with OP-TEE, TF-A's BL31 and U-Boot SPL images to
+initialize the root-of-trust, and the TrustZone and normal world for the
+A53s.
+
+From there the U-Boot SPL will load and authenticate U-Boot proper.
+
+.. image:: img/am62lx_boot_diagram_phase2.svg
+   :alt: Second phase of the AM62L boot flow
+
+Sources:
+--------
+
+.. include::  ../ti/k3.rst
+    :start-after: .. k3_rst_include_start_boot_sources
+    :end-before: .. k3_rst_include_end_boot_sources
+
+Build procedure:
+----------------
+
+0. Setup the environment variables:
+
+   .. include::  ../ti/k3.rst
+       :start-after: .. k3_rst_include_start_common_env_vars_desc
+       :end-before: .. k3_rst_include_end_common_env_vars_desc
+
+   .. include::  ../ti/k3.rst
+       :start-after: .. k3_rst_include_start_board_env_vars_desc
+       :end-before: .. k3_rst_include_end_board_env_vars_desc
+
+   Set the variables corresponding to this platform:
+
+   .. include::  ../ti/k3.rst
+       :start-after: .. k3_rst_include_start_common_env_vars_defn
+       :end-before: .. k3_rst_include_end_common_env_vars_defn
+
+   .. prompt:: bash $
+
+      export UBOOT_CFG_CORTEXA=am62lx_evm_defconfig
+      export TFA_BOARD=am62lx-evm
+      export OPTEE_PLATFORM=k3-am62lx
+
+1. Build Trusted Firmware-A:
+
+   More detailed porting and build guide can be found in the `TF-A
+   documentation`_ for all AM62L based platforms. For the AM62L-EVM the
+   build command will be:
+
+   .. prompt:: bash $
+
+      make CROSS_COMPILE=$CC64 \
+            ARCH=aarch64 \
+            PLAT=k3low \
+            TARGET_BOARD=$TFA_BOARD
+
+.. _TF-A documentation: https://trustedfirmware-a.readthedocs.io/en/latest/plat/ti-k3low-am62lx.html
+
+#. Build OP-TEE:
+
+   Depending on the application more build arguments may be needed. The
+   `OP-TEE documentation`_ has more information on this. The basic build
+   commands for the AM62L-EVM are:
+
+   .. prompt:: bash $
+
+      make CROSS_COMPILE=$CC32 \
+            CROSS_COMPILE64=$CC64 \
+            CFG_ARM64_core=y \
+            $OPTEE_EXTRA_ARGS \
+            PLATFORM=$OPTEE_PLATFORM
+
+.. _OP-TEE documentation: https://optee.readthedocs.io/en/latest/
+
+#. Build U-Boot:
+
+   .. prompt:: bash $
+
+      make $UBOOT_CFG_CORTEXA
+      make CROSS_COMPILE=$CC64 \
+            BINMAN_INDIRS="$LNX_FW_PATH" \
+            TEE="$OPTEE_PATH/out/arm-plat-k3/core/tee-raw.bin" \
+            BL1="$TFA_PATH/build/k3low/$TFA_BOARD/release/bl1.bin" \
+            BL31="$TFA_PATH/build/k3low/$TFA_BOARD/release/bl31.bin"
+
+Image formats:
+--------------
+
+The final images generated and needed for booting the AM62L are:
+
+- tiboot3.bin
+
+.. image:: img/am62lx_tiboot3.bin.svg
+   :alt: tiboot3.bin image format
+
+- tispl.bin
+
+.. image:: img/am62lx_tispl.bin.svg
+   :alt: tispl.bin image format
+
+- u-boot.img
+
+.. image:: img/am62lx_u-boot.img.svg
+   :alt: u-boot.img image format
+
+Switch Setting for Boot Mode
+----------------------------
+
+Boot Mode pins provide means to select the boot mode and options before the
+device is powered up. After every POR, they are the main source to populate
+the Boot Parameter Tables.
+
+The following table shows some common boot modes used on AM62L-EVM
+
+.. list-table::
+   :widths: 16 16 8 8
+   :header-rows: 1
+
+   * - Switch Label
+     - SW4: 12345678
+     - SW2: 1234
+     - SW3: 1234
+
+   * - EMMC
+     - 11010010
+     - 0000
+     - 0000
+
+   * - SD
+     - 11000010
+     - 0100
+     - 0000
+
+   * - UART
+     - 11011100
+     - 0000
+     - 0000
+
+   * - USB DFU
+     - 11001010
+     - 0000
+     - 0000
+
+Debugging U-Boot
+----------------
+
+See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
+detailed setup information.
+
+.. include::  k3.rst
+    :start-after: .. k3_rst_include_start_openocd_connect_XDS110
+    :end-before: .. k3_rst_include_end_openocd_connect_XDS110
+
+To start OpenOCD and connect to the board
+
+.. prompt:: bash
+
+   openocd -f board/ti/am62levm.cfg
diff --git a/doc/board/ti/img/am62lx_boot_diagram_phase1.svg b/doc/board/ti/img/am62lx_boot_diagram_phase1.svg
new file mode 100644
index 000000000000..fe10d1a253d8
--- /dev/null
+++ b/doc/board/ti/img/am62lx_boot_diagram_phase1.svg
@@ -0,0 +1,450 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="123.04372mm"
+   height="102.41046mm"
+   viewBox="0 0 123.04372 102.41046"
+   version="1.1"
+   id="svg1"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs1">
+    <rect
+       x="138.88995"
+       y="89.244179"
+       width="82.705078"
+       height="34.694588"
+       id="rect9" />
+    <rect
+       x="138.88995"
+       y="89.244179"
+       width="83.540909"
+       height="29.679607"
+       id="rect9-9" />
+  </defs>
+  <g
+     id="layer1"
+     transform="translate(-3.2156586,-61.395067)"
+     style="display:inline">
+    <rect
+       style="fill:none;stroke:#000000;stroke-width:0.264583"
+       id="rect1-9"
+       width="1.9329573"
+       height="85.898857"
+       x="41.939594"
+       y="77.774384" />
+    <rect
+       style="fill:none;stroke:#000000;stroke-width:0.264583"
+       id="rect1-9-2"
+       width="1.9329573"
+       height="25.09384"
+       x="84.430481"
+       y="86.003517" />
+    <rect
+       style="fill:none;stroke:#000000;stroke-width:0.264583"
+       id="rect1-9-2-7"
+       width="1.9329573"
+       height="38.677994"
+       x="84.382317"
+       y="124.9362" />
+    <path
+       d="M 14.252899,77.754344 H 41.775385"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       stroke-dasharray="3.175, 3.175"
+       pointer-events="stroke"
+       id="path272"
+       style="stroke-width:0.264583" />
+    <path
+       d="m 42.840209,71.544151 0.04093,6.233026"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       stroke-dasharray="3.175, 3.175"
+       pointer-events="stroke"
+       id="path272-4"
+       style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+    <path
+       d="m 85.45604,71.406464 0.0087,14.680898"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       stroke-dasharray="3.175, 3.175"
+       pointer-events="stroke"
+       id="path272-4-6"
+       style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+    <path
+       d="m 85.443487,111.04287 0.0036,13.97812"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       stroke-dasharray="3.175, 3.175"
+       pointer-events="stroke"
+       id="path272-4-6-8"
+       style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+    <path
+       d="m 122.1225,64.792094 0.056,98.568876"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       stroke-dasharray="3.175, 3.175"
+       pointer-events="stroke"
+       id="path272-4-6-4"
+       style="display:inline;fill:#d40000;stroke-width:0.264584;stroke-dasharray:0.264584, 0.529165;stroke-dashoffset:0" />
+    <g
+       id="g17"
+       transform="translate(-0.20732502,0.70490506)">
+      <rect
+         style="fill:#ffe6cc;fill-opacity:1;stroke:#d79b00;stroke-width:0.264582;stroke-opacity:1"
+         id="rect1"
+         width="16.069794"
+         height="8.8927412"
+         x="26.988451"
+         y="78.507072" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="34.991573"
+         y="84.456261"
+         id="text1"><tspan
+           id="tspan1"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+           x="34.991573"
+           y="84.456261">ROM</tspan></text>
+    </g>
+    <g
+       id="g17-1"
+       transform="translate(58.456195,8.5590037)">
+      <rect
+         style="fill:#ffe6cc;fill-opacity:1;stroke:#d79b00;stroke-width:0.264582;stroke-opacity:1"
+         id="rect1-1"
+         width="16.069794"
+         height="8.8927412"
+         x="26.988451"
+         y="78.507072" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="34.991573"
+         y="84.456261"
+         id="text1-5"><tspan
+           id="tspan1-98"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+           x="34.991573"
+           y="84.456261">ROM</tspan></text>
+    </g>
+    <g
+       id="g21"
+       transform="translate(0.30297529,12.998616)">
+      <g
+         id="g20"
+         transform="translate(-13.448192,1.681024)">
+        <rect
+           style="fill:#d5e8d4;fill-opacity:1;stroke:#82b366;stroke-width:0.264582;stroke-opacity:1"
+           id="rect1-1-0"
+           width="16.069794"
+           height="8.8927412"
+           x="98.597946"
+           y="111.78242" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="93.599792"
+         y="119.41312"
+         id="text1-5-4"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+           x="93.599792"
+           y="119.41312"
+           id="tspan19">BL1</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="20.957556"
+       y="76.900803"
+       id="text1-8"><tspan
+         id="tspan1-9"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="20.957556"
+         y="76.900803">H/W Reset Release</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="64.100334"
+       y="85.26165"
+       id="text1-8-2"><tspan
+         id="tspan1-9-9"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="64.100334"
+         y="85.26165">Release A53 ROM</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="64.140884"
+       y="104.34003"
+       id="text1-8-2-6"><tspan
+         id="tspan1-9-9-9"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="64.140884"
+         y="104.34003">Authenticate</tspan><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="64.140884"
+         y="108.15002"
+         id="tspan10">tiboot3.bin</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="63.962883"
+       y="119.40052"
+       id="text1-8-2-6-0"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="63.962883"
+         y="119.40052"
+         id="tspan10-1">Reset A53 to</tspan><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="63.962883"
+         y="123.21052"
+         id="tspan16">BL1 Entry</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="63.822987"
+       y="155.86008"
+       id="text1-8-2-6-0-9"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="63.822987"
+         y="155.86008"
+         id="tspan10-1-6">BL1 Done</tspan><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="63.822987"
+         y="159.67007"
+         id="tspan15">Message</tspan></text>
+    <path
+       d="M 43.79186,86.012678 H 84.529679"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="stroke"
+       id="path292"
+       style="stroke-width:0.264582" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+       id="rect8"
+       width="29.836563"
+       height="9.8913136"
+       x="88.656013"
+       y="97.899971"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <rect
+       style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+       id="rect8-7"
+       width="29.836563"
+       height="9.8913136"
+       x="70.63903"
+       y="61.527359"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <rect
+       style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+       id="rect8-7-9"
+       width="29.836563"
+       height="9.8913136"
+       x="27.875254"
+       y="61.689301"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+       id="rect8-31"
+       width="29.836563"
+       height="9.8913136"
+       x="88.697792"
+       y="137.6286"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
+       id="rect8-3"
+       width="29.756132"
+       height="9.9170303"
+       x="10.461226"
+       y="112.1797"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,55.945023,75.710672)"
+       id="text8"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect9);display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
+       x="0"
+       y="0"><tspan
+         x="162.65117"
+         y="101.24414"
+         id="tspan3">Load </tspan><tspan
+         x="143.97914"
+         y="115.64414"
+         id="tspan4">tiboot3.bin</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-22.357201,90.009926)"
+       id="text8-6"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect9-9);display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
+       x="0"
+       y="0"><tspan
+         x="152.34912"
+         y="101.24414"
+         id="tspan5">Validate </tspan><tspan
+         x="144.39711"
+         y="115.64414"
+         id="tspan6">tiboot3.bin</tspan></text>
+    <path
+       d="m 41.982847,77.762613 -1.85208,0.92604 0.46302,-0.92604 -0.46302,-0.92604 z"
+       fill="#000000"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="all"
+       id="path294"
+       style="stroke-width:0.264583" />
+    <path
+       d="m 84.45369,86.024357 -1.85208,0.92604 0.46302,-0.92604 -0.46302,-0.92604 z"
+       fill="#000000"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="all"
+       id="path294-4"
+       style="stroke-width:0.264583" />
+    <g
+       id="g18"
+       transform="matrix(1.3039736,0,0,1,-13.367223,6.910834)"
+       style="stroke-width:0.875721">
+      <path
+         d="m 43.895114,102.59059 h 31.14238"
+         fill="none"
+         stroke="#000000"
+         stroke-miterlimit="10"
+         pointer-events="stroke"
+         id="path292-5"
+         style="stroke-width:0.231701" />
+      <path
+         d="m 44.052705,102.59467 1.85208,0.92604 -0.46302,-0.92604 0.46302,-0.92604 z"
+         fill="#000000"
+         stroke="#000000"
+         stroke-miterlimit="10"
+         pointer-events="all"
+         id="path294-8"
+         style="stroke-width:0.231701" />
+    </g>
+    <path
+       d="M 43.737375,124.94556 H 83.348064"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="stroke"
+       id="path292-5-4"
+       style="stroke-width:0.264583" />
+    <path
+       d="m 84.175686,124.95576 -2.115358,0.92604 0.52884,-0.92604 -0.52884,-0.92604 z"
+       fill="#000000"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="all"
+       id="path294-8-8"
+       style="stroke-width:0.264583" />
+    <path
+       d="m 122.19619,163.47482 -0.92604,-2.11535 0.92604,0.52884 0.92604,-0.52884 z"
+       fill="#000000"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="all"
+       id="path294-8-8-9"
+       style="display:inline;stroke-width:0.264583" />
+    <g
+       id="g25"
+       transform="translate(0,-5.2916669)">
+      <path
+         d="M 43.847715,167.18481 H 84.499402"
+         fill="none"
+         stroke="#000000"
+         stroke-miterlimit="10"
+         pointer-events="stroke"
+         id="path292-5-4-1"
+         style="stroke-width:0.264583" />
+      <path
+         d="m 44.02991,167.15364 1.85208,0.92604 -0.46302,-0.92604 0.46302,-0.92604 z"
+         fill="#000000"
+         stroke="#000000"
+         stroke-miterlimit="10"
+         pointer-events="all"
+         id="path294-8-8-0"
+         style="stroke-width:0.264583" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+       x="103.49282"
+       y="142.27876"
+       id="text12"><tspan
+         id="tspan12"
+         style="font-size:4.23333px;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="103.49282"
+         y="142.27876">Debug Console</tspan><tspan
+         style="font-size:4.23333px;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="103.49282"
+         y="146.08876"
+         id="tspan13">Init</tspan></text>
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+       id="rect8-2"
+       width="29.836563"
+       height="9.8913136"
+       x="88.51506"
+       y="149.61092"
+       ry="1.8797468"
+       rx="1.8797469" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+       x="103.45767"
+       y="156.1178"
+       id="text14"><tspan
+         id="tspan14"
+         style="font-size:4.23333px;stroke-width:0.264583"
+         x="103.45767"
+         y="156.1178">DRAM Init</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+       x="85.482224"
+       y="68.033394"
+       id="text26"><tspan
+         id="tspan26"
+         style="fill:#000000;stroke:none;stroke-width:0.264583"
+         x="85.482224"
+         y="68.033394">Cortex A53</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+       x="42.888348"
+       y="67.920227"
+       id="text26-8"><tspan
+         id="tspan26-3"
+         style="fill:#000000;stroke:none;stroke-width:0.264583"
+         x="42.888348"
+         y="67.920227">SMS M4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:vertical-lr;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
+       x="124.44329"
+       y="115.65893"
+       id="text28"><tspan
+         id="tspan28"
+         style="writing-mode:vertical-lr;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="124.44329"
+         y="115.65893">Time</tspan></text>
+  </g>
+</svg>
diff --git a/doc/board/ti/img/am62lx_boot_diagram_phase2.svg b/doc/board/ti/img/am62lx_boot_diagram_phase2.svg
new file mode 100644
index 000000000000..bac900ebd3eb
--- /dev/null
+++ b/doc/board/ti/img/am62lx_boot_diagram_phase2.svg
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="115.94852mm"
+   height="145.69476mm"
+   viewBox="0 0 115.94853 145.69477"
+   version="1.1"
+   id="svg1"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs1">
+    <rect
+       x="138.88995"
+       y="89.244179"
+       width="82.705078"
+       height="34.694588"
+       id="rect9" />
+    <rect
+       x="138.88995"
+       y="89.244179"
+       width="83.540909"
+       height="29.679607"
+       id="rect9-9" />
+    <rect
+       x="138.88995"
+       y="89.244179"
+       width="83.540909"
+       height="29.679607"
+       id="rect9-9-6" />
+  </defs>
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9"
+     width="1.9329573"
+     height="60.20092"
+     x="31.628733"
+     y="16.379316" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-6"
+     width="1.9329573"
+     height="64.373627"
+     x="31.569685"
+     y="81.187851" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-2"
+     width="1.9329573"
+     height="25.09384"
+     x="74.106453"
+     y="24.60845" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-2-7"
+     width="1.9329573"
+     height="24.820444"
+     x="74.071457"
+     y="63.541138" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-2-7-6"
+     width="1.9329573"
+     height="14.440828"
+     x="74.120178"
+     y="93.028458" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-2-7-6-2"
+     width="1.9329573"
+     height="14.440828"
+     x="74.067307"
+     y="112.07141" />
+  <path
+     d="m 32.529347,10.149084 0.04093,6.233026"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 75.145178,10.011397 0.0087,14.680898"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 75.04042,49.654389 0.0036,13.97812"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-8"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 32.555322,76.438013 0.0036,4.872016"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-8-9"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 75.042581,88.228681 0.0036,4.872016"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-8-9-4"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 75.031791,107.33222 0.0036,4.87201"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-8-9-4-5"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <rect
+     style="fill:none;stroke:#000000;stroke-width:0.264583"
+     id="rect1-9-2-7-6-2-7"
+     width="1.9329573"
+     height="14.440828"
+     x="74.062813"
+     y="131.12164" />
+  <path
+     d="m 75.027294,126.38245 0.0036,4.87201"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-8-9-4-5-0"
+     style="display:inline;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529166;stroke-dashoffset:0" />
+  <path
+     d="m 111.81164,3.3957745 0.056,138.2673655"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     stroke-dasharray="3.175, 3.175"
+     pointer-events="stroke"
+     id="path272-4-6-4"
+     style="display:inline;fill:#d40000;stroke-width:0.264584;stroke-dasharray:0.264584, 0.529166;stroke-dashoffset:0" />
+  <g
+     id="g17"
+     transform="translate(-10.518186,-60.69016)">
+    <rect
+       style="fill:#ffe6cc;fill-opacity:1;stroke:#d79b00;stroke-width:0.264582;stroke-opacity:1"
+       id="rect1"
+       width="16.069794"
+       height="8.8927412"
+       x="26.988451"
+       y="78.507072" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="34.991573"
+       y="84.456261"
+       id="text1"><tspan
+         id="tspan1"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="34.991573"
+         y="84.456261">ROM</tspan></text>
+  </g>
+  <g
+     id="g17-1"
+     transform="translate(48.145333,-52.83606)">
+    <rect
+       style="fill:#ffe6cc;fill-opacity:1;stroke:#d79b00;stroke-width:0.264582;stroke-opacity:1"
+       id="rect1-1"
+       width="16.069794"
+       height="8.8927412"
+       x="26.988451"
+       y="78.507072" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="34.991573"
+       y="84.456261"
+       id="text1-5"><tspan
+         id="tspan1-98"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="34.991573"
+         y="84.456261">ROM</tspan></text>
+  </g>
+  <g
+     id="g21"
+     transform="translate(-10.007886,-48.39645)">
+    <g
+       id="g20"
+       transform="translate(-13.448192,1.681024)">
+      <rect
+         style="fill:#d5e8d4;fill-opacity:1;stroke:#82b366;stroke-width:0.264582;stroke-opacity:1"
+         id="rect1-1-0"
+         width="16.069794"
+         height="8.8927412"
+         x="98.597946"
+         y="111.78242" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="93.599792"
+       y="119.41312"
+       id="text1-5-4"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="93.599792"
+         y="119.41312"
+         id="tspan19">BL31</tspan></text>
+  </g>
+  <rect
+     style="fill:#dbe4f4;fill-opacity:1;stroke:#8166b3;stroke-width:0.264582;stroke-opacity:1"
+     id="rect1-1-0-2"
+     width="16.069794"
+     height="8.8927412"
+     x="74.944"
+     y="94.379715" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="82.984222"
+     y="100.36663"
+     id="text1-5-4-28"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="82.984222"
+       y="100.36663"
+       id="tspan19-9">TEE</tspan></text>
+  <rect
+     style="fill:#f8cecc;fill-opacity:1;stroke:#b85450;stroke-width:0.264582;stroke-opacity:1"
+     id="rect1-1-0-2-9"
+     width="16.069794"
+     height="8.8927412"
+     x="75.009903"
+     y="113.30912" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="83.459938"
+     y="119.2588"
+     id="text1-5-4-28-3"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="83.459938"
+       y="119.2588"
+       id="tspan19-9-1">SPL</tspan></text>
+  <rect
+     style="fill:#f8cecc;fill-opacity:1;stroke:#b85450;stroke-width:0.264582;stroke-opacity:1"
+     id="rect1-1-0-2-9-5"
+     width="16.069794"
+     height="8.8927412"
+     x="75.03476"
+     y="132.62766" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="82.852531"
+     y="138.55098"
+     id="text1-5-4-28-3-0"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="82.852531"
+       y="138.55098"
+       id="tspan19-9-1-3">U-Boot</tspan></text>
+  <g
+     id="g21-8"
+     transform="translate(-68.661248,-30.96516)">
+    <g
+       id="g20-7"
+       transform="translate(-13.448192,1.681024)">
+      <rect
+         style="fill:#d5e8d4;fill-opacity:1;stroke:#82b366;stroke-width:0.264582;stroke-opacity:1"
+         id="rect1-1-0-9"
+         width="16.069794"
+         height="8.8927412"
+         x="98.597946"
+         y="111.78242" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="93.599792"
+       y="119.41312"
+       id="text1-5-4-2"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+         x="93.599792"
+         y="119.41312"
+         id="tspan19-0">TI-FS</tspan></text>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="53.789471"
+     y="23.866583"
+     id="text1-8-2"><tspan
+       id="tspan1-9-9"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="53.789471"
+       y="23.866583">Release A53 ROM</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="53.830021"
+     y="42.944962"
+     id="text1-8-2-6"><tspan
+       id="tspan1-9-9-9"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="53.830021"
+       y="42.944962">Authenticate</tspan><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="53.830021"
+       y="46.754951"
+       id="tspan10">tispl.bin</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke:none;stroke-width:0.264583"
+     x="53.65202"
+     y="58.005455"
+     id="text1-8-2-6-0"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="53.65202"
+       y="58.005455"
+       id="tspan10-1">Reset A53 to</tspan><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="53.65202"
+       y="61.815453"
+       id="tspan16">BL31 Entry</tspan></text>
+  <path
+     d="M 33.480998,24.617611 H 74.218817"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     pointer-events="stroke"
+     id="path292"
+     style="stroke-width:0.264582" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+     id="rect8"
+     width="29.836563"
+     height="9.8913136"
+     x="78.345154"
+     y="36.504906"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <rect
+     style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+     id="rect8-7"
+     width="29.836563"
+     height="9.8913136"
+     x="60.328167"
+     y="0.132292"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <rect
+     style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+     id="rect8-7-9"
+     width="29.836563"
+     height="9.8913136"
+     x="17.564394"
+     y="0.29423353"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
+     id="rect8-31"
+     width="29.836563"
+     height="9.8913136"
+     x="78.386932"
+     y="76.233536"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
+     id="rect8-3"
+     width="29.756132"
+     height="9.9170303"
+     x="0.15036553"
+     y="50.784637"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
+     id="rect8-3-5"
+     width="29.756132"
+     height="9.9170303"
+     x="0.1322915"
+     y="65.710831"
+     ry="1.8797468"
+     rx="1.8797469" />
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,45.634161,14.315605)"
+     id="text8"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect9);display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
+     x="0"
+     y="0"><tspan
+       x="162.65117"
+       y="101.24414"
+       id="tspan3">Load </tspan><tspan
+       x="153.55515"
+       y="115.64414"
+       id="tspan4">tispl.bin</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-32.668058,28.614859)"
+     id="text8-6"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect9-9);display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
+     x="0"
+     y="0"><tspan
+       x="152.34912"
+       y="101.24414"
+       id="tspan5">Validate </tspan><tspan
+       x="153.97311"
+       y="115.64414"
+       id="tspan6">tispl.bin</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-34.238568,43.502747)"
+     id="text8-6-9"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect9-9-6);display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
+     x="0"
+     y="0"><tspan
+       x="145.15712"
+       y="101.24414"
+       id="tspan7">Boot TIFS </tspan><tspan
+       x="147.90111"
+       y="115.64414"
+       id="tspan8">Firmware</tspan></text>
+  <path
+     d="m 74.142828,24.62929 -1.85208,0.92604 0.46302,-0.92604 -0.46302,-0.92604 z"
+     fill="#000000"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     pointer-events="all"
+     id="path294-4"
+     style="stroke-width:0.264583" />
+  <g
+     id="g18"
+     transform="matrix(1.3039736,0,0,1,-23.678085,-54.48423)"
+     style="stroke-width:0.875721">
+    <path
+       d="m 43.895114,102.59059 h 31.14238"
+       fill="none"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="stroke"
+       id="path292-5"
+       style="stroke-width:0.231701" />
+    <path
+       d="m 44.052705,102.59467 1.85208,0.92604 -0.46302,-0.92604 0.46302,-0.92604 z"
+       fill="#000000"
+       stroke="#000000"
+       stroke-miterlimit="10"
+       pointer-events="all"
+       id="path294-8"
+       style="stroke-width:0.231701" />
+  </g>
+  <path
+     d="M 33.426513,63.550493 H 73.037202"
+     fill="none"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     pointer-events="stroke"
+     id="path292-5-4"
+     style="stroke-width:0.264583" />
+  <path
+     d="m 73.864824,63.560693 -2.115358,0.92604 0.52884,-0.92604 -0.52884,-0.92604 z"
+     fill="#000000"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     pointer-events="all"
+     id="path294-8-8"
+     style="stroke-width:0.264583" />
+  <path
+     d="m 111.88533,142.46714 -0.92604,-2.11535 0.92604,0.52884 0.92604,-0.52884 z"
+     fill="#000000"
+     stroke="#000000"
+     stroke-miterlimit="10"
+     pointer-events="all"
+     id="path294-8-8-9"
+     style="display:inline;stroke-width:0.264583" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+     x="93.181946"
+     y="82.699966"
+     id="text12">SCMI Init</text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+     x="75.171364"
+     y="6.6383266"
+     id="text26"><tspan
+       id="tspan26"
+       style="fill:#000000;stroke:none;stroke-width:0.264583"
+       x="75.171364"
+       y="6.6383266">Cortex A53</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+     x="32.577484"
+     y="6.5251598"
+     id="text26-8"><tspan
+       id="tspan26-3"
+       style="fill:#000000;stroke:none;stroke-width:0.264583"
+       x="32.577484"
+       y="6.5251598">SMS M4</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:0.9;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:none;text-align:center;writing-mode:vertical-lr;direction:ltr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-dasharray:0.264583, 0.529167;stroke-dashoffset:0;stroke-opacity:1"
+     x="114.13243"
+     y="68.022209"
+     id="text28"><tspan
+       id="tspan28"
+       style="writing-mode:vertical-lr;fill:#000000;stroke:none;stroke-width:0.264583"
+       x="114.13243"
+       y="68.022209">Time</tspan></text>
+</svg>
diff --git a/doc/board/ti/img/am62lx_tiboot3.bin.svg b/doc/board/ti/img/am62lx_tiboot3.bin.svg
new file mode 100644
index 000000000000..17b9a8538881
--- /dev/null
+++ b/doc/board/ti/img/am62lx_tiboot3.bin.svg
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="62.236633mm"
+   height="85.065804mm"
+   viewBox="0 0 62.236632 85.065803"
+   version="1.1"
+   id="svg51133"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs51130">
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-4" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-6" />
+  </defs>
+  <rect
+     style="fill:#ffe6cc;fill-opacity:1;stroke:#d79b00;stroke-width:0.22289;stroke-opacity:1"
+     id="rect51238"
+     width="62.013744"
+     height="84.842911"
+     x="0.11144508"
+     y="0.11144508"
+     ry="9.4566326" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478"
+     width="48.173313"
+     height="13.032638"
+     x="6.9406042"
+     y="25.645016"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-8"
+     width="48.173313"
+     height="13.032638"
+     x="6.9406042"
+     y="12.612378"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-9"
+     width="48.161327"
+     height="13.02805"
+     x="6.9406042"
+     y="38.677654"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-9-1"
+     width="48.161327"
+     height="13.02805"
+     x="6.9406042"
+     y="51.705704"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-9-1-2"
+     width="48.161327"
+     height="13.02805"
+     x="6.9406042"
+     y="64.733757"
+     ry="0" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;stroke-width:0.264583"
+     x="20.600019"
+     y="7.8484602"
+     id="text53682"><tspan
+       id="tspan53680"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;font-family:Helvetica;-inkscape-font-specification:Helvetica;stroke-width:0.264583"
+       x="20.600019"
+       y="7.8484602">tiboot3.bin</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,0.52916667,17.991672)"
+     id="text79829"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831)"
+     x="56.255871"
+     y="0"><tspan
+       x="83.140137"
+       y="60.311719"
+       id="tspan1">TF-A BL1</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,0.17044751,5.285958)"
+     id="text79829-8"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-6)"
+     x="56.255871"
+     y="0"><tspan
+       x="43.948105"
+       y="60.311719"
+       id="tspan2">x509 User Certificate</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-0.0933935,30.897375)"
+     id="text79829-6"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2)"
+     x="56.255871"
+     y="0"><tspan
+       x="38.292099"
+       y="60.311719"
+       id="tspan3">Encrypted TIFS Binary</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-0.06460892,41.158058)"
+     id="text79829-6-8"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2)"
+     x="56.255871"
+     y="0"><tspan
+       x="35.4673"
+       y="60.311719"
+       id="tspan4">TIFS Board &amp; Security
+</tspan><tspan
+       x="52.220093"
+       y="80.311719"
+       id="tspan5">Configuration Files</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,0.08028719,57.131985)"
+     id="text79829-6-8-8"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2-8)"
+     x="56.255871"
+     y="0"><tspan
+       x="35.196075"
+       y="60.311719"
+       id="tspan6">TIFS Vendor Certificate</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-0.98430343,17.372352)"
+     id="text79829-2"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-4)"
+     x="56.255871"
+     y="0" />
+</svg>
diff --git a/doc/board/ti/img/am62lx_tispl.bin.svg b/doc/board/ti/img/am62lx_tispl.bin.svg
new file mode 100644
index 000000000000..d2c9d7d56951
--- /dev/null
+++ b/doc/board/ti/img/am62lx_tispl.bin.svg
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="62.236744mm"
+   height="111.84308mm"
+   viewBox="0 0 62.236743 111.84308"
+   version="1.1"
+   id="svg51133"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs51130">
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-4" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-6" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8-3" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8-3-9" />
+  </defs>
+  <g
+     id="layer1"
+     transform="translate(5.4851174e-5,5.4851174e-5)">
+    <rect
+       style="fill:#d5e8d4;fill-opacity:1;stroke:#82b366;stroke-width:0.255676;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51238"
+       width="61.981068"
+       height="111.5874"
+       x="0.12778315"
+       y="0.12778315"
+       ry="8.4550943" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478"
+       width="48.173313"
+       height="13.032638"
+       x="6.9406042"
+       y="25.645016"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-8"
+       width="48.173313"
+       height="13.032638"
+       x="6.9406042"
+       y="12.612378"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-9"
+       width="48.161327"
+       height="13.02805"
+       x="6.9406042"
+       y="38.677654"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-9-1"
+       width="48.161327"
+       height="13.02805"
+       x="6.9406042"
+       y="51.705704"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-9-1-2"
+       width="48.161327"
+       height="13.02805"
+       x="6.9406042"
+       y="64.733757"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-9-1-2-3"
+       width="48.161327"
+       height="13.02805"
+       x="6.9406042"
+       y="77.76181"
+       ry="0" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect51478-9-1-2-3-7"
+       width="48.161327"
+       height="13.02805"
+       x="6.9406042"
+       y="90.789864"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;stroke-width:0.264583"
+       x="23.345928"
+       y="7.5099988"
+       id="text53682"><tspan
+         id="tspan53680"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;font-family:Helvetica;-inkscape-font-specification:Helvetica;stroke-width:0.264583"
+         x="23.345928"
+         y="7.5099988">tispl.bin</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,0.52916667,17.991672)"
+       id="text79829"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831)"
+       x="56.255871"
+       y="0"><tspan
+         x="78.844223"
+         y="59.175719"
+         id="tspan129104">TF-A BL31</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,0.17044751,5.285958)"
+       id="text79829-8"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-6)"
+       x="56.255871"
+       y="0"><tspan
+         x="42.572357"
+         y="59.175719"
+         id="tspan129106">x509 User Certificate</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-0.0933935,30.897375)"
+       id="text79829-6"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2)"
+       x="56.255871"
+       y="0"><tspan
+         x="36.972336"
+         y="59.175719"
+         id="tspan129108">Encrypted TIFS Binary</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-0.06460892,41.158058)"
+       id="text79829-6-8"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2)"
+       x="56.255871"
+       y="0"><tspan
+         x="37.980316"
+         y="59.175719"
+         id="tspan129110">TIFS Board &amp; Security
+</tspan><tspan
+         x="50.868347"
+         y="79.175719"
+         id="tspan129112">Configuration Files</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,0.08028719,57.131985)"
+       id="text79829-6-8-8"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2-8)"
+       x="56.255871"
+       y="0"><tspan
+         x="34.524368"
+         y="59.175719"
+         id="tspan129114">TIFS Vendor Certificate</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,0.12491591,70.050492)"
+       id="text79829-6-8-8-8"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2-8-3)"
+       x="56.255871"
+       y="0"><tspan
+         x="88.596207"
+         y="59.175719"
+         id="tspan129116">OP-TEE</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-0.31574226,83.33275)"
+       id="text79829-6-8-8-8-3"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2-2-8-3-9)"
+       x="56.255871"
+       y="0"><tspan
+         x="75.300201"
+         y="59.175719"
+         id="tspan129118">U-Boot SPL</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-0.98430343,17.372352)"
+       id="text79829-2"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-4)"
+       x="56.255871"
+       y="0" />
+  </g>
+</svg>
diff --git a/doc/board/ti/img/am62lx_u-boot.img.svg b/doc/board/ti/img/am62lx_u-boot.img.svg
new file mode 100644
index 000000000000..b20ab1a491ed
--- /dev/null
+++ b/doc/board/ti/img/am62lx_u-boot.img.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="62.236744mm"
+   height="59.627434mm"
+   viewBox="0 0 62.236744 59.627435"
+   version="1.1"
+   id="svg51133"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs51130">
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-4" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-6" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8-3" />
+    <rect
+       x="20.016691"
+       y="45.512157"
+       width="194.45363"
+       height="67.070183"
+       id="rect79831-2-2-8-3-9" />
+  </defs>
+  <rect
+     style="fill:#dbe4f4;fill-opacity:1;stroke:#8166b3;stroke-width:0.255676;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51238"
+     width="61.981068"
+     height="59.371758"
+     x="0.127838"
+     y="0.127838"
+     ry="8.4550943"
+     rx="8.4550943" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478"
+     width="48.173313"
+     height="13.032638"
+     x="6.9406586"
+     y="25.645071"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195943;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-8"
+     width="48.173313"
+     height="13.032638"
+     x="6.9406586"
+     y="12.612433"
+     ry="0" />
+  <rect
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.195884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect51478-9"
+     width="48.161327"
+     height="13.02805"
+     x="6.9406586"
+     y="38.677708"
+     ry="0" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;stroke-width:0.264583"
+     x="20.700148"
+     y="8.0392199"
+     id="text53682"><tspan
+       id="tspan53680"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611px;font-family:Helvetica;-inkscape-font-specification:Helvetica;stroke-width:0.264583"
+       x="20.700148"
+       y="8.0392199">u-boot.img</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,0.52922115,17.991727)"
+     id="text79829"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831);display:inline"
+     x="56.255871"
+     y="0"><tspan
+       x="92.724136"
+       y="60.311719"
+       id="tspan1">U-Boot</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,0.17050215,5.2860127)"
+     id="text79829-8"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-6);display:inline"
+     x="56.255871"
+     y="0"><tspan
+       x="77.404114"
+       y="60.311719"
+       id="tspan2">FIT Header</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-0.09333885,30.89743)"
+     id="text79829-6"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-2);display:inline"
+     x="56.255871"
+     y="0"><tspan
+       x="74.772141"
+       y="60.311719"
+       id="tspan3">U-Boot DTB</tspan></text>
+  <text
+     xml:space="preserve"
+     transform="matrix(0.26458333,0,0,0.26458333,-0.98424885,17.372407)"
+     id="text79829-2"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:Helvetica;-inkscape-font-specification:Helvetica;font-variant-ligatures:none;text-align:center;white-space:pre;shape-inside:url(#rect79831-4);display:inline"
+     x="56.255871"
+     y="0" />
+</svg>
diff --git a/doc/board/ti/k3.rst b/doc/board/ti/k3.rst
index b7b69949af16..56df72b656bd 100644
--- a/doc/board/ti/k3.rst
+++ b/doc/board/ti/k3.rst
@@ -33,6 +33,7 @@ K3 Based SoCs
    am62ax_sk
    am62dx_evm
    am62x_sk
+   am62lx_evm
    am62px_sk
    am6254atl_sk
    am64x_evm

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support
  2026-08-04  0:09 ` [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support Bryan Brattlof
@ 2026-08-04 11:12   ` Anshul Dalal
  0 siblings, 0 replies; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:12 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> Add initial mach-k3 files needed to support boards based on the AM62L
> family of SoCs
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>
> ---

[snip]

> diff --git a/arch/arm/mach-k3/include/mach/am62l_hardware.h b/arch/arm/mach-k3/include/mach/am62l_hardware.h
> new file mode 100644
> index 000000000000..7791511ff2a2
> --- /dev/null
> +++ b/arch/arm/mach-k3/include/mach/am62l_hardware.h
> @@ -0,0 +1,48 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * AM62Lx SoC definitions, structures etc.
> + *
> + * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +#ifndef __ASM_ARCH_AM62L_HARDWARE_H
> +#define __ASM_ARCH_AM62L_HARDWARE_H
> +
> +#include <config.h>
> +#ifndef __ASSEMBLY__
> +#include <linux/bitops.h>
> +#endif
> +
> +#define CTRL_MMR0_BASE				0x00100000
> +#define WKUP_CTRL_MMR0_BASE			0x43000000
> +#define WKUP_CTRL_MMR1_BASE			0x43010000
> +
> +#define CTRLMMR_MAIN_DEVSTAT			(WKUP_CTRL_MMR1_BASE + 0x30)
> +#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK	GENMASK(6, 3)
> +#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT	3
> +#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK	GENMASK(9, 7)
> +#define MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT	7
> +#define MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK	GENMASK(12, 10)
> +#define MAIN_DEVSTAT_BACKUP_BOOTMODE_SHIFT	10
> +#define MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_MASK	BIT(13)
> +#define MAIN_DEVSTAT_BACKUP_BOOTMODE_CFG_SHIFT	13
> +
> +/* Primary Bootmode MMC Config macros */
> +#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_MASK	BIT(2)
> +#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_SHIFT	2
> +#define MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK	BIT(0)
> +#define MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_SHIFT	0
> +
> +/* Primary Bootmode USB Config macros */
> +#define MAIN_DEVSTAT_PRIMARY_USB_MODE_SHIFT	1
> +#define MAIN_DEVSTAT_PRIMARY_USB_MODE_MASK	BIT(1)
> +
> +/* Backup Bootmode USB Config macros */
> +#define MAIN_DEVSTAT_BACKUP_USB_MODE_MASK	BIT(0)
> +
> +/* address boot rom leaves its boot structure */
> +#define K3_BOOT_PARAM_TABLE_INDEX_OCRAM		0x70816e70
> +
> +static const u32 put_core_ids[] = {};

I have some issues with the use of put_core_ids here but looks like it
requires a more involved refactor of mach-k3 common code. I can take up
that cleanup once this is merged.

Reviewed-by: Anshul Dalal <anshuld@ti.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 06/11] board: ti: am62lx: add initial board files
  2026-08-04  0:09 ` [PATCH v3 06/11] board: ti: am62lx: add initial board files Bryan Brattlof
@ 2026-08-04 11:14   ` Anshul Dalal
  0 siblings, 0 replies; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:14 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> Add the initial board files to support the AM62L3-SK reference boards
> for basic boot via SD and MMC
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>

Reviewed-by: Anshul Dalal <anshuld@ti.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support
  2026-08-04  0:09 ` [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support Bryan Brattlof
@ 2026-08-04 11:20   ` Anshul Dalal
  0 siblings, 0 replies; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:20 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> From: Vignesh Raghavendra <vigneshr@ti.com>
>
> Add the initial configuration to build the boot binaries for the AM62L
> family of devices
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>

Reviewed-by: Anshul Dalal <anshuld@ti.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM
  2026-08-04  0:09 ` [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM Bryan Brattlof
@ 2026-08-04 11:29   ` Anshul Dalal
  0 siblings, 0 replies; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:29 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> Add the initial documentation on the bootflow, build, and deubgging
> procedures along with the relevant links to more information about the
> AM62Lx processor and the reference board.
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>

Reviewed-by: Anshul Dalal <anshuld@ti.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig
  2026-08-04  0:09 ` [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig Bryan Brattlof
@ 2026-08-04 11:56   ` Anshul Dalal
  2026-08-04 19:10     ` Bryan Brattlof
  0 siblings, 1 reply; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:56 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> Add the initial minimum configuration needed to boot the AM62L3-SK
> reference boards.
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>
> ---
> Changes in v2:
> - removed options used for fit image signing
> - Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com
> ---
>  configs/am62lx_evm_defconfig | 139 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 139 insertions(+)
>
> diff --git a/configs/am62lx_evm_defconfig b/configs/am62lx_evm_defconfig
> new file mode 100644
> index 000000000000..2db07b508c2a
> --- /dev/null
> +++ b/configs/am62lx_evm_defconfig
> @@ -0,0 +1,139 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_K3=y
> +CONFIG_TEXT_BASE=0x84000000
> +CONFIG_SYS_MALLOC_F_LEN=0x8000
> +CONFIG_TI_COMMON_CMD_OPTIONS=y
> +CONFIG_SPL_GPIO=y
> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SOC_K3_AM62L3=y
> +CONFIG_TARGET_AM62L3_EVM=y
> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82b80000
> +CONFIG_SF_DEFAULT_SPEED=25000000
> +CONFIG_DM_GPIO=y
> +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62l3-evm"
> +CONFIG_OF_LIBFDT_OVERLAY=y
> +CONFIG_DM_RESET=y
> +CONFIG_SPL_MMC=y
> +CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_STACK_R_ADDR=0x85000000
> +CONFIG_SPL_TEXT_BASE=0x82000000
> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> +CONFIG_SPL_BSS_START_ADDR=0x82c80000
> +CONFIG_SPL_BSS_MAX_SIZE=0x80000
> +CONFIG_SPL_STACK_R=y
> +CONFIG_SYS_BOOTM_LEN=0x800000

Currently using the command 'spl export' throws a "Image too large:
increase CONFIG_SYS_BOOTM_LEN" warning. Steps to reproduce:

=> load mmc 1:2 $loadaddr boot/fitImage
=> spl export fdt $loadaddr

Is there any reason we are keeping it this low? I think the default of
0x8000000 should be fine for us.

Rest of the patch looks good to me,
 - Anshul

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts
  2026-08-04  0:09 ` [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts Bryan Brattlof
@ 2026-08-04 11:57   ` Anshul Dalal
  2026-08-04 14:49   ` Andrew Davis
  1 sibling, 0 replies; 21+ messages in thread
From: Anshul Dalal @ 2026-08-04 11:57 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> OpenOCD has moved where it has placed the tcl scripts for TI's reference
> boards. Update their paths to the new locations.
>
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>

Reviewed-by: Anshul Dalal <anshuld@ti.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts
  2026-08-04  0:09 ` [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts Bryan Brattlof
  2026-08-04 11:57   ` Anshul Dalal
@ 2026-08-04 14:49   ` Andrew Davis
  2026-08-04 19:08     ` Bryan Brattlof
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Davis @ 2026-08-04 14:49 UTC (permalink / raw)
  To: Bryan Brattlof, u-boot
  Cc: Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Daniel Golle, Johan Jonker, Vignesh Raghavendra, Paresh Bhagat,
	Swamil Jain, Neha Malcom Francis, Shiva Tripathi, Apurva Nandan,
	Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On 8/3/26 7:09 PM, Bryan Brattlof wrote:
> OpenOCD has moved where it has placed the tcl scripts for TI's reference
> boards. Update their paths to the new locations.
> 
> Tested-by: Anshul Dalal <anshuld@ti.com>
> Signed-off-by: Bryan Brattlof <bb@ti.com>
> ---
> Changes in v3:
> - Kept warning about which versions of OpenOCD have the tcl scripts
> - Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
> ---
>   doc/board/ti/am6254atl_sk.rst |  2 +-
>   doc/board/ti/am62ax_sk.rst    |  2 +-
>   doc/board/ti/am62dx_evm.rst   | 11 ++++++-----
>   doc/board/ti/am62px_sk.rst    | 12 +++++-------
>   doc/board/ti/am62x_sk.rst     |  2 +-
>   doc/board/ti/am64x_evm.rst    | 24 ++++++++++++++++++++++++
>   doc/board/ti/am65x_evm.rst    |  2 +-
>   doc/board/ti/j7200_evm.rst    |  2 +-
>   doc/board/ti/j721e_evm.rst    |  2 +-
>   doc/board/ti/j722s_evm.rst    |  2 +-
>   doc/board/ti/j784s4_evm.rst   |  2 +-
>   11 files changed, 43 insertions(+), 20 deletions(-)
> 
> diff --git a/doc/board/ti/am6254atl_sk.rst b/doc/board/ti/am6254atl_sk.rst
> index 18a3520b39c7..0df058aee157 100644
> --- a/doc/board/ti/am6254atl_sk.rst
> +++ b/doc/board/ti/am6254atl_sk.rst
> @@ -305,4 +305,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash $
>   
> -  openocd -f board/ti_am625evm.cfg
> +   openocd -f board/ti/am625evm.cfg
> diff --git a/doc/board/ti/am62ax_sk.rst b/doc/board/ti/am62ax_sk.rst
> index 3453ed339e7f..b04bfc991ea0 100644
> --- a/doc/board/ti/am62ax_sk.rst
> +++ b/doc/board/ti/am62ax_sk.rst
> @@ -435,4 +435,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash
>   
> -  openocd -f board/ti_am62a7evm.cfg
> +   openocd -f board/ti/am62a7evm.cfg
> diff --git a/doc/board/ti/am62dx_evm.rst b/doc/board/ti/am62dx_evm.rst
> index 0d12e3ec1476..88071b3e69d9 100644
> --- a/doc/board/ti/am62dx_evm.rst
> +++ b/doc/board/ti/am62dx_evm.rst
> @@ -237,10 +237,6 @@ detailed setup information.
>   
>   .. warning::
>   
> -  **AM62A**: OpenOCD support since August 2023 (git master)
> -
> -  **AM62D**: Uses AM62A configuration (compatible due to same core architecture)
> -
>     Until the next stable release of OpenOCD is available in your development
>     environment's distribution, it might be necessary to build OpenOCD `from the
>     source <https://github.com/openocd-org/openocd>`_.
> @@ -253,4 +249,9 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash
>   
> -  openocd -f board/ti/am62a7evm.cfg
> +   openocd -f board/ti/am62a7evm.cfg
> +
> +.. note::
> +
> +   The AM62D-EVM uses the same tcl configuration as the AM62A-SK due to
> +   same core architecture.
> diff --git a/doc/board/ti/am62px_sk.rst b/doc/board/ti/am62px_sk.rst
> index 44dae4afc870..9d8b5ebf38fb 100644
> --- a/doc/board/ti/am62px_sk.rst
> +++ b/doc/board/ti/am62px_sk.rst
> @@ -331,13 +331,11 @@ detailed setup information.
>   
>   .. warning::
>   
> -  **OpenOCD support after**: v0.12.0
> +   **OpenOCD support after**: v0.12.0
>   
> -  While support for the entire K3 generation including the am62xxx
> -  extended family was added before v0.12.0, the tcl scripts for the
> -  am62px have been accepted and will be available in the next release of
> -  OpenOCD. It may be necessary to build OpenOCD from source depending on
> -  the version your distribution has packaged.
> +   Until the next stable release of OpenOCD is available in your development
> +   environment's distribution, it might be necissary to build OpenOCD `from the

s/necissary/necessary

Otherwise everything else looks good,

Acked-by: Andrew Davis <afd@ti.com>

> +   source <https://github.com/openocd-org/open ocd>`_.
>   
>   .. include::  k3.rst
>       :start-after: .. k3_rst_include_start_openocd_connect_XDS110
> @@ -347,4 +345,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash
>   
> -  openocd -f board/ti_am62pevm.cfg
> +   openocd -f board/ti/am62pevm.cfg
> diff --git a/doc/board/ti/am62x_sk.rst b/doc/board/ti/am62x_sk.rst
> index ef9425035cb8..2e4923f7a7a1 100644
> --- a/doc/board/ti/am62x_sk.rst
> +++ b/doc/board/ti/am62x_sk.rst
> @@ -867,4 +867,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash $
>   
> -  openocd -f board/ti_am625evm.cfg
> +   openocd -f board/ti/am625evm.cfg
> diff --git a/doc/board/ti/am64x_evm.rst b/doc/board/ti/am64x_evm.rst
> index 65c4c456528c..6f02a1eef883 100644
> --- a/doc/board/ti/am64x_evm.rst
> +++ b/doc/board/ti/am64x_evm.rst
> @@ -227,3 +227,27 @@ https://www.ti.com/lit/pdf/spruim2 under the `Boot Mode Pins` section.
>   
>     For SW2 and SW3, the switch state in the "ON" position = 1.
>     Boot bits on SK is reversed bits to the bootmode signals
> +
> +Debugging U-Boot
> +----------------
> +
> +See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
> +detailed setup information.
> +
> +.. warning::
> +
> +   **OpenOCD support after**: v0.12.0
> +
> +   Until the next stable release of OpenOCD is available in your development
> +   environment's distribution, it might be necissary to build OpenOCD `from the
> +   source <https://github.com/openocd-org/open ocd>`_.
> +
> +.. include::  k3.rst
> +    :start-after: .. k3_rst_include_start_openocd_connect_XDS110
> +    :end-before: .. k3_rst_include_end_openocd_connect_XDS110
> +
> +To start OpenOCD and connect to the board
> +
> +.. prompt:: bash
> +
> +   openocd -f board/ti/am642evm.cfg
> diff --git a/doc/board/ti/am65x_evm.rst b/doc/board/ti/am65x_evm.rst
> index 73ceef2e531c..5f75c01ec65a 100644
> --- a/doc/board/ti/am65x_evm.rst
> +++ b/doc/board/ti/am65x_evm.rst
> @@ -321,4 +321,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash $
>   
> -  openocd -f board/ti_am654evm.cfg
> +   openocd -f board/ti/am654evm.cfg
> diff --git a/doc/board/ti/j7200_evm.rst b/doc/board/ti/j7200_evm.rst
> index 4fd2aff83547..e5c29c2bbb7b 100644
> --- a/doc/board/ti/j7200_evm.rst
> +++ b/doc/board/ti/j7200_evm.rst
> @@ -232,4 +232,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash $
>   
> -  openocd -f board/ti_j7200evm.cfg
> +   openocd -f board/ti/j7200evm.cfg
> diff --git a/doc/board/ti/j721e_evm.rst b/doc/board/ti/j721e_evm.rst
> index 41c8d4c72a8d..c3f3736e625a 100644
> --- a/doc/board/ti/j721e_evm.rst
> +++ b/doc/board/ti/j721e_evm.rst
> @@ -261,4 +261,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash $
>   
> -  openocd -f board/ti_j721eevm.cfg
> +   openocd -f board/ti/j721evm.cfg
> diff --git a/doc/board/ti/j722s_evm.rst b/doc/board/ti/j722s_evm.rst
> index 4b5cf0275940..3d11271613c7 100644
> --- a/doc/board/ti/j722s_evm.rst
> +++ b/doc/board/ti/j722s_evm.rst
> @@ -255,4 +255,4 @@ To start OpenOCD and connect to the board
>   
>   .. prompt:: bash
>   
> -  openocd -f board/ti_j722sevm.cfg
> +   openocd -f board/ti/j722sevm.cfg
> diff --git a/doc/board/ti/j784s4_evm.rst b/doc/board/ti/j784s4_evm.rst
> index ec82228ab908..54b4b6031f0c 100644
> --- a/doc/board/ti/j784s4_evm.rst
> +++ b/doc/board/ti/j784s4_evm.rst
> @@ -663,4 +663,4 @@ following.
>   
>   .. prompt:: bash
>   
> -  openocd -f board/ti_j784s4evm.cfg
> +   openocd -f board/ti/j784s4evm.cfg
> 


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts
  2026-08-04 14:49   ` Andrew Davis
@ 2026-08-04 19:08     ` Bryan Brattlof
  0 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04 19:08 UTC (permalink / raw)
  To: Andrew Davis
  Cc: u-boot, Peng Fan, Tom Rini, Dan Carpenter, Anshul Dalal,
	Simon Glass, Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen,
	Udit Kumar, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On August  4, 2026 thus sayeth Andrew Davis:
> On 8/3/26 7:09 PM, Bryan Brattlof wrote:
> > OpenOCD has moved where it has placed the tcl scripts for TI's reference
> > boards. Update their paths to the new locations.
> > 
> > Tested-by: Anshul Dalal <anshuld@ti.com>
> > Signed-off-by: Bryan Brattlof <bb@ti.com>
> > ---
> > Changes in v3:
> > - Kept warning about which versions of OpenOCD have the tcl scripts
> > - Link to v2: https://lore.kernel.org/r/20260721-am62lx-v2-0-33ff580c267d@ti.com
> > ---
> >   doc/board/ti/am6254atl_sk.rst |  2 +-
> >   doc/board/ti/am62ax_sk.rst    |  2 +-
> >   doc/board/ti/am62dx_evm.rst   | 11 ++++++-----
> >   doc/board/ti/am62px_sk.rst    | 12 +++++-------
> >   doc/board/ti/am62x_sk.rst     |  2 +-
> >   doc/board/ti/am64x_evm.rst    | 24 ++++++++++++++++++++++++
> >   doc/board/ti/am65x_evm.rst    |  2 +-
> >   doc/board/ti/j7200_evm.rst    |  2 +-
> >   doc/board/ti/j721e_evm.rst    |  2 +-
> >   doc/board/ti/j722s_evm.rst    |  2 +-
> >   doc/board/ti/j784s4_evm.rst   |  2 +-
> >   11 files changed, 43 insertions(+), 20 deletions(-)
> > 
> > diff --git a/doc/board/ti/am6254atl_sk.rst b/doc/board/ti/am6254atl_sk.rst
> > index 18a3520b39c7..0df058aee157 100644
> > --- a/doc/board/ti/am6254atl_sk.rst
> > +++ b/doc/board/ti/am6254atl_sk.rst
> > @@ -305,4 +305,4 @@ To start OpenOCD and connect to the board
> >   .. prompt:: bash $
> > -  openocd -f board/ti_am625evm.cfg
> > +   openocd -f board/ti/am625evm.cfg
> > diff --git a/doc/board/ti/am62ax_sk.rst b/doc/board/ti/am62ax_sk.rst
> > index 3453ed339e7f..b04bfc991ea0 100644
> > --- a/doc/board/ti/am62ax_sk.rst
> > +++ b/doc/board/ti/am62ax_sk.rst
> > @@ -435,4 +435,4 @@ To start OpenOCD and connect to the board
> >   .. prompt:: bash
> > -  openocd -f board/ti_am62a7evm.cfg
> > +   openocd -f board/ti/am62a7evm.cfg
> > diff --git a/doc/board/ti/am62dx_evm.rst b/doc/board/ti/am62dx_evm.rst
> > index 0d12e3ec1476..88071b3e69d9 100644
> > --- a/doc/board/ti/am62dx_evm.rst
> > +++ b/doc/board/ti/am62dx_evm.rst
> > @@ -237,10 +237,6 @@ detailed setup information.
> >   .. warning::
> > -  **AM62A**: OpenOCD support since August 2023 (git master)
> > -
> > -  **AM62D**: Uses AM62A configuration (compatible due to same core architecture)
> > -
> >     Until the next stable release of OpenOCD is available in your development
> >     environment's distribution, it might be necessary to build OpenOCD `from the
> >     source <https://github.com/openocd-org/openocd>`_.
> > @@ -253,4 +249,9 @@ To start OpenOCD and connect to the board
> >   .. prompt:: bash
> > -  openocd -f board/ti/am62a7evm.cfg
> > +   openocd -f board/ti/am62a7evm.cfg
> > +
> > +.. note::
> > +
> > +   The AM62D-EVM uses the same tcl configuration as the AM62A-SK due to
> > +   same core architecture.
> > diff --git a/doc/board/ti/am62px_sk.rst b/doc/board/ti/am62px_sk.rst
> > index 44dae4afc870..9d8b5ebf38fb 100644
> > --- a/doc/board/ti/am62px_sk.rst
> > +++ b/doc/board/ti/am62px_sk.rst
> > @@ -331,13 +331,11 @@ detailed setup information.
> >   .. warning::
> > -  **OpenOCD support after**: v0.12.0
> > +   **OpenOCD support after**: v0.12.0
> > -  While support for the entire K3 generation including the am62xxx
> > -  extended family was added before v0.12.0, the tcl scripts for the
> > -  am62px have been accepted and will be available in the next release of
> > -  OpenOCD. It may be necessary to build OpenOCD from source depending on
> > -  the version your distribution has packaged.
> > +   Until the next stable release of OpenOCD is available in your development
> > +   environment's distribution, it might be necissary to build OpenOCD `from the
> 
> s/necissary/necessary
> 

Nice

> Otherwise everything else looks good,
> 
> Acked-by: Andrew Davis <afd@ti.com>

~Bryan

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig
  2026-08-04 11:56   ` Anshul Dalal
@ 2026-08-04 19:10     ` Bryan Brattlof
  0 siblings, 0 replies; 21+ messages in thread
From: Bryan Brattlof @ 2026-08-04 19:10 UTC (permalink / raw)
  To: Anshul Dalal
  Cc: u-boot, Peng Fan, Tom Rini, Dan Carpenter, Simon Glass,
	Alper Nebi Yasak, Ilias Apalodimas, Aristo Chen, Udit Kumar,
	Andrew Davis, Daniel Golle, Johan Jonker, Vignesh Raghavendra,
	Paresh Bhagat, Swamil Jain, Neha Malcom Francis, Shiva Tripathi,
	Apurva Nandan, Chintan Vankar, Francesco Dolcini, Marek Vasut,
	Siddharth Vadapalli, Hrushikesh Salunke, Manorit Chawdhry

On August  4, 2026 thus sayeth Anshul Dalal:
> On Tue Aug 4, 2026 at 5:39 AM IST, Bryan Brattlof wrote:
> > Add the initial minimum configuration needed to boot the AM62L3-SK
> > reference boards.
> >
> > Tested-by: Anshul Dalal <anshuld@ti.com>
> > Signed-off-by: Bryan Brattlof <bb@ti.com>
> > ---
> > Changes in v2:
> > - removed options used for fit image signing
> > - Link to v1: https://lore.kernel.org/r/20260717-am62lx-v1-0-b9830633afb8@ti.com
> > ---
> >  configs/am62lx_evm_defconfig | 139 +++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 139 insertions(+)
> >
> > diff --git a/configs/am62lx_evm_defconfig b/configs/am62lx_evm_defconfig
> > new file mode 100644
> > index 000000000000..2db07b508c2a
> > --- /dev/null
> > +++ b/configs/am62lx_evm_defconfig
> > @@ -0,0 +1,139 @@
> > +CONFIG_ARM=y
> > +CONFIG_ARCH_K3=y
> > +CONFIG_TEXT_BASE=0x84000000
> > +CONFIG_SYS_MALLOC_F_LEN=0x8000
> > +CONFIG_TI_COMMON_CMD_OPTIONS=y
> > +CONFIG_SPL_GPIO=y
> > +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> > +CONFIG_SOC_K3_AM62L3=y
> > +CONFIG_TARGET_AM62L3_EVM=y
> > +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> > +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82b80000
> > +CONFIG_SF_DEFAULT_SPEED=25000000
> > +CONFIG_DM_GPIO=y
> > +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62l3-evm"
> > +CONFIG_OF_LIBFDT_OVERLAY=y
> > +CONFIG_DM_RESET=y
> > +CONFIG_SPL_MMC=y
> > +CONFIG_SPL_SERIAL=y
> > +CONFIG_SPL_STACK_R_ADDR=0x85000000
> > +CONFIG_SPL_TEXT_BASE=0x82000000
> > +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> > +CONFIG_SPL_BSS_START_ADDR=0x82c80000
> > +CONFIG_SPL_BSS_MAX_SIZE=0x80000
> > +CONFIG_SPL_STACK_R=y
> > +CONFIG_SYS_BOOTM_LEN=0x800000
> 
> Currently using the command 'spl export' throws a "Image too large:
> increase CONFIG_SYS_BOOTM_LEN" warning. Steps to reproduce:
> 
> => load mmc 1:2 $loadaddr boot/fitImage
> => spl export fdt $loadaddr
> 
> Is there any reason we are keeping it this low? I think the default of
> 0x8000000 should be fine for us.

Sure I can drop this.

~Bryan

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-08-04 19:10 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04  0:09 [PATCH v3 00/11] arm: mach-k3: introduce basic support for the AM62L Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 01/11] firmware: scmi: switch to dev_ofnode during bind Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 02/11] tools: binman: extend ti_secure_rom to handle op-tee Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 03/11] soc: add data to identify the am62lx Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 04/11] boot/Kconfig: disable fit post processing for AM62L Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 05/11] arm: mach-k3: Add initial am62lx SoC support Bryan Brattlof
2026-08-04 11:12   ` Anshul Dalal
2026-08-04  0:09 ` [PATCH v3 06/11] board: ti: am62lx: add initial board files Bryan Brattlof
2026-08-04 11:14   ` Anshul Dalal
2026-08-04  0:09 ` [PATCH v3 07/11] arm: dts: k3-am62lx: Add binman support Bryan Brattlof
2026-08-04 11:20   ` Anshul Dalal
2026-08-04  0:09 ` [PATCH v3 08/11] configs: am62lx_evm: add initial defconfig Bryan Brattlof
2026-08-04 11:56   ` Anshul Dalal
2026-08-04 19:10     ` Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 09/11] doc: ti: k3: fix pygments warning parsing device-tree Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 10/11] doc: board: ti: correct path to tcl scripts Bryan Brattlof
2026-08-04 11:57   ` Anshul Dalal
2026-08-04 14:49   ` Andrew Davis
2026-08-04 19:08     ` Bryan Brattlof
2026-08-04  0:09 ` [PATCH v3 11/11] doc: board: ti: am62lx_evm: add initial docs for the AM62L-EVM Bryan Brattlof
2026-08-04 11:29   ` Anshul Dalal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.