Commit graph

306 commits

Author SHA1 Message Date
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
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
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
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
aviralgarg05
59d44c4997 boards/arm/stm32: switch nucleo-f412zg console to USART3 VCP
Enable USART3 support for STM32F412 and use it as the default NUCLEO-F412ZG nsh console path.

The ST-LINK virtual COM port on this board is wired to USART3 on PD8/PD9. Restore USART2 to its header-pin routing, switch the nsh defconfig to USART3, and update the board documentation to match the shipped solder-bridge configuration described in issue #17722.

Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
2026-04-22 01:14:39 +02:00
Alexey Matveev
e9de74d3a9 boards/stm32f103-minimum: Add CAN bring-up, char/socket drivers, and defconfig
Add board support for on-chip bxCAN: stm32_can.c registers /dev/can0 via stm32_caninitialize() when CONFIG_STM32_CAN_CHARDRIVER is set; stm32_cansock.c calls stm32_cansockinitialize() for the socket-CAN path when CONFIG_STM32_CAN_SOCKET is set.

Signed-off-by: Alexey Matveev <tippet@yandex.ru>
2026-04-19 22:56:46 +08:00
Norihiko Itou
83efa44f0c arch/arm: add STM32H755XI chip
Support STM32H755XI chip.
The STM32H755XI is a chip with a different package than the STM32H755II.

Signed-off-by: Norihiko Itou <itounrh@jae.co.jp>
2026-04-17 13:18:02 +02:00
daniellizewski
532fede38b arch/arm/src/stm32h5: Add support for USB host
Added stm32_usbdrdhost.c which adds USB FS host mode support using the
embedded PHY. Added Kconfig to select Device or Host.

Example config nucleo-h563zi:usbmsc added to test functionality

Signed-off-by: daniellizewski <daniellizewski@geotab.com>
2026-04-17 12:42:12 +08:00
raiden00pl
1513b3e20c arch/nrf52|nrf53: add qencoder support
add qencoder support for nrf52 and nrf53

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-12 19:41:52 -04:00
raiden00pl
6928384019 arch/stm32{f7|h7|l4|l5|u5}: remove references to CONFIG_STM32_TIMx_QECLKOUT
Remove useless references to CONFIG_STM32_TIMx_QECLKOUT

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-12 10:52:36 -04:00
Xiang Xiao
c272086ab5 Documentation/platforms/arm/tiva: add lm3s6965-ek board documentation
Add board documentation for the Stellaris LM3S6965 Evaluation Kit
including available configurations (nsh, qemu-flat, qemu-protected,
qemu-kostest, qemu-nxflat) and instructions for running and debugging
with QEMU.

Also add a Supported Boards toctree section to the Tiva platform
index to automatically include board documentation.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-04-07 14:51:10 +02:00
Piyush Patle
0dccc8ba21 include/debug.h: Move to include/nuttx/debug.h
debug.h is a NuttX-specific, non-POSIX header. Placing it in the
top-level include/ directory creates naming conflicts with external
projects that define their own debug.h.
This commit moves the canonical header to include/nuttx/debug.h,
following the NuttX convention for non-POSIX/non-standard headers,
and updates all in-tree references.

A backward-compatibility shim is left at include/debug.h that
emits a deprecation #warning and re-includes <nuttx/debug.h>,
allowing out-of-tree code to continue building while migrating.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
Alan Carvalho de Assis
f255cd870b Doc/raspberry-pico-w: Update ST7735 Documentation
Keep the documentation in sync with raspberrypi-pico.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-06 12:47:00 -04:00
Alan Carvalho de Assis
7bdd9330bc doc/raspberry-pi-pico: Fix ST7735 Documentation
Change the order of voltage suggesting 3V3 first and than 5V to avoid
users to damage their LCDs.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-06 12:47:00 -04:00
Daniel Monteiro
b9b9266c3b doc: add info on 3V3 ST7735 displays for Pico and W boards
Previously the info was only for 5V volts.
2026-04-06 08:32:45 -03:00
Alan Carvalho de Assis
78e3f17b9e doc/raspberrypi-pico: Improves ST7735 Documentation
This commit improves the documentation about ST7735 LCD usage.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-04 19:45:20 +02:00
Felipe Moura
11d15bb238 arm/ht32f491x3: rework PWM lower-half like nrf53
Use static lower-half instances per timer and select the channel
through Kconfig and board data instead of passing runtime PWM
routing into the driver.

