This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 90219df0ecc5fce941f38b82f7389b09b036ce80 Author: Piyush Patle <[email protected]> AuthorDate: Wed May 20 08:01:01 2026 +0530 Documentation/arm64: add AM62x board bring-up guides Document the AM62x platform and add board guides for BeaglePlay and PocketBeagle2. The BeaglePlay guide includes the validated manual U-Boot boot flow used for hardware testing. Signed-off-by: Piyush Patle <[email protected]> --- .../arm64/am62x/boards/beagleplay/index.rst | 120 +++++++++++++++++++++ .../arm64/am62x/boards/pocketbeagle2/index.rst | 110 +++++++++++++++++++ Documentation/platforms/arm64/am62x/index.rst | 21 ++++ 3 files changed, 251 insertions(+) diff --git a/Documentation/platforms/arm64/am62x/boards/beagleplay/index.rst b/Documentation/platforms/arm64/am62x/boards/beagleplay/index.rst new file mode 100644 index 00000000000..7b87f6b3628 --- /dev/null +++ b/Documentation/platforms/arm64/am62x/boards/beagleplay/index.rst @@ -0,0 +1,120 @@ +========== +BeaglePlay +========== + +.. tags:: chip:am62x, arch:arm64, vendor:beagleboard + +`BeaglePlay <https://www.beagleboard.org/boards/beagleplay>`_ is an +open-hardware single-board computer from BeagleBoard.org based on the +TI AM6254 SoC. + +Features +======== + +* TI AM6254 quad-core Arm Cortex-A53 SoC +* 2 GiB DDR4 +* microSD and on-board eMMC boot options +* USB-C debug port with serial console access +* Four user LEDs +* Gigabit Ethernet, USB, Wi-Fi, and Bluetooth hardware on the board + +Current NuttX support is limited to early boot, the 16550 serial console, +interactive NSH, and ``procfs`` mount during board bring-up. GPIO, LEDs, +I2C, SPI, MMC/SD, Ethernet, Wi-Fi, Bluetooth, and USB runtime support are +not implemented yet. + +Buttons and LEDs +================ + +BeaglePlay exposes four user LEDs connected to the AM62x main GPIO block: + +====== ======== ================== +LED GPIO Notes +====== ======== ================== +USR0 GPIO1_22 Green user LED +USR1 GPIO1_23 Yellow user LED +USR2 GPIO1_24 Red user LED +USR3 GPIO1_25 Blue user LED +====== ======== ================== + +The current NuttX port does not yet provide functional GPIO-backed LED +control. The ``CONFIG_ARCH_LEDS`` hooks are present as placeholders only. + +Serial Console +============== + +Use the BeaglePlay **DEBUG** USB-C port and a host serial terminal at +**115200 8N1**. + +Pin Mapping +=========== + +The current bring-up uses the on-board debug interfaces rather than the +expansion headers: + +=========== ====================== ======================================= +Interface SoC signal Notes +=========== ====================== ======================================= +DEBUG USB-C UART0 Default NuttX serial console +microSD MMC1 Validated boot media for ``nuttx.bin`` +USR0-3 GPIO1_22 through 1_25 User LEDs, not yet driven by NuttX +=========== ====================== ======================================= + +Power Supply +============ + +Follow the BeagleBoard.org board documentation for the supported USB-C power +inputs and peripherals. For NuttX bring-up, use the dedicated **DEBUG** +USB-C port for the serial console and the normal power path for board power. + +Installation +============ + +Install an ``aarch64-none-elf`` bare-metal toolchain and make sure its +``bin`` directory is on your ``PATH``. + +One option is the +`Arm GNU Toolchain <https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads>`_. + +Building NuttX +============== + +.. code:: console + + $ ./tools/configure.sh beagleplay:nsh + $ make -j$(nproc) CROSS_COMPILE=aarch64-none-elf- + +A successful build produces ``nuttx`` and ``nuttx.bin``. + +Flashing +======== + +The currently validated boot path loads ``nuttx.bin`` from a FAT partition on +microSD using the BeaglePlay U-Boot prompt. + +1. Format a microSD card with a single FAT32 partition. +2. Copy ``nuttx.bin`` to the root of the card. +3. Insert the card and connect the **DEBUG** USB-C serial cable. +4. Stop at the U-Boot prompt and run: + + .. code:: console + + => mmc dev 1 0 + => fatload mmc 1:1 0x82000000 nuttx.bin + => go 0x82000000 + +5. Confirm the board reaches the NuttX prompt: + + .. code:: text + + NuttShell (NSH) NuttX-12.x + nsh> + +Configurations +============== + +``beagleplay:nsh`` + Interactive NSH configuration for serial bring-up and shell access. + +``beagleplay:ostest`` + Hardware validation configuration that boots directly into ``ostest_main``. diff --git a/Documentation/platforms/arm64/am62x/boards/pocketbeagle2/index.rst b/Documentation/platforms/arm64/am62x/boards/pocketbeagle2/index.rst new file mode 100644 index 00000000000..85941e44214 --- /dev/null +++ b/Documentation/platforms/arm64/am62x/boards/pocketbeagle2/index.rst @@ -0,0 +1,110 @@ +============== +PocketBeagle 2 +============== + +.. tags:: chip:am62x, arch:arm64, vendor:beagleboard + +`PocketBeagle 2 <https://docs.beagleboard.org/boards/pocketbeagle-2/>`_ is a +compact open-hardware board from BeagleBoard.org based on the TI AM6254 SoC. + +Features +======== + +* TI AM6254 quad-core Arm Cortex-A53 SoC +* 512 MiB DDR4 +* microSD boot with on-board QSPI boot firmware +* USB-C debug/power connection with serial console access +* Expansion headers for GPIO, I2C, SPI, UART, PWM, and ADC +* User LEDs exposed by the board port + +Current NuttX support is limited to early boot, the 16550 serial console, +interactive NSH, and ``procfs`` mount during board bring-up. GPIO, functional +LED control, I2C, SPI, MMC/SD runtime support, Ethernet, and USB runtime +support are not implemented yet. + +Buttons and LEDs +================ + +The current NuttX board port defines three logical user LEDs: + +====== ======== ===================== +LED Colour Notes +====== ======== ===================== +USR0 Green ``CONFIG_ARCH_LEDS`` placeholder +USR1 Amber ``CONFIG_ARCH_LEDS`` placeholder +USR2 Red ``CONFIG_ARCH_LEDS`` placeholder +====== ======== ===================== + +These LEDs are not driven yet because AM62x GPIO support has not been added. + +Serial Console +============== + +AM62x UART6 is routed to the USB-C debug interface. In the current NuttX +configuration it is exposed as the first 16550 console device. Connect the +USB-C cable to your host and open the enumerated serial port at **115200 8N1**. + +Pin Mapping +=========== + +The current bring-up primarily relies on the on-board debug path: + +=========== ====================== ======================================= +Interface SoC signal Notes +=========== ====================== ======================================= +USB-C debug UART6 Default NuttX serial console +microSD MMC1 Validated boot media for ``nuttx.bin`` +USR0-2 Board user LEDs Not yet driven by NuttX GPIO support +=========== ====================== ======================================= + +Power Supply +============ + +PocketBeagle 2 can be powered through its USB-C connector. Follow the vendor +documentation for external peripherals and header power limits during bring-up. + +Installation +============ + +Install an ``aarch64-none-elf`` bare-metal toolchain and make sure its +``bin`` directory is on your ``PATH``. + +One option is the +`Arm GNU Toolchain <https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads>`_. + +Building NuttX +============== + +.. code:: console + + $ ./tools/configure.sh pocketbeagle2:nsh + $ make -j$(nproc) CROSS_COMPILE=aarch64-none-elf- + +A successful build produces ``nuttx`` and ``nuttx.bin``. + +Flashing +======== + +PocketBeagle 2 boots NuttX from microSD using the U-Boot firmware already +present in on-board flash. + +1. Format a microSD card with a single FAT32 partition. +2. Copy ``nuttx.bin`` and ``boards/arm64/am62x/pocketbeagle2/scripts/uEnv.txt`` + to the root of the card. +3. Insert the card and connect the USB-C debug cable. +4. Power on the board and let U-Boot load the image automatically. +5. Confirm the board reaches the NuttX prompt: + + .. code:: text + + NuttShell (NSH) NuttX-12.x + nsh> + +Configurations +============== + +``pocketbeagle2:nsh`` + Interactive NSH configuration for serial bring-up and shell access. + +``pocketbeagle2:ostest`` + Hardware validation configuration that boots directly into ``ostest_main``. diff --git a/Documentation/platforms/arm64/am62x/index.rst b/Documentation/platforms/arm64/am62x/index.rst new file mode 100644 index 00000000000..acb2457aee2 --- /dev/null +++ b/Documentation/platforms/arm64/am62x/index.rst @@ -0,0 +1,21 @@ +============ +TI AM62x +============ + +`TI AM62x <https://www.ti.com/product/AM6254>`_ is a family of ARM64 SoCs from +Texas Instruments featuring: + +- **CPU:** Quad-Core ARM Cortex-A53 (up to 1.4 GHz) +- **Interrupt Controller:** ARM GIC-600 (GICv3), 480 SPIs +- **Boot:** ROM → R5 SYSFW (TIFS) → U-Boot SPL → U-Boot → NuttX +- **Memory:** External DDR4/LPDDR4 (512 MB – 2 GB depending on board) +- **UART:** Seven 16550-compatible UARTs (48 MHz clock) + +Supported Boards +================ + +.. toctree:: + :glob: + :maxdepth: 1 + + boards/*/*
