Merge patch series "board: beagle: beagley-ai: Cleanups and stdboot"

Nishanth Menon <nm@ti.com> says:

Just happened to get a BeagleY-AI at desk and happened to test master
branch (7dd49a9264 drivers: scsi: Add 'erase' support), noticed a few
issues which were rather easy to solve.. so, here we go:

Link: https://lore.kernel.org/r/20250425173120.141503-1-nm@ti.com
This commit is contained in:
Tom Rini
2025-05-02 14:23:51 -06:00
8 changed files with 493 additions and 41 deletions

View File

@@ -53,6 +53,10 @@
status = "disabled";
};
&main_gpio1 {
bootph-all;
};
#if IS_ENABLED(CONFIG_TARGET_J722S_R5_BEAGLEY_AI)
&binman {

View File

@@ -3,6 +3,4 @@ M: Robert Nelson <robertcnelson@gmail.com>
M: Tom Rini <trini@konsulko.com>
S: Maintained
F: board/beagle/beagley-ai/
F: include/configs/beagley_ai.h
F: configs/am67a_beagley_ai_r5_defconfig
F: configs/am67a_beagley_ai_a53_defconfig
N: beagley_ai

View File

@@ -1,5 +1,6 @@
#include <env/ti/ti_common.env>
#include <env/ti/mmc.env>
#include <env/ti/k3_dfu.env>
#if CONFIG_CMD_REMOTEPROC
#include <env/ti/k3_rproc.env>
@@ -10,8 +11,11 @@ console=ttyS2,115200n8
args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
${mtdparts}
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
set_led_state_fail_load=led led-0 off
set_led_state_start_load=led led-0 on
boot_targets=mmc1 mmc0 pxe dhcp
boot_targets=mmc1
bootmeths=script extlinux efi pxe
boot=mmc
mmcdev=1
bootpart=1:2

View File

@@ -1,37 +1,146 @@
#include <configs/j722s_evm_a53_defconfig>
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SYS_MALLOC_F_LEN=0x8000
CONFIG_TI_COMMON_CMD_OPTIONS=y
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SOC_K3_J722S=y
CONFIG_TARGET_J722S_A53_BEAGLEY_AI=y
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
CONFIG_ENV_SIZE=0x40000
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am67a-beagley-ai"
CONFIG_SPL_OF_LIST="ti/k3-am67a-beagley-ai"
CONFIG_OF_LIST="ti/k3-am67a-beagley-ai"
CONFIG_BOOTCOMMAND="run findfdt; run envboot; run distro_bootcmd"
CONFIG_EXT4_WRITE=y
CONFIG_LZO=y
CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_DM_RESET=y
CONFIG_SPL_MMC=y
CONFIG_SPL_SERIAL=y
CONFIG_SPL_STACK_R_ADDR=0x82000000
CONFIG_SPL_TEXT_BASE=0x80080000
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
CONFIG_SPL_BSS_START_ADDR=0x80a00000
CONFIG_SPL_BSS_MAX_SIZE=0x80000
CONFIG_SPL_STACK_R=y
CONFIG_SPL_FS_FAT=y
CONFIG_SPL_LIBDISK_SUPPORT=y
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
CONFIG_BOOTSTD_FULL=y
CONFIG_AUTOBOOT_KEYED=y
CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
CONFIG_AUTOBOOT_DELAY_STR="d"
CONFIG_AUTOBOOT_STOP_STR=" "
CONFIG_TI_I2C_BOARD_DETECT=n
CONFIG_SPL_SPI=n
CONFIG_SPL_SPI_FLASH_SUPPORT=n
CONFIG_SPL_DM_SPI_FLASH=n
CONFIG_SPL_MTD_SUPPORT=n
CONFIG_SPL_MTD_SUPPORT=n
CONFIG_DM_SPI_FLASH=n
CONFIG_SPI_FLASH=n
CONFIG_MTD=n
CONFIG_MTD_PARTITIONS=n
CONFIG_DM_MTD=n
CONFIG_MTD_UBI=n
CONFIG_CMD_UBIFS=n
CONFIG_CMD_UBI=n
CONFIG_DFU_SF=n
CONFIG_DM_SPI=n
CONFIG_SPL_SPI_LOAD=n
CONFIG_SPL_MTD=n
CONFIG_CMD_SPI=n
CONFIG_BOOTCOMMAND="run set_led_state_start_load; run envboot; bootflow scan -lb; run set_led_state_fail_load"
CONFIG_BOARD_LATE_INIT=y
CONFIG_SPL_MAX_SIZE=0x58000
CONFIG_SPL_PAD_TO=0x0
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_THERMAL=y
CONFIG_SPL_YMODEM_SUPPORT=y
CONFIG_CMD_CLK=y
CONFIG_CMD_GPIO_READ=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_CMD_EFIDEBUG=y
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_UPSTREAM=y
CONFIG_MULTI_DTB_FIT=y
CONFIG_SPL_MULTI_DTB_FIT=y
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_SPL_DM=y
CONFIG_SPL_DM_DEVICE_REMOVE=y
CONFIG_SPL_DM_SEQ_ALIAS=y
CONFIG_REGMAP=y
CONFIG_SPL_REGMAP=y
CONFIG_SPL_SYSCON=y
CONFIG_SPL_OF_TRANSLATE=y
CONFIG_CLK=y
CONFIG_SPL_CLK=y
CONFIG_CLK_TI_SCI=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_USB_FUNCTION_FASTBOOT=y
CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
CONFIG_TI_SCI_PROTOCOL=y
CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
CONFIG_DA8XX_GPIO=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_OMAP24XX=y
CONFIG_LED=y
CONFIG_SPL_LED=y
CONFIG_LED_GPIO=y
CONFIG_SPL_LED_GPIO=y
CONFIG_DM_MAILBOX=y
CONFIG_K3_SEC_PROXY=y
CONFIG_I2C_EEPROM=y
CONFIG_SPL_I2C_EEPROM=y
CONFIG_FS_LOADER=y
CONFIG_MMC_IO_VOLTAGE=y
CONFIG_SPL_MMC_IO_VOLTAGE=y
CONFIG_MMC_UHS_SUPPORT=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ADMA=y
CONFIG_SPL_MMC_SDHCI_ADMA=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_PHY_TI_DP83867=y
CONFIG_TI_AM65_CPSW_NUSS=y
CONFIG_PINCTRL=y
CONFIG_SPL_PINCTRL=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_POWER_DOMAIN=y
CONFIG_TI_SCI_POWER_DOMAIN=y
CONFIG_DM_PMIC=y
CONFIG_PMIC_TPS65219=y
CONFIG_DM_REGULATOR=y
CONFIG_SPL_DM_REGULATOR=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_SPL_DM_REGULATOR_FIXED=y
CONFIG_DM_REGULATOR_GPIO=y
CONFIG_SPL_DM_REGULATOR_GPIO=y
CONFIG_DM_REGULATOR_TPS65219=y
CONFIG_K3_SYSTEM_CONTROLLER=y
CONFIG_RESET_TI_SCI=y
CONFIG_DM_SERIAL=y
CONFIG_SOC_DEVICE=y
CONFIG_SOC_DEVICE_TI_K3=y
CONFIG_SOC_TI=y
CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
CONFIG_SYSRESET_TI_SCI=y
CONFIG_DM_THERMAL=y
CONFIG_USB=y
CONFIG_DM_USB_GADGET=y
CONFIG_SPL_DM_USB_GADGET=y
CONFIG_SPL_USB_HOST=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_SPL_USB_STORAGE=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_SPL_DFU=y
CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
CONFIG_LZO=y

View File

@@ -1,14 +1,105 @@
#include <configs/j722s_evm_r5_defconfig>
CONFIG_ARM=y
CONFIG_ARCH_K3=y
CONFIG_SYS_MALLOC_F_LEN=0x9000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SOC_K3_J722S=y
CONFIG_K3_QOS=y
CONFIG_TARGET_J722S_R5_BEAGLEY_AI=y
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c4a7f0
CONFIG_ENV_SIZE=0x20000
CONFIG_SPL_DM_SPI=y
CONFIG_DEFAULT_DEVICE_TREE="k3-am67a-r5-beagley-ai"
CONFIG_SPL_OF_LIST="k3-am67a-r5-beagley-ai"
CONFIG_OF_LIST="k3-am67a-r5-beagley-ai"
CONFIG_TI_I2C_BOARD_DETECT=n
CONFIG_SPL_DM_SPI_FLASH=n
CONFIG_SPL_MTD_SUPPORT=n
CONFIG_DM_RESET=y
CONFIG_SPL_MMC=y
CONFIG_SPL_SERIAL=y
CONFIG_SPL_DRIVERS_MISC=y
CONFIG_SPL_STACK_R_ADDR=0x82000000
CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000
CONFIG_SPL_TEXT_BASE=0x43c00000
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
CONFIG_SPL_BSS_START_ADDR=0x43c7b000
CONFIG_SPL_BSS_MAX_SIZE=0x3000
CONFIG_SPL_STACK_R=y
CONFIG_SPL_SIZE_LIMIT=0x3C000
CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x5000
CONFIG_SPL_FS_FAT=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
CONFIG_SPL_MAX_SIZE=0x6ce00
CONFIG_SPL_PAD_TO=0x0
CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SPL_EARLY_BSS=y
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
CONFIG_SPL_DMA=y
CONFIG_SPL_DM_MAILBOX=y
CONFIG_SPL_DM_RESET=y
CONFIG_SPL_POWER_DOMAIN=y
CONFIG_SPL_RAM_DEVICE=y
CONFIG_SPL_THERMAL=y
CONFIG_SPL_YMODEM_SUPPORT=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_ASKENV=y
CONFIG_CMD_DFU=y
CONFIG_CMD_GPT=y
CONFIG_CMD_MMC=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_TIME=y
CONFIG_CMD_FAT=y
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_NO_NET=y
CONFIG_SPL_DM=y
CONFIG_SPL_DM_DEVICE_REMOVE=y
CONFIG_SPL_DM_SEQ_ALIAS=y
CONFIG_REGMAP=y
CONFIG_SPL_REGMAP=y
CONFIG_SPL_OF_TRANSLATE=y
CONFIG_CLK=y
CONFIG_SPL_CLK=y
CONFIG_SPL_CLK_CCF=y
CONFIG_SPL_CLK_K3_PLL=y
CONFIG_SPL_CLK_K3=y
CONFIG_DMA_CHANNELS=y
CONFIG_TI_K3_NAVSS_UDMA=y
CONFIG_TI_SCI_PROTOCOL=y
# CONFIG_GPIO is not set
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_OMAP24XX=y
CONFIG_DM_MAILBOX=y
CONFIG_K3_SEC_PROXY=y
CONFIG_ESM_K3=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ADMA=y
CONFIG_SPL_MMC_SDHCI_ADMA=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_PINCTRL=y
# CONFIG_PINCTRL_GENERIC is not set
CONFIG_SPL_PINCTRL=y
# CONFIG_SPL_PINCTRL_GENERIC is not set
CONFIG_PINCTRL_SINGLE=y
CONFIG_POWER_DOMAIN=y
CONFIG_TI_POWER_DOMAIN=y
CONFIG_K3_SYSTEM_CONTROLLER=y
CONFIG_RESET_TI_SCI=y
CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_DM_SERIAL=y
CONFIG_SOC_DEVICE=y
CONFIG_SOC_DEVICE_TI_K3=y
CONFIG_SOC_TI=y
CONFIG_TIMER=y
CONFIG_SPL_TIMER=y
CONFIG_OMAP_TIMER=y
CONFIG_LIB_RATIONAL=y
CONFIG_SPL_LIB_RATIONAL=y

View File

@@ -0,0 +1,244 @@
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
.. sectionauthor:: Nishanth Menon <nm@ti.com>
AM67A Beagleboard.org BeagleY-AI
================================
Introduction:
-------------
BeagleBoard.org BeagleY-AI is an easy to use, affordable open source
hardware single board computer based on the Texas Instruments AM67A,
which features a quad-core 64-bit Arm CPU subsystem, 2 general-purpose
digital-signal-processors (DSP) and matrix-multiply-accelerators (MMA),
GPU, vision and deep learning accelerators, and multiple Arm Cortex-R5
cores for low-power, low-latency GPIO control.
Further information can be found at:
* Product Page: https://beagley-ai.org/
* Hardware documentation: https://openbeagle.org/beagley-ai/beagley-ai
Boot Flow:
----------
Below is the pictorial representation of boot flow:
.. image:: ../ti/img/boot_diagram_k3_current.svg
:alt: Boot flow diagram
- On this platform, 'TI Foundational Security' (TIFS) functions as the
security enclave master while 'Device Manager' (DM), also known as the
'TISCI server' in "TI terminology", offers all the essential services.
The A53 or R5F (Aux core) sends requests to TIFS/DM to accomplish these
services, as illustrated in the diagram above.
Sources:
--------
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
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_CORTEXR=am67a_beagley_ai_r5_defconfig
export UBOOT_CFG_CORTEXA=am67a_beagley_ai_a53_defconfig
export TFA_BOARD=lite
# we dont use any extra TFA parameters
unset TFA_EXTRA_ARGS
export OPTEE_PLATFORM=k3-am62x
.. include:: ../ti/j722s_evm.rst
:start-after: .. j722s_evm_rst_include_start_build_steps
:end-before: .. j722s_evm_rst_include_end_build_steps
Target Images
-------------
Copy these images to an SD card and boot:
* tiboot3-j722s-hs-fs-evm.bin from Cortex-R5 build as tiboot3.bin.
* tispl.bin and u-boot.img from Cortex-A build.
Image formats
-------------
- tiboot3.bin
.. image:: ../ti/img/multi_cert_tiboot3.bin.svg
:alt: tiboot3.bin image format
- tispl.bin
.. image:: ../ti/img/tifsstub_dm_tispl.bin.svg
:alt: tispl.bin image format
Additional hardware for U-Boot development
------------------------------------------
* Serial Console is critical for U-Boot development on BeagleY-AI. See
`BeagleY-AI serial console documentation
<https://docs.beagleboard.org/boards/beagley/ai/02-quick-start.html#beagley-ai-headless>`_.
* The only onboard storage option is uSD.
* (optionally) JTAG is useful when working with very early stages of boot.
Flash to uSD card or how to deal with "bricked" Board
-----------------------------------------------------
The only storage option on the platform is uSD card. However, if you
choose to hand format your own bootable uSD card, be aware that it can
be difficult. The following information may be helpful, but remember
that it is only sometimes reliable, and partition options can cause
issues. These can potentially help:
* https://git.ti.com/cgit/arago-project/tisdk-setup-scripts/tree/create-sdcard.sh
* https://elinux.org/Beagleboard:Expanding_File_System_Partition_On_A_microSD
* Or manually as follows (may not take into distro needs such as EFI or swap):
.. prompt:: bash #
# Create image with partition table
parted --script <SD CARD DEVICE> \
mklabel msdos \
mkpart primary fat16 4MiB 20MiB \
mkpart primary ext4 20MiB 100% \
set 1 boot on \
set 1 bls_boot off \
set 1 lba on
# Create boot partition
mkfs.vfat <SD CARD DEVICE>1
# Create root partition
mkfs.ext4 <SD CARD DEVICE>2
The simplest option is to start with a standard distribution
image like those in `BeagleBoard.org Distros Page
<https://www.beagleboard.org/distros>`_ and download a disk image for
BeagleY-AI. Pick a 16GB+ uSD card to be on the safer side.
With an SD/MMC Card reader and `Balena Etcher
<https://etcher.balena.io/>`_, having a functional setup in minutes is
a trivial matter, and it works on almost all Host Operating Systems.
Yes Windows users, Windows Subsystem for Linux(WSL) based development
with U-Boot and update uSD card is practical.
Updating U-Boot is a matter of copying the tiboot3.bin, tispl.bin and
u-boot.img to the "BOOT" partition of the uSD card. Remember to sync
and unmount (or Eject - depending on the Operating System) the uSD
card prior to physically removing from SD card reader.
.. note::
Great news! If the board has not been damaged physically, there's no
need to worry about it being "bricked" on this platform. You only have
to flash an uSD card, plug it in. This means that even if you make a
mistake, you can quickly fix it and rest easy.
If you are frequently working with uSD cards, you might find the
following useful:
* `USB-SD-Mux <https://www.linux-automation.com/en/products/usb-sd-mux.html>`_
* `SD-Wire <https://wiki.tizen.org/SDWire>`_
LED patterns during boot
------------------------
.. list-table:: LED status indication as system boots up
:widths: 16 16
:header-rows: 1
* - LED Color
- Indicates
* - Only RED at startup
- Boot failure or R5 image not started up
* - Steady Green
- A53 U-boot has started up
* - Red/Orange
- OS boot process has been initiated
* - Steady Green
- OS boot process failed and drops to U-Boot shell
.. warning ::
If the "red" power LED is not glowing, the system power supply is not
functional. Please refer to `BeagleY-AI documentation
<https://beagley-ai.org/>`_ for further information.
A53 SPL DDR Memory Layout
-------------------------
.. include:: ../ti/j722s_evm.rst
:start-after: .. j722s_evm_rst_include_start_ddr_mem_layout
:end-before: .. j722s_evm_rst_include_end_ddr_mem_layout
Debugging U-Boot
----------------
See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
detailed setup and debugging information.
.. warning::
**OpenOCD support since**: commit 33749a7fbeb5
If the default package version of OpenOCD in your development
environment's distribution needs to be updated, it might be necessary to
build OpenOCD from the source.
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_openocd_connect_tag_connect
:end-before: .. k3_rst_include_end_openocd_connect_tag_connect
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_openocd_cfg_external_intro
:end-before: .. k3_rst_include_end_openocd_cfg_external_intro
For example, with BeagleY-AI (J722S/AM67A platform), the openocd_connect.cfg:
.. code-block:: tcl
# TUMPA example:
# http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User's_Manual
source [find interface/ftdi/tumpa.cfg]
transport select jtag
# default JTAG configuration has only SRST and no TRST
reset_config srst_only srst_push_pull
# delay after SRST goes inactive
adapter srst delay 20
if { ![info exists SOC] } {
# Set the SoC of interest
set SOC j722s
}
source [find target/ti_k3.cfg]
ftdi tdo_sample_edge falling
# Speeds for FT2232H are in multiples of 2, and 32MHz is tops
# max speed we seem to achieve is ~20MHz.. so we pick 16MHz
adapter speed 16000

View File

@@ -11,4 +11,5 @@ ARM based boards
:maxdepth: 2
am62x_beagleplay
am67a_beagley_ai.rst
j721e_beagleboneai64

View File

@@ -44,6 +44,7 @@ K3 Based SoCs
K3 SoC based boards in other sections
* :doc:`../beagle/am62x_beagleplay`
* :doc:`../beagle/am67a_beagley_ai`
* :doc:`../beagle/j721e_beagleboneai64`
* :doc:`../phytec/phycore-am62x`
* :doc:`../phytec/phycore-am62ax`