Commit graph

53 commits

Author SHA1 Message Date
Piyush Patle
da99c2eba5 arm64/am62x: Add TISCI client, GPIO and I2C drivers
Some checks are pending
Build Documentation / build-html (push) Waiting to run
MemBrowse Memory Report / changes-filter (push) Waiting to run
MemBrowse Memory Report / load-targets (push) Waiting to run
MemBrowse Memory Report / identical (push) Blocked by required conditions
MemBrowse Memory Report / analyze (push) Blocked by required conditions
On K3 SoCs the A53 cluster does not own device power, clocks, resets or
interrupt routing; these are managed by the DM/TIFS firmware and requested
over TISCI through the secure-proxy mailbox.  Add:

  - a TISCI client (secure-proxy transport plus device/clock/reset helpers)
  - a GPIO driver for banks 0/1 with pad mux and TISCI power-on
  - an OMAP-I2C driver for the main-domain I2C controllers

and wire them into the PocketBeagle2 and BeaglePlay bring-up.

Tested on PocketBeagle2 (SYSFW 11.2.5) with the TechLab cape attached:

  nsh> i2c bus
  nsh> i2c dev -b 0 0x03 0x77   # I2C0 detects onboard 0x20 and 0x50
  nsh> gpio -o 1 /dev/gpio3     # drives a user LED; read back with:
  nsh> gpio /dev/gpio3

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-08-02 11:40:13 +08:00
Matteo Golin
326fe4fd41 docs/boards/raspberrypi-4b: Document updated NXDoom config
Documents the nxdoom configuration update that now includes RTTL music
over the audio jack.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-28 02:46:42 +08:00
Matteo Golin
a9bbe3792b docs/raspberrypi-4b: Document baromonitor configuration
Documents the baromonitor configuration available on the RPi4B.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-20 21:00:46 -03:00
Emre Cecanpunar
3f78b4bd1d docs/boards/orangepi: add Orange Pi 5 Pro bring-up guide
Document the RK3588S firmware handoff, memory and console settings, build configurations, boot procedure, and hardware validation.

Signed-off-by: Emre Cecanpunar <emreleno@gmail.com>
2026-07-20 20:55:52 -03:00
Matteo Golin
de4f3bf92c docs/raspberrypi-4b: Add NXDoom configuration docs
Document the features and limitations of the NXDoom configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-14 10:40:27 +02:00
Matteo Golin
6de8c13d99 docs/raspberrypi-4b: Documentation about the SD card updated
Updated the documentation to reflect the fix of buggy SD card behaviour
at the sacrifice of slower performance.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-14 09:46:33 +08:00
Matteo Golin
618119edb7 docs/raspberrypi-4b: Document PWM configuration
Documents the configuration which allows PWM audio.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-12 09:52:26 +08:00
Matteo Golin
cb892dd434 raspberrypi-4b/bmp280: Include optional registration of BMP280 driver
This commit includes BMP280 driver registration on I2C1 in the RPi4B
bringup logic _if_ the user selects the board-level configuration option
(so as to not interfere with any user's custom implementation of
interfacing with this sensor). A configuration is added with the BMP280
registration, example program and `uorb_listener` that is also
documented.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
14b02bd6dc raspberrypi-4b/i2c: Added I2C configuration
Includes a new I2C configuration (and documentation for it) to use the
I2C1 bus on the Raspberry Pi 4B.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
a23aaf45c2 docs/raspberrypi-4b: Update frame buffer resolution select info
Reflect the changes to how the frame buffer driver determines its
resolution.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 11:06:41 +08:00
Matteo Golin
15a68ccc55 docs/raspberrypi-4b: Add nxinit configuration docs
Document a new nxinit configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 09:08:51 +08:00
Piyush Patle
90219df0ec 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 <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +08:00
Matteo Golin
a50614512c docs/raspberrypi-4b: Document new SMP configuration
Documents the new SMP configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-22 06:45:10 +08:00
buxiasen
ced3cb1aa8 Documentation: imx95-a55-evk: add UMS flashing steps for u-boot
Add detailed steps for copying nuttx.bin to eMMC via u-boot USB Mass
Storage (ums) mode, which exposes the eMMC as a USB drive on the host
PC for easy file transfer.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
Huang Qi
e3eeaefd6d style: Fix "the the" typo across the codebase.
Fix 269 occurrences of duplicate "the" word typo found in 209 files
across source code, header files, and configuration.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-23 11:07:49 +01:00
Bowen Wang
def2e89b6e qemu-armv8a/netnsh: enabel the virtio-pci transport
Use to verify the virtio pci transport, and update the qemu-armv8a
document.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-28 13:09:19 -03:00
Matteo Golin
9baf67c9d4 docs/platforms/raspberrypi-4b: Document testing configurations
Adds documentation for the two new testing configurations, ostest and
coremark.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-01-06 16:00:52 +08:00
Bowen Wang
7dfc62bac5 qemuv7a/v8a-rpserver/proxy: remove "_ivshmem" suffix and update documents
Now the qemu-armv7a:rpserver_ivshmem, qemu-armv7a:rpproxy_ivshmem and
qemu-armv8a:rpserver_ivshmem, qemu-armv8a:rpproxy_ivshmem are not
only based on the ivshmem device but also the virtio-serial, so
remove the "_ivshmem" suffix and update documents.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
Bowen Wang
aa0467057c qemu-armv8a/rpserver and rpproxy: support the rpmsg port uart
Use virtio-serial as the rpmsg-port-uart serial device, so we
can bringup the rpmsg-port-uart in qemu platform.

