Commit graph

58303 commits

Author SHA1 Message Date
Lars Kruse
4d70fa74e8 pre-commit: enable codespell checks 2025-05-05 12:34:39 +08:00
Lars Kruse
7088d2ee91 ci: enable spelling checks (via codespell) 2025-05-05 12:34:39 +08:00
Lars Kruse
1efeb39da0 style: add codespell configuration for common spelling exceptions
This file can be extended in order to cover all spelling check
exceptions (perceived as misspellings).
2025-05-05 12:34:39 +08:00
Serg Podtynnyi
bc8a7f713d arch/arm/rp23xx: add dsp/fpu extensions support
Each Arm Cortex-M33 processor in RP2350 is configured with Single
precision FPU and DSP extension
2025-05-05 09:35:39 +08:00
Lars Kruse
10c3930279 fix(udhcpc): missing interface name in log message
The mis-referenced variable probably did not cause an error, but simply
led to an empty string instead of the real network interface name.
2025-05-05 09:32:31 +08:00
Lars Kruse
bacc6bec37 fix(locale): misspelled "February" string (nl_langinfo) 2025-05-05 09:32:31 +08:00
Lars Kruse
fa719f52f6 fix(stm32h7): malformed compiler error message
The malformed compiler error message was added in the initial commit of
the stm32_rptun module (2fffd7dad6).
2025-05-05 09:32:31 +08:00
Lars Kruse
9afc9868f6 fix(kinetis): malformed define KINETIS_NSPI
The malformed defines were introduced in commit 91dd3306c8.
They affect only the following chips:
* MK64FX512VMD12
* MK64FN1M0VMD12
2025-05-05 09:32:31 +08:00
rongbaichuan
ee3e2401e7 libc/backtrace: Fix compilation error when set LIBC_BACKTRACE_BUFFSIZE
When compiling lib_backtrace.c after set CONFIG_LIBC_BACKTRACE_BUFFSIZE,
there will be compilation error warnings. This is because spin_unlock_irqrestore
incorrectly used pool->lock during unlocking, which has been corrected to bp->lock.

Signed-off-by: Baichuan Rong <rongbaichuan1027@163.com>
2025-05-05 09:29:26 +08:00
raiden00pl
5d2f121231 boards/nrf5340-dk: fix rpmsghci_nimble_cpuapp
fix broken rpmsghci_nimble_cpuapp configuration for nrf5340-dk.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-05-05 09:28:35 +08:00
raiden00pl
dbeba61c3c arch/nrf53/nrf53_sdc.c: fix broken RPMSG HCI server
BT device should not be registered when RPMGS HCI server is enabled.
Broken server since 31605b6335.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-05-05 09:28:35 +08:00
p-szafonimateusz
7e99c9582b boards/sim: add CAN support and configuration
Add host CAN support for sim target.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-05-03 11:26:08 +08:00
p-szafonimateusz
76e1b80076 arch/sim: add CAN support based on host SocketCAN
Add CAN support for sim target based on host SocketCAN interface.

