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

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

commit 0dc3445bbd29c4c72ef0c05ebc7adbdb7fc9b9d0
Author: wangjianyu3 <wangjian...@xiaomi.com>
AuthorDate: Thu Mar 20 20:29:43 2025 +0800

    Documentation/esp32s3: Add doc for SZPI ESP32-S3
    
    Add documentation for LCKFB SZPI ESP32-S3.
    
    Official website: https://wiki.lckfb.com/zh-hans/szpi-esp32s3/
    
    Signed-off-by: wangjianyu3 <wangjian...@xiaomi.com>
---
 .../esp32s3/boards/lckfb-szpi-esp32s3/index.rst    | 226 +++++++++++++++++++++
 .../lckfb-szpi-esp32s3-white.png                   | Bin 0 -> 242026 bytes
 2 files changed, 226 insertions(+)

diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/index.rst 
b/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/index.rst
new file mode 100644
index 0000000000..36ed87952c
--- /dev/null
+++ b/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/index.rst
@@ -0,0 +1,226 @@
+===================
+LCKFB SZPI ESP32-S3
+===================
+
+The `LCKFB SZPI ESP32-S3 <https://wiki.lckfb.com/zh-hans/szpi-esp32s3/>`_ is a 
development board for the ESP32-S3 SoC from Jialichuang, based on a 
ESP32-S3-WROOM-1 module.
+
+.. list-table::
+   :align: center
+
+   * - .. figure:: lckfb-szpi-esp32s3-white.png
+          :align: center
+
+Features
+========
+
+The development board almost includes all the achievable functions of the 
ESP32-S3, maximizing the performance of the ESP32-S3. It features a color 
screen display (2 inches), complete audio input (2 microphones) and output 
(speaker) functions. Combined with its integrated motion sensors, as well as 
Wi-Fi and Bluetooth capabilities, it can be used to create more practical and 
interesting IoT applications. There are two expansion interfaces available for 
connecting additional external sens [...]
+
+Serial Console
+==============
+
+UART0 is, by default, the serial console.  It connects to the on-board
+CP2102 converter and is available on the USB connector USB CON8 (J1).
+
+It will show up as /dev/ttyUSB[n] where [n] will probably be 0.
+
+Buttons
+================
+
+Board Buttons
+-------------
+
+There are two buttons labeled Boot and EN.  The EN button is not available
+to software.  It pulls the chip enable line that doubles as a reset line.
+
+The BOOT button is connected to IO0.  On reset it is used as a strapping
+pin to determine whether the chip boots normally or into the serial
+bootloader.  After reset, however, the BOOT button can be used for software
+input.
+
+I2S
+===
+
+ESP32-S3 has two I2S peripherals accessible using either the generic I2S audio
+driver or a specific audio codec driver
+(`CS4344 <https://www.cirrus.com/products/cs4344-45-48/>`__ bindings are
+available at the moment). The generic I2S audio driver enables the use of both
+the receiver module (RX) and the transmitter module (TX) without using any
+specific codec. Also, it's possible to use the I2S character device driver
+to bypass the audio subsystem and write directly to the I2S peripheral.
+
+The following configurations use the I2S peripheral::
+  * :ref:`platforms/xtensa/esp32s3/boards/esp32s3-devkit/index:audio`
+  * :ref:`platforms/xtensa/esp32s3/boards/esp32s3-devkit/index:nxlooper`
+
+Configurations
+==============
+
+All of the configurations presented below can be tested by running the 
following commands::
+
+    $ ./tools/configure.sh lckfb-szpi-esp32s3:<config_name>
+    $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
+
+Where <config_name> is the name of board configuration you want to use, i.e.: 
nsh, buttons, wifi...
+Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
+
+nsh
+---
+
+Basic NuttShell configuration (console enabled in UART0, exposed via
+USB connection by means of CP2102 converter, at 115200 bps).
+
+usb_device
+----------
+
+Basic NuttShell configuration console and USB CDCACM enabled.
+
+You can run the configuration and compilation procedure::
+
+  $ ./tools/configure.sh lckfb-szpi-esp32s3:usb_device
+  $ make -j16
+  $ make flash ESPTOOL_PORT=/dev/ttyUSBx
+
+And then run the usbserial command at device side::
+
+  nsh> usbserial &
+
+Finally check dmesg and content at host side::
+
+  $ sudo dmesg -c
+  [1768234.376415] usb 1-9.3.3: new full-speed USB device number 87 using 
xhci_hcd
+  [1768234.468015] usb 1-9.3.3: New USB device found, idVendor=0525, 
idProduct=a4a7, bcdDevice= 1.01
+  [1768234.468020] usb 1-9.3.3: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
+  [1768234.468021] usb 1-9.3.3: Product: CDC/ACM Serial
+  [1768234.468022] usb 1-9.3.3: Manufacturer: NuttX
+  [1768234.468023] usb 1-9.3.3: SerialNumber: 0
+  [1768234.478806] cdc_acm 1-9.3.3:1.0: ttyACM5: USB ACM device
+
+  $ sudo minicom -D /dev/ttyACM5 -b 115200
+
+adb
+---
+
+Basic NuttShell configuration console enabled over USB Device (USB ADB).
+
+You can run the configuration and compilation procedure::
+
+  $ ./tools/configure.sh lckfb-szpi-esp32s3:adb
+  $ make -j16
+  $ make flash ESPTOOL_PORT=/dev/ttyUSBx
+
+Then run the adb command::
+
+  $ adb -s 1234 shell
+  nsh> uname -a
+  NuttX 0.0.0  Mar 21 2025 14:25:36 xtensa lckfb-szpi-esp32s3
+
+txtable
+-------
+
+Basic TXTABLE(Text based Partition Table) configuration console enabled over 
USB ADB.
+
+You can run the configuration and compilation procedure::
+
+  $ ./tools/configure.sh -l lckfb-szpi-esp32s3:txtable
+  $ make -j16
+  $ make flash ESPTOOL_PORT=/dev/ttyUSBx
+
+Then check the partition::
+
+  nsh> ls -l /dev/
+  /dev:
+   dr--r--r--           0 adb0/
+   crw-rw-rw-           0 console
+   frw-rw-rw-     1044480 data
+   frw-rw-rw-     1048576 esp32s3flash
+   c-w--w--w-           0 log
+   crw-rw-rw-           0 null
+   crw-rw-rw-           0 ptmx
+   dr--r--r--           0 pts/
+   brw-rw-rw-        1024 ram0
+   crw-rw-rw-           0 ttyS0
+   frw-rw-rw-        4096 txtable
+   crw-rw-rw-           0 zero
+
+fastboot
+--------
+
+The basic Fastboot configuration is based on lckfb-szpi-esp32s3:usb_device.
+More details about usage of fastboot, please refer to `fastbootd — NuttX 
latest documentation 
<https://nuttx.apache.org/docs/latest/applications/system/fastboot/index.html>`_.
+
+You can run the configuration and compilation procedure::
+
+  $ ./tools/configure.sh -l lckfb-szpi-esp32s3:fastboot
+  $ make flash ESPTOOL_PORT=/dev/ttyUSBx -j
+
+To test it, just run the following (**Default is host side**):
+
+1. Install fastboot tool::
+
+    sudo apt install fastboot
+
+2. List devices running fastboot::
+
+    fastboot devices
+
+  Example::
+
+    $ fastboot devices
+    1234    fastboot
+
+3. Display given variable::
+
+    fastboot getvar <NAME>
+
+  Example::
+
+    # Display the "kernel" variable::
+    $ fastboot -s 1234 getvar kernel
+    Kernel: NuttX
+    Finished. Total time: 0.000s
+
+4. Flash given partition::
+
+    fastboot flash PARTITION FILENAME
+
+  Example (Flash test.img to partition ram10)::
+
+    # 1. Generate a test image
+    $ dd if=/dev/random of=test.img bs=1 count=128
+
+    # 2. Create a RAM disk (Device side)
+    nsh> mkrd -m 10 -s 512 640
+    nsh> ls -l /dev/ram10
+     brw-rw-rw-      327680 /dev/ram10
+
+    # 3. Flash test.img to partition ram10
+    $ fastboot flash ram10 ./test.img
+    Sending 'ram10' (0 KB)                             OKAY [  0.001s]
+    Writing 'ram10'                                    OKAY [  0.001s]
+    Finished. Total time: 0.003s
+
+    # 4. Hexdump the test.img and partition ram10, and compare
+
+    ## Host side
+    $ hexdump test.img
+    0000000 b1e8 b297 4ac5 9dfa d170 244e 4f83 0f93
+    0000010 1bf7 0b19 7bde 5543 0520 9719 746d 54fc
+    0000020 369d 72b3 f2e6 f463 c8e9 24c8 c876 e820
+    0000030 384d 07ab 52ca 2b24 dee7 0404 2663 91e4
+    0000040 6752 3611 aece b543 5194 2224 d1d5 8144
+    0000050 ff44 3bc9 5155 b393 1efb 9e88 2de9 3669
+    0000060 d010 2770 9192 2532 ccf5 591f 39ea 2431
+    0000070 2e3f feb0 87ef 9bdf 7dd4 2e79 64de edf6
+    0000080
+
+    ## Device side
+    nsh> hexdump /dev/ram10 count=128
+    /dev/ram10 at 00000000:
+    0000: e8 b1 97 b2 c5 4a fa 9d 70 d1 4e 24 83 4f 93 0f .....J..p.N$.O..
+    0010: f7 1b 19 0b de 7b 43 55 20 05 19 97 6d 74 fc 54 .....{CU ...mt.T
+    0020: 9d 36 b3 72 e6 f2 63 f4 e9 c8 c8 24 76 c8 20 e8 .6.r..c....$v. .
+    0030: 4d 38 ab 07 ca 52 24 2b e7 de 04 04 63 26 e4 91 M8...R$+....c&..
+    0040: 52 67 11 36 ce ae 43 b5 94 51 24 22 d5 d1 44 81 Rg.6..C..Q$"..D.
+    0050: 44 ff c9 3b 55 51 93 b3 fb 1e 88 9e e9 2d 69 36 D..;UQ.......-i6
+    0060: 10 d0 70 27 92 91 32 25 f5 cc 1f 59 ea 39 31 24 ..p'..2%...Y.91$
+    0070: 3f 2e b0 fe ef 87 df 9b d4 7d 79 2e de 64 f6 ed ?........}y..d..
diff --git 
a/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/lckfb-szpi-esp32s3-white.png
 
b/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/lckfb-szpi-esp32s3-white.png
new file mode 100644
index 0000000000..44125d9342
Binary files /dev/null and 
b/Documentation/platforms/xtensa/esp32s3/boards/lckfb-szpi-esp32s3/lckfb-szpi-esp32s3-white.png
 differ

Reply via email to