Server command:
qemu-system-aarch64 -cpu cortex-a53 -nographic \
-machine virt,virtualization=on,gic-version=3 \
-chardev stdio,id=con,mux=on -serial chardev:con \
-object memory-backend-file,discard-data=on,id=shmmem-shmem0,mem-path=/dev/shm/my_shmem0,size=4194304,share=yes \
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \
-device virtio-serial-device,bus=virtio-mmio-bus.0 \
-chardev socket,path=/tmp/rpmsg_port_uart_socket,server=on,wait=off,id=foo \
-device virtconsole,chardev=foo \
-mon chardev=con,mode=readline -kernel ./out/nuttx_qemu-armv8a_rpserver_ivshmem/nuttx \
-gdb tcp::7775

Proxy command:
qemu-system-aarch64 -cpu cortex-a53 -nographic \
-machine virt,virtualization=on,gic-version=3 \
-chardev stdio,id=con,mux=on -serial chardev:con \
-object memory-backend-file,discard-data=on,id=shmmem-shmem0,mem-path=/dev/shm/my_shmem0,size=4194304,share=yes \
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \
-device virtio-serial-device,bus=virtio-mmio-bus.0 \
-chardev socket,path=/tmp/rpmsg_port_uart_socket,server=off,id=foo \
-device virtconsole,chardev=foo \
-mon chardev=con,mode=readline -kernel ./out/nuttx_qemu-armv8a_rpproxy_ivshmem/nuttx \
-gdb tcp::7776

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
Matteo Golin
858619ec29 docs/platforms/raspberrypi-4b: Document cgol configuration
Documents the newly added `cgol` configuration for playing with Conway's
Game of Life.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-11-14 16:57:10 +01:00
Matteo Golin
00e287bb70 docs/raspberrypi-4b: Include information about new graphics support
Add description of new graphics configuration, and indicate HDMI video
output support (with notes) in the supported peripherals table.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-11-09 16:48:14 -03:00
hujun5
aff64bb3dc arm64: add demo for gdbstub
Gdbstub demo::
   The Qemu version must be above 9.2 to support two serial ports.

   One window:
   ./tools/configure.sh qemu-armv8a:gdbstub; make -j25
   qemu-system-aarch64 -cpu cortex-a53 -nographic -machine virt,virtualization=on,gic-version=3 -net none -kernel ./nuttx -serial mon:stdio -serial pty
   char device redirected to /dev/pts/27 (label serial1)
   - Ready to Boot Primary CPU
   - Boot from EL2
   - Boot from EL1
   - Boot to C runtime for OS Initialize

   Another window:
   gdb-multiarch nuttx -ex "target remot /dev/pts/27"
   GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git
   Copyright (C) 2024 Free Software Foundation, Inc.
   License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
   This is free software: you are free to change and redistribute it.
   There is NO WARRANTY, to the extent permitted by law.
   Type "show copying" and "show warranty" for details.
   This GDB was configured as "x86_64-linux-gnu".
   Type "show configuration" for configuration details.
   For bug reporting instructions, please see:
   <https://www.gnu.org/software/gdb/bugs/>.
   Find the GDB manual and other documentation resources online at:
   <http://www.gnu.org/software/gdb/documentation/>.

   For help, type "help".
   Type "apropos word" to search for commands related to "word"...
   Reading symbols from nuttx...
   Remote debugging using /dev/pts/26
   gdb_get_registers (state=0x403e1590) at gdbstub/lib_gdbstub.c:1020
   1020              reg = state->running_regs;
   (gdb) c

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-11-09 22:45:26 +08:00
Matteo Golin
11e81d1a89 docs/platforms/arm64/bcm2711: microSD documented, improvements
The documentation is now updated to reflect the new EMMC support. I have
also improved the format to match the standard board documentation
template, and included better support descriptions for features that
have varying levels of implementation.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-10-28 16:21:53 -03:00
Matteo Golin
903b6b168e bcm2711/i2c: Implement I2C support for all user-accessible interfaces
Initial I2C implementation such that I2C sending and receiving now
works well enough to use the BMP280 driver for a BMP280 device connected
to any of I2C0-I2C6 on the default pins. I2CTOOL also works for these
interfaces.