This keeps the HT32 PWM support aligned with the existing NuttX
pattern and documents the esk32 single-device TMR3 routing.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-04-02 12:11:13 +02:00
Piyush Patle
bd885b7075 Documentation/verdin-mx8mp: port README.txt to rst 2026-03-31 22:15:12 -04:00
Piyush Patle
c118b9c8a7 Documentation/sam4cmp-db: port README.txt to rst 2026-03-31 22:15:12 -04:00
Piyush Patle
4d970d4a70 Documentation/olimex-lpc2378: port README.txt to rst 2026-03-31 22:15:12 -04:00
Piyush Patle
8d84652d6d Documentation/teensy-lc: port README.txt to rst 2026-03-31 22:15:12 -04:00
Felipe Moura
bd6a466317 ht32f491x3/esk32: add docs and flash helpers
Document the HT32F491x3 ESK32 board, build steps,
flashing flow, and validation commands. Add WSL and
PowerShell flash backends plus a Python wrapper.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-03-30 09:48:16 +08:00
raiden00pl
4b48a27aee boards/nucleo-c071rb: add adcscope example
add adcscope example for nucleo-c071rb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-24 18:24:40 +01:00
raiden00pl
0705828024 boards/nrf53/thingy53: add sensor scope example
add sensor scope example for thingy53

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-24 09:39:42 +08:00
raiden00pl
cbe59b0328 boards/nrf52832-dk: add nxscope examples (UART and RTT)
add nxscope examples for nrf52832-dk

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-24 09:39:42 +08:00
raiden00pl
9424c3ac3b Documentation: update nxscope doc
update various nxscope doc

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-24 09:39:42 +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
Alan Carvalho de Assis
108b23b7a2 doc/stm32f4discovery: Add LCD ST7567
This commits explains how to use the LCD ST7567 with STM32F4Discovery
board.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-03-13 11:29:07 +08:00
Alan Carvalho de Assis
da39903ff0 doc/stm32f4discovery: Improve the page, add board picture
This commits improves a little bit the STM32F4Discovery documentation
page.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-03-13 11:29:07 +08:00
anjiahao
718ae3d2c6 stm32l5/nucleo-l552ze: enable LPUART1 console on ST-Link VCP
Three fixes to make LPUART1 work as NSH console on Nucleo-L552ZE-Q:

1. stm32l5_lowputc: add LPUART-specific BRR formula (256 * fCK / baud)
   instead of reusing the standard USART divisor calculation.

2. stm32_boot: enable VDDIO2 and reconfigure LPUART1 GPIOs (PG7/PG8)
   in board_initialize. The low-level setup runs before VDDIO2 is
   enabled, so GPIOG writes silently fail.

3. stm32l5_serial: fix LPUART1 apbclock (PCLK1 not PCLK2), add
   LPUART BRR branch in setformat, cast to uint64_t to prevent
   32-bit overflow in (fCK << 8).

Also switch nsh defconfig from USART3 to LPUART1, add GPIO_LPUART1
pin definitions in board.h, and update board documentation.

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-03-11 19:24:01 +08:00
Michal Matias
01f4ec8693 Documentation/platforms/nucleo-h723zg: Add oa_tc6 defconfig info
Add documentation for oa_tc6 defconfig.

Signed-off-by: Michal Matias <mich4l.matias@gmail.com>
2026-03-08 09:09:00 -03:00
Michal Matias
f4a6e62f7f Documentation/platforms/arm/stm32h7/boards: Add page for nucleo-h723zg
Add page for the nucleo-h723zg board into the documentation.

Signed-off-by: Michal Matias <mich4l.matias@gmail.com>
2026-03-05 16:51:49 -03:00
Maarten Zanders
0db2567eaa docs/platforms/arm/imx9: add imx93-qsb documentation.
Add a writeup of currently supported features with a picture
and block diagram.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-28 10:30:06 +08:00
Peter Barada
c4d6b728a0 boards/stm32h7: Add button support to nucleo-h743zi2
This patch adds support for the user button on nuclo-h743zi2 board
(and nucleo-h753zi2 which is also a MB1364 board design) and enables
button support and example in nucleo-h743zi2:jumbo configuration selector.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-02-21 08:50:54 +01:00
Matteo Golin
b4242042e1 docs/stm32f4discovery: Align naming of configuration options
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-18 11:01:34 +01:00
Matteo Golin
e5077df813 docs/rasperrypi-pico-2: Small typo correction
The header underline did not extend far enough for Sphinx to correctly
parse it as a header.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-11 10:28:14 +01:00
Andre Heinemans
e83606732d boards/arm: add nxp mr-navq95b support
- Add support for the MR-NAVQ95 which is an open-source development
  board designed for mobile robotics applications.
