Commit graph

772 commits

Author SHA1 Message Date
Eren Terzioglu
958169e1ec Docs/platforms/esp32[-c6|-h2]: Add BLE docs for esp32[-c6|-h2]
Add BLE docs for esp32c6 and esp32h2

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-07-04 02:00:32 +08:00
Matteo Golin
f725c1932c docs/sim: Include documentation about NXDoom configuration
Include docs about new NXDoom configurations for playing NXDoom.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-04 01:59:40 +08:00
raiden00pl
db5afb356e !arch/stm32: move stm32l1 and finalize the directory split
Move the stm32l1 sources, headers and boards into arch/arm/src/stm32l1,
arch/arm/include/stm32l1 and boards/arm/stm32l1, then finalize the split:
source each split family directly in arch/arm/Kconfig and boards/Kconfig and
remove the now-empty combined arch/arm/src/stm32 and boards/arm/stm32 trees.

BREAKING CHANGE: The legacy STM32 architecture and board paths were split into
stm32f1, stm32l1, stm32f2, stm32f3, stm32f4, and stm32g4 directories.
Out-of-tree boards must move from stm32 to the matching split family.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-07-03 10:27:27 +08:00
Jorge Guzman
f049deb0d6 Documentation/spresense: rewrite board page with images and configs
Replace the bare "README.txt literal include" with a proper reStructuredText
page for the Sony Spresense board, and remove the now-redundant README.txt
(all of its content has been migrated into index.rst):

- Add board, extension and camera pinout figures (sony*.png).
- Add Features, Serial Console, Buttons and LEDs sections.
- Add "Flashing the bootloader" and "Building and Flashing" sections,
  including the official firmware download link and the flash_writer.py
  workflow.
- Document all board configurations (audio, audio_sdk, camera, charger,
  coremark, elf, example_camera, example_lcd, fmsynth, getprime, lcd, lte,
  module, mpy, nsh, nsh_automount, nsh_trace, ostest, posix_spawn, rndis,
  rndis_composite, rndis_smp, smp, usbmsc, usbnsh, wifi, wifi_smp), each of
  which was verified to build.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-02 10:30:30 -03:00
raiden00pl
a42f07052b !arm/stm32: split legacy STM32 family selectors
BREAKING CHANGE: Convert the legacy STM32 F1/F2/F3/F4/G4/L1 port to the concrete
family selectors while keeping the shared STM32 selector hidden.

Legacy STM32 family selector Kconfig symbols were split by
concrete STM32 sub-family. Out-of-tree defconfigs and code must update
CONFIG_ARCH_CHIP_* selections to the new family-specific selectors.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-07-02 10:27:21 -03:00
raiden00pl
dd0c546eac !arch/stm32u5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32U5 Kconfig symbols were renamed from CONFIG_STM32U5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32U5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
raiden00pl
0c41b13966 !arch/stm32l5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32L5 Kconfig symbols were renamed from CONFIG_STM32L5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32L5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
raiden00pl
a7bd8799b7 !arch/stm32l4: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32L4 Kconfig symbols were renamed from CONFIG_STM32L4_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32L4_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
raiden00pl
c926b8af0c !arch/stm32h7: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32H7 Kconfig symbols were renamed from CONFIG_STM32H7_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_STM32H7_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
raiden00pl
4f093cc1dd !arch/stm32h5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32H5 Kconfig symbols were renamed from CONFIG_STM32H5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32H5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
raiden00pl
6bd8fe6ab6 !arch/stm32f7: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32F7 Kconfig symbols were renamed from CONFIG_STM32F7_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_STM32F7_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 23:14:35 +08:00
Eren Terzioglu
79d80e4918 Docs/platforms: Add missing defconfig docs for esp32[-c3|-c6|-h2]
Add missing defconfig docs for risc-v based Espressif devices
2026-06-17 17:12:14 +08:00
raiden00pl
49eaa7b860 Documentation: update references to nrfjprog
nrfjprog is no longer maintained. Change all nrfjprog commands
to equivalent nrfutil commands

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-17 17:12:14 +08:00
Kerogit
8ad4f90b72 arch/avr/src/avrdx/avrdx_delay: add custom up_udelay function
NuttX builtin up_udelay function uses BOARD_LOOPSPERMSEC configuration
value to determine how many loops need to be done to cause requested
delay. This does not match well with AVR DA/DB microcontrollers
because the CPU clock frequency is configurable.

