Commit graph

59131 commits

Author SHA1 Message Date
Matteo Golin
f8e5d07477 docs/codeowners: Add preliminary code owner file
This code owner file is auto-generated by the Python script in tools/
based off the git logs. It will allow new contributors to get better
auto-suggestions for which reviewers to request on their PRs. It also
creates an easy way to track down authors of certain NuttX subsystems
when refactors/changes are to be made.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-05 19:53:06 -04:00
Filipe Cavalcanti
bd1f46878c documentation: add documentation for NTP Client
Add missing documentation for the NTP client implementation.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-05 23:47:44 +02:00
Filipe Cavalcanti
484a8d1534 documentation: add documentation for NTP Daemon
Add documentation explaining usage of NTP Daemon system tool.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-05 23:47:44 +02:00
hujun5
4cea148088 sched: remove csection in event
We hope to replace the large lock with a small lock to improve concurrency performance.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-09-05 14:20:04 +08:00
wangchengdong
3629a3b5a1 tools/configure.sh: align tools/configure.sh with CmakeLists.txt
Add include patch to configure.sh when processing deconfig file to keep alignment with
 CmakeLists.txt

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-05 09:50:11 +08:00
wangjianyu3
7e5c970cf2 mtd/nvs: Trigger POLLPRI on config change
Report the POLLPRI event if any configuration is updated.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-09-05 09:33:37 +08:00
wangchengdong
c36c9f87d8 arch/tricore: add one_shot .tick_start implementation
.tick_start is better in terms of performance than .start for one shot,
  so provide this .tick_start implementation

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 08:35:14 -03:00
wangchengdong
7d0fb9d34f sched/semaphore: add support to customize semaphore max allowed value
Curernt implementation default semaphore max allowed value to SEM_VALUE_MAX.
  In some cases, user may want to change this, so provide a function to do this: sem_setmaxvalue

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 09:48:34 +08:00
wangchengdong
5676bf8227 sched/event: add a new event function nxevent_tickwait_wait
There are cases that users do not want the event wait object to be allocated automatically
  in the stack as a temporary varialbe in nxevent_tickwait, since multiple threads will
  access the varialbe, they want to allocate the object as a global variable for safety
  control or easy debug. To solve this problem, this patch add a new function nxevent_tickwait_wait
  implementation to give user the chance to  pass the global wait object to it.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 09:47:50 +08:00
Filipe Cavalcanti
b5f6620a4c documentation: update MCUBoot documentation on ESP32-C3|C6
Adds documentation for flash allocation when MCUBoot is enabled on ESP32C3 and C6.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-03 09:01:44 -03:00
Filipe Cavalcanti
42254ffcbe arch/risc-v: improve E-Fuse support for ESP32-C3|C6|H2
This commit fixes E-Fuse driver to get proper block and bit offset.
Also adds support for virtual and flash E-Fuses.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-03 09:01:44 -03:00
Mateusz Szafoni
ba3a79505e Revert "codespellrc: add ans to ignore words"
This reverts commit 5592dc75dc.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-03 09:56:01 +02:00
raiden00pl
4b1b3c58a0 tools/checkpatch.sh: fix check for HEAD commit
fix checkpath.sh usage for HEAD commit:

  ./tools/checkpatch.sh -c -u -m -g HEAD

