Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | .. 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-2.0.2-89161a8.bin $ sh firmware-ele-imx-2.0.2-89161a8.bin --auto-accept i.MX95 A0 silicon version .. code-block:: bash $ cp firmware-ele-imx-2.0.2-89161a8/mx95a0-ahab-container.img $(srctree) i.MX95 B0 silicon version .. code-block:: bash $ cp firmware-ele-imx-2.0.2-89161a8/mx95b0-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.28-994fa14.bin $ sh firmware-imx-8.28-994fa14.bin --auto-accept $ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $(srctree) $ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr4x*v202409.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 i.MX95 A0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash $ make board=mx95lp5 oei=ddr DEBUG=1 r=A0 DDR_CONFIG=XIMX95LPD5EVK19_6400mbps_train_timing_a1 all $ cp build/mx95lp5/ddr/oei-m33-ddr.bin $(srctree) $ make board=mx95lp5 oei=tcm DEBUG=1 r=A0 all $ cp build/mx95lp5/tcm/oei-m33-tcm.bin $(srctree) i.MX95 B0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash $ make board=mx95lp5 oei=ddr DEBUG=1 r=B0 all $ cp build/mx95lp5/ddr/oei-m33-ddr.bin $(srctree) i.MX95 B0 silicon version on 15x15 LPDDR4X EVK .. code-block:: bash $ make board=mx95lp4x-15 oei=ddr DEBUG=1 r=B0 all $ cp build/mx95lp4x-15/ddr/oei-m33-ddr.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.12 .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ unset LDFLAGS $ unset AS $ git clone -b lf_v2.12 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 -------------------------- i.MX95 A0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ make imx95_a0_19x19_evk_defconfig $ make i.MX95 B0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ make imx95_19x19_evk_defconfig $ make i.MX95 B0 silicon version on 15x15 LPDDR4X EVK .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ make imx95_15x15_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 |