Commit graph

61383 commits

Author SHA1 Message Date
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
buxiasen
b3b7e012e9 imx95-a55-evk: add emmc defconfig for eMMC 8-bit with partition table
Add a dedicated emmc board configuration that enables USDHC1 8-bit
eMMC access with MBR/GPT partition table parsing, instead of polluting
the base nsh defconfig. This allows users to build and test eMMC
functionality with:

  cmake -DBOARD_CONFIG=imx95-a55-evk/emmc

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
0f3590fd19 imx95-a55-evk: add MBR/GPT partition table parsing on eMMC
Parse the partition table on /dev/mmcsd0 during board bringup and
register each partition as /dev/mmcsd0pN. MBR partitions have no
name field so a custom handler is needed instead of the default
register_partition which skips unnamed entries.

Verify by i.mx95 FRDM
'mount -t vfat /dev/mmcsd0p0 /data'

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
9e048af2c3 imx9: usdhc fix dmapreflight rejecting small unaligned buffers
imx9_dmapreflight() rejected unaligned buffers unconditionally, but
dmarecvsetup() has a bounce path via priv->rxbuffer for small
transfers. Add a buflen > sizeof(priv->rxbuffer) check so that
small reads (e.g. ext_csd 512-byte stack buffer) can use the
bounce buffer instead of failing with -EFAULT.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
0b75df277d imx95-a55-evk: add USDHC eMMC driver support
Port USDHC1 (eMMC) driver to the i.MX95 FRDM EVK board:
- Create imx95_pinmux.h with SD1/USDHC1 pin definitions
- Add USDHC1 pin macros to board.h
- Create board-level imx9_usdhc.c glue code
- Update imx9_bringup.c with DMA allocator and USDHC init
- Add SCMI clock guards in imx9_usdhc.c (imx95 clock roots
  are owned by System Manager, direct CCM writes are no-ops)
- Fix CCM_CR_USDHC2 copy-paste bug to CCM_CR_USDHC1

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
695774a940 imx9: add GPIO support for imx95
Add imx95 GPIO register definitions (same IP block as imx93), fill
g_gpio_base[] array for imx95, include imx95_gpio.h from the common
header, and compile imx9_gpio.c/imx9_gpiobase.c for imx95 in cmake.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
25feecbc02 imx9: imx95 fix uSDHC IRQ naming to match NuttX USDHC convention
Rename IMX9_IRQ_uSDHC{1,2,3} to IMX9_IRQ_USDHC{1,2,3} in both arm
and arm64 imx95_irq.h to follow the all-caps naming convention used
by imx93_irq.h and the rest of the NuttX codebase. Remove the now
unnecessary USDHC IRQ alias block from arm64 imx95_irq.h.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
9feaa4d841 mmcsd: fix MMC bus width switch using wrong condition and add 8-bit support
The MMC CMD6 bus width switch was gated on priv->buswidth which is
derived from the SD SCR register. For MMC cards this field is never
set (unless SDIO_CAPS_4BIT_ONLY), so the CMD6 was skipped while the
host PROCTL DTW was still changed - causing a bus width mismatch and
data transfer timeouts.

Fix by checking priv->caps instead of priv->buswidth for MMC cards.
Also select EXT_CSD_BUS_WIDTH_8 when host reports SDIO_CAPS_8BIT.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
7a3b7922ee cmake: arm64/common sync modifyreg sources with Make.defs
arm64_modifyreg8.c, arm64_modifyreg16.c, arm64_modifyreg32.c were
present in Make.defs but missing from CMakeLists.txt, causing link
errors when building with cmake.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
shichunma
ef67e94613 net/nat: fix missed nat_unlock
If call nat_enable twice, there will be a miss "nat_unlock".

Signed-off-by: Jerry Ma <shichunma@bestechnic.com>
2026-03-24 13:49:12 +08:00
shichunma
db572d860b net/nat: g_nat_lock can be used recursively
case: when rndis receive a packet and this packet is going to be forwarded.
1. first lock happen when ipv4_dev_forward call ipv4_nat_outbound;
2. next lock is: ipv4_nat_outbound_entry_find --> nat_port_select --> tcp_selectport
   --> nat_port_inuse