regression after 93911d52a8

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-03 09:34:36 +08:00
raiden00pl
5592dc75dc codespellrc: add ans to ignore words
ans is short for "Alert Notification Service" used in NimBLE.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-02 19:57:32 +02:00
Michal Lenc
17482c6924 Documentation/applications/boot/nxboot: fix incorrect fnc description
Fixes incorrect nxboot_get_confirm function description (it was a
copy paste from nxboot_confirm function).

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2025-09-03 00:53:42 +08:00
michal matias
0f498005f0 drivers/net/oa_tc6: Add driver for the Microchip LAN865x SPI MAC-PHY
Add driver for the LAN865x 10BASE-T1S SPI MAC-PHY.
The driver is a lower-half driver to the OA-TC6 base driver.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-03 00:53:03 +08:00
michal matias
fbb3b6d07b drivers/net/oa_tc6: Add driver for the Onsemi NCV7410 (NCN26010) SPI MAC-PHY
Add driver for the Onsemi NCV7410 10BASE-T1S SPI MAC-PHY.
The driver also works for the NCN26010, which is an identical chip.
The driver is a lower-half driver to the OA-TC6 base driver.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-03 00:53:03 +08:00
michal matias
95b3b65778 drivers/net: Add base driver for the OA-T6 protocol MAC-PHYs
Add base driver common for OPEN Alliance 10BASE-T1x MAC-PHY Serial Interface (OA-TC6)
protocol SPI MAC-PHYs.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-03 00:53:03 +08:00
wangchengdong
f44766611a arch/tricore: fix tricore_doirq function local var "regs" not initialized issue
In tricore_doirq, local variable regs is firstly used without initiazlied, this is a bug

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-03 00:52:38 +08:00
Jukka Laitinen
a030e3c8cc sched/signal/sig_dispatch.c: Simplify the nxsig_dispatch
The nxsig_dispatch should just deliver the signal to either a
thread by pid (tid) or to the process (group) by pid.

Simplify the code so that the intent is more obvious.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-02 14:56:35 +08:00
Jukka Laitinen
a0caa5cd96 sched/signal/sig_dispatch.c: Correct signal dispatch to specific thread
The signal dispatch is called from interrupt handlers as well, so
this_task() is wrong. The thread to which the signal is supposed to
be delivered is known (stcb), use that.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-02 14:56:35 +08:00
hujun5
f59510ec62 armv[7/8]-r: add ARM_BUSY_WAIT
On a system with multiple CPU cores, when the system is powered on,
multiple cores may start running simultaneously. In this case, software
is required to handle the startup logic for multi-core synchronization.
One approach is to use global variables.
however, the global variable region may not have been initialized yet.
In such scenarios, we can use a busywait flag to
implement the synchronization strategy.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-09-01 22:58:36 +08:00
hujun5
c0db55f453 armv7a: change ARMV7A_SMP_BUSY_WAIT to ARM_BUSY_WAIT
On a system with multiple CPU cores, when the system is powered on,
multiple cores may start running simultaneously. In this case, software
is required to handle the startup logic for multi-core synchronization.
One approach is to use global variables.
however, the global variable region may not have been initialized yet.
In such scenarios, we can use a busywait flag to
implement the synchronization strategy.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-09-01 22:58:36 +08:00
Alan Carvalho de Assis
a503fc6adb doc: Add info about usbdisk to arcx-socket-grid
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-09-01 22:58:01 +08:00
Alan Carvalho de Assis
d2344ee915 boards/arcx-socket-grid: Add support to two USBs
This patch adds support to both USB controllers.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-09-01 22:58:01 +08:00
Alan Carvalho de Assis
0547aa5c6c arch/arm/imxrt: Modify USB EHCI driver to support two USBs
Some iMXRT chips like iMXRT-1050 has two USB controllers, but until
now only USB1 was supported. This patch modify the driver to support
both USBs.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-09-01 22:58:01 +08:00
raiden00pl
93911d52a8 tools/checkpatch.sh: check format for all commits in patch
If more than one commit is present in the patch, the commit format
must be checked separately for each commit in patch, otherwise not
all errors are detected.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-01 16:37:16 +02:00
wangchengdong
3430ad2e1c sched/init/nx_bringup.c: Add support for CONFIG_INIT_NONE in a flat build
In a flat build, a separate init thread should not be mandatory,
users can create a user task in the board early initialization or late initialization hook.
2025-08-31 18:38:36 +08:00
wangchengdong
8cfb9d7053 libs/libc/semaphore: allow nxsem_init to negative value
Allow user to init semaphore value to negative value, this is needed in some use cases
2025-08-31 18:38:03 +08:00
Ari Kimari
0ded247f44 fs/fat: Fix wrong alloc used in fat_zero_cluster()
Fat_zero_cluster() use fs_heap_malloc() for buffer that
is used to call fat_hwread().
Fat_hwread() must be called with IO buffer that have proper
alingment because it might use DMA.

