Commit graph

24467 commits

Author SHA1 Message Date
Eren Terzioglu
5c9f5f1323 arch/risc-v/espressif: Fix wrong C3 naming
Fix wrong C3 naming in Kconfig

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-03-27 19:32:10 +08:00
Jiri Vlasak
7f5e0285a8 kinetis/pinmux: Do not redefine PIN_UART2_RTS
When a developer working on BSP wants UART1 with RTS, the following
needs to be added in the BSP's include/board.h file:

	#define PIN_UART1_RTS PIN_UART1_RTS_1

which says that PIN_UART1_RTS_1 -- the first alternative pin with UART1
RTS function -- should be used for the UART1's RTS.

There are no alternative pins for PIN_UART2_RTS, therefore a similar
definition is not used for PIN_UART2_RTS.

However, that is a complication when we want PIN_UART2_RTS to be defined
as GPIO, for example:

	#define PIN_UART2_RTS (GPIO_OUTPUT | PIN_PORTB | PIN2)

In such a case, PIN_UART2_RTS is later redefined to the only alternative
function from hardware/kinetis_???pinmux.h file.

This patch avoids the redefinition of already defined names.

We considered renaming PIN_UART2_RTS to PIN_UART2_RTS_1 in the
hardware/kinetis_???pinmux.h file, but that is breaking change. We try
to avoid breaking change.

Signed-off-by: Jiri Vlasak <jvlasak@elektroline.cz>
2026-03-27 09:37:06 +08:00
Jiri Vlasak
b2349aee5c kinetis/serial: Do not fake TX interrupt
Because it is not needed anymore.

The original code here is from the initial implementation in the commit
66b873ef77.

Signed-off-by: Jiri Vlasak <jvlasak@elektroline.cz>
2026-03-27 09:37:06 +08:00
Jiri Vlasak
444073e370 kinetis/serial: Do not xmit when no chars to xmit
When there are no data in the TX buffer, we can avoid call to the
uart_xmitchars.

Signed-off-by: Jiri Vlasak <jvlasak@elektroline.cz>
2026-03-27 09:37:06 +08:00
Jiri Vlasak
fd3e524c0f kinetis/serial: Enable RTS as GPIO for RS485CONTROL
When using CONFIG_UART?_RS485CONTROL, RTS pin is set high when sending
data and low otherwise. PIN_UART?_RTS is defined in the board.h file as
the appropriate ALT functionality of the chip's port.

However, it may happen that PIN_UART?_RTS is wired to another pin of the
chip that does not support the RTS as ALT functionality of the UART?  in
question. This commit addresses such a situation.

When UART?_RS485CONTROL_RTSISGPIO is set in menuconfig for the given
UART?, it is expected that the PIN_UART?_RTS is defined as GPIO_OUTPUT,
and the PIN_UART?_RTS is set high when sending data and low otherwise.

Signed-off-by: Jiri Vlasak <jvlasak@elektroline.cz>
2026-03-27 09:37:06 +08:00
Filipe Cavalcanti
365756e3d1 arch/risc-v/espressif: select EFUSE when ESPRESSIF_EFUSE is enabled
Add 'select EFUSE' entry to enable NuttX EFUSE support.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-03-26 13:39:53 -04:00
simbit18
0a76e9fe8a arch\xtensa: Fix Kconfig style
- Remove spaces from Kconfig

- Add TABs

- Add comments

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-26 13:39:41 -04:00
Peter Barada
870c96350f arch/arm/stm32*: Cleanup stm32 irq reporting
Rename STM32_IRQ_NEXTINT to STM32_IRQ_NEXTINTS across all stm32
variants.
In stm32_dumpnvic() dynamically print NVIC enable and priority
registers based on STM32_IRQ_NEXTINTS.
Use PRIx32 format specifier instead of 'x' (since uint32_t on arm is
actually a long unsigned int).
Simplify if/else chain in stm32_irqinfo() to determine irq reg/bit.
There's no stm32_irqinfo.c; remove mention in stm32f0l0g0/Make.defs.

