From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D6936C369C2 for ; Fri, 25 Apr 2025 17:32:29 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 54A4082A38; Fri, 25 Apr 2025 19:31:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=ti.com header.i=@ti.com header.b="tvIpbsz3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B138282958; Fri, 25 Apr 2025 19:31:33 +0200 (CEST) Received: from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AB8A5829E2 for ; Fri, 25 Apr 2025 19:31:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=nm@ti.com Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTPS id 53PHVNjh2234175 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Apr 2025 12:31:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1745602283; bh=vn3Q4gLcxxfnnw821KLROliMbf8FccL2lL2wuYpJva0=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=tvIpbsz38JfLNHinazalnnhp0LUnfEEcpYyLLPg/J5qpIFYSx2cip7wbwugTscpBO LnMB+q8XW9MdBwcK2I2PEEj/n8GKigHR0p1XB6xW6mtCwLGUCDQmIJXCQSScwOTebW M+1NWxaN53XEj/OX1LYWbA/KYckOUAiTsKTwPKjo= Received: from DFLE106.ent.ti.com (dfle106.ent.ti.com [10.64.6.27]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 53PHVN70076655 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 25 Apr 2025 12:31:23 -0500 Received: from DFLE110.ent.ti.com (10.64.6.31) by DFLE106.ent.ti.com (10.64.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Fri, 25 Apr 2025 12:31:23 -0500 Received: from lelvsmtp6.itg.ti.com (10.180.75.249) by DFLE110.ent.ti.com (10.64.6.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via Frontend Transport; Fri, 25 Apr 2025 12:31:23 -0500 Received: from localhost (uda0133052.dhcp.ti.com [128.247.81.232]) by lelvsmtp6.itg.ti.com (8.15.2/8.15.2) with ESMTP id 53PHVNwU120226; Fri, 25 Apr 2025 12:31:23 -0500 From: Nishanth Menon To: Tom Rini , Heinrich Schuchardt , Neha Malcom Francis , Robert Nelson CC: Beleswar Padhi , Udit Kumar , Jonathan Humphreys , Andrew Davis , , Nishanth Menon Subject: [PATCH 9/9] doc: beagle: Add BeagleY-AI documentation Date: Fri, 25 Apr 2025 12:31:19 -0500 Message-ID: <20250425173120.141503-10-nm@ti.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250425173120.141503-1-nm@ti.com> References: <20250425173120.141503-1-nm@ti.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Document the BeagleY-AI usage, build and basic debug hints Reviewed-by: Udit Kumar Signed-off-by: Nishanth Menon --- Changes Since v2: - Picked up Udit's review V2: https://lore.kernel.org/r/20250418193943.953952-10-nm@ti.com doc/board/beagle/am67a_beagley_ai.rst | 244 ++++++++++++++++++++++++++ doc/board/beagle/index.rst | 1 + doc/board/ti/k3.rst | 1 + 3 files changed, 246 insertions(+) create mode 100644 doc/board/beagle/am67a_beagley_ai.rst diff --git a/doc/board/beagle/am67a_beagley_ai.rst b/doc/board/beagle/am67a_beagley_ai.rst new file mode 100644 index 000000000000..3d2fc4a31950 --- /dev/null +++ b/doc/board/beagle/am67a_beagley_ai.rst @@ -0,0 +1,244 @@ +.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause +.. sectionauthor:: Nishanth Menon + +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 + `_. +* 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 \ + 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 1 + # Create root partition + mkfs.ext4 2 + +The simplest option is to start with a standard distribution +image like those in `BeagleBoard.org Distros Page +`_ 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 +`_, 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 `_ + * `SD-Wire `_ + +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 + `_ 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`: 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 diff --git a/doc/board/beagle/index.rst b/doc/board/beagle/index.rst index 9124546ebc79..e33d39fc677f 100644 --- a/doc/board/beagle/index.rst +++ b/doc/board/beagle/index.rst @@ -11,4 +11,5 @@ ARM based boards :maxdepth: 2 am62x_beagleplay + am67a_beagley_ai.rst j721e_beagleboneai64 diff --git a/doc/board/ti/k3.rst b/doc/board/ti/k3.rst index 0deb4d768f9c..c8acbc9950f5 100644 --- a/doc/board/ti/k3.rst +++ b/doc/board/ti/k3.rst @@ -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` -- 2.47.0