On 12/31/25 8:42 AM, Dominik Haller wrote:
Add documentation for the PHYTEC phyCORE-AM68x/TDA4x (J721S2 family) SoM. Signed-off-by: Dominik Haller <[email protected]> --- doc/board/phytec/index.rst | 1 + doc/board/phytec/phycore-am68x.rst | 166 +++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 doc/board/phytec/phycore-am68x.rst diff --git a/doc/board/phytec/index.rst b/doc/board/phytec/index.rst index e24040a496e9..dd9edd792f40 100644 --- a/doc/board/phytec/index.rst +++ b/doc/board/phytec/index.rst @@ -12,5 +12,6 @@ PHYTEC phycore-am62x phycore-am62ax phycore-am64x + phycore-am68x phycore-imx8mm phycore-imx8mp diff --git a/doc/board/phytec/phycore-am68x.rst b/doc/board/phytec/phycore-am68x.rst new file mode 100644 index 000000000000..974dc53a30a8 --- /dev/null +++ b/doc/board/phytec/phycore-am68x.rst
Don't forget to update the board/MAINTAINERS file. With that changed, Reviewed-by: Wadim Egorov <[email protected]>
@@ -0,0 +1,166 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. sectionauthor:: Dominik Haller <[email protected]> + +phyCORE-AM68x/TDA4x +=================== + +The `phyCORE-AM68x/TDA4x <https://www.phytec.eu/en/produkte/system-on-modules/phycore-am68x-tda4x/>`_ +is a SoM (System on Module) populated with AM68x or TDA4x SoCs from TI's J721S2 +family. It can be used in combination with different carrier boards. This module +can come with different sizes and models for DDR, eMMC, ETH-PHY, SPI NOR Flash +and an optional SN65DSI83 DSI->LVDS transceiver using DSI0. + +A development Kit, called `phyBOARD-Izar <https://www.phytec.eu/en/produkte/development-kits/phyboard-izar/>`_ +is used as a carrier board reference design around the AM68x/TDA4x SoM. + +Quickstart +---------- + +* Download sources and TI firmware blobs +* Build Trusted Firmware-A +* Build OP-TEE +* Build U-Boot for the R5 +* Build U-Boot for the A72 +* Create bootable uSD Card +* Boot + +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 +--------------- + +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 +.. code-block:: bash + + $ export UBOOT_CFG_CORTEXR=phycore_am68x_r5_defconfig + $ export UBOOT_CFG_CORTEXA=phycore_am68x_a72_defconfig + $ export TFA_BOARD=generic + $ export TFA_EXTRA_ARGS="K3_USART=0x8" + $ export OPTEE_PLATFORM=k3-j784s4 + $ export OPTEE_EXTRA_ARGS="CFG_CONSOLE_UART=0x8" + +1. Trusted Firmware-A: + +.. include:: ../ti/k3.rst + :start-after: .. k3_rst_include_start_build_steps_tfa + :end-before: .. k3_rst_include_end_build_steps_tfa + +2. OP-TEE: + +.. include:: ../ti/k3.rst + :start-after: .. k3_rst_include_start_build_steps_optee + :end-before: .. k3_rst_include_end_build_steps_optee + +3. U-Boot: + +* 3.1 R5: + +.. include:: ../ti/k3.rst + :start-after: .. k3_rst_include_start_build_steps_spl_r5 + :end-before: .. k3_rst_include_end_build_steps_spl_r5 + +* 3.2 A72: + +.. include:: ../ti/k3.rst + :start-after: .. k3_rst_include_start_build_steps_uboot + :end-before: .. k3_rst_include_end_build_steps_uboot + +uSD Card creation +----------------- + +Use fdisk to partition the uSD card. The layout should look similar to: + +.. code-block:: bash + + $ sudo fdisk -l /dev/mmcblk0 + Disk /dev/mmcblk0: 15 GB, 15913189376 bytes, 31080448 sectors + 242816 cylinders, 4 heads, 32 sectors/track + Units: sectors of 1 * 512 = 512 bytes + + Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type + /dev/mmcblk0p1 * 128,0,1 1023,3,32 16384 278527 262144 128M c Win95 FAT32 (LBA) + /dev/mmcblk0p2 1023,3,32 1023,3,32 278528 1693883 1415356 691M 83 Linux + + +Once partitioned, the boot partition has to be formatted with a FAT filesystem. +Assuming the uSD card is `/dev/mmcblk0`: + +.. code-block:: bash + + $ mkfs.vfat /dev/mmcblk0p1 + +To boot from a micro SD card on a HSFS device simply copy the following +artifacts to the FAT partition: + +* tiboot3.bin from R5 build +* tispl.bin from Cortex-A build +* u-boot.img from Cortex-A build + +Boot +---- + +Put the uSD card in the slot on the board and apply power. Check the serial +console for output. + +Boot Modes +---------- + +The phyBOARD-Izar development kit supports booting from many different +interfaces. By default, the development kit is set to boot from the micro-SD +card. To change the boot device, DIP switches S8 and S7 can be used. +Boot switches should be changed with power off. + +.. list-table:: Boot Modes + :widths: 16 16 16 + :header-rows: 1 + + * - Switch Label + - SW8: 12345678 + - SW7: 12345678 + + * - uSD + - 00000000 + - 01000001 + + * - eMMC (FS/UDA) + - 00000000 + - 10001011 + + * - eMMC (HW partitions) + - 00000010 + - 10001011 + + * - OSPI0 + - 00000010 + - 00001100 + +.. include:: k3-common.rst + +Further Information +------------------- + +Please see :doc:`../ti/j721s2_evm` chapter for further J721S2 SoC family +related documentation.

