
On Thu, Dec 19, 2024 at 6:57 PM Alice Guo alice.guo@oss.nxp.com wrote:
From: Ye Li ye.li@nxp.com
This patch adds i.MX95 19x19 EVK board basic support.
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
arch/arm/dts/imx95-19x19-evk-u-boot.dtsi | 224 ++++++++++++++++++++++++++ arch/arm/mach-imx/imx9/Kconfig | 6 + arch/arm/mach-imx/imx9/scmi/container.cfg | 10 ++ arch/arm/mach-imx/imx9/scmi/imximage.cfg | 15 ++ arch/arm/mach-imx/imx9/scmi/soc.c | 1 + board/freescale/imx95_evk/Kconfig | 12 ++ board/freescale/imx95_evk/MAINTAINERS | 6 + board/freescale/imx95_evk/Makefile | 11 ++ board/freescale/imx95_evk/imx95_19x19_evk.env | 95 +++++++++++ board/freescale/imx95_evk/imx95_evk.c | 54 +++++++ board/freescale/imx95_evk/spl.c | 117 ++++++++++++++ configs/imx95_19x19_evk_defconfig | 178 ++++++++++++++++++++ doc/board/nxp/imx95_evk.rst | 109 +++++++++++++ doc/board/nxp/index.rst | 1 + include/configs/imx95_evk.h | 36 +++++ 15 files changed, 875 insertions(+)
<snip>
diff --git a/doc/board/nxp/imx95_evk.rst b/doc/board/nxp/imx95_evk.rst new file mode 100644 index 0000000000000000000000000000000000000000..c2be474aa71f0f8d934f956c8840d330fbee98df --- /dev/null +++ b/doc/board/nxp/imx95_evk.rst @@ -0,0 +1,109 @@ +.. 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 the 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
- $ 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.bin/mx95a0-ahab-container.img $(srctree)
Hi Alice,
typo here in the path. Should be: cp firmware-ele-imx-1.3.0-17945fc/mx95a0-ahab-container.img $(srctree)
+Get the 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
- $ chmod +x firmware-imx-8.26-d4c33ab.bin
- $ ./firmware-imx-8.26-d4c33ab.bin
- $ 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
how about just adding a 'git clone https://github.com/nxp-imx/imx-oei -b master' in your instructions below and update the make/cp to use imx-oei path?
+.. 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-g...
- $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
- $ export TOOLS=$PWD
- $ 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
how about just adding a 'git clone https://github.com/nxp-imx/imx-sm -b master' in your instructions below and update make/cp to use imx-sm path?
+.. 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-g...
- $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
- $ export TOOLS=$PWD
- $ 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
how about just adding a 'git clone https://github.com/nxp-imx/imx-atf -b lf_v2.10' in your instructions below and update make/cp to use imx-atf path?
+.. code-block:: bash
- $ unset LDFLAGS
why? where was LDFLAGS set?
- $ make PLAT=imx95 bl31
You need to export CROSS_COMPILE before building here
- $ 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=imx-boot-imx95.bin of=/dev/sdb bs=1k seek=32 conv=fsync
+Boot +----
+Set i.MX95 boot device to MicroSD card
I gave this series a go on top of 5cfbf8c364 origin/next on an EVK I have here and I saw no u-boot proper output after the ATF.
Here is what I saw on UART2: U-Boot SPL 2025.01-rc5-00393-g9b292f7d347f (Dec 27 2024 - 16:12:20 -0800) DDRMIX is powered UP Normal Boot Trying to boot from MMC2 Primary set selected Load image from MMC/SD 0xdec00 NOTICE: BL31: v2.10.0 (release):lf-6.6.52-2.2.0 NOTICE: BL31: Built : 16:06:15, Dec 27 2024
U-Boot SPL 2025.01-rc5-00393-g9b292f7d347f (Dec 27 2024 - 16:12:20 -0800) DDRMIX is powered UP Normal Boot Trying to boot from MMC2 Primary set selected Load image from MMC/SD 0xdec00 NOTICE: BL31: v2.10.0 (release):lf-6.6.52-2.2.0 NOTICE: BL31: Built : 16:06:15, Dec 27 2024 ^^^ nothing after this
Any thoughts on what is wrong here?
Best Regards,
Tim