Signed-off-by Peter Barada <peter.barada@gmail.com>
2026-03-26 23:00:56 +08:00
SPRESENSE
2a4c5c8bee arch: cxd56xx: Fix nxstyle
Fix error: Case statement should be on a new line.

Signed-off-by: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com>
2026-03-26 13:24:40 +08:00
SPRESENSE
48e9de51f9 arch: cxd56xx: Fix DMA transfer for large memory size
When using a dummy memory address in DMA LLI transfers,
do not update the memory address.

Signed-off-by: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com>
2026-03-26 13:24:40 +08:00
simbit18
fa4ecef410 risc-v/src/fe310: CMake build implemented for SiFive FE310
- added  SiFive FE310

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-25 19:20:58 -04:00
simbit18
b38095beac risc-v/src/hpm6750: CMake build implemented for HPMicro HPM6750
- added  HPMicro HPM6750

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-25 14:43:54 -03:00
kywwilson11
c717873ae3 stm32h5/adc: fix TROVS bit and watchdog threshold register writes
Fix adc_oversample() where priv->trovs (a bool, 0 or 1) was OR'd
directly into setbits instead of using ADC_CFGR2_TROVS (bit 9).
This caused triggered oversampling to never actually be enabled.

Fix ANIOC_WDOG_UPPER and ANIOC_WDOG_LOWER ioctls where the TR1
register was overwritten with only the new threshold value, zeroing
out the opposite threshold and the AWDFILT digital filter bits.
Use read-modify-write to preserve the other fields.

Signed-off-by: kywwilson11 <kwilson@2g-eng.com>
2026-03-25 18:12:26 +08:00
simbit18
073c0d794d arch/arm64/src/rk3399: CMake build implemented for Rockchip RK3399
- added Rockchip RK3399

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 13:40:45 -04:00
simbit18
7048298f4f arch/arm64/src/a64: CMake build implemented for Allwinner A64
- added Allwinner A64

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 22:03:53 +08:00
simbit18
56a84607ca arch/arm64/src/imx8: CMake build implemented for NXP i.MX 8
- added NXP i.MX 8

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-24 22:03:33 +08:00
buxiasen
9e048af2c3 imx9: usdhc fix dmapreflight rejecting small unaligned buffers
imx9_dmapreflight() rejected unaligned buffers unconditionally, but
dmarecvsetup() has a bounce path via priv->rxbuffer for small
transfers. Add a buflen > sizeof(priv->rxbuffer) check so that
small reads (e.g. ext_csd 512-byte stack buffer) can use the
bounce buffer instead of failing with -EFAULT.

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
buxiasen
695774a940 imx9: add GPIO support for imx95
Add imx95 GPIO register definitions (same IP block as imx93), fill
g_gpio_base[] array for imx95, include imx95_gpio.h from the common
header, and compile imx9_gpio.c/imx9_gpiobase.c for imx95 in cmake.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
25feecbc02 imx9: imx95 fix uSDHC IRQ naming to match NuttX USDHC convention
Rename IMX9_IRQ_uSDHC{1,2,3} to IMX9_IRQ_USDHC{1,2,3} in both arm
and arm64 imx95_irq.h to follow the all-caps naming convention used
by imx93_irq.h and the rest of the NuttX codebase. Remove the now
unnecessary USDHC IRQ alias block from arm64 imx95_irq.h.

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2026-03-24 15:39:07 +08:00
buxiasen
7a3b7922ee cmake: arm64/common sync modifyreg sources with Make.defs
arm64_modifyreg8.c, arm64_modifyreg16.c, arm64_modifyreg32.c were
present in Make.defs but missing from CMakeLists.txt, causing link
errors when building with cmake.

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
simbit18
1bbe9276df arch\x86_64: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
fbd63b5d2b arch\mips: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
f6ac99d586 arch\ceva: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
572913d422 arch\risc-v: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
cf0b8d04ad arch\xtensa: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
3925879891 arch\arm64: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
simbit18
464263933d arch\arm: Fix Make style
- Remove spaces from make file

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-23 18:16:46 -04:00
Huang Qi
e3eeaefd6d style: Fix "the the" typo across the codebase.
Fix 269 occurrences of duplicate "the" word typo found in 209 files
across source code, header files, and configuration.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-23 11:07:49 +01:00
Huang Qi
864fdb090c arch/risc-v/k210: Remove QEMU support
Remove the CONFIG_K210_WITH_QEMU option and associated conditional
code paths. The reasons for removal are:

