Commit graph

245 commits

Author SHA1 Message Date
Matteo Golin
4f9224c5a1 boards/raspberrypi-4b: NXDoom with RTTL audio
Update the NXDoom configuration to make use of the new PWM audio
support. Now RTTL music is played over the audio jack.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-28 02:46:42 +08:00
simbit18
44299ddfcf boards/arm64/qemu: boards/arm64/qemu
- fix Relative file path does not match actual file.

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-07-27 09:44:30 +08:00
simbit18
72029b1093 boards/arm64/fvp-v8r: nxstyle fix Relative files path
- fix Relative file path does not match actual file.

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-07-27 09:44:30 +08:00
simbit18
33faa08b69 boards/arm64/am62x: nxstyle fix Relative files path
- fix Relative file path does not match actual file.

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-07-27 09:44:30 +08:00
Matteo Golin
9e34f8fa44 boards/raspberrypi-4b: Add configuration for barometer monitor example
Adds a new configuration which allows users to try the barometer
monitoring example with a connected barometer over I2C.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-20 21:00:46 -03:00
Emre Cecanpunar
ed680c0242 boards/arm64/rk3588s: add Orange Pi 5 Pro support
Add NSH and OSTest configurations, the DRAM linker script, and the minimal board initialization and reset hooks for RK3588S.

Signed-off-by: Emre Cecanpunar <emreleno@gmail.com>
2026-07-20 20:55:52 -03:00
Matteo Golin
5da1e3eec3 boards/raspberrypi-4b: Added NXDoom configuration
Adds a configuration that allows NXDoom to be played on the Raspberry
Pi 4B, with the WAD file loaded from the SD card and the graphics over
HDMI.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-14 10:40:27 +02:00
Matteo Golin
472e4f623a boards/raspberrypi-4b: Fix nxinit configuration SD issues
Propagate the solution for SD card bugs to the nxinit configuration,
which also uses the nxinit configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-14 09:46:33 +08:00
Matteo Golin
b757195daa boards/raspberrypi-4b: Bug fix for broken SD card behaviour
Introduces a fixed configuration for the SD card that does not break for
multi-block transfers.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-14 09:46:33 +08:00
Matteo Golin
de8db15fad boards/raspberrypi-4b: Add a configuration with PWM audio
This configuration has PWM audio output over the audio jack and built-in
examples to play with it.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-12 09:52:26 +08:00
Matteo Golin
1971ddd081 boards/raspberrypi-4b: Bring up PWM devices
Brings up PWM interfaces for the RPi4B when enabled.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-12 09:52:26 +08:00
Alan Carvalho de Assis
acc06c38f0 boards/imx93-evk: Fix bootloader board config
After enabling the nsh error Kconfig we need to fix configs that were
enabling it manually.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-07-06 06:48:02 +02:00
Matteo Golin
cb892dd434 raspberrypi-4b/bmp280: Include optional registration of BMP280 driver
This commit includes BMP280 driver registration on I2C1 in the RPi4B
bringup logic _if_ the user selects the board-level configuration option
(so as to not interfere with any user's custom implementation of
interfacing with this sensor). A configuration is added with the BMP280
registration, example program and `uorb_listener` that is also
documented.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
14b02bd6dc raspberrypi-4b/i2c: Added I2C configuration
Includes a new I2C configuration (and documentation for it) to use the
I2C1 bus on the Raspberry Pi 4B.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
ff509c1dca rpi4b/bringup: Use correct CONFIG option for I2C char driver
Change the I2C character device registration to depend on the correct
CONFIG option for enabling character drivers.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
1b5c68fdfc boards/raspberrypi-4b: Add NXInit configuration
This commit adds a configuration which uses the new "NXInit" to start up
the board and the NSH shell. The `init.rc` file is pulled from the SD
card, allowing users to create their own.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 09:08:51 +08:00
Piyush Patle
fe718b397d boards/arm64/am62x: add BeaglePlay and PocketBeagle2
Add initial board support for BeaglePlay and PocketBeagle2, including
defconfigs, linker scripts, board initialization, procfs bring-up, and
LED stubs. BeaglePlay provides the validated runtime target for this
bring-up series.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +08:00
Matteo Golin
4f8b897e37 boards/raspberrypi-4b: Add SMP configuration
Adds SMP support and an `smp` configuration for the RPi4B.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-22 06:45:10 +08:00
Xiang Xiao
c6654b1106 !sched/clock: remove CONFIG_SYSTEM_TIME64 and always use 64-bit time
The 32-bit system clock has a limited range (~497 days) and the
configuration knob is no longer worth the complexity given that
practically every modern target already enables it.  Make 64-bit
time_t/clock_t/sclock_t/nuttx_time_t the only supported flavor.