Signed-off-by: Jerry Ma <shichunma@bestechnic.com>
2026-03-24 13:49:12 +08: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
1741126ae7 boards/qemu-intel64: add nxscope demo for jumbo config
add nxscope over UDP demo for jumbo config

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
e09048cc88 style: Fix "is is" typo across the codebase.
Correct duplicate "is is" word found in 181 files throughout the
codebase.
In most cases "is is" was changed to "is", but in contexts like
"MCU is is sleep mode" it was corrected to "MCU in sleep mode".

Also fixes a "the the" typo in net/inet/inet_sockif.c.

This is a pure style/documentation fix that improves code readability.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-24 09:39:26 +08:00
simbit18
d7a44090e7 openamp: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
2f5055836b boards\xtensa: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
3d555976bb drivers: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
c324fc1cc2 libs\libxx: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
355813c67b boards\arm\stm32h7: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
05159c4b07 boards\arm\gd32f4: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
1bbe9276df arch\x86_64: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
fbd63b5d2b arch\mips: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
f6ac99d586 arch\ceva: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
572913d422 arch\risc-v: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
cf0b8d04ad arch\xtensa: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
3925879891 arch\arm64: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
464263933d arch\arm: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
muyangren
eea9d15b41 docs: Fix typos, formatting, and numbering in README.md and CONTRIBUTING.md.
Fix multiple documentation issues in README.md and CONTRIBUTING.md:
* README.md: Merge multi-line badge markdown into single lines for
  License and Contributors badges to follow standard markdown format.
* CONTRIBUTING.md: Remove extra space in Inviolable Principles link URL.
* CONTRIBUTING.md: Fix duplicate numbering in section 1.17 Merge rules
  (two items numbered 3, renumbered to 3, 4, 5).
* CONTRIBUTING.md: Fix typo in section 2.2 commit template example,
  "different thing" to "different things" (missing plural).

Signed-off-by: aiduxiaoxiong <aiduxiaoxiong@users.noreply.github.com>
2026-03-23 12:05:24 +01: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
Huang Qi
864fdb090c arch/risc-v/k210: Remove QEMU support
Remove the CONFIG_K210_WITH_QEMU option and associated conditional
code paths. The reasons for removal are:

* Simplifies code path for real hardware by removing QEMU workarounds
* The current QEMU target uses sifive_u machine, which is not designed
  for K210 emulation
* For RISC-V QEMU simulation, the qemu-rv (rv-virt) target is a better
  choice
* Renode can be used as an alternative for K210 simulation if needed

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-23 14:25:29 +08:00
Michal Lenc
f07e4e690b nucleo-l476rg: register userleds device driver if CONFIG_USERLED is set
This enhances the bringup file with /dev/userleds registration if
CONFIG_USERLED option is set.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-03-23 14:24:54 +08:00
Lup Yuen Lee
a84d263f09 CI: Revert GitHub Actions for Docker, by hash
All CI Builds have been failing since 18 hours ago:
- https://github.com/apache/nuttx/pull/18571#issuecomment-4104792750
- https://github.com/apache/nuttx/actions/runs/23389990049

> _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58eec61, 1Password/load-secrets-action@8d0d610af1, 1Password/load-secrets-action@dafbe7cb03, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd053, DavidAnson/markdownlint-cli2-action@30a0e04f18, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc783e, JamesIves/github-pages-deploy-action@d92aa235d0, Jimver/cuda-toolkit@6008063726, Jimver/cuda-toolkit@b6fc3a9f3f, JustinBeckwith/linkinator-action@af984b9f30f63e796..._

That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below:
- https://github.com/apache/infrastructure-actions/blob/main/actions.yml
- Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml
- Due to: https://github.com/apache/infrastructure-actions/pull/547