* Simplifies code path for real hardware by removing QEMU workarounds
* The current QEMU target uses sifive_u machine, which is not designed
  for K210 emulation
* For RISC-V QEMU simulation, the qemu-rv (rv-virt) target is a better
  choice
* Renode can be used as an alternative for K210 simulation if needed

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-23 14:25:29 +08:00
simbit18
0a72e2cbf8 arch/arm/src/gd32f4: CMake build implemented for GigaDevice GD32F4xx Series
- added GigaDevice GD32F4xx Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-20 08:53:42 +01:00
Carlos Sanchez
ff29b04e66 arch/arm/src/stm32h5: add support for HW RNG.
Driver copied from stm32f7, which includes CEIS/SEIS clearing per reference manual.

Signed-off-by: Carlos Sanchez <carlossanchez@geotab.com>
2026-03-19 19:42:01 +08:00
Huang Qi
8ed1e63292 arch/risc-v/hpm6000: Use WDOGx naming for watchdog peripherals
Fix duplicate watchdog prompts in Kconfig by using unique WDOG0, WDOG1,
WDOG2 names instead of generic 'watchdog' label. This matches the UART
peripheral naming convention in the same file and makes it clear which
watchdog is being configured in menuconfig.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-18 15:24:03 -04:00
Huang Qi
078e7099b7 arch/risc-v/k210: Add Watchdog Timer (WDT) driver support.
Add WDT driver for K210 with support for both WDT0 and WDT1 peripherals.
This includes:
- Add k210_wdt.c and k210_wdt.h driver files with interrupt-based
  watchdog timer functionality
- Add hardware register definitions in k210_wdt.h
- Add K210_WDT, K210_WDT0, K210_WDT1 Kconfig options
- Add memory map definitions for WDT0 (0x50400000) and WDT1 (0x50410000)
- Reorder WDT IRQ definitions (IRQ 21, 22) before UART0 (IRQ 33) in irq.h
- Add WDT initialization in board bringup for maix-bit

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-18 10:15:36 +08:00
Eren Terzioglu
77f2f7989d arch/xtensa/espressif: Add AES accelerator support
Add AES accelerator support for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-03-17 18:45:53 -03:00
Eren Terzioglu
76f69c7a8c arch/risc-v/espressif: Add AES accelerator support
Add AES accelerator support for esp32[-c3|-c6|-h2|-p4]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-03-17 18:45:53 -03:00
wangjianyu3
370921aeba arch/xtensa/esp32s3: add CAM DVP imgdata driver
Add ESP32-S3 CAM controller driver implementing the NuttX imgdata
interface. Supports 8-bit DVP camera input with DMA-based frame
capture, VSYNC interrupt handling, and PSRAM frame buffer allocation.

The driver is sensor-agnostic: resolution and pixel format are
negotiated at runtime through the V4L2 pipeline. XCLK output
(24 MHz) is started during initialization for sensor communication.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-16 17:26:27 -03:00
simbit18
d070e3a9da arch/arm/src/nuc1xx: CMake build implemented for NuMicro NUC100 Series
- added NuMicro NUC100 Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-16 16:11:07 -04:00
simbit18
09b0a83423 arch/arm/src/lpc43xx: CMake build implemented for NXP LPC43xx
- added NXP LPC43xx

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-16 16:06:14 -04:00
Huang Qi
a48936788a arch/risc-v/k210: Add sysctl driver for clock and reset control
Add sysctl driver for K210 SoC providing clock and reset control:
- Clock enable/disable with two-stage APB/peripheral enable pattern
- Peripheral reset control with proper timing
- Clock frequency query for PLL, CPU, APB buses, and peripherals
- PLL frequency calculation and CPU frequency configuration

