Commit graph

5363 commits

Author SHA1 Message Date
Matteo Golin
cbbc5c42f4 boards/hc: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin
296ee45be0 boards/z80: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin
d0ee99a8a9 boards/arm64: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin
46182069c8 boards/or1k: Remove board_app_initialize
Logic provided by board_app_initialize is removed due to the removal of
BOARDIOC_INIT boardctl command. Logic inside board_late_initialize is to
be used and is identical.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin
5c42dbcaa4 boards/sim: Replace board_app_initialize
Logic provided by board_app_initialize is replaced by
board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08: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
raiden00pl
772a51b43a boards/thingy53: add sensors scope demo for fixed16
add sensors scope demo with fixed16 as sensor data type

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
aviralgarg05
57acb80e6b boards/arm/stm32: add nucleo-f412zg ostest and coremark configs.
Add dedicated ostest and coremark defconfigs for nucleo-f412zg.
The ostest config keeps the existing NSH-oriented board setup and
adds the runtime self-test application, while the coremark config
boots directly into the benchmark with an -O3 build profile.

Both configurations were verified with GNU Make and CMake/Ninja
using Arm GNU Toolchain 15.2.Rel1 on macOS arm64.

Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
2026-04-30 19:24:26 +08:00
Jukka Laitinen
66f3b66eda boards/imx93-evk: Add initialization of DShot driver
This adds initialization of the flexio_dshot driver to the
imx93-evk:nsh target.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +08:00
Alan Carvalho de Assis
09cda8404d boards/qemu-i486: Add support to QEMU VGA framebuffer
This commits initializes the VGA LCD interface as a framebuffer to
use with fb command.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-30 11:56:49 +08:00
wangjianyu3
f97b29c4c4 boards/lckfb-szpi-esp32s3: add vncviewer defconfig and documentation
Add vncviewer board configuration and documentation:
- boards: add lckfb-szpi-esp32s3:vncviewer defconfig
- Documentation: add system/vncviewer application doc with host
  VNC server setup examples (Xvfb, clip, scale modes) and images

Assisted-by: GitHubCopilot:claude-4.6-opus
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-04-27 22:19:31 +02:00
Eren Terzioglu
435ff1d488 boards/risc-v/esp32p4: Add autopm defconfig
Add autopm defconfig for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-27 21:20:21 +02:00
Sumit6307
b2b78d2f8a fs: Add Kernel-level VFS Performance Profiler
This adds a kernel-level performance profiler for the VFS.
By enabling CONFIG_FS_PROFILER, the core VFS system calls
(file_read, file_write, file_open, and file_close) are
instrumented to track high-resolution execution times using
clock_systime_timespec() seamlessly.

The collected statistics are exposed dynamically via a new
procfs node at /proc/fs/profile, allowing CI regression
testing without needing external debugging tools.

