Commit Graph

61713 Commits

Author SHA1 Message Date
Alan Carvalho de Assis f8e78c1075 drivers/qe: Don't compile stm32_qencoder.c if STM32 QE is not enabled
NuttX uses Quadrature Encoder lower half driver to internal QE from
MCUs and also with Magnetic Rotary Encoder sensors. But when the
STM32 QE is not enabled, the board code will try to compile the
stm32_qencoder.c because Magnetic Rotary Encoders enables the
CONFIG_SENSORS_QENCODER. This patch fixes this issue.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-03 07:56:38 -03:00
Alan Carvalho de Assis 2b8be4a3da drivers/fb: Fix a symbol missing CONFIG_
This was a mistake that was preveting the boot logo to stay visible
for more time.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-02 15:26:10 -03: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
Alan Carvalho de Assis c01aca09f0 boards/qemu-i486: Fix the removal of qemu_appinit.c
This PR makes the qemu-i486 boot again.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-03 01:22:00 +08:00
Alan Carvalho de Assis 63a03d0f8a arch/x86: Add palette 256 color to qemu-i486 VGA driver
Build Documentation / build-html (push) Has been cancelled
This patch adds support to get the VGA driver working with 256
colors.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-02 09:51:59 -04:00
Alan Carvalho de Assis b30fe55fe0 arch/x86: Replace planar pixel copy with linear copy
The planar copy was used even when linar mode was used (chain4 = 1)
Probably this modification could impact VGA text mode, but for now
it is not important, since the goal is get graphic mode working.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-02 09:51:59 -04:00
Matteo Golin a5e8ea2b40 arch/ceva: 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 66ae075ae8 boards/arm: 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 d54f3a31cb boards/xtensa: 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 1e8564c3e9 boards/x86: 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 48307b3a48 boards/sparc: 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 73e243584e boards/risc-v: 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 945329efd0 boards/z16: 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 445b66430d boards/x86_64: 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 e30da0ba74 boards/tricore: 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 7fded74212 boards/renesas: 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 f077c0321d boards/avr: 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 9eb9cccbab boards/mips: 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 cbbc5c42f4 boards/hc: 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 296ee45be0 boards/z80: 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 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 46182069c8 boards/or1k: Remove board_app_initialize
Logic provided by board_app_initialize is removed due to the removal of
BOARDIOC_INIT boardctl command. Logic inside board_late_initialize is to
be used and is identical.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Matteo Golin 5c42dbcaa4 boards/sim: Replace board_app_initialize
Logic provided by board_app_initialize is replaced by
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
Daniel Monteiro 8e91dd60a0 Documentation: add rst file for the TM4C123G
Build Documentation / build-html (push) Has been cancelled
Signed-off-by: Daniel Monteiro <monteiroquiet@gmail.com>
2026-05-02 10:18:08 +08:00
raiden00pl 772a51b43a boards/thingy53: add sensors scope demo for fixed16
Build Documentation / build-html (push) Has been cancelled
add sensors scope demo with fixed16 as sensor data type

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 18716159c9 sensors/bmi270_uorb: support for fixed-point data
support for fixed-point data for bmi270_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl c3190cd04b sensors/bmm150_uorb: support for fixed-point data
support for fixed-point data for bmm150_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl cf9aaba449 sensors/bh1749nuc_uorb: support for fixed-point data
support for fixed-point data for bh1749nuc_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 192719aa82 sensors/adxl372_uorb: support for fixed-point data
support for fixed-point data for adxl372_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl a5d9f14215 sensors/adxl362_uorb: support for fixed-point data
support for fixed-point data for adxl362_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 25ddf14cf5 sensors/hyt271_uorb: support for fixed-point data
support for fixed-point data for hyt271_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 5c3c369dbd sensors/bmp180_uorb: support for fixed-point data
support for fixed-point data for bmp180_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 37981b2b2f sensors/bmp280_uorb: support for fixed-point data
support for fixed-point data for bmp280_uorb

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
raiden00pl 39378e1d46 drivers/sensors: add initial support for fixed-point data for sensors
new sensor framework can now select between float data type and
fixed-point data type

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-02 00:56:42 +08:00
yaojiaqi ae7525d195 arch/arm/include/arm*/irq.h: fix FPU context layout guard macro
The register index layout for D16-D31 and FPU_CONTEXT_REGS was guarded
by CONFIG_ARM_HAVE_DPFPU32 (hardware capability) in three header files,
but all save/restore code in the corresponding .S files gates on
CONFIG_ARM_DPFPU32 (software enable).

These two macros are distinct:
  CONFIG_ARM_HAVE_DPFPU32 - set by chip via 'select'; means hardware
                            has D16-D31 registers
  CONFIG_ARM_DPFPU32      - user-selectable; means software has chosen
                            to use D16-D31 (requires hardware support)

When ARM_HAVE_DPFPU32=y and ARM_DPFPU32=n, the header defined
REG_FPSCR at offset 64 and FPU_CONTEXT_REGS=65, while the assembly
only saved S0-S31+FPSCR (33 words), placing FPSCR at offset 32.
This mismatch causes incorrect register access and wrong xcptcontext
sizing.

