diff options
| author | Tom Rini <[email protected]> | 2025-11-04 13:06:26 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-11-04 13:06:26 -0600 |
| commit | 1c250e444ad3b15315ee8b0fcb3fc3acc26449e2 (patch) | |
| tree | 47cd432ccfc396c9fabd4631566289f120c01605 /doc | |
| parent | ef34776f21969a71594dc6224d0e54cf5a2a980c (diff) | |
| parent | 2b7892255bd617dfc523cfe8455dbf386a3dfaf5 (diff) | |
Merge tag 'u-boot-imx-master-20251104' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/28144
- Extend USB support for the i.MX9 family.
- Update memory controller for imx6ulz_smm_m2.
- Add remoteproc support for several i.MX boards.
- Add support for iMX95 15x15 EVK.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/board/bsh/imx6ulz_bsh_smm_m2.rst | 85 | ||||
| -rw-r--r-- | doc/board/bsh/index.rst | 1 | ||||
| -rw-r--r-- | doc/board/nxp/imx95_evk.rst | 24 | ||||
| -rw-r--r-- | doc/board/nxp/index.rst | 1 | ||||
| -rw-r--r-- | doc/board/nxp/rproc.rst | 69 | ||||
| -rw-r--r-- | doc/usage/cmd/rproc.rst | 78 |
6 files changed, 254 insertions, 4 deletions
diff --git a/doc/board/bsh/imx6ulz_bsh_smm_m2.rst b/doc/board/bsh/imx6ulz_bsh_smm_m2.rst new file mode 100644 index 00000000000..0f391a17ade --- /dev/null +++ b/doc/board/bsh/imx6ulz_bsh_smm_m2.rst @@ -0,0 +1,85 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +How to Update U-Boot on imx6ulz_smm_m2 and imx6ulz_smm_m2b boards +================================================================= + +Required software on the host PC: + +- UUU: https://github.com/NXPmicro/mfgtools + +Build U-Boot for m2: + +.. code-block:: bash + + $ make mrproper + $ make imx6ulz_smm_m2_defconfig + $ make + +Build U-Boot for m2b: + +.. code-block:: bash + + $ make mrproper + $ make imx6ulz_smm_m2b_defconfig + $ make + +This generates the SPL and u-boot-dtb.img binaries. + +Loading U-Boot via USB Serial Download Protocol +----------------------------------------------- + +Copy SPL and u-boot-dtb.img to the uuu folder. + +Load the U-Boot via USB: + +.. code-block:: bash + + $ sudo uuu -v -b nand_script.lst u-boot-with-spl.imx + +where nand_script.lst contains the following: + +.. code-block:: + + uuu_version 1.2.39 + + # @_flash.bin | bootloader + # @_image [_flash.bin] | image burn to nand, default is the same as bootloader + + # This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ + SDP: boot -f _flash.bin + + # This command will be run when ROM support stream mode + # i.MX8QXP, i.MX8QM + SDPS: boot -f _flash.bin + + # These commands will be run when use SPL and will be skipped if no spl + # SDPU will be deprecated. please use SDPV instead of SDPU + # { + SDPU: delay 1000 + SDPU: write -f _flash.bin -offset 0x57c00 + SDPU: jump + # } + + # These commands will be run when use SPL and will be skipped if no spl + # if (SPL support SDPV) + # { + SDPV: delay 1000 + SDPV: write -f _flash.bin -offset 0x11000 + SDPV: jump + # } + + FB: ucmd setenv fastboot_buffer ${loadaddr} + FB: download -f _image + FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi + # Burn image to nandfit partition if needed + FB: ucmd if env exists nandfit_part; then nand erase.part nandfit; nand write ${fastboot_buffer} nandfit ${fastboot_bytes}; else true; fi; + FB: ucmd nandbcb init ${fastboot_buffer} nandboot ${fastboot_bytes} + FB: Done + +Then U-Boot starts and its messages appear in the console program. + +Use the default environment variables: + +=> env default -f -a + +=> saveenv diff --git a/doc/board/bsh/index.rst b/doc/board/bsh/index.rst index 570ee4d72ed..e4f8b1f0b1c 100644 --- a/doc/board/bsh/index.rst +++ b/doc/board/bsh/index.rst @@ -7,3 +7,4 @@ BSH Hausgeraete GmbH :maxdepth: 2 imx8mn_bsh_smm_s2 + imx6ulz_bsh_smm_m2 diff --git a/doc/board/nxp/imx95_evk.rst b/doc/board/nxp/imx95_evk.rst index 709992e016d..b8c3f4bed50 100644 --- a/doc/board/nxp/imx95_evk.rst +++ b/doc/board/nxp/imx95_evk.rst @@ -48,6 +48,7 @@ Note: srctree is U-Boot source directory $ 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 -------------------------------------- @@ -65,7 +66,7 @@ branch: master $ git clone -b master https://github.com/nxp-imx/imx-oei.git $ cd imx-oei -i.MX95 A0 silicon version +i.MX95 A0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash @@ -75,13 +76,20 @@ i.MX95 A0 silicon version $ make board=mx95lp5 oei=tcm DEBUG=1 r=A0 all $ cp build/mx95lp5/tcm/oei-m33-tcm.bin $(srctree) -i.MX95 B0 silicon version +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 -------------------------------------- @@ -120,7 +128,7 @@ branch: lf_v2.12 Build the Bootloader Image -------------------------- -i.MX95 A0 silicon version +i.MX95 A0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash @@ -128,7 +136,7 @@ i.MX95 A0 silicon version $ make imx95_a0_19x19_evk_defconfig $ make -i.MX95 B0 silicon version +i.MX95 B0 silicon version on 19x19 LPDDR5 EVK .. code-block:: bash @@ -136,6 +144,14 @@ i.MX95 B0 silicon version $ 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 diff --git a/doc/board/nxp/index.rst b/doc/board/nxp/index.rst index 670501164b5..7b881961b65 100644 --- a/doc/board/nxp/index.rst +++ b/doc/board/nxp/index.rst @@ -26,4 +26,5 @@ NXP Semiconductors mx6sabresd mx6ul_14x14_evk mx6ullevk + rproc psb diff --git a/doc/board/nxp/rproc.rst b/doc/board/nxp/rproc.rst new file mode 100644 index 00000000000..b023c1fadf6 --- /dev/null +++ b/doc/board/nxp/rproc.rst @@ -0,0 +1,69 @@ +.. SPDX-License-Identifier: GPL-2.0+ + Copyright 2025 NXP + Written by Peng Fan <[email protected]> + +i.MX remoteproc usage guide +=========================== + +Introduction +------------ + +This guide is for giving user how to use the Remote Processors found on +various i.MX Chips. The term remote processor is indicating the Cortex-M +[4,7,33] cores inside i.MX family. + +i.MX8MM-EVK +----------- + +Steps to start the Cortex-M4 core + + load mmc 2:2 0x90000000 /lib/firmware/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.elf + + rproc load 0 0x90000000 ${filesize} + + rproc start 0 + +i.MX8MN-EVK +----------- + +Steps to start the Cortex-M7 core + + load mmc 2:2 0x90000000 /lib/firmware/imx8mn_m7_TCM_rpmsg_lite_str_echo_rtos.elf + + rproc load 0 0x90000000 ${filesize} + + rproc start 0 + +i.MX8MQ-EVK +----------- + +Steps to start the Cortex-M4 core + + load mmc 0:2 0x90000000 /lib/firmware/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.elf + + rproc load 0 0x90000000 ${filesize} + + rproc start 0 + +i.MX8MP-EVK +----------- + +Steps to start the Cortex-M7 core + + load mmc 2:2 0x90000000 /lib/firmware/imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.elf + + rproc load 0 0x90000000 ${filesize} + + rproc start 0 + +i.MX93-FRDM/QSB/EVK +------------------- + +Steps to start the Cortex-M33 core, need to choose the correct file for +corresponding board. + + load mmc 0:2 0x90000000 /lib/firmware/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf + + rproc load 0 0x90000000 ${filesize} + + rproc start 0 diff --git a/doc/usage/cmd/rproc.rst b/doc/usage/cmd/rproc.rst new file mode 100644 index 00000000000..663c1e3d490 --- /dev/null +++ b/doc/usage/cmd/rproc.rst @@ -0,0 +1,78 @@ +.. SPDX-License-Identifier: GPL-2.0+ + Copyright 2025 NXP + Written by Peng Fan <[email protected]> + +remoteproc command +================== + +Synopsis +-------- + +:: + + rproc init <id> + rproc list + rproc load <id> [addr] [size] + rproc start <id> + rproc stop <id> + rproc reset <id> + rproc is_running <id> + rproc ping <id> + +Description +----------- + +The rproc command provides a generic U-Boot mechanism to manage the Remote +Processors inside a SoC . + +The 'rproc init' command enumerate and initialize the remote processor. + + id + remote processor id. if id is not passed, initialize all the + remote prcessors + +The 'rproc list' list available remote processors. + +The 'rproc load' load the remote processor with binary. + + id + remote processor id. + addr + address that image is loaded at. + size + image size + +The 'rproc start' start the remote processor(must be loaded). + + id + remote processor id. + +The 'rproc stop' stop the remote processor. + + id + remote processor id. + +The 'rproc reset' reset the remote processor. + + id + remote processor id. + +The 'rproc is_running' reports if the remote processor is running. + + id + remote processor id. + +The 'rproc ping' ping the remote processor for communication. + + id + remote processor id. + +Configuration +------------- + +The rproc command is only available if CONFIG_CMD_REMOTEPROC=y. + +.. toctree:: + :maxdepth: 2 + + ../../board/nxp/rproc.rst |