Specifically:
  - Drop the SYSTEM_TIME64 Kconfig option and its dependent
    PERF_OVERFLOW_CORRECTION/HRTIMER guards in sched/Kconfig.
  - Remove every #ifdef CONFIG_SYSTEM_TIME64 branch in headers
    (include/{sys/types.h,limits.h,inttypes.h,nuttx/clock.h,
    nuttx/fs/hostfs.h}) and core code paths
    (sched/clock/clock.h, drivers/power/pm/pm_procfs.c,
    drivers/rpmsg/rpmsg_ping.c, fs/procfs/fs_procfsuptime.c,
    libs/libc/wqueue/work_usrthread.c,
    arch/avr/src/avrdx/avrdx_timerisr_tickless_alarm.c).
  - Strip CONFIG_SYSTEM_TIME64=y from every board defconfig.
  - Update Documentation/guides/rust.rst accordingly.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-05-19 16:21:28 +08:00
Xiang Xiao
1b3af76bf3 !libc/stream: remove CONFIG_LIBC_LONG_LONG and always support long long
Long long support is now unconditional in printf/scanf and related
helpers. Remove the Kconfig option, the conditional compilation in
libvsprintf/libvscanf/ultoa_invert, the build-time #error in the
rn2xx3 driver, and clean up CONFIG_LIBC_LONG_LONG entries from all
board defconfigs.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-05-19 16:21:28 +08:00
Matteo Golin
51f77ee111 boards/config: Remove final mentions of NSH_ARCHINIT
Since `NSH_ARCHINIT` is now removed, this commit cleans the last few
references to this option in the defconfig files that were recently
modified and escaped removal in initialization simplification commit.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 15:25:45 -03:00
Matteo Golin
d0ee99a8a9 boards/arm64: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin
48db502daf !boards: Remove NSH_ARCHINIT and board_app_initialize
BREAKING: In an effort to simplify NuttX initialization, NSH_ARCHINIT is
removed. board_app_initialize is also removed. BOARD_LATE_INITIALIZE now
performs all board initialization logic, and is by default enabled. All
references to these symbols are removed. BOARDIOC_INIT remains, but will
result in -ENOTTY when called. It is to be removed in a later commit.

Quick fix: Boards relying on NSH_ARCHINIT should now enable
CONFIG_BOARD_LATE_INITIALIZE instead. If the application needs
fine-grained control over board initialization from userspace, the logic
performed by BOARDIOC_INIT may be copied to the board_finalinitialize
function and used instead via BOARDIOC_FINALINIT. All
board_app_initialize logic provided by NuttX is now moved to
board_late_initialize, and the same should be done for out-of-tree
boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Jukka Laitinen
66f3b66eda boards/imx93-evk: Add initialization of DShot driver
This adds initialization of the flexio_dshot driver to the
imx93-evk:nsh target.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +08:00
Piyush Patle
13d0e64ee6 style: fix checkpatch issues after debug.h move
Fixed copespell errors, for CI sucess!

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
Piyush Patle
0dccc8ba21 include/debug.h: Move to include/nuttx/debug.h
debug.h is a NuttX-specific, non-POSIX header. Placing it in the
top-level include/ directory creates naming conflicts with external
projects that define their own debug.h.
This commit moves the canonical header to include/nuttx/debug.h,
following the NuttX convention for non-POSIX/non-standard headers,
and updates all in-tree references.

A backward-compatibility shim is left at include/debug.h that
emits a deprecation #warning and re-includes <nuttx/debug.h>,
allowing out-of-tree code to continue building while migrating.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
raiden00pl
4497bacb1c boards: use NTFC from pip for citest configs
use NTFC from pip for citest configs

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-27 06:41:58 +08:00
simbit18
01e1844396 boards/arm64/rk3399: CMake added pinephonepro board
CMake added pinephonepro board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 13:40:45 -04:00
simbit18
80b7174810 boards/arm64/a64: CMake added pinephone board
CMake added pinephone board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 22:03:53 +08:00
simbit18
fa3ab9a62b boards/arm64/imx8: CMake added imx8qm-mek board
CMake added imx8qm-mek board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 22:03:33 +08:00
buxiasen
b3b7e012e9 imx95-a55-evk: add emmc defconfig for eMMC 8-bit with partition table
Add a dedicated emmc board configuration that enables USDHC1 8-bit
eMMC access with MBR/GPT partition table parsing, instead of polluting
the base nsh defconfig. This allows users to build and test eMMC
functionality with:

  cmake -DBOARD_CONFIG=imx95-a55-evk/emmc

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
0f3590fd19 imx95-a55-evk: add MBR/GPT partition table parsing on eMMC
Parse the partition table on /dev/mmcsd0 during board bringup and
register each partition as /dev/mmcsd0pN. MBR partitions have no
name field so a custom handler is needed instead of the default
register_partition which skips unnamed entries.