A board configuration could therefore provide BOARD_LOOPSPERMSEC
valid for one frequency but for other frequencies, the user would
be required to calibrate the value and would still get incorrect
result when changing the clock speed during runtime.

This patch therefore implements dynamic architecture-specific
up_udelay function which determines current clock settings
and infers required loop count from that.

New function was tested by simple application that used up_udelay
to put delays between printf calls.

Signed-off-by: Kerogit <kr.git@kerogit.eu>
2026-06-17 17:10:02 +08:00
hanzj
118bf9b52d docs: Fix duplicate toctree references causing build warnings
Several documentation files are referenced in multiple toctrees,
causing Sphinx build warnings like:

  document is referenced in multiple toctrees: [...], selecting: [...]

Fix by narrowing glob patterns in parent toctrees to only match
subdirectory index files, and replacing a toctree directive with
a :doc: cross-reference:

- platforms/arm/index.rst: glob */* -> */index
- platforms/index.rst: glob */* -> */index
- guides/changing_systemclockconfig.rst: toctree -> :doc: ref

Fixes #14785

Signed-off-by: hanzj <hanzj@xiaomi.com>
2026-06-10 17:11:19 +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
Erkan Vatan
15354fc7c5 docs/boards: Add documentation for t3-gem-o1 board.
Add documentation for the T3 Gemstone O1 (t3-gem-o1) development board,
including board specifications, serial console, available
configurations (nsh), and installation instructions via RemoteProc.

Signed-off-by: Erkan Vatan <evatan@t3gemstone.org>
2026-05-28 14:16:03 +02:00
Eren Terzioglu
328ffdb297 Docs/platforms/espressif: Add UF2 file format docs
Add UF2 file format docs for RISC-V based Espressif devices

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-27 14:29:35 -04:00
Eren Terzioglu
a8a3e36adf Docs/platforms/xtensa: Add UF2 file format docs
Add UF2 file format docs for Xtensa based Espressif devices

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-27 14:29:35 -04:00
Eren Terzioglu
1c382c1a39 Docs/platforms/esp32p4: Add LP Mailbox docs
Add LP Mailbox docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-26 10:03:43 +08:00
Tiago Medicci Serrano
144cfecc9a Documentation: Add entry for Python on ESP32-P4
Add entries related to the Python interpreter for ESP32-P4.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-05-23 09:35:16 -03:00
ImBonkers
5993ed41aa Documentation/arm: Document Nucleo-N657X0-Q LED support.
Update the Nucleo-N657X0-Q board page to reflect the autoleds and
userleds support added in the preceding commits:

* Drop "user LEDs" from the "not yet wired up" warning list (only
  the user button remains there).
* Replace the placeholder "no userleds/buttons drivers" paragraph in
  the Buttons and LEDs section with a description of the two
  mutually-exclusive paths (ARCH_LEDS vs USERLED) and a pointer to
  the new nucleo-n657x0-q:leds configuration.
* Add a leds entry under Configurations.

