Commit graph

63241 commits

Author SHA1 Message Date
simbit18
303760b937 boards/arm/a1x: CMake added QuickFeather board
CMake added QuickFeather board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-25 06:47:58 +08:00
simbit18
6f92e14e81 arch/arm/src/a1x: CMake build implemented for Quicklogic EOS S3
- added Quicklogic EOS S3

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-25 06:47:58 +08:00
simbit18
9b80988fd1 boards/arm/a1x: CMake added pcDuino board
CMake added pcDuino board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-24 21:40:48 +08:00
simbit18
c6c9876227 arch/arm/src/a1x: CMake build implemented for Allwinner A1X family
- added Allwinner A1X family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-24 21:40:48 +08:00
anjiahao
3770c0871c mm:use mm_malloc inside of mm_memalign
Test build breadxavr:nsh:

➜ size nuttx_with_mm_memalgin
   text    data     bss     dec     hex filename
  53018      91     556   53665    d1a1 nuttx_with_mm_memalgin
~/work/nuttxwork/nuttx
➜ size nuttx
   text    data     bss     dec     hex filename
  51580      91     556   52227    cc03 nuttx

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-02-24 19:58:17 +08:00
Eren Terzioglu
90147a72c2 arch/xtensa/espressif: Fix SHA errors
Fix SHA errors for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-02-24 12:57:46 +01:00
Eren Terzioglu
19b6e15dbd arch/risc-v/espressif: Fix SHA errors
Fix SHA errors for esp32[-c3|-c6|-h2]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-02-24 12:57:46 +01:00
Vlad Pruteanu
4775f5ba21 xtensa/esp32: Fix HMAC-SHA when a long key is used
When using a key that is longer than the block size of the hashing
algorithm used, the key must be hashed before it is used.

Signed-off-by: Vlad Pruteanu <pruteanuvlad1611@yahoo.com>
2026-02-24 08:32:19 -03:00
simbit18
802de91155 boards/arm/stm32l5: CMake added boards
CMake added boards:

 - nucleo-l552ze

 - stm32l562e-dk

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-23 22:12:48 +08:00
simbit18
6b621999d9 arch/arm/src/stm32l5: CMake build implemented for STM32 STM32L5 Series
- added STM32 STM32L5 Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-23 22:12:48 +08:00
Maarten Zanders
65207ae1c5 serial/uart_rpmsg: add _raw version of driver
Mainline Linux doesn't use data encapsuation or flow control in its
tty_rpmsg driver. Create a NuttX counterpart which matches this
implementation.
This driver uses the static "rpmsg-tty" name to connect with the
remote service.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-23 09:19:57 -03:00
Maarten Zanders
be66d39552 serial/uart_rpmsg: use config option for console registration
Parameter isconsole in uart_rpmsg_init() has two effects: set uart
terminal flags for typical console use and register the device as
/dev/console. These are separate things. The latter might not be
wanted in all cases.

Use the already existing config option CONFIG_RPMSG_UART_CONSOLE to
conditionally register the uart as console device.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-23 09:19:57 -03:00
Lup Yuen Lee
9e063b1784 github/workflow: Fix the PR Labeling for Build System
Our New PR Labeler incorrectly labels the Changed Files for Build System. Here is a Sample PR that contains changes for Arm32 CMake and Makefile: https://github.com/lupyuen6/nuttx/pull/59

```
arch/arm/CMakeLists.txt
arch/arm/Makefile
```

But our PR Labeler incorrectly labels the above as `Area: Build system, Arch: Arm`, which triggers a Complete CI Build across All Architectures (according to arch.yml). The correct label should be `Arch: Arm`, which will trigger only the Arm32 Build: https://github.com/lupyuen8/nuttx/pull/1

This PR fixes the PR Labeling. The New PR Labeler is explained here:
- https://lupyuen.org/articles/prtarget
- https://github.com/apache/nuttx/issues/18359

`.github/workflows/labeler.yml`: Changed the Regex Pattern. Now we match the Start Of Line and End Of Line.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-02-22 08:33:10 +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
Ari Kimari
966be68259 arch/imx9/enet: Add MII clock calculation
Add MII clock calculation from root clock
Remove MII clock divider define

