On Thu, Dec 19, 2024 at 6:57 PM Alice Guo <[email protected]> wrote: > > From: Ye Li <[email protected]> > > This patch adds i.MX95 19x19 EVK board basic support. > > Signed-off-by: Ye Li <[email protected]> > Signed-off-by: Alice Guo <[email protected]> > Reviewed-by: Peng Fan <[email protected]> > --- > 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-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 > + $ 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-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 > + $ 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

