Commit graph

59333 commits

Author SHA1 Message Date
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
raiden00pl
251b19272f arch/arm/src/stm32f0l0g0: add FLASH support for STM32C0
Add FLASH support for STM32C0 based on STM32G0 FLASH driver.
FLASH support is identical for these two, except that the STM32G0 can support
dual bank, which is not available in the STM32C0.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-03 11:30:57 +08:00
simbit18
92159bbdba arm/rp23xx: CMake build for Raspberry Pi RP23xx implemented
- CMake added board Raspberry Pi Pico 2

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-02 14:29:19 -04:00
simbit18
8baa788484 boards/arm/rp23xx: fix implicit declaration of function rp23xx_dev_gpio_init
- Created a file rp23xx_common_pico.h with function
   prototype

     int rp23xx_dev_gpio_init(void);

 to allow cmake + ninja to build without errors.

 - Updated file rp23xx_pico.h with

for all boards.

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-02 14:29:19 -04:00
Tiago Medicci Serrano
6d15c3969c arch/risc-v/espressif/sha: Update common source code functions
Updates the common source code for the SHA accelerator 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-02 09:13:04 -04:00
Eren Terzioglu
e01f967c99 arch/risc-v/esp32c6: Add ULP shared memory encapsulation
Add ULP shared memory encapsulation for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-10-02 09:12:31 -04:00
trns1997
45b90e82e5 boards/arm/kinetis/freedom-k64f: Add userled support
- Enable userled driver integration for the Freedom-K64F board.
- Verified functionality with the leds example app.

Signed-off-by: trns1997 <trns1997@gmail.com>
2025-10-02 14:04:00 +02:00
raiden00pl
c558047dc1 arch/arm/src/stm32f0l0g0: don't compile stm32_pwr.c for STM32C0
PWR is not supported for STM32C0 yet, fix build error when CONFIG_STM32F0L0G0_PWR=y
which is required to access backup registers (we need enable PWR clock for this).

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-02 08:34:04 -03:00
Huang Qi
98415626e3 boards/xtensa/esp32s3: Refactor ES8311 initialization to use I2C handle
Refactor esp32s3_es8311_initialize function to accept I2C handle instead
of port number, moving I2C bus initialization responsibility to the board
bringup code. This change improves flexibility by allowing boards to
manage I2C initialization while the ES8311 driver focuses on audio
codec configuration.

* Updated function signature to accept struct i2c_master_s *i2c parameter
* Removed I2C bus initialization from ES8311 driver
* Updated function documentation to reflect new parameter
* Modified esp32s3-lcd-ev and esp32s3-korvo-2 boards to initialize I2C
  before calling ES8311 initialization
* Added proper error handling for I2C initialization failures
* Moved variable declarations to function start for C89 compliance
* Fixed code style issues including line length and indentation

This change maintains backward compatibility for existing functionality
while providing better separation of concerns between I2C bus management
and audio codec configuration.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-10-02 12:53:35 +02:00
simbit18
d598f97746 boards/arm/rp2040/raspberrypi-pico/configs/lcd1602: fix defconfig
This PR #6850 modified the correct defconfig.

74f1bfbfd7/boards/arm/rp2040/raspberrypi-pico/configs/lcd1602/defconfig

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-01 14:17:59 -04:00
simbit18
5a3b185c83 boards/arm/rp2040: CMake added Raspberry Pi Pico W board
- Added CMake build for Raspberry Pi Pico W

- Renamed the linker files to be more consistent with other rp2040 boards.

- Fix: The relative path of the file does not match the actual file
   - raspberrypi-pico-w-flash.ld
   - raspberrypi-pico-w-sram.ld

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-10-01 14:17:59 -04:00
Eren Terzioglu
f066808921 boards/xtensa/esp32[-s2|-s3]: Add RTC I2C board support for HP Core
Add RTC I2C board support for HP Core for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-10-01 14:16:55 -04:00
Eren Terzioglu
09c298ed16 arch/xtensa/esp32[-s2|-s3]: Add RTC I2C support for HP Core for esp32[-s2|-s3]
Add RTC I2C support for HP Core for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-10-01 14:16:55 -04:00
Eren Terzioglu
39b03d79f3 boards/xtensa/esp32[-s2|-s3]: Add RTC I2C board support
Add RTC I2C board support for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-10-01 14:16:55 -04:00