From 77801f4b644b61e8a626a8a07b8249b8d29b118b Mon Sep 17 00:00:00 2001 From: Primoz Fiser Date: Tue, 17 Mar 2026 13:31:26 +0100 Subject: board: phytec: phycore-imx91-93: Add phyCORE-i.MX91 support As the PHYTEC phyCORE-i.MX91 [1] is just another variant of the existing PHYTEC phyCORE-i.MX93 SoM but with i.MX91 SoC populated instead, add it to the existing board-code "phycore_imx93", and rename that board to "phycore_imx91_93" to reflect the dual SoCs support. While at it, also rename and change common files accordingly. This way i.MX91 and i.MX93 SoC variants of the phyCORE SoM share most of the code and documentation without duplication, while maintaining own device-tree and defconfigs for each CPU variant. Supported features: - 1GB LPDDR4 RAM - Debug UART - EEPROM - eMMC - Ethernet - SD-card - USB Product page SoM: [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-91-93/ Signed-off-by: Primoz Fiser --- doc/board/phytec/imx91-93-phycore.rst | 83 +++++++++++++++++++++++++++++++++++ doc/board/phytec/imx93-phycore.rst | 61 ------------------------- doc/board/phytec/index.rst | 2 +- 3 files changed, 84 insertions(+), 62 deletions(-) create mode 100644 doc/board/phytec/imx91-93-phycore.rst delete mode 100644 doc/board/phytec/imx93-phycore.rst (limited to 'doc') diff --git a/doc/board/phytec/imx91-93-phycore.rst b/doc/board/phytec/imx91-93-phycore.rst new file mode 100644 index 00000000000..42bcda100e0 --- /dev/null +++ b/doc/board/phytec/imx91-93-phycore.rst @@ -0,0 +1,83 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +phyCORE-i.MX 91/93 +================== + +U-Boot for the phyCORE-i.MX 91/93. Both SoC variants, that is i.MX 91 and i.MX 93, +are supported by same board code, however each variant uses different defconfig +and ATF/ELE firmware blobs. Please follow the correct steps for the populated SoC. + +Quick Start +----------- + +- Get and Build the ARM Trusted firmware +- Get the DDR firmware +- Get ahab-container.img +- Build U-Boot + +Get and Build the ARM Trusted firmware +-------------------------------------- + +Note: srctree is U-Boot source directory +Get ATF from: https://github.com/nxp-imx/imx-atf/ +branch: lf_v2.12 + +For phyCORE-i.MX 91 variant: + +.. code-block:: bash + + $ unset LDFLAGS + $ make PLAT=imx91 bl31 + $ cp build/imx91/release/bl31.bin $(srctree) + +For phyCORE-i.MX 93 variant: + +.. code-block:: bash + + $ unset LDFLAGS + $ make PLAT=imx93 bl31 + $ cp build/imx93/release/bl31.bin $(srctree) + +Get the DDR firmware +-------------------- + +.. code-block:: bash + + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin + $ chmod +x firmware-imx-8.21.bin + $ ./firmware-imx-8.21.bin + $ cp firmware-imx-8.21/firmware/ddr/synopsys/lpddr4*.bin $(srctree) + +Get ahab-container.img +--------------------------------------- + +.. code-block:: bash + + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-1.3.0-17945fc.bin + $ chmod +x firmware-ele-imx-1.3.0-17945fc.bin + $ ./firmware-ele-imx-1.3.0-17945fc.bin + $ cp firmware-ele-imx-1.3.0-17945fc/mx91a0-ahab-container.img $(srctree) + $ cp firmware-ele-imx-1.3.0-17945fc/mx93a1-ahab-container.img $(srctree) + +Build U-Boot +------------ + +For phyCORE-i.MX 91 variant: + +.. code-block:: bash + + $ make imx91-phycore_defconfig + $ make + +For phyCORE-i.MX 93 variant: + +.. code-block:: bash + + $ make imx93-phycore_defconfig + $ make + +Burn the flash.bin to MicroSD card offset 32KB: + +.. code-block:: bash + + $ dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 conv=notrunc diff --git a/doc/board/phytec/imx93-phycore.rst b/doc/board/phytec/imx93-phycore.rst deleted file mode 100644 index bd110a3ebee..00000000000 --- a/doc/board/phytec/imx93-phycore.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. SPDX-License-Identifier: GPL-2.0+ - -phyCORE-i.MX 93 -=============== - -U-Boot for the phyCORE-i.MX 93. - -Quick Start ------------ - -- Get and Build the ARM Trusted firmware -- Get the DDR firmware -- Get ahab-container.img -- Build U-Boot - -Get and Build the ARM Trusted firmware --------------------------------------- - -Note: srctree is U-Boot source directory -Get ATF from: https://github.com/nxp-imx/imx-atf/ -branch: lf_v2.8 - -.. code-block:: bash - - $ unset LDFLAGS - $ make PLAT=imx93 bl31 - $ cp build/imx93/release/bl31.bin $(srctree) - -Get the DDR firmware --------------------- - -.. code-block:: bash - - $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin - $ chmod +x firmware-imx-8.21.bin - $ ./firmware-imx-8.21.bin - $ cp firmware-imx-8.21/firmware/ddr/synopsys/lpddr4*.bin $(srctree) - -Get ahab-container.img ---------------------------------------- - -.. code-block:: bash - - $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-sentinel-0.11.bin - $ chmod +x firmware-sentinel-0.11.bin - $ ./firmware-sentinel-0.11.bin - $ cp firmware-sentinel-0.11/mx93a1-ahab-container.img $(srctree) - -Build U-Boot ------------- - -.. code-block:: bash - - $ make imx93-phycore_defconfig - $ make - -Burn the flash.bin to MicroSD card offset 32KB: - -.. code-block:: bash - - $ dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 conv=notrunc diff --git a/doc/board/phytec/index.rst b/doc/board/phytec/index.rst index dd9edd792f4..4519079ab3d 100644 --- a/doc/board/phytec/index.rst +++ b/doc/board/phytec/index.rst @@ -8,7 +8,7 @@ PHYTEC imx8mp-libra-fpsc imx8mm-phygate-tauri-l - imx93-phycore + imx91-93-phycore phycore-am62x phycore-am62ax phycore-am64x -- cgit v1.3.1