Verify by i.mx95 FRDM
'mount -t vfat /dev/mmcsd0p0 /data'

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
0b75df277d imx95-a55-evk: add USDHC eMMC driver support
Port USDHC1 (eMMC) driver to the i.MX95 FRDM EVK board:
- Create imx95_pinmux.h with SD1/USDHC1 pin definitions
- Add USDHC1 pin macros to board.h
- Create board-level imx9_usdhc.c glue code
- Update imx9_bringup.c with DMA allocator and USDHC init
- Add SCMI clock guards in imx9_usdhc.c (imx95 clock roots
  are owned by System Manager, direct CCM writes are no-ops)
- Fix CCM_CR_USDHC2 copy-paste bug to CCM_CR_USDHC1

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
Huang Qi
e09048cc88 style: Fix "is is" typo across the codebase.
Correct duplicate "is is" word found in 181 files throughout the
codebase.
In most cases "is is" was changed to "is", but in contexts like
"MCU is is sleep mode" it was corrected to "MCU in sleep mode".

Also fixes a "the the" typo in net/inet/inet_sockif.c.

This is a pure style/documentation fix that improves code readability.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-24 09:39:26 +08:00
p-szafonimateusz
d05f9b470c CI: enable NTFC tests for qemu-armv8a (arm64)
Enable NTFC for qemu-armv8a (arm64).

QEMU for aarch64 architecture should be already on Docker image,
so it should work.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2026-03-03 20:54:12 +08:00
Matteo Golin
3eb45695da boards/avaota-a1: Correct LOOPSPERMSEC value
Use calibrated CONFIG_BOARD_LOOPSPERMSEC value for board configurations.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Jukka Laitinen
191575eac1 imx9: Add proper initialization of the SD card with different bus speeds
- Change the board's sd-card speed configuration to just specify the wanted frequency
- Calculate the proper divisors in the driver
- If the sd card frequency exceeds 25 MHz, set the card to high-speed mode

This makes it easier to adjust the operating speed of the sd cards and fixes an error
where cards are being operated in standard mode at over 25MHz speeds. If the speed
is higher than 25MHz, the card needs to be set into high-speed mode.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-02-16 10:52:04 -05:00
buxiasen
255618d838 imx95: add board reset
We suppose to use up_systemreset for nsh reboot command.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-02-11 14:10:18 +01:00
buxiasen
8cff78cadf arm64/chip/imx9: add cmake support
We should prefer cmake for better compile speed.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-02-11 14:10:18 +01:00
Yongrong Wang
a286287f4e drivers/virtio and vhost: auto-select parent config from sub-drivers
Change DRIVERS_VIRTIO and DRIVERS_VHOST from menuconfig to hidden config
options. Each virtio/vhost sub-driver now automatically selects its parent
config, eliminating the need to manually enable DRIVERS_VIRTIO or
DRIVERS_VHOST in defconfig files.

This simplifies board configuration by removing redundant CONFIG_DRIVERS_VIRTIO
entries from affected defconfig files.

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-02-04 02:32:02 +08:00
hujun5
5db4278173 protect: move us_heap to userspace_data_s
Refactor heap pointer storage by moving us_heap field from userspace_s
to the nested userspace_data_s structure, enabling future extensibility
of user-space data without modifying the core userspace_s interface across
all board-specific implementations.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-02-02 11:06:53 +08:00
Bowen Wang
def2e89b6e qemu-armv8a/netnsh: enabel the virtio-pci transport
Use to verify the virtio pci transport, and update the qemu-armv8a
document.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-28 13:09:19 -03:00
Bowen Wang
b65d2544d2 arm64/qemu-bringup: use common fdt function to register virtio and pci
Use common implementation is better.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2026-01-28 13:09:19 -03:00
wangchengdong
1196f0869e board/fvp-armv8r: enable hrtimer CITEST on fvp-armv8r:citest
Enable  high-resolution timer (hrtimer) using the list
implementation in the CITEST configuration on fvp-armv8r:citest.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-01-28 18:20:41 +08:00
hujun5
6c18cfd472 fvp: change memory map and Optimize MPU configuration
Extract fixed MPU region configuration into arm64_mpu_init_regiions() function to
allow board-specific initialization. Refactor memory layout to minimize fixed region
requirements and improve dynamic MPU configuration flexibility for FVP platform.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-01-26 20:59:04 +08:00
hujun5
78d05ff811 arm64: remove busy wait flag
Replace CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR with global variable g_smp_busy_wait_flag for
SMP CPU synchronization. This improves flexibility over fixed memory addresses and aligns
with standard kernel variable patterns for multi-core startup.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-01-26 16:27:19 +08:00
hujun5
415be7f5b3 fvp-v8r: protect build support
Enable fvp_userspace.c compilation when
CONFIG_BUILD_PROTECTED is enabled, providing user-space
isolation support for FVP platform. Include
board memory map definitions for protected build
configuration and update MPU regions for
kernel/user space separation.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-01-26 16:27:19 +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
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