Commit graph

5136 commits

Author SHA1 Message Date
wangchengdong
f36a090aa9 boards/smartl-c906: enable hrtimer
Enable hrtimer support on the smartl-c906 board so that CI can build
  and exercise the hrtimer subsystem.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-01-22 18:05:34 +08:00
hujun5
6f03601169 arch: rename STACK_ALIGNMENT to STACKFRAME_ALIGN across all architectures
Rename STACK_ALIGNMENT macro to STACKFRAME_ALIGN throughout the codebase
to provide clearer naming semantics. The new name better reflects the macro's
purpose of frame alignment rather than general stack alignment.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-01-22 15:37:24 +08:00
dongjiuzhu1
37729ecb51 drivers/timer/rpmsg_rtc: export ept about rtc to remote cpu
Export rpmsg endpoint to allow remote CPU to access RTC services.
Simplify the initialization flow and remove unnecessary Kconfig options.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2026-01-22 14:07:59 +08:00
raiden00pl
491e86762b boards/nrf53: correct rptun names
after recent changes in rptun framework, HCI over rptun was broken due to
wrong cpu names.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-01-20 17:54:49 +01:00
Laczen JMS
88f62fd322 boards/xtensa/esp32: add rtc_reserved_seg to legacy_sections
Enable building the legacy idf format of nuttx when rtc is enabled.
Without this addition the build fails because the rtc data is placed in
rom.

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2026-01-21 00:39:12 +08:00
raiden00pl
8a5f646029 boards/qemu-intel64/jumbo: enable procfs ACPI
enable export of ACPI tables with procfs:

nsh> ls proc/acpi
/proc/acpi:
 FACP
 DSDT
 APIC
 MCFG

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-01-19 14:46:34 +01:00
zhangyuan29
f44060ca9f arch/tricore: support minimal vectortalbe in tricore
The SRN number in TriCore far exceeds the PN number.
Using IRQ as the PN number would result in an overflow.
Therefore, MINIMAL_VECTORTABLE is used to ensure that
the PN number does not overflow.

Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2026-01-19 17:51:48 +08:00
Bowen Wang
7c484d6436 rptun/configs: refersh the sim/qemu rpmsg configs for new rptun framework
Now the sim, qemu-armv7a, qemu-armv8a can work with the new
rptun framework.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-19 14:18:27 +08:00
liwenxiang1
89eddf6396 arch/x64: create qemu chip
Create QEMU chip and rename intel64 directory to qemu

Signed-off-by: liwenxiang1 <liwenxiang1@xiaomi.com>
2026-01-19 10:46:09 +08:00
wangchengdong
e4ea0a59ea boards: enable CONFIG_ENABLE_ALL_SIGNAL
Enable CONFIG_ENABLE_ALL_SIGNAL to fix build errors

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-01-18 08:24:13 -03:00
Ari Kimari
fb7e5c5618 arch/imx9: Modify default ddr config handling
Remove default ddr config
Add imx9_ddr_config() function  to return default config

Signed-off-by: Ari Kimari <ari.kimari@tii.ae>
2026-01-17 11:41:57 +08:00
ligd
c000974700 arm64: fix compile failed
CC:  mm_heap/mm_mallinfo.c chip/bcm2711_serial.c: In function 'bcm2711_miniuart_attach':
chip/bcm2711_serial.c:571:3: error: implicit declaration of function 'up_prioritize_irq' [-Werror=implicit-function-declaration]
  571 |   up_prioritize_irq(BCM_IRQ_VC_AUX, 0);
      |   ^~~~~~~~~~~~~~~~~
CC:  mm_heap/mm_memalign.c chip/bcm2711_gpio.c: In function 'bcm2711_gpio_irqs_init':
chip/bcm2711_gpio.c:275:7: error: implicit declaration of function 'up_prioritize_irq' [-Werror=implicit-function-declaration]
  275 |       up_prioritize_irq(g_gpio_irqs[i], 0);
      |       ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: ligd <liguiding1@xiaomi.com>