Signed-off-by: ImBonkers <samuelnlinden@pm.me>
2026-05-23 20:23:35 +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
Eren Terzioglu
50352c5b75 Docs/platforms/risc-v: Add Analog Comparator docs for esp32[-h2|-p4]
Add Analog Comparator docs for esp32h2 and esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-21 09:38:58 -04:00
Peter Barada
2230d32595 Documentation/nucleo-h753zi: Add board image
Add missing NUCLEO-H753ZI board image.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-05-21 08:56:24 +02:00
Peter Barada
1840cbe63d Documentation/nucleo-h753zi: Fix typo in test log
Fix typo in string written to SD card; its "This", not "Thos".

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-05-21 08:56:24 +02:00
Peter Barada
fc2f6c9fc5 boards/arm/stm32h7: Add support fpr nucleo-h753zi board
Add BSP for the NUCLEO-H753ZI board using nucleo-h743zi2 as base.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-05-21 08:56:24 +02:00
Peter van der Perk
52ae08196d Docs/platforms/imxrt: Update chip support table.
Include i.MXRT1170 as supported chip and add newer unsupported chips.
Also updated the cache chapter to reflect current state of driver and
support.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-05-20 17:34:30 +08:00
Eren Terzioglu
306de5b04b Docs/platforms/esp32p4: Add touch sensor docs
Add touch sensor docs for esp32[-p4]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-19 16:38:16 +08:00
Eren Terzioglu
f21acd2213 Docs/platforms/risc-v: Add LPSPI and SPI3 docs for esp32[-p4]
Add LPSPI and SPI3 docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-19 02:04:35 +08:00
ImBonkers
f47e5394b5 Documentation/arm: Add STM32N6 and Nucleo-N657X0-Q
Add documentation for the STMicro STM32N6 chip family and the
Nucleo-N657X0-Q development board introduced in the previous two
commits.

  - platforms/arm/stm32n6/index.rst
        Chip overview: core, peripherals supported in the initial
        port, and a pointer to the board page.

  - platforms/arm/stm32n6/boards/nucleo-n657x0-q/index.rst
        Board page, structured per Documentation/contributing/
        doc_templates/board.rst: hardware summary, user LED and
        button pin map, the two shipped configs (nsh, ostest),
        and the DEV-mode flash recipe used to load NuttX into
        AXISRAM via ST-LINK.

  - platforms/arm/stm32n6/boards/nucleo-n657x0-q/nucleo-n657x0-q.jpg
        Photograph of the board, referenced from the board page.

The pages are picked up by the existing glob-based toctree in
Documentation/platforms/arm/index.rst, no parent index changes are
required.

Signed-off-by: ImBonkers <samuelnlinden@pm.me>
2026-05-18 14:50:29 -03:00
Tomasz 'CeDeROM' CEDRO
76b31b04a3 doc/esp32p4: ESP32-P4 chip revisions, ESP32-P4-Nano board note.
* NuttX supports ESP32-P4 >= v3.0 by default.
* In order to run on older chips configuration tuning is required.
* Without configutation tune boot loop happens on older chips.
* Added note on WaveShare ESP32-P4-Nano board that is almost identical
  to existing ESP32-P4-Function-EV-Board board, so configs are compatible,
  but it has v1.3 chip, thus config tune is required as documented above.