- Utilizes the NXP i.MX95 processor M7 core
- Configurations:
  'nsh'   A minimal configuration that only enables nsh shell
          on a UART
  'rpmsg' This configuration is similar to nsh but in addition
          it offers the Remote Processing Messaging (RPMsg) service to
          enable heterogeneous inter-core communication.

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2026-02-06 15:28:12 -03:00
hujun5
63aefd9975 arch/armv7-r: userspace PMU access
This change enables performance monitoring unit (PMU) access from userspace
on ARMv7-R architecture by adding CONFIG_ARCH_HAVE_PERF_EVENTS_USER_ACCESS
support and building PMU code for userspace when needed.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-02-02 16:20:39 +01:00
buxiasen
b68876d75d Documentation/arm/qemu: add qemu-armv7r board documentation
Add documentation for qemu-armv7r board which emulates ARM Cortex-R5
processor using OpenVela's QEMU fork. The upstream QEMU does not
support ARM Cortex-R virt machine, so this board requires the
prebuilt QEMU from OpenVela.

This documentation covers:
- NSH (flat build) configuration
- PNSH (protected build with MPU) configuration
- Prerequisites for downloading prebuilt QEMU
- Debugging instructions with GDB

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-01-30 12:07:18 +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
0ff7014f75 qemu-armv7a/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.

And update the documents:
nuttx/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
chenzihan1
c21405d2d5 drivers/sensors/goldfish: goldfish support more sensors
add sensors type to align android

Signed-off-by: chenzihan1 <chenzihan1@xiaomi.com>
2025-12-20 09:31:23 -03:00
Alan Carvalho de Assis
13a361ab30 docs/stm32f429i-disco: Add the stm32f429i-disco picture
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-11-27 18:27:46 -03:00
Alan Carvalho de Assis
658c5a938e boards/stm32f429i-disco: Add NX boot logo splash screen
This commit add a framebuffer example and initializes the board with
NuttX boot logo splash screen.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-11-27 15:17:30 -03:00
leocafonso
9e573371bb Documentation: Add GPT information to RA4M1 documentation
- Updated information about the RA4M1 microcontroller capabilities, including the General Purpose Timer (GPT).
- Added information about the PWM driver support for the Arduino R4 Minima board using the GPT timer.

Signed-off-by: leocafonso <leocafonso@gmail.com>
2025-11-17 09:01:31 -03:00
hujun5
857fdad220 boards/arm/qemu/qemu-armv7a: add demo for gdbstub
Gdbstub support
===========
  The Qemu version must be above 9.2 to support two serial ports.

  One window:
  ./tools/configure.sh qemu-armv7a:gdbstub; make -j25
  qemu-system-arm -cpu cortex-a7 -nographic -machine virt,virtualization=off,gic-version=2 -net none -kernel ./nuttx  -serial mon:stdio -serial pty
  char device redirected to /dev/pts/26 (label serial1)
  nx_start: Entry
  uart_register: Registering /dev/console
  uart_register: Registering /dev/ttyS0

  Another window:
  gdb-multiarch nuttx -ex "target remot /dev/pts/26"
  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=0x402052f8) at gdbstub/lib_gdbstub.c:1020
  1020              reg = state->running_regs;
  (gdb) c

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-11-11 19:53:56 +08:00
raiden00pl
44a924ab42 boards/stm32h7: add Arduino Portenta H7
Add initial support for Arduino Portenta H7.
For now only CM7 core is supported.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-11-10 18:13:47 +08:00
kywwilson11
35d1aaafda arch/arm/stm32h5: STM32H5 PWM Driver (STM32H7 port)
Adding the stm32h5 pwm driver. This is almost an exact copy of the stm32h7 pwm driver. I confirmed the timers for the h5 are version v2 and added the preprocessor definition. This commit was tested on a stm32h5 nucleo-h563zi development board. Necessary board files and a pwm config have been added. Added pin mappings for all timer outputs.

Signed-off-by: kywwilson11 <kwilson@2g-eng.com>

Added documentation regarding nucleo-h563zi:pwm config.

Removed CONFIG_STM32H5_PWM guard at the top. Fixed IRQs for tim1 and tim8. Added H5 to list of Timer IP v2 timers.

Conditionally compile stm32_serial.c.

Add stm32_pwm.c to CMakeLists.txt
2025-10-25 12:48:34 +08:00