2026-01-16 10:26:58 -05:00
guoshichao
9de3b79e2c nucleo-h743zi/elf: modify the romfs img file path
Since the directory structure of the examples/elf project
has been reorganized, the corresponding ROMFS_IMAGEFILE path
also needs to be adjusted.

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2026-01-16 21:07:33 +08:00
wangzhi16
ce982fac4c arch/arm64: fix compile error.
14:35:29  chip/a64_twi.c:1846:3: error: implicit declaration of function 'up_prioritize_irq' [-Werror=implicit-function-declaration]
14:35:29   1846 |   up_prioritize_irq(priv->config->irq, 0);
14:35:29        |   ^~~~~~~~~~~~~~~~~

Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
Signed-off-by: lipengfei28 <lipengfei28@xiaomi.com>
2026-01-16 20:26:14 +08:00
lipengfei28
efedf48cde arch/arm64: use up_prioritize_irq and up_set_type_irq instead
arm64_gic_irq_set_priority

use use up_prioritize_irq and up_set_type_irq as std api

Signed-off-by: lipengfei28 <lipengfei28@xiaomi.com>
2026-01-16 20:26:14 +08:00
Alexey Matveev
1a00d1b5c7 boards/stm32f103-minimum: Add GPIO in/out/int define
Added conditional compilation guards (#if/#endif) around GPIO function prototypes, operation structures, and interrupt handler to ensure proper compilation when GPIO input, output, or interrupt features are disabled.

Signed-off-by: Alexey Matveev <tippet@yandex.ru>
2026-01-16 08:57:09 -03:00
guoshichao
ba63a4d234 ghs: fix the UsageFault:INVSTATE error triggered by exception_common
when we build with greenhills compiler, if the exception_common function
is put into a separate section: ".text.exception_common", then the
address of exception_common function is an even number, for example "0x16a6c",
in this case, it will trigger the UsageFaults:INVSTATE error.
The reason for this error is that in the GHS compiler, a section declared
through the ".section" directive must specify at least the "a" attribute.
Otherwise, this section will not be linked into the final file, and this
is why the address of exception_common function is invalid.
The following is the official explanation in the GHS compiler documentation:
"The reason for this error is that in the GHS compiler, a section
declared through the .section directive must specify at least the "a"
attribute. Otherwise, this section will not be linked into the final
file. The following is the official explanation in the documentation:
"Sections that are intended be part of the final linked output should
have at least the `a` attribute"
and for GHS compiler, the .text section is recommended specify the
attribute of `ax`.

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2026-01-16 09:41:13 +08:00
guoshichao
9503d57634 posix_test: fix the ltp project link error
Add CONFIG_NET, CONFIG_NET_SOCKOPTS, and CONFIG_SYSTEM_SYSTEM to
posix_test configuration to provide the network socket options and
NXsystem() API required by LTP testcases, resolving undefined
reference errors during linking.

the following are the detailed link error:
```
/home/testing/apps/testing/ltp/ltp/testcases/kernel/device-drivers/zram/zram03.c:175: undefined reference to `NXsystem'
/usr/bin/ld: nuttx.rel: in function `setup':
/home/testing/apps/testing/ltp/ltp/testcases/kernel/device-drivers/zram/zram03.c:158: undefined reference to `NXsystem'
/usr/bin/ld: nuttx.rel: in function `setup':
/home/testing/apps/testing/ltp/ltp/testcases/kernel/syscalls/sendmsg/sendmsg01.c:554: undefined reference to `NXsystem'
/usr/bin/ld: /home/testing/apps/testing/ltp/ltp/testcases/kernel/syscalls/sendmsg/sendmsg01.c:556: undefined reference to `NXsystem'
/usr/bin/ld: nuttx.rel: in function `ltp_fs_inode_inode01_main':

/home/testing/apps/testing/ltp/ltp/ltp/lib/safe_net.c:511: undefined reference to `NXsetsocket'
/usr/bin/ld: nuttx.rel: in function `safe_getsockopt':
```

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2026-01-15 16:19:06 -03:00
zhanghongyu
49f94e5e95 lpcxpresso-lpc54628/netnsh: enable CONFIG_NET_SOCKOPTS to adapt icmpv6 changes
The new icmpv6 uses setsockopt to set the filter.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2026-01-15 16:12:10 -03:00
Matteo Golin
590678ec96 boards/esp32c3-xiao: Fix ble configuration crash
Removes CXX initialization from the 'ble' configuration, preventing it
from crashing at boot time.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-01-14 18:43:53 +01:00
simbit18
02831b0863 boards/arm/am335x: CMake build for BeagleBone Black board
- CMake added the BeagleBone Black board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-01-15 01:14:26 +08:00
lpxiao
a174dbb2f7 bugfix:k28_usbhshost.c:380:47: error: 'errcode' undeclared
arm/kinetis/freedom-k28f: fix usb automount compile error

This patch fix k28_usbhshost.c:380:47: error: 'errcode' undeclared

Signed-off-by: lipan118<lp.xiao@foxmail.com>
2026-01-14 15:48:25 +01:00
Matteo Golin
a22e26924d cmocka/defconfig: Update defconfigs to include cmocka application
The cmocka test framework is compiled as a library by default in
(apache/nuttx-apps#3270), and does not include the cmocka application
binary unless CONFIG_TESTING_CMOCKA_PROG=y. This commit updates the
defconfigs which include cmocka to also compile the cmocka binary, which
is the behaviour they were created with.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-01-12 10:15:00 +08:00
Huang Qi
8b3862d19b style: Fix case statement formatting in power management callbacks.
Remove unnecessary parentheses around case labels in switch statements
for power management callback functions. This fixes checkpatch style
violations for case statement formatting.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-01-10 12:59:14 -03:00
simbit18
3015b87e97 boards/arm/xmc4: CMake added XMC4500 Relax and XMC4700 Relax
CMake added boards:

- XMC4500 Relax

- XMC4700 Relax

Signed-off-by: simbit18 <simbit18@gmail.com>

Update CMakeLists.txt
2026-01-09 07:34:53 +08:00
mazhuang
45f6d86f37 drivers/rpmsg: add rpmsg_test to test rpmsg hold/release rx buffer
rpmsg_test is a rpmsg api test service inside the kernel, and user
can use ioctl to start this test.

Signed-off-by: mazhuang <mazhuang@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Signed-off-by: wangshaoxin <wangshaoxin@xiaomi.com>
2026-01-08 22:44:35 +08:00
Yongrong Wang
8eb4e46c8c sim rpserver/rpproxy: enable CONFIG_RPMSG_PING config
Be convenient to test the rpmsg feature

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
2026-01-08 22:44:35 +08:00
Matteo Golin
cdf5118b62 boards/raspberrypi-4b: Add testing configurations
Adds ostest and coremark configurations. Also removed LED example from
regular NSH example.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-01-06 16:00:52 +08:00
Bowen Wang
7dfc62bac5 qemuv7a/v8a-rpserver/proxy: remove "_ivshmem" suffix and update documents
Now the qemu-armv7a:rpserver_ivshmem, qemu-armv7a:rpproxy_ivshmem and
qemu-armv8a:rpserver_ivshmem, qemu-armv8a:rpproxy_ivshmem are not
only based on the ivshmem device but also the virtio-serial, so
remove the "_ivshmem" suffix and update documents.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
Bowen Wang
0ff7014f75 qemu-armv7a/rpserver and rpproxy: support the rpmsg port uart
Use virtio-serial as the rpmsg-port-uart serial device, so we
can bringup the rpmsg-port-uart in qemu platform.

And update the documents:
nuttx/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
Bowen Wang
aa0467057c qemu-armv8a/rpserver and rpproxy: support the rpmsg port uart
Use virtio-serial as the rpmsg-port-uart serial device, so we
can bringup the rpmsg-port-uart in qemu platform.

Server command:
qemu-system-aarch64 -cpu cortex-a53 -nographic \
-machine virt,virtualization=on,gic-version=3 \
-chardev stdio,id=con,mux=on -serial chardev:con \
-object memory-backend-file,discard-data=on,id=shmmem-shmem0,mem-path=/dev/shm/my_shmem0,size=4194304,share=yes \
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \
-device virtio-serial-device,bus=virtio-mmio-bus.0 \
-chardev socket,path=/tmp/rpmsg_port_uart_socket,server=on,wait=off,id=foo \
-device virtconsole,chardev=foo \
-mon chardev=con,mode=readline -kernel ./out/nuttx_qemu-armv8a_rpserver_ivshmem/nuttx \
-gdb tcp::7775

Proxy command:
qemu-system-aarch64 -cpu cortex-a53 -nographic \
-machine virt,virtualization=on,gic-version=3 \
-chardev stdio,id=con,mux=on -serial chardev:con \
-object memory-backend-file,discard-data=on,id=shmmem-shmem0,mem-path=/dev/shm/my_shmem0,size=4194304,share=yes \
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \
-device virtio-serial-device,bus=virtio-mmio-bus.0 \
-chardev socket,path=/tmp/rpmsg_port_uart_socket,server=off,id=foo \
-device virtconsole,chardev=foo \
-mon chardev=con,mode=readline -kernel ./out/nuttx_qemu-armv8a_rpproxy_ivshmem/nuttx \
-gdb tcp::7776

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-06 02:15:43 +08:00
p-szafonimateusz
0721dfd171 boards/sabre-6quad/citest: migrate to NTFC
migrate sabre-6quad/citest to NTFC test cases

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-01-05 22:03:01 +08:00
p-szafonimateusz
cb87a19d7d boards/rv-virt/citest: migrate to NTFC
migrate rv-virt/citest to NTFC test cases

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-01-05 22:03:01 +08:00
p-szafonimateusz
5585b01636 boards/rv-virt/citest64: migrate to NTFC
migrate rv-virt/citest64 to NTFC test cases

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-01-05 22:03:01 +08:00
p-szafonimateusz
b88f86ba5d boards/citest: rename run scripts to run.sh
Executable files called "run" don't pass checkpath verification,
so we change the name to "run.sh"

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-01-04 09:40:12 -03:00
p-szafonimateusz
1e82af9352 boards/sim/citest: migrate to NTFC
migrate sim/citest to NTFC test cases

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-01-04 09:40:12 -03:00
Xoris
090860a348 esp32s3: Remove redundant I2S include directive
remove redundant I2S include directive

Signed-off-by: Xoris <xmingwp@gmail.com>
2026-01-03 20:02:10 -03:00
Eren Terzioglu
318e0b09b5 boards/xtensa/esp32s3: Add ostest defconfig
Add ostest defconfig for esp32s3

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-01-01 17:03:20 +08:00
Eren Terzioglu
cb62a59d19 boards/risc-v/esp32c6: Add coremark defconfig
Add coremark defconfig for esp32c6-devkitc

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-01-01 17:03:20 +08:00
dongjiuzhu1
179cd569f0 board/lm3s6432-s2e/nsh: disable LIBC_LONG_LONG to avoid 64bit caluclar
00086373 00000634 T __aeabi_dsub
00086373 00000634 T __subdf3
00087841 00000724 T __udivmoddi4
and other small symbol, save total flash size 3K

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2025-12-31 08:47:23 -03:00
raiden00pl
53fccb56c9 boards/{nrf53|stm32h7}: mark shmem region as NOLOAD
Shmem region lives in RAM and should not be load in FLASH.

This fixes the issue with wrong binary size when build AMP
configurations with RPTUN enabled. Before this change shmem
region was exported by objcopy to binary file which caused
the bin size to be huge and impossible to flash.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-30 22:26:28 +08:00
Justin Erenkrantz
7298977894 risc-v/litex: Add 64-bit S-mode vexiiriscv support for litex.
Most of the peripheral support matches litex vexriscv-smp.

* arch/risc-v/Kconfig: Defer RV32 selection to core as litex board can do RV64.
* arch/risc-v/src/litex/Make.defs
  arch/risc-v/src/litex/hardware/litex_clint.h
  arch/risc-v/src/litex/hardware/litex_memorymap.h
  arch/risc-v/src/litex/hardware/litex_plic.h
  arch/risc-v/src/litex/litex_irq.c
  arch/risc-v/src/litex/litex_irq_dispatch.c: Add CONFIG_LITEX_CORE_VEXIIRISCV
  conditional where vexriscv_smp conditionals are.
* boards/risc-v/litex/arty_a7/configs/nsh-vexii/defconfig: New config.
* boards/risc-v/litex/arty_a7/include/vexii_irq.h: vexiiriscv irq defintion.
* boards/risc-v/litex/arty_a7/include/vexii_memorymap.h: vexiiriscv memory map.
* boards/risc-v/litex/arty_a7/scripts/ld.script: Define __global_pointer for
  toolchain happiness matching other RISC-V linker scripts.

(This commit was written with assistance from Claude Code.)

Signed-off-by: Justin Erenkrantz <justin@erenkrantz.com>
2025-12-30 10:18:57 -03:00
wangchengdong
ae59225898 arch/tricore: enable CONFIG_SYSTEM_TIME64 for TC397
Enable CONFIG_SYSTEM_TIME64 for tricore/TC397, as this platform uses a 64-bit timer.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-12-26 21:35:14 +08:00
yezhonghui
bb304441db foc: used wd timer to process loop event
used wdt thread process event

Signed-off-by: yezhonghui <yezhonghui@xiaomi.com>
2025-12-24 22:50:24 +08:00
rongyichang
3d0f6fcbad boards/risc-v: Add lvgl64_vector configuration for RISC-V QEMU
Add new RISC-V 64-bit QEMU configuration with:
- 64-bit RISC-V (RV64) architecture support
- RISC-V Vector Extension (RVV/V-extension) enabled
- LVGL graphics framework integration
- VirtIO GPU and input device support
- NSH shell with built-in applications

This configuration enables developers to build and test LVGL graphical
applications on 64-bit RISC-V targets with Vector extension support,
providing a foundation for future SIMD optimization work.

Includes:
- defconfig: Complete configuration file with all necessary options
- Updated index.rst: Build and run instructions with QEMU launch command

Signed-off-by: rongyichang <rongyichang@xiaomi.com>
2025-12-24 09:44:01 +08:00
zhangshuai39
8198d6992c defconfig: Change the default gateway address
Ensure the default IP address and default gateway address are in the same network segment.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-23 15:18:23 +01:00
Alan Carvalho de Assis
e20d4912ff boards/esp32/heltec_wifi_lora32: Add support to SX1276
This commit adds support to SX1276 transceiver on Heltec WiFi LoRa32
board.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-12-22 10:22:36 +08:00
raiden00pl
d14a5c8b30 boards/leds: remove dependency on leds example for some boards
Userled register path shouldn't depend on LED example.
This dependency is broken, kernel code should not depend on apps code.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-21 14:13:39 -05:00
Alan Carvalho de Assis
30a7420349 boards/esp32: Add initial support to heltec_wifi_lora32
This commit adds basic/initial support to Heltec WiFi LoRa32 board.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-12-21 15:18:08 -03:00
raiden00pl
a3ada5ce30 boards/nucleo-c0xxx: fix leds handling
Fix LED handling for nucleo-c092rc and nucleo-c071rb.
These boards have two LEDs but one is activated with HIGH the other is activated
with LOW.

Also fix userled registration.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-21 14:08:38 +01:00