```yaml
docker/build-push-action:
  10e90e3645eae34f1e60eeb005ba3a3d33f178e8:
    tag: v6.19.2
docker/login-action:
  c94ce9fb468520275223c153574b00df6fe4bcc9:
    tag: v3.7.0
docker/metadata-action:
  c299e40c65443455700f0fdfc63efafe5b349051:
    tag: v5.10.0
docker/setup-buildx-action:
  8d2750c68a42422c14e847fe6c8ac0403b4cbd6f:
    tag: v3.12.0
```

This PR reverts our GitHub Actions for Docker to the hash versions stated above.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-03-22 07:35:04 +01:00
Lup Yuen Lee
bef5603844 CI: Revert GitHub Actions for Docker
All CI Builds have been failing since 18 hours ago. That's because ASF Infrastructure Team has mandated that we use the Specific Versions of GitHub Actions for Docker, stated below:
- https://github.com/apache/infrastructure-actions/blob/main/actions.yml
- Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml

```yaml
docker/build-push-action:
  10e90e3645eae34f1e60eeb005ba3a3d33f178e8:
    tag: v6.19.2
docker/login-action:
  c94ce9fb468520275223c153574b00df6fe4bcc9:
    tag: v3.7.0
docker/metadata-action:
  c299e40c65443455700f0fdfc63efafe5b349051:
    tag: v5.10.0
docker/setup-buildx-action:
  8d2750c68a42422c14e847fe6c8ac0403b4cbd6f:
    tag: v3.12.0
```

This PR reverts our GitHub Actions for Docker to the versions stated above.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-03-21 20:22:57 -04:00
Huang Qi
228eae22a0 libs/libbuiltin: Fix spacing style in gcov.c
Add space after 'else if' keyword to follow NuttX coding style
guidelines.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-21 19:44:54 -04:00
Peter Barada
8409599ae4 boards/arm/stm32*/: Align ARM STM32 idle stack
This patch fixes [BUG #18558] for stm32 by aligning _ebss symbol(used
as base of idle stack) in linker files to 8-byte boundary to conform
to AAPCS-32.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-03-21 17:07:39 -03:00
wangjianyu3
5718c81750 boards/xtensa/esp32s3: fix WiFi init by using CONFIG_ESPRESSIF_WIFI
The WiFi driver refactor (662c1e0bbb) renamed the Kconfig symbol
from CONFIG_ESPRESSIF_WLAN to CONFIG_ESPRESSIF_WIFI, but several
ESP32-S3 board bringup files were not updated. This caused
board_wlan_init() to be compiled out, so the wlan0 interface
never appeared.

Update the preprocessor guards in all affected boards:
  - esp32s3-box
  - esp32s3-eye
  - esp32s3-korvo-2
  - esp32s3-lcd-ev
  - lckfb-szpi-esp32s3

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-20 08:55:18 +01:00
simbit18
bc758f1025 boards/arm/gd32f4: CMake added boards
CMake added boards:

 - gd32f450zk-aiotbox
 - gd32f450zk-eval
 - gd32f470ik-eval

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-20 08:53:42 +01:00
simbit18
0a72e2cbf8 arch/arm/src/gd32f4: CMake build implemented for GigaDevice GD32F4xx Series
- added GigaDevice GD32F4xx Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-20 08:53:42 +01:00
Michal Lenc
014f22b1c2 drivers/mtd/w25.c: ensure the device is not in power down mode
If power down mode is set, trying to read ID ends in an infinite loop
because w25_waitwritecomplete never returns as status register never
signalizes write complete. Therefore ensure the device is not in a
power down mode before trying to read from it.

This can be an issue if the board is trying to check for more NOR
memories on one SPI bus and one chip select. For example GD25 driver
returns the memory to power down state after read id is finished,
therefore board initialization is stuck in an infinite loop if it first
checks for GD25 and then fallbacks to W25.

The commit fixes the possible issue by ensuring W25 is brought back
to normal operation mode before trying to obtain the manufacturer ID.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-03-19 16:23:45 -04:00
Carlos Sanchez
ff29b04e66 arch/arm/src/stm32h5: add support for HW RNG.
Driver copied from stm32f7, which includes CEIS/SEIS clearing per reference manual.