Signed-off-by: Ari Kimari <ari.kimari@tii.ae>
2026-02-21 07:51:44 +08:00
simbit18
c036d23051 boards/arm/stm32wb: CMake added boards
CMake added boards:

 - flipperzero

 - nucleo-wb55rg

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-21 07:25:40 +08:00
simbit18
12d4f385bd arch/arm/src/stm32wb: CMake build implemented for STM32 STM32WB Series
- added STM32 STM32WB Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-21 07:25:40 +08:00
Maarten Zanders
643f33934e arch/arm: remove all "select ARMV8M_HAVE_STACKCHECK".
Stack checking is not optional on armv8m. This config
option does not exist.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-20 13:17:22 -05:00
Filipe Cavalcanti
76e1c97642 documentation: document esp32s2-saola-1:efuse defconfig
Adds description for the efuse defconfig on esp32s2-saola-1 board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 15:54:40 +01:00
Filipe Cavalcanti
2916e091ff boards/xtensa/esp32s2: add efuse defconfig
Adds the efuse defconfig for the ESP32-S2.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 15:54:40 +01:00
Filipe Cavalcanti
29858d3488 documentation: update ESP32 docs for spi, gpio and i2c
Adds description for the GPIO, SPI and I2C defconfigs for the
esp32-devkitc board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
cb5ce48b56 board/xtensa/esp32: add SPI defconfig
Add SPI defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
bcfa8ddf77 board/xtensa/esp32: add GPIO defconfig
Add a GPIO defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
dda9e037c2 boards/xtensa/esp32: add I2C defconfig and update board source
Add I2C defconfig to esp32-devkitc board and update some board
ifdefs.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
293d33f5dd arch/xtensa/esp32: select I2C_DRIVER on I2C
Automatically select I2C_DRIVER when ESP32_I2C is selected.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
simbit18
34f52384d8 boards/arm/stm32f0l0g0: CMake fix build b-l072z-lrwan1:nxlines_oled
fix b-l072z-lrwan1:nxlines_oled
b-l072z-lrwan1/src/stm32_lcd_ssd1306.c:38:10: fatal error: stm32_ssd1306.h: No such file or directory
   38 | #include "stm32_ssd1306.h"
      |          ^~~~~~~~~~~~~~~~~

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 16:31:21 -03:00
simbit18
11cd472869 boards/arm/samd5e5: CMake added boards
CMake added boards:

 - metro-m4

 - same54-xplained-pro

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 15:08:42 -03:00
simbit18
53fd998502 arch/arm/src/samd5e5: CMake build implemented for Microchip's SAM D5x/E5x Family
- added Microchip's SAM D5x/E5x Family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 15:08:42 -03:00
Tomasz 'CeDeROM' CEDRO
8699c675e2 doc: Contributing Guide updates.
* As voted in https://www.mail-archive.com/dev@nuttx.apache.org/msg14264.html.
* Contributing Guide nomenclature align.
* Mention CG locations (git and doc).
* Reference NuttX Documentation, Contributing, and Security.
* Added Contributing Guide to NuttX Documentation (md include to stay in sync).
* Breaking Changes marking update:
  * `[BREAKING]` title tag replaced with `!` (exclamation mark).
  * `BREAKING CHANGES:` description brief with quick-fix instructions added.
* Breaking change git commit and pr template examples added.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2026-02-19 12:11:14 -05:00
vrmay23
96a49bc7f7 drivers/lcd: Add ST7796 TFT LCD framebuffer driver
Add support for ST7796 TFT LCD controller (320x480). The driver
implements the NuttX framebuffer interface for SPI-connected displays.

Features:
- SPI interface with CONFIG_SPI_CMDDATA for D/C pin control;
- RGB565 (16-bit) and RGB666 (18-bit) color formats;
- Runtime rotation support (0, 90, 180, 270 degrees) via MADCTL;
- Board-provided configuration via st7796_config_s structure;
- Partial screen update via updatearea for efficient rendering;
- Persistent swap buffer to avoid per-frame allocations;
- Proper ST7796S initialization sequence with documented timing;

The driver uses a board-provided configuration structure allowing
flexible setup of resolution, SPI frequency, color depth, and
initial MADCTL value without requiring Kconfig options in the
generic driver.

Architecture changes in this revision as per request:

- Moved internal register commands to .c file (private)
- Moved MADCTL bit definitions to .c file (private)
- Moved struct st7796_cmd_s to .c file (private)
- Converted MADCTL orientation macros to absolute values
- Moved CONFIG_SPI_CMDDATA error check to beginning of file
- Removed duplicated CONFIG_SPI_CMDDATA guards
- Public header contains only board configuration API
- Changed the Kconfig auto-select FB from 'select' to 'depends on'

Tested with LVGL graphics library on STM32H753ZI board (my own port).

Signed-off-by: Vinicius May <vmay.sweden@gmail.com>
2026-02-19 09:19:13 -03:00
Atsunori Saito
fc1ae9b7be imxrt/lpspi: Fix correct LPSPI DMA transfer size for 16-bit
- Fix byte count calculation for 16-bit SPI words
  using shift-by-1 instead of shift-by-2
- Use word count instead of byte count for DMA
  iteration config on both RX and TX channels

Signed-off-by: Atsunori Saito <sai@yedo.com>
2026-02-18 09:19:22 -03: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
f34a6e43db boards/esp32s3-devkit: 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
a1cb41fa9a boards/rv-virt: 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
042f7bf116 boards/sim: 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
Lup Yuen Lee
4e9ab20b6a github/workflow: Reimplement PR Labeling without pull_request_target
ASF Infrastructure Team has flagged a GitHub Actions workflow policy violation, inside our PR Labeling. We must remove pull_request_target before 6 Apr 2026, or ASF Infra will turn off all GitHub Builds: https://github.com/apache/nuttx/issues/18359

This PR reimplements the PR Labeling with two triggers: pull_request and workflow_run. We no longer need pull_request_target, which is an unsafe trigger and may introduce security vulnerabilities.

