summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-11-04 13:06:26 -0600
committerTom Rini <[email protected]>2025-11-04 13:06:26 -0600
commit1c250e444ad3b15315ee8b0fcb3fc3acc26449e2 (patch)
tree47cd432ccfc396c9fabd4631566289f120c01605 /doc
parentef34776f21969a71594dc6224d0e54cf5a2a980c (diff)
parent2b7892255bd617dfc523cfe8455dbf386a3dfaf5 (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.rst85
-rw-r--r--doc/board/bsh/index.rst1
-rw-r--r--doc/board/nxp/imx95_evk.rst24
-rw-r--r--doc/board/nxp/index.rst1
-rw-r--r--doc/board/nxp/rproc.rst69
-rw-r--r--doc/usage/cmd/rproc.rst78
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