Signed-off-by: Carlos Sanchez <carlossanchez@geotab.com>
2026-03-19 19:42:01 +08:00
Filipe Cavalcanti
2554d210a5 boards/xtensa: fix optional item on spiflash config
Removes optional keyword causing selection to fail on the
automatic bringup of SPI flash device.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-03-19 17:46:28 +08:00
Huang Qi
8ed1e63292 arch/risc-v/hpm6000: Use WDOGx naming for watchdog peripherals
Fix duplicate watchdog prompts in Kconfig by using unique WDOG0, WDOG1,
WDOG2 names instead of generic 'watchdog' label. This matches the UART
peripheral naming convention in the same file and makes it clear which
watchdog is being configured in menuconfig.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-18 15:24:03 -04:00
simbit18
71709d487b tools/ci/testlist: skip the build of bl602evb:elf
This bl602evb:elf configuration has caused job risc-v-01 to fail on several occasions.

riscv-none-elf-ld: cannot find /github/workspace/sources/nuttx/arch/risc-v/src/crt0.o: No such file or directory

https://github.com/apache/nuttx/pull/17792

Added -bl602evb:elf to the risc-v-01.dat file to skip the build.

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-18 15:23:28 -04:00
Michal Lenc
600d0e413a ioexpander/iso1i813t: add option to check errors during read
This commit adds the possibility to check for expander errors when
reading the data. This is optional if glerr_check or interr_check
fields in configuration are not zero.

If not zero, read operation also reads ISO1I813T_GLERR and
ISO1I813T_INTERR register and returns error if there is some error.
The user can control which errors he wants to check with
glerr_check and interr_check masks.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-03-18 15:00:48 -03:00
Filipe Cavalcanti
cacfb7ebda boards/risc-v: increase init stack size on esp32h2-devkit:efuse
Fix a crash scenarion due to stack overflow when debug assertions are
enabled.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-03-18 18:54:20 +01:00
Neil Berkman
b9c639f604 boards/nucleo-h743zi: remove write buffering from bootloader configs
Remove CONFIG_FTL_WRITEBUFFER, CONFIG_DRVR_WRITEBUFFER,
CONFIG_DRVR_READAHEAD, and CONFIG_DRVR_INVALIDATE from the
nxboot-loader and mcuboot-loader defconfigs.

FTL write buffering delays physical flash commits, which can cause
data loss on power failure during OTA updates. Bootloaders require
immediate write durability and should not use buffered writes.

Signed-off-by: Neil Berkman <neil@xuku.com>
2026-03-18 13:05:20 +01:00
Neil Berkman
c1c6e26395 drivers/mtd/ftl: bypass rwbuffer when O_DIRECT is set
ftl_write() unconditionally routes writes through rwb_write() when
FTL_HAVE_RWBUFFER is defined, ignoring the O_DIRECT flag stored in
dev->oflags. This means callers that open with O_DIRECT expecting
unbuffered writes still get their data buffered in RAM.

The O_DIRECT flag is already checked in ftl_flush() to select
between direct and read-modify-write paths, but the buffering
decision in ftl_write() never consults it.

Add O_DIRECT checks in both ftl_write() and ftl_read() to bypass
rwbuffer entirely when the flag is set. For writes, go directly to
ftl_flush() and normalize the return value to match the block
driver convention (nsectors on success). For reads, go directly to
ftl_reload(), bypassing any read-ahead cache.

This gives O_DIRECT callers a complete bypass of the rwbuffer layer
for both reads and writes, matching the documented contract.

Signed-off-by: Neil Berkman <neil@xuku.com>
2026-03-18 13:05:20 +01:00
Filipe Cavalcanti
1630b483d2 boards/xtensa: add option to disable SPI Flash MTD automatic bringup
The ESP32*_SPIFLASH_AUTO_BRINGUP option allows disabling automatic bringup.
This causes /dev/mtdblock0 to show up instead of always mounting a file system.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-03-18 10:16:38 +08:00