This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 3dd1711f6eff2c60931008b3f8a71e62987d19b1
Author: Matteo Golin <matteo.go...@gmail.com>
AuthorDate: Tue May 27 00:28:52 2025 -0400

    docs/arm64/imx9/boards/imx93-evk: Migrate README.txt to RST
    
    Migrate legacy README.txt to RST format.
    
    Signed-off-by: Matteo Golin <matteo.go...@gmail.com>
---
 .../arm64/imx9/boards/imx93-evk/README.txt         | 204 ------------------
 .../arm64/imx9/boards/imx93-evk/index.rst          | 234 ++++++++++++++++++++-
 2 files changed, 228 insertions(+), 210 deletions(-)

diff --git a/Documentation/platforms/arm64/imx9/boards/imx93-evk/README.txt 
b/Documentation/platforms/arm64/imx9/boards/imx93-evk/README.txt
deleted file mode 100644
index 365b328c03..0000000000
--- a/Documentation/platforms/arm64/imx9/boards/imx93-evk/README.txt
+++ /dev/null
@@ -1,204 +0,0 @@
-README.txt
-==========
-
-The kit i.MX93 Evaluation Kit has a pre-installed Linux image which contains
-u-boot and the i.MX93 reference Linux installation.
-
-NuttX may work as the bootloader, replacing u-boot completely. Currently it
-doesn't initialize the DDR memory yet. In other words, DDR training is still
-missing.
-
-==========================================
-
-How to run nuttx on i.MX93 Evaluation Kit.
-
-==========================================
-
-Below is a set of instructions on how to run NuttX on the i.MX93 EVK, on top
-of the u-boot. Also, instructions on running NuttX as the bootloader will
-follow.
-
-==========================================
-
-Pre-requisites
-
-==========================================
-
-- imx93_ca55.JLinkScript which is a custom file, put it wherever you want
-
-==========================================
-
-U-Boot configuration
-
-==========================================
-
-Two things need to be configured on u-boot before NuttX can be loaded:
-
-- u-boot data cache must be turned off
-- u-boot must stop to the u-boot console, i.e. the Linux payload must not be 
loaded
-
-Manual option:
-
-1. Disable u-boot autostart (needs to be done only once):
-
-    Hit any key to stop autoboot:  0
-    u-boot=> setenv bootdelay -1
-    u-boot=> saveenv
-    Saving Environment to MMC... Writing to MMC(0)... OK
-    u-boot=> reset
-
-2. On every boot, the data cache must be disabled for options 2 and 3 to work
-
-    u-boot=> dcache off
-
-Automated option:
-
-1. Replace the default bootcmd to disable dcache automatically:
-
-    u-boot=> setenv bootdelay 0
-    u-boot=> setenv bootcmd dcache off
-    u-boot=> saveenv
-    Saving Environment to MMC... Writing to MMC(0)... OK
-    u-boot=> reset
-
-To restore the default bootcmd which starts Linux automatically:
-
-    u-boot=> setenv bootcmd run distro_bootcmd;run bsp_bootcmd
-    u-boot=> saveenv
-    Saving Environment to MMC... Writing to MMC(0)... OK
-    u-boot=> reset
-
-The default bootcmd is:
-
-u-boot=> env print bootcmd
-bootcmd=run distro_bootcmd;run bsp_bootcmd
-
-==========================================
-
-Loading and running the NuttX image
-
-==========================================
-
-You have four options:
-
-1 - Load via u-boot from SD-card
-2 - Load via gdb
-3 - Load via JLink
-4 - Run from SD-card, without u-boot
-5 - Kernel build, via AHAB boot
-
-==========================================
-
-Option 1: load via u-boot from SD-card:
-
-==========================================
-
-1. Build nuttx, and move nuttx.bin to SD-card
-
-2. Load from SD-card and start nuttx payload
-
-    u-boot=> dcache off; fatload mmc 1 0x80000000 nuttx.bin; go 0x80000000
-
-==========================================
-
-Option 2: start via gdb:
-
-==========================================
-
-1. Start JLinkGDBServer
-
-    JLinkGDBServer -device CORTEX-A55 -JLinkScriptFile 
<path_to>/imx93_ca55.JLinkScript
-
-2. Start gdb
-
-    $ aarch64-none-elf-gdb
-
- 2.1 Attach and load nuttx
-
-    (gdb) target remote localhost:2331
-    (gdb) set mem inaccessible-by-default off
-    (gdb) load <path_to>/nuttx
-    (gdb) monitor go
-
-==========================================
-
-Option 3: load with JLink:
-
-==========================================
-
-1. Start JLink 
-
-    $ JLinkExe -device CORTEX-A55 -if JTAG -jtagconf -1,-1 -speed 4000 
-JLinkScriptFile <path_to>/imx93_ca55.JLinkScript
-
- 1.1 Add -AutoConnect 1 to connect automatically
-
-    $ JLinkExe -device CORTEX-A55 -if JTAG -jtagconf -1,-1 -speed 4000 
-JLinkScriptFile <path_to>/imx93_ca55.JLinkScript -AutoConnect 1
-
-2. Connect JLink
-    
- 2.1 Connect to the debugger
-
-    Type "connect" to establish a target connection, '?' for help
-    J-Link>connect
-
-    You should now have a JLink prompt.
-    
-    Cortex-A55 identified.
-    J-Link>
-
-3. Load nuttx. Note that JLink expects the .elf extension, the default build 
output of nuttx is just "nuttx" without the extension, so it must be added to 
the file...
-
-    J-Link>LoadFile <path_to>/nuttx.elf
-
-==========================================
-
-Option 4: Run from SD-card, without u-boot
-
-==========================================
-
-1. Make sure CONFIG_IMX9_BOOTLOADER is set and system is configured properly 
for bootloader operation:
-
-  tools/configure.sh imx93-evk:bootloader
-
-2. The build outputs a file "imx9-sdimage.img". This image also contains the 
Ahab container. It's required to grant Trusted Resource Domain Controller 
(TRDC) permissions.
-   Flash it to an SD-card, where sdX may be sda or something else; verify the 
block device name properly (eg. /dev/sda, /dev/sdb etc):
-
-  sudo dd if=imx9-sdimage.img of=/dev/sdX bs=1k && sync
-
-3. Insert the SD-card into the imx93-evk, make sure BMODE switch is [1,2,3,4] 
= [Off, On, Off, Off] so that it boots from the SD-card.
-
-  This should boot into NuttShell in EL3 level.
-
-==========================================
-
-Option 5: Kernel build, via AHAB boot
-
-==========================================
-
-1. Follow the instructions at: 
https://spsdk.readthedocs.io/en/latest/examples/ahab/imx93/imx93_ahab_uboot.html
-   to create an eMMC-bootable image (latest version of instructions tested is 
v2.6.1). We will be replacing the u-boot binary in step 2.3 with NuttX.
-
-2. Clone both NuttX and NuttX-Apps in same level directories `nuttx` and 
`apps` respectively.
-
-3. Configure and build NuttX:
-
-  cd nuttx
-  tools/configure.sh imx93-evk:knsh
-  make
-  make export
-
-4. Build NuttX apps and prepare the /bin ROMFS image:
-
-  pushd ../apps
-  tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
-  make import
-  tools/mkromfsimg.sh
-  mv boot_romfsimg.h 
../nuttx/boards/arm64/imx9/imx93-evk/include/bin_romfsimg.h
-  popd
-
-5. Re-build NuttX embedding the generated /bin ROMFS image:
-
-  make clean clean_context
-  make
-
-6. Replace the value of the `u-boot:` entry in workspace/ahab_template.yaml 
created in step 1 above with the path to nuttx.bin.
diff --git a/Documentation/platforms/arm64/imx9/boards/imx93-evk/index.rst 
b/Documentation/platforms/arm64/imx9/boards/imx93-evk/index.rst
index 3f273cdc3a..fa050199fb 100644
--- a/Documentation/platforms/arm64/imx9/boards/imx93-evk/index.rst
+++ b/Documentation/platforms/arm64/imx9/boards/imx93-evk/index.rst
@@ -1,8 +1,230 @@
-==========
-imx93-evk
-==========
+=====================
+i.MX93 Evaluation Kit
+=====================
 
