imx95_evk: add i.MX95 19x19 EVK board basic support

This patch adds i.MX95 19x19 EVK board basic support.

Messaging unit for EdgeLock Secure Enclave, messaging unit for System
Manager, uSDHC for SD Card, gpio, lpuart are supported now.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
Ye Li
2025-04-28 18:37:43 +08:00
committed by Fabio Estevam
parent fe8ab3b0c0
commit 0cbd26bee4
15 changed files with 799 additions and 0 deletions

114
doc/board/nxp/imx95_evk.rst Normal file
View File

@@ -0,0 +1,114 @@
.. SPDX-License-Identifier: GPL-2.0+
imx95_evk
=======================
U-Boot for the NXP i.MX95 19x19 EVK board
Quick Start
-----------
- Get ahab-container.img
- Get DDR PHY Firmware Images
- Get and Build OEI Images
- Get and Build System Manager Image
- Get and Build the ARM Trusted Firmware
- Build the Bootloader Image
- Boot
Get ahab-container.img
--------------------------------------
Note: srctree is U-Boot source directory
.. code-block:: bash
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-1.3.0-17945fc.bin
$ sh firmware-ele-imx-1.3.0-17945fc.bin --auto-accept
$ cp firmware-ele-imx-1.3.0-17945fc/mx95a0-ahab-container.img $(srctree)
Get DDR PHY Firmware Images
--------------------------------------
Note: srctree is U-Boot source directory
.. code-block:: bash
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.26-d4c33ab.bin
$ sh firmware-imx-8.26-d4c33ab.bin --auto-accept
$ cp firmware-imx-8.26-d4c33ab/firmware/ddr/synopsys/lpddr5*v202311.bin $(srctree)
Get and Build OEI Images
--------------------------------------
Note: srctree is U-Boot source directory
Get OEI from: https://github.com/nxp-imx/imx-oei
branch: master
.. code-block:: bash
$ sudo apt -y install make gcc g++-multilib srecord
$ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
$ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
$ export TOOLS=$PWD
$ git clone -b master https://github.com/nxp-imx/imx-oei.git
$ cd imx-oei
$ make board=mx95lp5 oei=ddr DEBUG=1
$ cp build/mx95lp5/ddr/oei-m33-ddr.bin $(srctree)
$ make board=mx95lp5 oei=tcm DEBUG=1
$ cp build/mx95lp5/tcm/oei-m33-tcm.bin $(srctree)
Get and Build System Manager Image
--------------------------------------
Note: srctree is U-Boot source directory
Get System Manager from: https://github.com/nxp-imx/imx-sm
branch: master
.. code-block:: bash
$ sudo apt -y install make gcc g++-multilib srecord
$ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
$ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
$ export TOOLS=$PWD
$ git clone -b master https://github.com/nxp-imx/imx-sm.git
$ cd imx-sm
$ make config=mx95evk all
$ cp build/mx95evk/m33_image.bin $(srctree)
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.10
.. code-block:: bash
$ export CROSS_COMPILE=aarch64-poky-linux-
$ unset LDFLAGS
$ git clone -b lf_v2.10 https://github.com/nxp-imx/imx-atf.git
$ cd imx-atf
$ make PLAT=imx95 bl31
$ cp build/imx95/release/bl31.bin $(srctree)
Build the Bootloader Image
--------------------------
.. code-block:: bash
$ export CROSS_COMPILE=aarch64-poky-linux-
$ make imx95_19x19_evk_defconfig
$ make
Copy imx-boot-imx95.bin to the MicroSD card:
.. code-block:: bash
$ sudo dd if=flash.bin of=/dev/sd[x] bs=1k seek=32 conv=fsync
Boot
----
Set i.MX95 boot device to MicroSD card

View File

@@ -15,6 +15,7 @@ NXP Semiconductors
imx91_11x11_evk
imx93_9x9_qsb
imx93_11x11_evk
imx95_evk
imxrt1020-evk
imxrt1050-evk
imxrt1170-evk