Tested with virtual CAN on Linux but should work also with hardware CAN cards supported by host.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-05-03 11:26:08 +08:00
George Poulios
7ea8b59a59 boards/imx93-evk: kernel build for AHAB boot
Add kernel build (target imx93-evk:knsh) to i.MX93 EVK.
This target is preconfigured for use with AHAB boot (see
https://spsdk.readthedocs.io/en/latest/examples/ahab/imx93/imx93_ahab_uboot.html)
as a replacement of U-Boot proper (BL33 at EL2), hence
the load address is set to 0x80200000.

Signed-off-by: George Poulios <gpoulios@census-labs.com>
2025-05-03 11:25:54 +08:00
Serg Podtynnyi
464c0831ce arch/arm/rp23xx: fix not restart after TX error
Fix a bug that I2C driver can not transfer after TX abort error.
It caused by remaining NO_STOP flag status.
same as done in commit 0df0a10 for cxd56xx

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2025-05-03 11:17:37 +08:00
Michal Lenc
eeb4a0de83 setlogmask: fix setlogmask behavior according to POSIX standard
POSIX states "If the maskpri argument is 0, the current log mask is
not modified." The current implementation in NuttX doesn't
respect this and thus is in a clear violation with a strict POSIX
compliance rule in The Inviolable Principles of NuttX.

This commit therefore changes the behavior to the expected one. Passing
argument 0 doesn't change the current log mask, but just returns the
old one. Completely disabling logging at runtime is thus not possible,
but you may set the highest priority LOG_EMERG only to disable most of
the messages. Default can still be set to no logging with
CONFIG_SYSLOG_DEFAULT_MASK configuration option.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2025-05-02 16:29:08 +02:00
Tyler Bennett
c84f7c630f arch/stm32f0l0g0: Add support for STM32G0B1xx
Adds Kconfig and modifies chip.h for STM32G0B1xx options.

Signed-off-by: Tyler Bennett <tbennett@2g-eng.com>
2025-05-02 15:01:45 +02:00
Filipe Cavalcanti
9e8197ad49 boards/risc-v: add MPU60x0 bringup support to ESP32C6
Adds a defconfig for using MPU60x0 and implement the bringup sequence for the I2C IMU.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-05-02 09:31:52 -03:00
Serg Podtynnyi
3c5580e693 boards/arm: refresh defconfig for common board
refresh boards defconfigs for CONFIG_ARCH_BOARD_COMMON

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2025-05-02 09:30:34 -03:00
Serg Podtynnyi
4c52f2dbeb tools: Update Unix.mk and savedefconfig.cmake for CONFIG_ARCH_BOARD_COMMON
Preserve CONFIG_ARCH_BOARD_COMMON in savedconfig

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2025-05-02 09:30:34 -03:00
Pip Cet
cfab00817a fs/procfs: Improve subdirectory recognition
This patch fixes https://github.com/apache/nuttx/issues/16237, where
cd'ing to a non-directory prefix of a procfs entry would succeed.

Signed-off-by: Pip Cet <pipcet@protonmail.com>
2025-05-02 09:28:06 -03:00
Valentyn Korniienko
43b29a0547 Fixed empty line handling process_config.sh
This commit fixed empty line handling in the config file for being able to used KConfig-based defconfigs with the empty lines in them
2025-05-02 09:27:44 -03:00
Jukka Laitinen
2b513af2c3 sched/signal/sig_dispatch: Fix race conditions between nxsig_tcbdispatch and nxsig_deliver
For example a race in managing tcb->sigprocmask may cause signal not being delivered at all.
The mechanism is as follows:

1. cpu 1: nxsig_deliver adds the signal to the sigprocmask for the duration of signal delivery
2. cpu 2: new signal (same signo) is dispatched in nxsig_tcbdispatch
3. cpu 2: nxsig_tcbdispatch detects that signal is masked
4. cpu 2: nxsig_tcbdispatch leaves critical section before calling nxsig_add_pendigsignal
5. cpu 1: nxsig_deliver finishes. The "nxsig_unmask_pendingsignal" is called in the end but does nothing
6. cpu 2: nxsig_tcbdispatch continues and adds the pending signal

In the end, the logic in the end of nxsig_deliver, which tries to handle signals added
to the pending queue during the signal action delivery (step 5) failed, and the pending signal
was not delivered.

Fix this by just keeping the critical section for during the whole duration of nxsig_tcbdispatch,
and move things which can't be executed from within critical section outside.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-05-02 09:21:14 -03:00
Tim Hardisty
ed0c18c66c drivers/video/fb.c: Add startup splashscreen option
Adds Kconfig-selected splashscreen options used when the driver is first registered

* Includes a new Python script in ./tools to create RLE bitmap files
* Includes default NS logo btimaps in 320x320, 160x160 and 80x80 resolutions along with their PNG files

Signed-off-by: Tim Hardisty  timh@jti.uk.com>
2025-04-30 06:38:05 -03:00
Lars Kruse
b333ad3ab5 style: fix typos
Thanks, codespell!
2025-04-30 13:45:46 +08:00
stydxm
543d7c87bc risc-v/k230: update documents
fix typo
remove a `)` that should not be here

Signed-off-by: stydxm <stydxm@outlook.com>
2025-04-30 13:44:49 +08:00
p-szafonimateusz
09a5a0e72e x86_64: support for stack canaries
Add support for stack canaries for x86.

This includes mostly fixes for TLS support that are required for stack canaries
in x86. The FSBASE register must be unique per thread so we have to keep it in
thread registers area.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-04-30 13:42:56 +08:00
Filipe Cavalcanti
e837b26518 boards/esp32s2: add -fno-omit-frame-pointer to saola board
This change affects esp32s2-saola-1 board when optimizations are enabled.
Fixes issue on timer defconfig.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-04-30 13:41:06 +08:00
p-szafonimateusz
ee5d5a8080 arch/x86_64: add debug interface
add hardware debug interface for x86_64 which can be used with gdbstub

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-04-30 13:40:10 +08:00
Lars Kruse
797cc869ae Documentation: group DAC devices by communication interface 2025-04-29 16:17:44 -03:00
Lars Kruse
9b3914b740 drivers/analog/mcp47x6: Add support for MCP47X6 DAC series
The MCP47X6 series consists of the following single channel DAC chips:
- MCP4706 (8 bit)
- MCP4716 (10 bit)
- MCP4726 (12 bit)

The driver supports the following configurations:
- gain
- power down
- voltage reference

Persistent configuration storage in the internal EEPROM is not
implemented.
2025-04-29 16:17:44 -03:00
p-szafonimateusz
33a6e70077 serial/uart_pci_16550.c: fix multiport ax99100
ax99100 export each serial port as a separate PCI device function
so we have to handle this properly.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-04-29 15:33:23 -03:00
Valentyn Korniienko
af6c33e010 Corrected configure.sh call in customboards.rst 2025-04-29 15:30:28 -03:00
Leo Chung
61f205f1d4 risc-v/esp32h2:Add missing bootloader flash_qio_mode file in link
script

Add missing flash_qio_mode file in bootloader link script, it will be
used when CONFIG_ESPRESSIF_FLASH_MODE_QIO option is enabled.

Signed-off-by: Leo Chung <gewalalb@gmail.com>
2025-04-29 09:20:15 -03:00
Leo Chung
2269fcaaf9 risc-v/esp32c6:Add missing bootloader flash_qio_mode file in link
script

Add missing flash_qio_mode file in bootloader link script, it will be
used when CONFIG_ESPRESSIF_FLASH_MODE_QIO option is enabled.

Signed-off-by: Leo Chung <gewalalb@gmail.com>
2025-04-29 09:20:15 -03:00
Leo Chung
80c0854d7e risc-v/esp32c3:Add missing bootloader flash_qio_mode file in link
script

Add missing flash_qio_mode file in bootloader link script, it will be
used when CONFIG_ESPRESSIF_FLASH_MODE_QIO option is enabled.

Signed-off-by: Leo Chung <gewalalb@gmail.com>
2025-04-29 09:20:15 -03:00
Matteo Golin
4f652e0622 docs/tags: Introduce tagging feature to the documentation.
Introduces `sphinx-tags` to the documentation system, allowing
individual pages to be tagged for better searching. The examples in this
commit introduce the `chip:*` tag for indicating the chip a board uses,
as well as the `experimental` tag for indicating experimental boards and
features. Other tags indicate supported peripherals for boards, such as
`wifi` and `ethernet`.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-04-29 09:18:25 +02:00
keever50
8c59326879 boards/arm/stm32h7: Fix too small usbhost stack size
Changed usbhost stack sizes to 2048 for affected STM32H7 boards.
This was previously causing stack overflows when usb is inserted.

Signed-off-by: keever50 <kevinwit1999@gmail.com>
2025-04-29 13:34:09 +08:00
nuttxs
c4506929e9 arch/esp32_partition.c: fix the issue of switching from Factory to OTA_1
with a fixed seq of 1, which causes ota_get_bootseq() to return ota_0.

The current solution is to directly use the target partition's number (num)
as next_seq to ensure the correct increment logic of seq. Ensure the formula
(seq-1) % OTA_DATA_NUM + OTA_IMG_BOOT_OTA_0 correctly maps to ota_0 or ota_1

Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
2025-04-28 22:23:16 +08:00
buxiasen
726683485f arch/arm/heap: add mmu.h fix not defined error when BUILD_KERNEL
fix PGTABLE_SIZE not defined in sama5d4-ek/knsh
Error: common/arm_allocateheap.c:177:11: error: 'PGTABLE_SIZE' undeclared (first use in this function); did you mean 'PGTABLE_L2_SIZE'?
  177 |   size -= PGTABLE_SIZE * CONFIG_SMP_NCPUS;
      |           ^~~~~~~~~~~~

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
05beacc799 arch/arm/heap: reserved memory for mmu table
When using ARCH_PGPOOL_PBASE, always have to reserver mmu table,
not be used for kernel heap

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
1f8eb18e1d arch/arm/goldfish: fix mmu not enabled when smp
If smp enabled, mmu default disabled in arm_head.S,
We have to re-enable it in arm_boot per-chip.
Causing knsh-smp failed with user-space memory access

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
9e313bddbf arch/arm/goldfish: copy mmu table when SMP
As out current design, each cpu manage task mmu table by insert
and erase like-behavior for arm32, have to per-cpu mmu-table when kernel
build.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
12c379e88b board/arm/qemu: add knsh_smp for qemu-virt-armv7a kernel build
qemu-system-arm -semihosting -M virt -cpu cortex-a7 -smp 4
-m 1024 -nographic -kernel nuttx

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
37e853f102 arch/arm/qemu: copy mmu table from cpu0 when SMP
As out current design, each cpu manage task mmu table by insert
and erase like-behavior for arm32, have to per-cpu mmu-table when kernel
build.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
buxiasen
d28c15bd06 arch/arm/qemu: fix mmu not enabled when smp
If smp enabled, mmu default disabled in arm_head.S,
We have to re-enable it in arm_boot per-chip.
Causing knsh-smp failed with user-space memory access

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2025-04-28 22:17:43 +08:00
Filipe Cavalcanti
4c48708fbc boards/esp32c3: modify nimble defconfig to use UART0 as serial console
Nimble defconfig had USB Serial as default console. This changes makes it compatible
to ESP32C3-Devkit and makes it similar to other defconfigs.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-04-28 22:16:44 +08:00
Kevin Zhou
fb5f27e984 xtensa/esp32s3: fix tickless mode timer unexpect interrupt handle
Signed-off-by: Kevin Zhou <kevin.zhou@sony.com>
2025-04-28 22:13:52 +08:00
Rodrigo Sim
ba9df9c06d Documentation: Add Seeed Studio XIAO ESP32C3 Board
This commit adds the documentation for the Seeed Studio XIAO ESP32C3
board. It includes examples for GPIOs, Wifi and BT.

Signed-off-by: Rodrigo Sim rcsim10@gmail.com
2025-04-28 15:28:03 +08:00
Rodrigo Sim
bab3d8892b boards/risc-v/esp32c3 Add initial support to Seeed Studio XIAO ESP32C3
This commit introduces initial support for the Seeed Studio XIAO ESP32C3
board. Five configurations are available:
- nsh: Basic NuttShell support over UART0
- usbnsh: Basic NuttShell support over USB
- gpio: NuttShell over USB + GPIO
- wifi: NuttShell over USB + Wifi support
- ble: NuttShell over SUB + Bluetooth support

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-04-28 08:46:10 +02:00