GitHub Actions `codelytv/pr-size-labeler` and `actions/labeler` don't work with the pull_request trigger, so we replaced them with our own code. The implementation is explained here: https://github.com/apache/nuttx/issues/18359

### Modified Files

`.github/workflows/labeler.yml`: Changed the (read-write) pull_request_target trigger to (read-only) pull_request trigger. Compute the Size Label (e.g. Size: XS) and Arch Labels (e.g. Arch: arm). Save the PR Labels into a PR Artifact.

`.github/labeler.yml`: Added comment to clarify that NuttX PR Labeler only supports a subset of the `actions/labeler` syntax: `changed-files` and `any-glob-to-any-file`

### New Files

`.github/workflows/pr_labeler.yml`: Contains the workflow_run trigger, which is executed upon completion of the pull_request trigger. Download the PR Labels from the PR Artifact. Write the PR Labels into the PR.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-02-17 09:53:41 +01:00
Jukka Laitinen
79730c83ca arch/imx9: Increase uSDHC root clock to 400MHz
This is the nominal speed according to the TRM, and using higher
root clock gives more frequency selections (possible dividers) for
the SD card clock configuration.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-02-16 10:52:04 -05:00
Jukka Laitinen
191575eac1 imx9: Add proper initialization of the SD card with different bus speeds
- Change the board's sd-card speed configuration to just specify the wanted frequency
- Calculate the proper divisors in the driver
- If the sd card frequency exceeds 25 MHz, set the card to high-speed mode

This makes it easier to adjust the operating speed of the sd cards and fixes an error
where cards are being operated in standard mode at over 25MHz speeds. If the speed
is higher than 25MHz, the card needs to be set into high-speed mode.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-02-16 10:52:04 -05:00
Jukka Laitinen
b4ccaf4b1c arch/imx9: Fix uSDHC driver DMA and cache compilation flags
All combinations of CONFIG_IMX9_USDHC_DMA and CONFIG_ARM64_DCACHE_DISABLE
are valid. Only the required alignment of the DMA buffers are different,
If the cache is enabled, cacle-line aligned buffers need to be used.
Otherwise, the USDHC DMA alignment requirement is just 32-bits.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-02-16 10:52:04 -05:00
SPRESENSE
72b67832ea Makefile: Remove make depend files by make distclean
Intermediate files of make depend like .ddc and .dds may remain
when make is interrupted. Remove them using make distclean.

Signed-off-by: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com>
2026-02-16 16:27:57 +01:00
Matteo Golin
56112efbd3 docs/pic32mz-starterkit: Migrate README.txt to RST
Migrate legacy README.txt to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-15 13:28:32 +01:00
Matteo Golin
9f54b1bd61 docs/flipnclick-pic32mz: Migrate README.txt to RST
Migrate legacy README.txt to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-15 13:28:32 +01:00
Matteo Golin
4b18a8e715 docs/chipkit-wifire: Migrate README.txt to RST
Migrate legacy README.txt docs to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-15 13:28:32 +01:00
Matteo Golin
bcf682ccbe docs/guides/bootsequence: Migrate UML diagram to PlantUML
Removes legacy UML diagram image in favour of PlantUML description using
plain text.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-15 08:47:23 +01:00
Matteo Golin
16aca58275 docs/plantuml: Add PlantUML support to Documentation build
This commit adds support for PlantUML to the Documentation build
process. UML diagrams can be written in PlantUML syntax and then
rendered during the build process. Version control no longer needs to
track these UML diagrams as images, and we can modify them easily.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-15 08:47:23 +01:00
simbit18
37226646fc boards/arm/samd2l2: CMake added boards
CMake added boards:

 - arduino-m0

 - circuit-express

 - samd20-xplained

 - samd21-xplained

 - saml21-xplained

 - xiao-seeeduino

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-13 17:40:55 -03:00
simbit18
5e12faea50 arch/arm/src/sam2l2: CMake build implemented for Microchip's SAM D/L Family
- added Microchip's SAM D/L

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-13 17:40:55 -03:00
zhangyuan29
069ceab9c5 lzf: prevent lzf header struct optimization
Add packed attribute to lzf header structs to prevent the compiler
from optimizing lzf_magic array initialization into wider store
instructions (e.g. st.h), which can cause misaligned access
exceptions on architectures that do not support unaligned memory access.

Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2026-02-13 11:58:50 +01:00
simbit18
d0417490d2 boards/arm/sam34: CMake added boards
CMake added boards:

  - arduino-due

 - flipnclick-sam3x

 - sam3u-ek

 - sam4cmp-db

 - sam4e-ek

 - sam4l-xplained

 - sam4s-xplained

 - sam4s-xplained-pro

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-12 16:09:20 -03:00
simbit18
bd699a47af arch/arm/src/sam34: CMake build implemented for Microchip's SAM3 SAM4 Family
- added Microchip's SAM3 SAM4 Family

Signed-off-by: simbit18 <simbit18@gmail.com>

Update CMakeLists.txt

Update CMakeLists.txt
2026-02-12 16:09:20 -03:00