Commit graph

59346 commits

Author SHA1 Message Date
wangchengdong
4057d86e2b arch/tricore: Place nxsched_switch_context() at the correct location
The current implementation does not call
   nxsched_switch_context() exactly when a
   task switch occurs.

   This patch fixes the issue by placing the
   call at the correct location.

Signed-off-by: Chengdong Wang wangchengdong@lixiang.com
2025-10-13 14:47:28 -04:00
Stepan Pressl
cb2d591b42 stm32/stm32_usbdev.c: include arch/board/board.h
Without this, the compilation would fail for F302 chips.

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-10-13 14:45:34 -04:00
reza0310
6fd64dec79 website/wiki: Small typos.
Changed two "is" by "it"

Signed-off-by: reza0310 <geoffroy.duprey@wandercraft.health>
2025-10-13 14:45:10 -04:00
trns1997
78e7668f58 Revert "ci: Serialize CI jobs to avoid unnecessary pipeline execution"
This reverts commit cb1b1863c0.

Signed-off-by: trns1997 <trns1997@gmail.com>
2025-10-12 09:02:20 -03:00
raiden00pl
3e6acfaf17 libs: remove not related comments from cmake files
remove not related comments from libs/libbuiltin/CMakeLists.txt and
libs/libxx/CMakeLists.txt. These are a copy paste from a Makefile
which doesn't make sense for these files.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
9daa23d4e4 include/nuttx/sensors: fix reference to non-existent readme
fix reference to non-existent readme and point to the Documentation.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
13ab107d67 libc: remove reference to non-existent readme
remove reference to non-existent readme in libc.

Pointing to the documentation page doesn't make sense in this case,
because it doesn't explain the use of `#undef XXX` for this case anyway.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
f22436ae46 mm/: remove reference to non-existent readme
remove reference to non-existent readme in mm/

Pointing to the documentation page doesn't make sense in this case,
because it doesn't explain the use of `#undef XXX` for this case anyway.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
0dc88c1540 fs/mmap/Kconfig: fix reference to non-existent readme
fix reference to non-existent readme and point to the Documentation

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
f809985e5b boards: remove reference to non-existent readme
Most references to the readmes have been removed.

The removed references didn't make much sense and were inconsistent with other
sections of the code. Some sections linked to the readme, others didn't.
More importantly, most boards don't have any readme references.