Signed-off-by: Sumit6307 <sumitkesar6307@gmail.com>
2026-04-26 11:50:09 -03: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
raiden00pl
0efe8c4f42 boards/stm32g4: migrate to new pinmap
migrate stm32g4 to new pinmap

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-24 16:03:23 +02:00
raiden00pl
801bf3e9a4 boards/stm32l1: migrate to new pinmap
migrate stm32l1 to new pinmap

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-24 10:39:04 -03:00
Eren Terzioglu
2eb686f72f board/risc-v/espressif: Add ULP wakeup modes board support
Add ULP wakeup modes board support for esp32[-c6|-p4]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-24 12:38:04 +02:00
raiden00pl
e2cc71f540 !arch/arm/src/stm32l5: remove STM32L5_USE_LEGACY_PINMAP
BREAKING CHANGE: remove STM32L5_USE_LEGACY_PINMAP and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-24 10:44:30 +02:00
raiden00pl
5eb4387a99 !arch/arm/src/stm32wb: remove STM32WB_USE_LEGACY_PINMAP
BREAKING CHANGE: remove STM32WB_USE_LEGACY_PINMAP and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-24 10:44:30 +02:00
raiden00pl
2d8c4baa09 !arch/arm/src/stm32l4: remove STM32L4_USE_LEGACY_PINMAP
BREAKING CHANGE: remove STM32L4_USE_LEGACY_PINMAP and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-24 10:44:30 +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
f6837da271 boards/[risc-v|xtensa]: Update `rmt defconfig for Espressif's SoCs
Adds the `CONFIG_SYSTEM_IRTEST` macro to enable building the
`irtest` application.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-04-24 11:09:41 +08:00
Alan Carvalho de Assis
f2219060c2 boards: Add support to MPR121 Capacitive Keypad
This commit adds support to MPR121 on stm32f4discovery board and a
board config example.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-23 15:56:32 -03:00
Arjav Patel
bf0848dbd6 boards/sim: Prefer tmpfs for /tmp in rc.sysinit.
Prefer mounting /tmp with tmpfs in the SIM default rc.sysinit when
CONFIG_FS_TMPFS is enabled, and keep the FAT RAMDISK path as a
fallback for configurations that only enable CONFIG_FS_FAT.

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-04-23 10:26:21 -03:00
raiden00pl
94e5fb9d3e boards/stm32l4: migrate to new pinmap
migrate stm32l4 to new pinmap

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 20:34:00 +08:00
raiden00pl
53c4574ebc boards/stm32l5: migrate to new pinmap
migrate stm32l5 to new pinmap

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 20:31:50 +08:00
raiden00pl
ec85c9a708 boards/stm32wb: migrate to new pinmap
migrate stm32wb to new pinmap

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 12:59:47 +02:00
raiden00pl
8b0f684a05 arch/arm/src/stm32f0l0g0: remove STM32F0G0L0_USE_LEGACY_PINMAP
remove STM32F0G0L0_USE_LEGACY_PINMAP and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 09:30:53 +08:00
raiden00pl
6ab27b3a8a arch/arm/src/stm32f7: remove STM32F7_USE_LEGACY_PINMAP
remove STM32F7_USE_LEGACY_PINMAP option and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 09:30:53 +08:00
raiden00pl
c4586c0742 arch/arm/src/stm32h7: remove STM32H7_USE_LEGACY_PINMAP
remove STM32H7_USE_LEGACY_PINMAP option and all references

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-23 09:30:53 +08: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
raiden00pl
7141f487c0 boards/qemu-intel64: align _etbss to fix TLS block size mismatch
Align _etbss in the linker script so (_etbss - _stdata) matches the
compiler's aligned TLS block size.

Fix ostest failure for CONFIG_SCHED_THREAD_LOCAL=y

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 21:57:44 +08:00
raiden00pl
e79cade0e3 boards/qemu-intel64/nsh: enable assertions and full opt
enable assertions and full opt for qemu-intel64/nsh

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 21:57:44 +08:00
raiden00pl
78eae568ea boards/qemu-intel64/jumbo: enable assertions and full opt
enable assertions and full opt for qemu-intel64/jumbo

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 21:57:44 +08:00
raiden00pl
9416b1a606 boards/qemu-intel64/ostest: enable assertions
enable assertions for qemu-intel64/ostest

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 21:57:44 +08:00
raiden00pl
6f9d6f3d94 boards/nucleo-c071rb: add nxmodbus examples to jumbo
add nxmodbus client and server examples to jumbo

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 09:39:04 +08:00
raiden00pl
4c38d9be04 boards/sim: add nxmodbus over RTU demo
add nxmodbus over RTU demo for sim

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 09:39:04 +08:00
raiden00pl
287051ef09 boards/qemu-intel64: add nxmodbus tools for jumbo config
add nxmodbus tools for qemu-intel64/jumbo config

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 09:39:04 +08:00
Alan Carvalho de Assis
e5efaf9f5d boards: Fix modbus configs after moving it to apps/industry
The modbus was moved to inside apps/industry, so these defconfigs
need to be updated

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-20 08:35:15 +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
aviralgarg05
87bebead38 boards/arm/cxd56xx/spresense: Add ostest, coremark and getprime configs.
Add dedicated Spresense defconfigs for ostest, coremark and\ngetprime so the board has focused test and benchmark entry\npoints for these workloads.\n\nThis keeps the change scoped to new board configurations and\nfollows the existing Spresense baseline settings for the new\ntargets.

Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
2026-04-19 10:41:47 -03:00
daniellizewski
1632beaede arch/arm/src/stm32h5/stm32_usbdrdhost.c: Fixed Hub support
Fixed a few bugs in the initial stm32_usbdrdhost.c implementation
when using a USB hub. Fixed fault when freeing control endpoints.
Fixed crash when disconnecting devices from hubs due ot use after free.

Signed-off-by: daniellizewski <daniellizewski@geotab.com>
2026-04-19 14:24:40 +08:00
Tiago Medicci Serrano
92a0b18ca1 boards/risc-v/esp32p4: Enable PSRAM for ESP32-P4-Function-EV-Board
This commit enables using ESP32-P4's PSRAM on Function-EV-Board.
The in-chip PSRAM memory is added to the user heap and the internal
memory is dedicated to a kernel heap.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-04-18 19:17:31 -03:00
Tiago Medicci Serrano
27ae597fbc boards: Increase esp32h2-devkit:efuse IDLETHREAD stack to 3072
The idle task is used during initialization and its stack size is
operating near the boundaries of a stack overflow, causing
occasional crashes during board's bringup. This commit increases
the idle task stack size to solve such an issue.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-04-17 10:37:47 +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
Eren Terzioglu
54b3edae0a boards/risc-v/espressif: Add DFS board support
Add DFS board support for risc-v based Espressif devices

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-04-15 18:38:02 +02:00
Filipe Cavalcanti
19c1d86a16 boards/risc-v: fix LD_SCRIPTS manipulation on CMake for Espressif devices
Changes the global property manipulation of LD_SCRIPTS to APPEND.
This avoids rewriting this global property.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-04-14 17:44:07 -03:00
simbit18
1a7310a91f boards/sim: Replaced message of the day (MOTD)
message of the day aligned with defconfig modified in this PR https://github.com/apache/nuttx/pull/18715

Before the change
 - CONFIG_NSH_MOTD_STRING="MOTD: username=admin password=Administrator"

Now
 - CONFIG_NSH_MOTD_STRING="This is an example NuttX Message Of The Day (MOTD). Have fun!"

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-04-14 17:42:16 -03:00
Abhishek Mishra
86a7fa9246 !boards: migrate SIM and ESP32-C3-legacy to generated passwd files.
Migrate boards from static /etc/passwd files to build-time generation:

* Remove static etc/passwd files from SIM and ESP32-C3-legacy boards
* Update board configurations to enable BOARD_ETC_ROMFS_PASSWD_ENABLE
* Configure SIM board with login demo user (root/Administrator)
* Update board build rules to use newly generated passwd files
* Remove CMakeLists.txt dependency on static passwd in SIM
* Update MOTD string from username=admin to username=root

This completes the infrastructure migration for boards supporting
login functionality.

BREAKING CHANGE: The static etc/passwd files have been removed from
  boards/sim/sim/sim/src/etc/passwd
  boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/src/etc/passwd
These boards now require CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y and a
configured password. Any board carrying a custom static passwd file must
set RCRAWS to exclude etc/passwd and manage credentials via the new
Kconfig options or provide their own passwd generation. To fix: run
'make menuconfig' and navigate to:
  Board Selection --->
    Auto-generate /etc/passwd at build time --->
      Admin password

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-04-14 16:06:30 +08:00
Abhishek Mishra
ab6b1fd6f9 !build: add build-time password generation with mkpasswd tool.
Introduce mkpasswd, a pure-C host tool for generating encrypted password
files at build time using TEA encryption. This enables secure,
credential-free firmware images while allowing build-time password
configuration.

Changes:
* Add mkpasswd.c host tool for TEA-based password hashing and encryption
* Integrate mkpasswd into Make build system (tools/Makefile.host)
* Add CMake support for mkpasswd compilation and ROMFS passwd generation
* Add CONFIG_BOARD_ETC_ROMFS_PASSWD_* configuration options to Kconfig
* Implement credential exclusion from defconfig to prevent password leaking
* Update savedefconfig.cmake to strip sensitive credentials
* Fix mkdir() portability for Windows Native builds (CONFIG_WINDOWS_NATIVE)
* Change default username from "admin" to "root" (POSIX convention)
* Improve build-failure error message with full menuconfig navigation path

BREAKING CHANGE: Boards enabling CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE
must set CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD to a non-empty string
of at least 8 characters. The build now fails with an explicit error if
this config is left empty. To fix: run 'make menuconfig' and navigate to:
  Board Selection --->
    Auto-generate /etc/passwd at build time --->
      Admin password

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-04-14 16:06:30 +08:00