Functionality for "no stop" and "no start" options is not present.
Implementing that is not clear from the peripheral datasheet and will be
a challenge.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-14 10:40:36 +08:00
Jorge Guzman
46d415698d Documentation/xedge_demo: Fix RST formatting issues
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-21 17:43:09 +08:00
Jorge Guzman
44b65cbafd boards/qemu-armv8a: Add xedge example program and documentation
- Add documentation for xedge example program
- Add defconfig to run xedge with qemu-armv8a board

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-16 10:59:57 -03:00
lipengfei28
5eea680e44 documentation/arm64/imx9: add imx95 support
Signed-off-by: lipengfei28 <lipengfei28@xiaomi.com>
2025-07-28 09:58:02 -03:00
wangjianyu3
acc067e4f1 docs/qemu-armv8a: add doc for fastboot tcp
Add document for fastboot TCP network device.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-19 10:10:01 +08:00
Matteo Golin
17476346d1 docs/arm64/imx8/boards/imx8qm-mek: Migrate README.txt to RST
Migrate what little was in the legacy README.txt documentation to RST
format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
ba2d245975 docs/arm64/fvp-v8r/boards/fvp-armv8r: Migrate README.txt to RST
Migrate legacy README.txt documentation to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
9f3f5afd0c docs/arm64/qemu/boards/qemu-armv8a: Migrate README.txt to RST
Migrate legacy README.txt documentation to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
3dd1711f6e docs/arm64/imx9/boards/imx93-evk: Migrate README.txt to RST
Migrate legacy README.txt to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
3feb9985a5 bcm2711/spi: Create interrupt-based SPI driver.
This implements an interrupt-based SPI driver for the BCM2711 SPI
interfaces (excluding auxiliary SPI interfaces). Only tested on SPI0
since proprietary firmware does not initialize any other SPI interfaces,
and doing so will require reverse engineering.
2025-05-24 12:47:43 -03:00
Lars Kruse
ccc974b224 WIP: Documentation: replace first person perspectives
Documentation containing first person perspective phrasing may be
understood as belonging to a single person project (instead of a
community project).
2025-05-19 20:21:33 +08:00
Matteo Golin
af45a91d10 docs/arm64: Tag arm64 boards.
Added appropriate chip tags for the arm64 boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-06 19:19:56 +02:00
George Poulios
7ea8b59a59 boards/imx93-evk: kernel build for AHAB boot
Add kernel build (target imx93-evk:knsh) to i.MX93 EVK.
This target is preconfigured for use with AHAB boot (see
https://spsdk.readthedocs.io/en/latest/examples/ahab/imx93/imx93_ahab_uboot.html)
as a replacement of U-Boot proper (BL33 at EL2), hence
the load address is set to 0x80200000.

Signed-off-by: George Poulios <gpoulios@census-labs.com>
2025-05-03 11:25:54 +08:00
Lars Kruse
b333ad3ab5 style: fix typos
Thanks, codespell!
2025-04-30 13:45:46 +08:00
Matteo Golin
4f652e0622 docs/tags: Introduce tagging feature to the documentation.
Introduces `sphinx-tags` to the documentation system, allowing
individual pages to be tagged for better searching. The examples in this
commit introduce the `chip:*` tag for indicating the chip a board uses,
as well as the `experimental` tag for indicating experimental boards and
features. Other tags indicate supported peripherals for boards, such as
`wifi` and `ethernet`.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-04-29 09:18:25 +02:00
Lup Yuen Lee
79f0f530a0 Documentation/platforms/arm64/a527/boards/avaota-a1: Add support for PINE64 Yuzuki Avaota-A1 SBC (Allwinner A527 SoC)
This PR adds support for the PINE64 Yuzuki Avaota-A1 SBC,
based on Allwinner A527 Arm64 SoC.
Most of the code was derived from NuttX for
QEMU Arm64 Kernel Build qemu-armv8a:knsh.
The modified code is explained here:
https://lupyuen.github.io/articles/avaota#appendix-port-nuttx-to-avaota-a1

platforms/arm64/a527/index.rst:
  Added Avaota-A1 to Allwinner A527 SoC

platforms/arm64/a527/boards/avaota-a1/avaota-a1.jpg:
  Photo of Avaota-A1, taken by me

platforms/arm64/a527/boards/avaota-a1/index.rst:
  Building and booting NuttX for Avaota-A1

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2025-03-21 07:17:07 +08:00
Lup Yuen Lee
99067a6974 Documentation/platforms/arm64/a527: Add support for Allwinner A527 SoC
This PR adds support for the Allwinner A527 Arm64 SoC.
This will be used by the upcoming port of NuttX for
PINE64 Yuzuki Avaota-A1 SBC.

Most of the code was derived from NuttX for
QEMU Arm64 Kernel Build qemu-armv8a:knsh.
The modified code is explained here:
https://lupyuen.github.io/articles/avaota#appendix-port-nuttx-to-avaota-a1

platforms/arm64/a527/index.rst: Added A527 SoC

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2025-03-17 08:58:29 +01:00
chao an
2e21426683 qemu-armv8a/ivshmem: add ivshmem chapter
An example implementation for OpenAMP based on the Inter-VM share memory(ivshmem)::

rpproxy_ivshmem:  Remote slave(client) proxy process.
rpserver_ivshmem: Remote master(host) server process.

Please refer to the official Qemu ivshmem documentation for more information:

https://www.qemu.org/docs/master/system/devices/ivshmem.html

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-02-13 11:03:26 -03:00
zouboan
6dbb2edd2c Documentation:add documentation about ethernet for Zynq MPSoC and ZCU111
This commit add documentation Description for ZYNQ-MPSOC's NET driver key
features and ethernet config of ZCU111.
2025-02-07 20:21:18 +08:00
Matteo Golin
e96fb6b118 arch/bcm2711, boards/raspberry-pi-4b: Add preliminary support for the BCM2711 and Raspberry Pi 4B.
Includes a Mini-UART NSH console for the 4B, tested on the 4GB RAM
model. Part of an I2C driver which can only read, boiler-plate for a SPI
driver, and a GPIO driver with limited pins. Some tools are present for
automatically fetching the boot files and creating the `config.txt` file
based on selected Kconfig options.
2024-12-17 16:43:17 +08:00
wangmingrong1
95ed02ec22 arm64/qemu: Add 9pfs configuration
Convenient for qemu debugging and adding ci check
We can learn to use the following command to mount 9pfs on qemu64:

qemu-system-aarch64 -cpu max -nographic \
        -machine virt,virtualization=on,gic-version=3,mte=on \
        -fsdev local,security_model=none,id=fsdev0,path=/xxxx -device virtio-9p-device,id=fs0,fsdev=fsdev0,mount_tag=host \
        -chardev stdio,id=con,mux=on, -serial chardev:con \
        -mon chardev=con,mode=readline  -kernel ./nuttx/nutt

mkdir mnt
mount -t v9fs -o trans=virtio,tag=host mnt

Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-12-03 18:19:09 +08:00
wangmingrong1
360c053eca arm64/qemu: Add arm64 mte defconfig support
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-12-02 11:04:11 -03:00
ligd
17c6d2f394 arm64: update knsh qemu doc
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-09 20:47:43 +08:00
Ville Juven
b3e511c5a8 arm64/qemu: Add knsh target for armv8a qemu board
This adds a qemu test target for testing kernel mode with arm64
2024-08-23 10:26:34 -03:00
zouboan
d759611e90 Documentation/platforms:add documentation for Zynq MPSoC and ZCU111
Co-authored-by: Alan Carvalho de Assis <alan.carvalho@espressif.com>
2024-08-07 16:21:51 +08:00
Eero Nurkkala
80c37c7b36 tools/imx9: prepare bootable bootloader image
This does the following:
  1. Fetches mkimage_imx8 (same used with imx9) source code
  2. Fetches the ELE / AHAB binary
  3. Extracts the ELE / AHAB binary
  4. Compiles the mkimage with hostcc
  5. Utilizes the mkimage tool to create a bootable SD image,
     combining the ELE / AHAB image with the NuttX bootloader
  6. dd is used to prepend empty space in place of BL31
  7. Outputs sdimage.img which is a bootable binary
  8. Removes all binaries, sources code images that have been
     downloaded

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2024-07-10 22:30:38 +08:00
Ville Juven
252b4a4094 imx93-evk/README.txt: Update instructions
It is advisable to set bootdelay to 0 when using bootcmd to disable
dcache on u-boot. Using bootdelay -1 will definitely work as it disables
bootcmd altogether (and leaves the dcache enabled). This step is added
to remove confusion.
2024-04-19 20:12:03 +08:00