
Hi,
On Nov 30, 2023 at 12:56:07 +0100, Wadim Egorov wrote:
Add documentation for PHYTEC phyCORE-AM62x SoM.
Signed-off-by: Wadim Egorov w.egorov@phytec.de
v2: Rebased on top of -next
Please CC Tom Rini trini@konsulko.com on the series.
doc/board/phytec/index.rst | 1 + doc/board/phytec/phycore-am62x.rst | 125 +++++++++++++++++++++++++++++ doc/board/ti/k3.rst | 1 + 3 files changed, 127 insertions(+) create mode 100644 doc/board/phytec/phycore-am62x.rst
diff --git a/doc/board/phytec/index.rst b/doc/board/phytec/index.rst index a5b442045e..b914cc3fbd 100644 --- a/doc/board/phytec/index.rst +++ b/doc/board/phytec/index.rst @@ -6,5 +6,6 @@ PHYTEC .. toctree:: :maxdepth: 2
- phycore-am62x phycore-imx8mm phycore-imx8mp
diff --git a/doc/board/phytec/phycore-am62x.rst b/doc/board/phytec/phycore-am62x.rst new file mode 100644 index 0000000000..46312a73bc --- /dev/null +++ b/doc/board/phytec/phycore-am62x.rst @@ -0,0 +1,125 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. sectionauthor:: Wadim Egorov w.egorov@phytec.de
+phyCORE-AM62x +=============
+The `phyCORE-AM62x https://www.phytec.com/product/phycore-am62x`_ is a +SoM (System on Module) featuring TI's AM62x SoC. It can be used in combination +with different carrier boards. This module can come with different sizes and +models for DDR, eMMC, SPI NOR Flash and various SoCs from the AM62x family.
+A development Kit, called `phyBOARD-Lyra https://www.phytec.com/product/phyboard-am62x`_ +is used as a carrier board reference design around the AM62x 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 A53 +* 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
+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_am62x_r5_defconfig
- $ export UBOOT_CFG_CORTEXA=phycore_am62x_a53_defconfig
- $ export TFA_BOARD=lite
- $ # we don't use any extra TFA parameters
- $ unset TFA_EXTRA_ARGS
- $ export OPTEE_PLATFORM=k3-am62x
- $ export OPTEE_EXTRA_ARGS="CFG_WITH_SOFTWARE_PRNG=y"
Does this need to be the case? If it's just copied from AM62x then I think I need to fix that documentation, not sure if we necessarily need SW_RNG and thus disable HW_RNG upstream.
The context here was we were enabling SW_RNG a while back due to a crash after suspend resume on AM62x, however that issue no longer seems to cause any lock ups/ crash.
+.. include:: ../ti/am62x_sk.rst
- :start-after: .. am62x_evm_rst_include_start_build_steps
- :end-before: .. am62x_evm_rst_include_end_build_steps
+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: 7.56 GiB, 8120172544 bytes, 15859712 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disklabel type: dos
- Disk identifier: 0x6583d9a3
- Device Boot Start End Sectors Size Id Type
- /dev/mmcblk0p1 * 2048 264191 262144 128M c W95 FAT32 (LBA)
- /dev/mmcblk0p2 264192 1934953 1670762 815.8M 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 an uSD on a GP device simply copy the following artifacts to the
nit: "a" micro SD card not an
Are most of the SoM's GP devices? Otherwise thinking if we should make the documentation for HSFS as a default and GP as an exception?
Or else just say copy tiboot3.bin as is on the SD card for HSFS devices and for GP.... (as you have done below)
+FAT partition:
+* tiboot3-am62x-gp-phycore-som.bin from R5 build as tiboot3.bin +* tispl.bin_unsigned from Cortex-A build as tispl.bin +* u-boot.img_unsigned from Cortex-A build as u-boot.img
+Boot +----
+Put the uSD card in the slot on the board and apply power. Check the serial +console for output.
+Flash to SPI NOR +----------------
+Below commands can be used to flash the SPI NOR flash; assuming +tiboot3.bin, tispl.bin and u-boot.img are stored on the uSD card.
+.. code-block:: bash
- sf probe
- fatload mmc 1 ${loadaddr} tiboot3.bin
- sf update $loadaddr 0x0 $filesize
- fatload mmc 1 ${loadaddr} tispl.bin
- sf update $loadaddr 0x80000 $filesize
- fatload mmc 1 ${loadaddr} u-boot.img
- sf update $loadaddr 0x280000 $filesize
Want to add some documentation on Boot Modes? Something like [0]?
+Further Information +-------------------
+Please see :doc:`../ti/am62x_sk` chapter for further AM62 SoC related documentation +and https://docs.phytec.com/phycore-am62x for vendor documentation. diff --git a/doc/board/ti/k3.rst b/doc/board/ti/k3.rst index a127215ce5..435c72a428 100644 --- a/doc/board/ti/k3.rst +++ b/doc/board/ti/k3.rst @@ -33,6 +33,7 @@ K3 Based SoCs am62ax_sk am62x_sk ../beagle/am62x_beagleplay
- ../phytec/phycore-am62x ../toradex/verdin-am62 am64x_evm
Rest looks good, so with the above suggestions,
Reviewed-by: Dhruva Gole d-gole@ti.com
[0] https://docs.u-boot.org/en/v2023.07.02/board/ti/am62x_sk.html