Let's not treat developers as fools who need to be reminded at every step
to check the readme (which doesn't exit anymore anyway).

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
6b709d5f7e boards/Kconfig: remove reference to non-existent readme
remove reference to non-existent readme in boards/Kconfig

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
raiden00pl
128401a733 arch: remove reference to non-existent readme
Remove the comment which is copy-paste from stm32/stm32_eth.c.

stm3240g-eval doesn't contain any valuable information about eth driver.
If we need to find an explanation of the configuration options, they are in
Kconfig files.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04:00
trns1997
cb1b1863c0 ci: Serialize CI jobs to avoid unnecessary pipeline execution
- Split workflows into sequential jobs within a single workflow to
  ensure later stages run only after earlier ones succeed.
- Prevents running CI stages when prior checks would fail or are
  irrelevant (e.g., draft PRs).
- Simplifies future conditional guards for skipping jobs based on
  PR or branch state.
- Improves CI efficiency by focusing pipeline execution on meaningful work.

Signed-off-by: trns1997 <trns1997@gmail.com>
2025-10-11 07:47:48 -03:00
Stepan Pressl
4f7fc3dd04 1wire DS2XXX: add 1wire and DS2XXX documentation
Also fix some minor issues in the DS2XXX header file.

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-10-11 07:39:01 -03:00
wangchengdong
07a470f696 sched: Improve nxsched stack overflow checking implementation
1. Remove STACKCHECK_SOFTWARE config,
   2. Do sp value checking when STACKCHECK_MARGIN == 0,
   3. Do margin-based stack check when STACKCHECK_MARGIN > 0,
   4. Disable stack check when STACKCHECK_MARGIN == -1

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-10-11 18:00:44 +08:00
Jukka Laitinen
1210dc4919 drivers/usbdev/cdcacm: Add a mutex around driver initialize / uninitialize
This protects the driver in case multiple threads are trying to initialize
or uninitialize the cdcacm concurrently.

Note that this only protects the case when the private pointer is not managed
outside the kernel. If someone has acquired the pointer to the driver and uses
that, it also needs to manage the protection itself if needed.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-11 00:47:02 +08:00
Jukka Laitinen
f66d4a001c boards/boardctl: Uninitialize cdcacm by instance number, not direct pointer
When uninitializing cdcacm via a boardctl ioctl, use the instance number
instead of direct pointer to the driver. The reason for this is, that in
CONFIG_BUILD_KERNEL the applications sercon and serdis can't store the pointer;
they are separate processes which get killed.

The cdcacm driver will search up the driver from the file system when the direct
pointer is not given.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-11 00:47:02 +08:00
Jukka Laitinen
2435caa925 drivers/usbdev: Unregister CDCACM by instance number
Add a function to search the cdcacm instance by the devnode
minor number to unregister it

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-11 00:47:02 +08:00
Jukka Laitinen
d84bf53085 fs/driver: Add a generic function to find a driver pointer by filesystem path
Add a function to find any driver's registered pointer by the filesystem path.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-11 00:47:02 +08:00
chao an
4c7deedd27 sched/clock: remove return value of clock_systime_timespec()
clock_systime_timespec() always returns 0, so there is no need to
check the return value in the caller code, let us remove the return
value directly.

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-10 23:15:27 +08:00
Stepan Pressl
84b0492fbd drivers/1wire/1wire_ds2xxx.h: add the driver for DS2XXX eeproms.
Supports these Maxim/Analog Devices eeproms with a scratchpad:
DS2430,2431,2432,2433,28E04,28E07,28EC20.

For each type of an eeprom, you create a new driver.
Other than that, the driver is file oriented and supports seeks,
for example.

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-10-10 08:55:45 +02:00
Stepan Pressl
d1e1643b84 drivers/1wire: capture scanned roms of onewire_search, standartized ioctls
This commit introduces 2 new fields in the onewire_master_s struct:
uint64_t selected_rom,
uint64_t *available_roms.

The key point behind this is to allow onewire_search to capture all
devices on the bus into the kernel struct. While this commit is keeping
the old API (for the sake of not messing everything up), you don't have
to reimplement the search of all roms in very strange ways
(such as custom callbacks into the userspace).

Instead of that, a generic ioctl (only a function to be called from
the device driver) was implemented, that searches
the bus (for a particular 1wire family), saves it and then copies it
in a standard way to your application. The ioctl is called
ONEWIREIOC_GETFAMILYROMS.

Also as 1wire can interface multiple devices, a API telling the
driver which ROM to interface was missing, this commit fixes
this with the ONEWIREIOC_SETROM call.

The example usage is you first get all the devices on the bus
using ONEWIREIOC_GETFAMILYROMS. In your application, you choose
the correct device you want to talk to. Then you call
ONEWIREIOC_SETROM. And then writes, reads, ...

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-10-10 08:55:45 +02:00
Stepan Pressl
138228b0f3 fs/ioctl.h: add the base for the 1wire ioctl commands
Allows for ioctls for 1wire drivers.

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-10-10 08:55:45 +02:00
simbit18
ebbb85e0f2 drivers/usbmisc: Aligned Cmake with Make
Add:
- ST standalone USB PD sink controller #14895

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-09 18:21:04 -04:00
simbit18
db26ef1bd2 drivers/usbhost: Aligned Cmake with Make
Add:

- Bluetooth HCI Driver #11552

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-09 18:20:36 -04:00
chao an
09247c113a sched/clock: remove unused function clock_dow() (dow:day of week)
1. This file is not included in the makefile.
2. This feature should be replaced with mktime().

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-09 15:07:35 -03:00
simbit18
ff1dc87ccf drivers/usbdev: Aligned Cmake with Make
Add:
- media transfer protocol (MTP) #10620

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-09 20:01:30 +08:00
simbit18
ee1b6203c3 drivers/wireless/bluetooth: Aligned Cmake with Make
Add
- bt slip driver #14224

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-09 19:22:43 +08:00
wangchengdong
08050f506c sched/wdog: remove unnecessary list_node redefinition
The wdog implementation redefined `list_node`, which could cause
  conflicts or unexpected behavior when both `wdog/wdog.h` and
  `list.h` are included in the same source file. This patch removes
  the redundant definition to avoid such issues.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-10-09 11:41:32 +08:00
simbit18
4442cb7826 drivers/mtd/CMakeLists.txt: Aligned Cmake with Make
Add:
- GD55 QSPI NOR Flash #15523
- nvblk  #16789
- virtual NAND Flash device simulator #11806

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-09 08:31:01 +08:00
simbit18
2290999754 drivers/wireless/ieee80211/bcm43xxx/CMakeLists.txt: Aligned Cmake with Make
Add bcm43013, bcm43455  CYW43439 chip #5112 #6430 #6845

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-08 15:21:27 -04:00
Jukka Laitinen
480cd623d9 arch/risc-v/mpfs: Enable caches by default on E51 core
E51 needs to use vendor specific CSR to enable L1 cache.

This adds the relevant register setting and makes it
configurable by CONFIG_MPFS_E51_ENABLE_CACHE. With this flag set, the L2
cache on E51 depends on the cache lane configuration. Disabling this flag
disables all caches on E51.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-08 11:46:24 -03:00
Jukka Laitinen
dcc9f25775 arch/risc-v/mpfs: Add a header file with E51 specific CSR registers
This adds a header file, defining microchip's vendor specific
CSR registers for E51 monitor core on MPFS SoC

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-10-08 11:46:24 -03:00
simbit18
3a878cacf6 boards/arm/rp23xx/pimoroni-pico-2-plus: Corrected all defconfig files
Correct these configuration entries

 CONFIG_ARCH_BOARD="raspberrypi-pico-2" -> "pimoroni-pico-2-plus"

 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO_2 -> CONFIG_ARCH_BOARD_PIMORONI_PICO_2_PLUS

error present in this PR #14831

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-08 09:01:59 -04:00
p-szafonimateusz
a38dc249ed drivers/can/kvaser_pci.c: refactor to use netdev_upperhalf
Refactor kvaser_pci.c to use netdev_upperhalf for SocketCAN interface.

The reason for this change is to simplify the driver code and get rid of
duplicate code that may be shared between other network devices.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-10-08 12:00:06 +02:00
simbit18
89e9fed39e boards/arm/rp23xx/pimoroni-pico-2-plus: added ‘rp23xx_spisd.h’ in board.h
Added missing #include ‘rp23xx_spisd.h’ in board.h
(forgotten in PR #17167)

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-08 07:13:42 +08:00
simbit18
ee8a23071d boards/arm/rp23xx/xiao-rp2350: fix linker scripts 100% RAM usage
Compiling with --print-memory-usage always shows 100% RAM
Upstream bug raspberrypi/pico-sdk#1871

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-08 07:13:07 +08:00
raiden00pl
bd698ccf70 arch/arm/stm32f0l0g0: add stm32_flash.c support for CMake
add missing stm32_flash.c to CMake build

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-07 16:31:32 +02:00
Eren Terzioglu
7e2a06959a arch/xtensa/espressif: Fix efuse build warning for esp32
Fix build warning while building efuse for esp32

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-10-07 15:18:36 +02:00
simbit18
c1042816f3 boards/arm/rp23xx/pimoroni-pico-2-plus: Added missing header file rp23xx_spisd.h
fix implicit declaration of function 'board_spisd_initialize'

src/rp23xx_common_bringup.c: In function 'rp23xx_common_bringup':
Error: src/rp23xx_common_bringup.c:390:9: error: implicit declaration of function 'board_spisd_initialize'; did you mean 'board_spidev_initialize'? [-Werror=implicit-function-declaration]
  390 |   ret = board_spisd_initialize(0, CONFIG_RP23XX_SPISD_SPI_CH);
      |         ^~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-07 15:16:10 +02:00
simbit18
61032a0ee1 boards/arm/rp23xx/pimoroni-pico-2-plus: fix linker scripts 100% RAM usage
Compiling with --print-memory-usage always shows 100% RAM
Upstream bug raspberrypi/pico-sdk#1871

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-07 06:57:14 +08:00
simbit18
20b172dc19 boards/arm/rp23xx/pimoroni-pico-2-plus: fix 'BOARD_HSTX_FREQ' undeclared
fix error 'BOARD_HSTX_FREQ' undeclared

D:/nuttxpico/nuttx/arch/arm/src/rp23xx/rp23xx_clock.c
D:/nuttxpico/nuttx/arch/arm/src/rp23xx/rp23xx_clock.c: In function 'clocks_init':
D:/nuttxpico/nuttx/arch/arm/src/rp23xx/rp23xx_clock.c:297:26: error: 'BOARD_HSTX_FREQ' undeclared (first use in this function); did you mean 'BOARD_SYS_FREQ'?
  297 |                          BOARD_HSTX_FREQ);
      |                          ^~~~~~~~~~~~~~~
      |                          BOARD_SYS_FREQ

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-06 09:15:38 -04:00
Thiago Finelon
7fe0fbd9b8 uart: fix FSM check to avoid PM deadlocks
Incorrect FSM status checks in the suspend path could cause
deadlocks when power management was enabled. This patch fixes
the condition to allow proper UART suspend/resume handling.

Signed-off-by: Thiago Finelon <thiago.sfinelon@gmail.com>
2025-10-06 09:03:03 -03:00
Matteo Golin
f7f769d7cd docs/avr/atmega/atmega1284p/boards/moteino-mega: Migrate README.txt
Migrate the legacy README.txt documentation to RST format following the
standard board template.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-10-05 20:50:58 -03:00
Matteo Golin
4a1610ebbb docs/platforms/avr/atmega/atmega128/boards/amber: Migrate README.txt
Migrate the legacy README.txt documentation file to RST format following
the standard board template.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-10-05 20:50:58 -03:00
Matteo Golin
2f1a0c1fc0 docs/platforms/avr/at32uc3/boards/avr32dev1: Migrate README.txt
Migrated README.txt legacy documentation to RST format following
standard board template.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-10-05 20:50:58 -03:00
simbit18
6d32818f1d boards/arm/rp23xx: CMake added Pimoroni Pico Plus 2 board
- Added CMake build for Pimoroni Pico Plus 2

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-05 15:04:11 -04:00
simbit18
8db94324b1 boards/arm/rp23xx: CMake added Seeed Studio XIAO RP2350 board
- Added CMake build for Seeed Studio XIAO RP2350

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-03 16:35:48 -03:00
trns1997
81e79d9a65 cmake: pass exclusion list to nuttx_add_subdirectory
Introduce support in CMake to ignore specific directories
added by `nuttx_add_subdirectory()`. This provides more
flexibility for build configuration and allows excluding
unwanted or optional components.

* Improves modularity of project configuration.

Signed-off-by: trns1997 <trns1997@gmail.com>
2025-10-03 11:34:56 +08:00
Tiago Medicci Serrano
ae5a6005dc arch/risc-v/espressif/ledc: Update common source code functions
Updates the common source code for the LEDC peripheral used by
Espressif's RISC-Vs SoCs. This enables newer SoCs to be supported
in the future while maintaining backwards compatibility.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-10-03 11:31:39 +08:00