-.. tags:: chip:imx93
+.. tags:: chip:imx93, arch:arm64
 
-.. include:: README.txt
-   :literal:
+The kit i.MX93 Evaluation Kit has a pre-installed Linux image which contains
+u-boot and the i.MX93 reference Linux installation.
+
+NuttX may work as the bootloader, replacing u-boot completely. Currently it
+doesn't initialize the DDR memory yet. In other words, DDR training is still
+missing.
+
+Below is a set of instructions on how to run NuttX on the i.MX93 EVK, on top
+of the u-boot. Also, instructions on running NuttX as the bootloader will
+follow.
+
+Pre-requisites
+--------------
+
+* ``imx93_ca55.JLinkScript`` which is a custom file, put it wherever you want
+
+U-Boot configuration
+--------------------
+
+Two things need to be configured on u-boot before NuttX can be loaded:
+
+* u-boot data cache must be turned off
+* u-boot must stop to the u-boot console, i.e. the Linux payload must not be
+  loaded
+
+--------------
+Manual option:
+--------------
+
+1. Disable u-boot autostart (needs to be done only once):
+
+   .. code:: console
+
+      Hit any key to stop autoboot:  0
+      u-boot=> setenv bootdelay -1
+      u-boot=> saveenv
+      Saving Environment to MMC... Writing to MMC(0)... OK
+      u-boot=> reset
+
+2. On every boot, the data cache must be disabled for options 2 and 3 to work
+
+   .. code:: console
+
+      u-boot=> dcache off
+
+-----------------
+Automated option:
+-----------------
+
+Replace the default bootcmd to disable dcache automatically:
+
+.. code:: console
+
+   u-boot=> setenv bootdelay 0
+   u-boot=> setenv bootcmd dcache off
+   u-boot=> saveenv
+   Saving Environment to MMC... Writing to MMC(0)... OK
+   u-boot=> reset
+
+To restore the default bootcmd which starts Linux automatically:
+
+.. code:: console
+
+    u-boot=> setenv bootcmd run distro_bootcmd;run bsp_bootcmd
+    u-boot=> saveenv
+    Saving Environment to MMC... Writing to MMC(0)... OK
+    u-boot=> reset
+
+The default bootcmd is:
+
+.. code:: console
+
+   u-boot=> env print bootcmd
+   bootcmd=run distro_bootcmd;run bsp_bootcmd
+
+Loading and running the NuttX image
+===================================
+
+You have four options:
+
+1. Load via u-boot from SD-card
+2. Load via gdb
+3. Load via JLink
+4. Run from SD-card, without u-boot
+5. Kernel build, via AHAB boot
+
+
+Option 1: load via u-boot from SD-card:
+---------------------------------------
+
+1. Build nuttx, and move ``nuttx.bin`` to SD-card
+
+2. Load from SD-card and start nuttx payload
+
+   .. code:: console
+
+      u-boot=> dcache off; fatload mmc 1 0x80000000 nuttx.bin; go 0x80000000
+
+Option 2: start via ``gdb``:
+----------------------------
+
+1. Start JLinkGDBServer
+
+   .. code:: console
+
+      $ JLinkGDBServer -device CORTEX-A55 -JLinkScriptFile 
<path_to>/imx93_ca55.JLinkScript
+
+2. Start gdb
+
+   .. code:: console
+
+      $ aarch64-none-elf-gdb
+
+   a. Attach and load nuttx
+
+     .. code:: console
+
+        (gdb) target remote localhost:2331
+        (gdb) set mem inaccessible-by-default off
+        (gdb) load <path_to>/nuttx
+        (gdb) monitor go
+
+Option 3: load with JLink:
+--------------------------
+
+1. Start JLink 
+
+   .. code:: console
+
+      $ JLinkExe -device CORTEX-A55 -if JTAG -jtagconf -1,-1 -speed 4000 
-JLinkScriptFile <path_to>/imx93_ca55.JLinkScript
+
+   a. Add -AutoConnect 1 to connect automatically
+
+      .. code:: console
+
+         $ JLinkExe -device CORTEX-A55 -if JTAG -jtagconf -1,-1 -speed 4000 
-JLinkScriptFile <path_to>/imx93_ca55.JLinkScript -AutoConnect 1
+
+2. Connect JLink
+    
+   a. Connect to the debugger
+
+      .. code:: console
+
+         Type "connect" to establish a target connection, '?' for help
+         J-Link>connect
+
+      You should now have a JLink prompt.
+
+      .. code:: console
+    
+         Cortex-A55 identified.
+         J-Link>
+
+3. Load nuttx. Note that JLink expects the .elf extension, the default build
+   output of nuttx is just "nuttx" without the extension, so it must be added 
to
+   the file...
+
+   .. code:: console
+
+      J-Link>LoadFile <path_to>/nuttx.elf
+
+Option 4: Run from SD-card, without u-boot
+------------------------------------------
+
+1. Make sure ``CONFIG_IMX9_BOOTLOADER`` is set and system is configured 
properly
+   for bootloader operation:
+
+   .. code:: console
+
+      $ tools/configure.sh imx93-evk:bootloader
+
+2. The build outputs a file ``imx9-sdimage.img``. This image also contains the
+   Ahab container. It's required to grant Trusted Resource Domain Controller
+   (TRDC) permissions. Flash it to an SD-card, where sdX may be sda or 
something
+   else; verify the block device name properly (eg. ``/dev/sda``, ``/dev/sdb`` 
etc):
+
+   .. code:: console
+
+      $ sudo dd if=imx9-sdimage.img of=/dev/sdX bs=1k && sync
+
+3. Insert the SD-card into the imx93-evk, make sure BMODE switch is [1,2,3,4] =
+   [Off, On, Off, Off] so that it boots from the SD-card. This should boot into
+   NuttShell in EL3 level.
+
+Option 5: Kernel build, via AHAB boot
+-------------------------------------
+
+1. Follow the instructions at:
+   
https://spsdk.readthedocs.io/en/latest/examples/ahab/imx93/imx93_ahab_uboot.html
+   to create an eMMC-bootable image (latest version of instructions tested is
+   v2.6.1). We will be replacing the u-boot binary in step 2.3 with NuttX.
+
+2. Clone both NuttX and NuttX-Apps in same level directories `nuttx` and `apps`
+   respectively.
+
+3. Configure and build NuttX:
+
+   .. code:: console
+
+      $ cd nuttx
+      $ tools/configure.sh imx93-evk:knsh
+      $ make
+      $ make export
+
+4. Build NuttX apps and prepare the ``/bin`` ROMFS image:
+
+   .. code:: console
+
+      $ pushd ../apps
+      $ tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
+      $ make import
+      $ tools/mkromfsimg.sh
+      $ mv boot_romfsimg.h 
../nuttx/boards/arm64/imx9/imx93-evk/include/bin_romfsimg.h
+      $ popd
+
+5. Re-build NuttX embedding the generated /bin ROMFS image:
+
+   .. code:: console
+   
+      $ make clean clean_context
+      $ make
+
+6. Replace the value of the `u-boot:` entry in ``workspace/ahab_template.yaml``
+   created in step 1 above with the path to ``nuttx.bin``.

Reply via email to