The sysctl driver is built unconditionally for K210 boards as it
provides essential clock and reset control functionality.

Add Kconfig option:
- K210_CPU_FREQ: Target CPU frequency in Hz (default 400MHz)

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-16 17:03:41 +01:00
simbit18
1a2fb11955 arch/arm/src/mx8mp: CMake build implemented for NXP i.MX 8M Plus family
- added NXP i.MX 8M Plus family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-16 11:10:13 +08:00
Eren Terzioglu
515e87391a arch/xtensa/espressif: Add SHA accelerator features
Add SHA accelerator features for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-03-16 11:09:49 +08:00
Eren Terzioglu
c1f542687b arch/risc-v/espressif: Add SHA accelerator features
Add SHA accelerator features for esp32[-c3|-c6|-h2]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-03-16 11:09:49 +08:00
simbit18
e12b7d8a82 arch/arm/src/mx8mp: CMake build implemented for NXP LPC17xx/40xx family
- added NXP LPC17xx/40xx family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-14 09:01:54 +08:00
simbit18
9685cc50e2 arch/risc-v: Fix Kconfig style
- Remove spaces from Kconfig

- Add TABs

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-12 09:08:18 +08:00
Neil Berkman
107b7a9aa1 boards/nucleo-h743zi: Add nxboot bootloader support
Add nxboot bootloader board integration for nucleo-h743zi.

nxboot uses a three-slot layout (primary, secondary, tertiary) with
no scratch partition.

- add STM32_APP_FORMAT_NXBOOT board support and nxboot-specific OTA
  slot defaults
- gate scratch partition configuration on MCUboot, where it applies
- select nxboot linker scripts in the board build logic
- add tertiary OTA partition support in stm32_progmem.c
- add nxboot-loader and nxboot-app defconfigs and linker scripts
- validate the fixed nxboot flash layout used by this board so
  mismatched config values fail at build time instead of producing
  a silently broken image

Signed-off-by: Neil Berkman <neil@xuku.com>
2026-03-11 16:33:26 -03:00
simbit18
3bea64dbb0 arch/arm/src/lpc54xx: CMake added NXP LPC54000 Series
- added NXP LPC54000 Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-03-11 22:43:15 +08:00
anjiahao
718ae3d2c6 stm32l5/nucleo-l552ze: enable LPUART1 console on ST-Link VCP
Three fixes to make LPUART1 work as NSH console on Nucleo-L552ZE-Q:

1. stm32l5_lowputc: add LPUART-specific BRR formula (256 * fCK / baud)
   instead of reusing the standard USART divisor calculation.

2. stm32_boot: enable VDDIO2 and reconfigure LPUART1 GPIOs (PG7/PG8)
   in board_initialize. The low-level setup runs before VDDIO2 is
   enabled, so GPIOG writes silently fail.

3. stm32l5_serial: fix LPUART1 apbclock (PCLK1 not PCLK2), add
   LPUART BRR branch in setformat, cast to uint64_t to prevent
   32-bit overflow in (fCK << 8).

Also switch nsh defconfig from USART3 to LPUART1, add GPIO_LPUART1
pin definitions in board.h, and update board documentation.

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-03-11 19:24:01 +08:00
Lup Yuen Lee
ebc75b0ed5 arch/tricore: Fix --help-- in Kconfig
This PR fixes a typo at `--help--` that causes NuttX Builds to fail, it should have been `---help---`. This is a recurring problem, NuttX CI uses a different way of handling NuttX Configs (it doesn't use `tools/configure.sh`)

https://github.com/lupyuen/nuttx-riscv64/actions/runs/22929878852/job/66548808341#step:5:161
```
$ tools/configure.sh rv-virt:nsh
arch/tricore/Kconfig:124: syntax error
arch/tricore/Kconfig:123: unknown option "--help--"
arch/tricore/Kconfig:124:warning: ignoring unsupported character ','
arch/tricore/Kconfig:124: unknown option "In"
```

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-03-11 13:06:13 +08:00