Fix changes fs_heap_malloc() to fat_io_alloc() which uses
correct fat_dma_alloc() if CONFIG_FAT_DMAMEMORY is defined.

Signed-off-by: Ari Kimari <ari.kimari@tii.ae>
2025-08-29 19:18:32 +02:00
adriendesp
8fea354a0f arch/xmc4 : fix serial buffer size for unused channel
Give the user the full control over the USIC FIFO buffer even if USIC channel 0 is disabled.
When USICx_CHAN0 is not an UART but USICx_CHAN1 is, the user can set the desired FIFO buffer offsets in CHAN1 config.
2025-08-29 12:43:52 -03:00
raiden00pl
a6305fbf55 tools/checkpath.sh: check git commit format
check git commit format:

- line length less than 80 for commit title
- affected subsystem (detecting colon in commit title ":")
- Signed-off-by line
- blacklist [VELAPLATO-*, WIP:] string in commit body

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-08-29 22:25:18 +08:00
Zik Saleeba
835c535e18 drivers/ioexpander/aw9523b: New driver for AW9523B i/o expander
This is an I2C driver for the Awinic AW9523B I/O expander. As well
as the supporting usual digital I/Os, this device features the
ability to drive LEDs directly, and can control the drive current
to each LED individually. The driver was derived from the PCA9555
driver, provides all the standard interfaces of an i/o expander
driver. It also features support for the special features of the
AW9523B through pin direction IOEXPANDER_DIRECTION_OUT_LED and
IOEXPANDER_OPTION_NONGENERIC with AW9523B_OPTION_* options.

The driver has a number of configurable features including interrupt
handling and a shadow register mode based on the PCA9555 driver,
plus new LED/dimming support.

Testing was done using an ESP32S3 host and I2C connection to the
Adafruit AW9523 breakout board.

Signed-off-by: Zik Saleeba <zik@zikzak.net>
2025-08-29 09:10:50 -03:00
michal matias
8fc63aaa10 include/net/if.h: Add mechanism for MMD access with SIOCxMIIREG ioctls
Add mdio_phy_id_c45 macro. This macro allows encoding of additional information
needed for MMD access into the phy_id field of the mii_ioctl_data_s structure.
This macro is intended for use by user applications.

Add macros for decoding the phy_id encoded with the mdio_phy_id_c45 macro.
These macros are intended for use by network drivers implementing
SIOCxMIIREG commands.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-08-29 06:45:37 +02:00
Serg Podtynnyi
52d1877e2e boards/arm/rp23xx/common: update board reset via BOOTROM functions
Update board reset with BOOTROM functions calls
 - normal reboot
 - reboot to bootloader

normal reboot and reboot bootloader now possible from nsh

Port of https://github.com/apache/nuttx/pull/16848

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2025-08-28 11:04:08 -03:00
Michal Lenc
92661d9e03 .editorconfig: add .editorconfig file to help maintain coding style
Adds .editorconfig file to help maintain basic coding style
such as indent style and brackets across various IDEs. Editor
scans for this file and adheres to these rules.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2025-08-28 21:53:16 +08:00
wangjianyu3
b9203c1747 sched/signal: Old signal action need save sa_user
For example, set sigaction after create signalfd,
the sa_sigaction was restored but sa_user not,
causing signalfd_action() get the wild private data.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-08-28 21:52:44 +08:00
Filipe Cavalcanti
c15521af91 boards/risc-v: update board and defconfigs for Wi-Fi on ESP32-C3|C6
Updates the defconfigs and board source to support driver refactor.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-08-28 21:52:03 +08:00
Filipe Cavalcanti
1f7c3a32e5 arch/risc-v: refactor Wi-Fi driver for ESP32-C3|C6
Fixes low and inconsistent bandwidth issues.
Adds new configuration options for buffer management.
Moves code around to make the implementation cleaner and easier to debug.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-08-28 21:52:03 +08:00
simbit18
9c6d502531 boards/arm/imxrt: CMake added imxrt1020-evk imxrt1050-evk boards
Added CMake build for boards:

imxrt1020-evk
imxrt1050-evk

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-08-28 15:34:54 +08:00
simbit18
4838d712a7 boards/arm/imxrt: CMake added imxrt1060-evk imxrt1064-evk imxrt1170-evk boards
Added CMake compilation for boards:

imxrt1060-evk
imxrt1064-evk
imxrt1170-evk

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-08-28 15:21:53 +08:00
wangchengdong
a3e5ae9600 arch/tricore/src/common/tricore_irq.c: add up_affinity_irq
Add up_affinity_irq to tricore arch
2025-08-28 15:21:39 +08:00
v-tangmeng
e1b442b0e8 arm/sama5: fix ld unrecognized option '-g3'
ld: unrecognized option '-g3'
ld: use the --help option for usage information

Because `arch/arm/src/common/Toolchain.defs` already contains
`ARCHOPTIMIZATION += $(CONFIG_DEBUG_SYMBOLS_LEVEL)`, so
`boards/arm/sama5/jupiter-nano/scripts/Make.defs` here directly
delete `ARCHOPTIMIZATION += $(CONFIG_DEBUG_SYMBOLS_LEVEL)`.

Signed-off-by: v-tangmeng <v-tangmeng@xiaomi.com>
2025-08-28 15:21:05 +08:00
v-tangmeng
fec6e248b9 fix ld unrecognized option '-g3'
ld: unrecognized option '-g3'
ld: use the --help option for usage information

Signed-off-by: v-tangmeng <v-tangmeng@xiaomi.com>
2025-08-28 15:21:05 +08:00
Côme VINCENT
c36d067603 tools/nix: move nix flakes to tools/
This commit moves the flake.lock and flake.nix files from root and
Documentation/ to the tools/ directory, according to @anchao's
suggestion in PR #16763.
Updates documentation to reflect this change.

Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
2025-08-28 10:04:01 +08:00
Tiago Medicci Serrano
585c25bac0 drivers/i2s/i2schar: Implement blocking read/write operations
This commit implements simple (blocking) read and write operations
for the i2schar driver. Although it already contained such methods,
the read/write operation was not being properly handled by the
`i2schar_[rx|tx]callback` (called when the operation has finished).
A semaphore is used to ensure that read data was received by the
receiver and another semaphore ensures that data was written by the
transmitter.

Please note that the already-existing mutex for the I2S peripheral
was replaced by two mutexes, one for the receiver and other for the
transmitter to allow full-duplex communication.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-08-27 11:07:05 +08:00
Tiago Medicci Serrano
6f5a8c6b25 drivers/i2s/i2schar: Implement ioctl commands for i2schar
This commit implements a set of commands to the i2s character
driver. The implemented commands allows getting and setting
parameters like data width, sample rate and number of channels for
both receiver and transmitter. If no ioctl is found, the command
is redirected to the lower driver implementation if it has the
ioctl callback registered.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-08-27 11:07:05 +08:00
simbit18
aadb929526 drivers/net/CMakeLists.txt: Aligned Cmake with Make
Add KSZ9477 driver #10503

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-08-27 11:05:32 +08:00
Jukka Laitinen
f4142626b9 net/can/can_recvmsg.c: Cleanup can_readahead
It is better to remove the iob from the readahead queue first,
and only after that work on the iob.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2025-08-26 20:42:01 +08:00
haitomatic
144ac23647 net/can/can_recvmsg.c: Remove IOB trimming as useless, can frames can always fit in one IOB
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2025-08-26 20:42:01 +08:00