* Added cross-file reference label to esp32p4-function-ev-board.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2026-05-14 02:55:45 -04:00
Matteo Golin
382bb5e874 docs/risc-v: Remove mention of NSH_ARCHINIT
Removes mention of NSH_ARCHINIT since this configuration option no
longer exists.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-10 07:59:10 +08:00
Eren Terzioglu
a3f4d292ff Docs/platforms/esp32c3: Add BLE sleep
Add BLE sleep docs for esp32[-c3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-05-09 09:48:32 +08:00
daniellizewski
9b18160893 drivers/usbhost/usbhost_cdcecm.c: Added support for Host CDC-ECM
Added support for USB host to use an USB CDC-ECM device.
This class is used for usb-ethernet adapters as well as many modems.

Signed-off-by: daniellizewski <daniellizewski@geotab.com>
2026-05-06 06:20:03 +08:00
Tiago Medicci Serrano
20c38d050b Documentation: Describe ESP32-P4 Ethernet support
This commit describes ethernet support on ESP32-P4 SoC and its
ESP32-P4-Function-EV-Board v1.5.2.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-05-06 01:37:00 +08:00
Alan Carvalho de Assis
51cd4a548f doc: Improved QE Documentation and add mt6816 board profile doc
This commit explain that the QE encoder driver can be used to
internal QE from microcontroller or external magnetic encoder.
Also explains how to use the mt6816 board profile to STM32F4Discovery

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-03 07:56:38 -03:00
Matteo Golin
48db502daf !boards: Remove NSH_ARCHINIT and board_app_initialize
BREAKING: In an effort to simplify NuttX initialization, NSH_ARCHINIT is
removed. board_app_initialize is also removed. BOARD_LATE_INITIALIZE now
performs all board initialization logic, and is by default enabled. All
references to these symbols are removed. BOARDIOC_INIT remains, but will
result in -ENOTTY when called. It is to be removed in a later commit.

Quick fix: Boards relying on NSH_ARCHINIT should now enable
CONFIG_BOARD_LATE_INITIALIZE instead. If the application needs
fine-grained control over board initialization from userspace, the logic
performed by BOARDIOC_INIT may be copied to the board_finalinitialize
function and used instead via BOARDIOC_FINALINIT. All
board_app_initialize logic provided by NuttX is now moved to
board_late_initialize, and the same should be done for out-of-tree
boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Daniel Monteiro
8e91dd60a0 Documentation: add rst file for the TM4C123G
Signed-off-by: Daniel Monteiro <monteiroquiet@gmail.com>
2026-05-02 10:18:08 +08:00
Alan Carvalho de Assis
c3e7c94d2f doc/qemu-i486: Add documentation about qemu-i486:vga_fb
This commit adds documentation to vga_fb board profile to QEMU.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-30 11:56:49 +08:00
Alan Carvalho de Assis
9f2db60370 doc: Update qemu-i486
This PR improves the qemu-i486 documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-29 21:39:20 +08:00
Eren Terzioglu
64cf22628f Docs/platforms/risc-v: Add autopm docs
Add autopm docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-27 21:20:21 +02:00
Matteo Golin
727502ea9b boards/esp32c3-xiao: Add SMARTFS configuration
Adds a configuration that combines the `nimble` example with a SMARTFS
file system configured in the chip's flash.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-04-26 18:12:38 +08:00
Eren Terzioglu
61b0fd15fa Docs/platforms/risc-v: Add ULP wakeup modes docs for esp32[-c6|-p4]
Add ULP wakeup modes docs for esp32[-c6|-p4]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-24 12:38:04 +02:00
Eren Terzioglu
5e29129d97 Docs/platforms/esp32p4: Add LP_ADC docs
Add LP_ADC docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-24 12:37:11 +02:00
Tomasz 'CeDeROM' CEDRO
3efaf80d3d boards/xtensa/esp32s3: New board WaveShare ESP32-S3-Touch-LCD-1.28 (WIP).
* Initial experimental / work in progress implementation.
* New board name is esp32s3-ws-lcd128.
* Supports Kconfig delectable w/wo touch variants (lcd gpios difference).
* IMU QMI8658 bringups is put into esp32s3/common/src to share with other
  boards. Pin defines are located at <board>include/board.h and referenced
  with `#include <arch/board/board.h>`.
* Supported configurations: nsh, ostest, coremark, touch-lvgl, notouch-lvgl,
  imu-qmi8658, watchdog.
* Does not have touch panel driver yet.
* Created board documentation. Added sphinx inline cross-references.
* TODO: Fix SPI GC9A01A LCD pixel format colors.
* TODO: Create I2C CST816S touch panel driver.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2026-04-24 16:27:08 +08:00
Tiago Medicci Serrano
04c4269ef0 Documentation: Update rmt defconfig description
Updated the `rmt` defconfig description for the Espressif's SoCs.
Use the `irtest` testing app (instead of the deprecated `rmtchar`)
to test the RMT peripheral.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-04-24 11:09:41 +08:00
Alan Carvalho de Assis
c476700583 doc/input: Add documention to MPR121 Capacitive Keypad
This commit adds the Documentation to MPR121 Keypad and the board
profile documentation to STM32F4Discovery board.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-23 15:56:32 -03:00