Signed-off-by: yaojiaqi <yaojiaqi@lixiang.com>
2026-04-30 21:23:41 +08:00
aviralgarg05 57acb80e6b boards/arm/stm32: add nucleo-f412zg ostest and coremark configs.
Add dedicated ostest and coremark defconfigs for nucleo-f412zg.
The ostest config keeps the existing NSH-oriented board setup and
adds the runtime self-test application, while the coremark config
boots directly into the benchmark with an -O3 build profile.

Both configurations were verified with GNU Make and CMake/Ninja
using Arm GNU Toolchain 15.2.Rel1 on macOS arm64.

Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
2026-04-30 19:24:26 +08:00
Filipe Cavalcanti 3759cc72ab arch/xtensa: properly set carrier on/off on espnow driver
Build Documentation / build-html (push) Has been cancelled
In esp_espnow_pktradio.c, after ESP-NOW is successfully initialized in espnow_ifup, call netdev_carrier_on(dev).
In espnow_ifdown, call netdev_carrier_off(dev).

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-04-30 12:25:32 +08:00
Jukka Laitinen dde26e5589 Documentation/drivers/timers: Add documentation of DShot driver upper half
Add documentation for the DShot electronic speed controllers protocol

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +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
Jukka Laitinen 101ff2c2bb arch/imx9: Add bidirectional dshot driver using i.MX9 FlexIO
Create a bidirectional dshot lower-half driver, using the flexio block.

This driver enables use of DShot protocol for Electronic Speed Controllers
(ESCs) typically used in drone motor control.

Eight channels of DShot per flexio block are supported in:

- Normal mode in all DShot speeds, with telemetry request (uart response
  needs to be handled outside of this driver)
- Bidirectional mode in all DShot speeds, with telemetry request & response
- Configurable to use either independent TX timers for each channel, or to
  use a common TX timer for all channels to synchronize the output
- For bidirectional RX, each channel always uses an own timer.

In normal mode, the driver operates without any interrupts.

In bidirectional mode, the driver reconfigures the FlexIO timers (as needed)
and shifters from TX to RX in the interrupt handler, and reads out the
raw response packet.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +08:00
Jukka Laitinen b810cbe4d3 drivers/timers: Add common include files, definitions and upper-half for DSHOT
DShot is a packet based serial protocol, used for controlling motor controllers
(ESCs), typically for drones.

This adds an upper-half driver for dshot protocol, along with common
configuration options and definitions definitions.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-04-30 12:24:47 +08:00
Alan Carvalho de Assis c3e7c94d2f doc/qemu-i486: Add documentation about qemu-i486:vga_fb
This commit adds documentation to vga_fb board profile to QEMU.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-30 11:56:49 +08:00
Alan Carvalho de Assis 09cda8404d boards/qemu-i486: Add support to QEMU VGA framebuffer
This commits initializes the VGA LCD interface as a framebuffer to
use with fb command.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-30 11:56:49 +08:00
Alan Carvalho de Assis 163dcd0438 arch/x86: Modify qemu_vga to return init error
This modify just modify the function to let the user that the function
failed to initialize the VGA mode.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-30 11:56:49 +08:00
Peter van der Perk f25db33113 arch/arm/imx9: Add FlexIO support
Build Documentation / build-html (push) Has been cancelled
Backport for i.MXRT FlexIO driver, features identical.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-04-29 21:39:30 +08:00
Peter van der Perk ed4a351f98 arch/arm/imx9: eDMA fix SG TCM address calculation
DLASTSGA needs to be offest for TCM backdoor address.
Cleanup as well using inline helper for calculuation.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-04-29 21:39:30 +08:00
Peter van der Perk 23ec411844 arch/arm/imx9: LPI2C backport imx95 arm64 improvements
Get i2c reset improvement from ARM64 driver and fix kconfig entries

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-04-29 21:39:30 +08:00
Alan Carvalho de Assis 9f2db60370 doc: Update qemu-i486
This PR improves the qemu-i486 documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-04-29 21:39:20 +08:00
Shunchao Hu 18cd40cd5d net/nat: Update NAT rst documentation.
Build Documentation / build-html (push) Has been cancelled
Update the NAT documentation to make the validation flow easier to
follow.

The existing document already contains useful details, but the test setup
is hard to read for beginners.
 - In particular, the NuttX-side commands and Linux host commands can
   be confused
 - Some commands are redundant
 - Some required steps are missing
 - The Internet access example is not necessary for NAT behavior itself

Simplify the validation case to use a local topology with Linux network
namespaces. Add an ICMP test case and the required explanations around the
NuttX iptables command and interface roles.

Remove the IPv6 validation case from this doc, since the NAT66 flow
follows the same structure as the NAT44 case.

Signed-off-by: Shunchao Hu <ankohuu@gmail.com>
2026-04-29 09:17:55 -03:00