Commit graph

61977 commits

Author SHA1 Message Date
Lup Yuen Lee
eec015a66e drivers/segger: Download systemview from NuttX Mirror Repo
CI Builds for `stm32f429i-disco:systemview` and `nucleo-f446re:systemview` are failing, because www.segger.com is blocking our downloads for systemview. This PR updates the Segger Makefiles to download systemview from our Cached Dependency at NuttX Mirror Repo: https://github.com/NuttX/nuttx/releases/download/systemview/SystemView_Src_V356.zip

```
Configuration/Tool: nucleo-f446re/systemview,CONFIG_ARM_TOOLCHAIN_CLANG
CMake Error at /github/workspace/sources/nuttx/build/_deps/systemview-subbuild/systemview-populate-prefix/src/systemview-populate-stamp/download-systemview-populate.cmake:170 (message):
    error: downloading 'https://www.segger.com/downloads/systemview/SystemView_Src_V356.zip' failed
          status_code: 22
          status_string: "HTTP response code said error"
```

https://github.com/apache/nuttx-apps/actions/runs/26855455932/job/79197351538#step:10:1547

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-06-03 19:19:24 +08:00
Serg Podtynnyi
20a50a48c5 ci/docker: bump risc-v toolchain
Bump risc-v toolchain to 15.2.0-1

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2026-06-03 12:27:08 +02:00
hanzj
0916a88716 docs: Fix duplicate toctree references causing build warnings
Several documentation files are referenced in multiple toctrees,
causing Sphinx build warnings like:

  document is referenced in multiple toctrees: [...], selecting: [...]

Fix by narrowing glob patterns in parent toctrees to only match
subdirectory index files, and replacing a toctree directive with
a :doc: cross-reference:

- platforms/arm/index.rst: glob */* -> */index
- platforms/index.rst: glob */* -> */index
- guides/changing_systemclockconfig.rst: toctree -> :doc: ref

Fixes #14785

Signed-off-by: hanzj <hanzj@xiaomi.com>
2026-06-03 15:02:22 +08:00
simbit18
895213058b workflows/build.yml: Fix Skipping sim\windows in the MSVC job
Fix

====================================================================================
Cmake in present: sim\windows
Configuration/Tool: sim\windows
2026-06-02 12:57:35
------------------------------------------------------------------------------------
  Cleaning...
  Skipping: sim\windows
------------------------------------------------------------------------------------
End: 2026-06-02 12:57:35
====================================================================================

The "windows-latest" and “windows-2025” labels in GitHub Actions will be migrated to use Visual Studio 2026 by default. Customers needing Visual Studio 2022 must migrate to the windows-2022 image.

https://github.com/actions/runner-images/issues/14017

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-06-03 07:25:25 +08:00
Jukka Laitinen
fc69782f51 drivers/mmcsd: Remove eMMC partitions when !CONFIG_MMCSD_MMCSUPPORT
When the CONFIG_MMCSD_MMCSUPPORT is disabled, we can remove the
mmc partition support, saving ~300+ bytes of flash on a 32-bit Arm
target. These partitions don't exist on SD cards.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-06-02 15:14:38 -03:00
yushuailong
7e67d2d906 libs/libc/dirent: preserve errno on readdir() end-of-directory
readdir() returned NULL at end-of-directory without ensuring errno was
clean.  POSIX requires errno to be unchanged at EOF, but the underlying
read() path may leave a stale errno value.  Callers that follow the
POSIX idiom (set errno to 0 before the call, test it after a NULL
return), such as readdir_r() and scandir(), then misread this as a
readdir() failure.

Save errno on entry and restore it on the end-of-directory return so
that EOF no longer reports a spurious error, while genuine errors
(read() returning a negative value) still propagate.

Signed-off-by: yushuailong <yyyusl@qq.com>
2026-06-02 23:34:25 +08:00
Jukka Laitinen
e15672f7a4 boards/arm/stm32/nucleo: Fix BBSRAM compilation
Fix the compilation of stm32f4/7 nucleo boards with:
 CONFIG_STM32F7_BKPSRAM=y
 CONFIG_STM32F7_BBSRAM=y
 CONFIG_STM32F7_PWR=y
 CONFIG_STM32F7_SAVE_CRASHDUMP=y

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2026-06-02 12:15:17 -03:00
wangjianyu3
73c949c87e boards/lckfb-szpi-esp32s3: switch adb config to nxinit entrypoint
Replace the default nsh-based init flow on the lckfb-szpi-esp32s3 :adb
defconfig with system/nxinit so that services (sh console, adbd) are
spawned and reaped by init through /etc/init.d/init.rc.

- Enable CONFIG_SYSTEM_NXINIT and set INIT_ENTRYPOINT to init_main
  (CONFIG_EXPERIMENTAL is required by SYSTEM_NXINIT).
- Add a common init.rc under boards/xtensa/esp32s3/common/src/etc/init.d
  defining 'console' (sh) and 'adbd' services and starting both on init.
  fastbootd is wired in for completeness when configured.
- Append the new init.rc to RCSRCS only when SYSTEM_NXINIT is enabled
  so existing nsh-based configs remain unaffected.

Verified on lckfb-szpi-esp32s3 hardware: init_main spawns sh and adbd
(both with PPID=init), 'adb shell' reaches a working NuttShell.

Assisted-by: GitHubCopilot:claude-4.8-opus
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-06-02 10:44:45 -04:00
Eren Terzioglu
78ab935db8 boards/xtensa/espressif: Fix crypto hash tests for esp32[-|-s2|-s3]
Fix crypto hash test errors due to SHA224 test which are not supported on NuttX for Xtensa based Espressif devices.

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-02 15:14:34 +02:00
taikoyaP
bc832b4152 Documentation/applications/audioutils/mml_parser/index.rst: fix typo
fix a small typo in index.rst.
2026-06-02 09:23:41 -03:00
Sammy Tran
3e3427d339 arch/arm/src/stm32h5/stm32_adc: Reset channel counter before conversions
Signed-off-by: Sammy Tran <sammytran@geotab.com>

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI-Model: claude-sonnet-4.6
2026-06-02 20:09:31 +08:00
Sammy Tran
5a03e04f21 arch/arm/src/stm32h7/stm32_adc: Reset channel counter before conversions
Signed-off-by: Sammy Tran <sammytran@geotab.com>

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI-Model: claude-sonnet-4.6
2026-06-02 20:09:31 +08:00
Lingao Meng
3a0fb4b9bf drivers/serial: bound uart_tcdrain xmit-buffer wait by caller timeout
uart_tcdrain() takes a caller-supplied timeout (e.g. 10s from the
TCDRN ioctl path), but the timeout was only applied to the final
TX-FIFO polling loop.  The earlier xmit-buffer drain loop called
nxsem_wait(&dev->xmitsem) with no timeout, so any condition that
prevents the lower half from posting xmitsem (e.g. a stuck DMA
completion path, a wedged hardware-flow-control stall) would block
tcdrain() indefinitely, regardless of the timeout the caller asked
for.  The pre-existing comment ("NOTE: There is no timeout on the
following loop. ... the caller should call tcflush() first") openly
acknowledged this hang.

Move the start timestamp before both phases and replace the bare
nxsem_wait() with nxsem_tickwait() using the remaining time, so the
total time spent in tcdrain() honors the caller's timeout regardless
of which phase stalls.  When the remaining time is already exhausted,
short-circuit to -ETIMEDOUT without calling into the scheduler.  The
existing exit path (drop critical section, skip the FIFO polling
loop, unlock the xmit mutex, leave the cancellation point) handles
the new -ETIMEDOUT propagation correctly without further changes.

Also fold the "Set up for the timeout" comment into the kludge
REVISIT comment, since the timestamp is no longer set up at that
point.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-06-02 19:50:55 +08:00
Lingao Meng
78b3b456eb drivers/serial: fix cancellation point leak on uart_tcdrain timeout
uart_tcdrain() registers a cancellation point on entry via
enter_cancellation_point() (when called with cancelable=true), and the
normal exit path calls leave_cancellation_point() before returning.

However the timeout path inside the FIFO drain loop returns -ETIMEDOUT
directly without going through the normal exit path, leaking one
cancellation point reference (tcb->cpcount is left incremented).  Over
repeated timeouts this counter will desync and prevent
pthread_cancel() / pthread_setcancelstate() from behaving correctly
for the calling thread.

Fix by calling leave_cancellation_point() before the early return,
matching the existing exit path.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-06-02 19:50:55 +08:00
Eren Terzioglu
d955fbc8f3 boards/risc-v/espressif: Fix crypto hash tests for esp32[-c3|-c6|-h2|-p4]
Fix crypto hash test errors due to SHA224 test which are not supported on NuttX for
risc-v based Espressif devices.

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-02 00:09:22 +08:00
Eren Terzioglu
9ef787f9de Docs/platforms/esp32[-c6|-h2]: Add BLE docs for esp32[-c6|-h2]
Add BLE docs for esp32c6 and esp32h2

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-02 00:08:50 +08:00
Eren Terzioglu
7083aa9777 boards/risc-v/espressif: Add BLE board support for esp32[-c6|-h2]
Add BLE board support for esp32c6 and esp32h2

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-02 00:08:50 +08:00
Eren Terzioglu
c188f3c934 arch/risc-v/espressif: Add BLE support for esp32[-c6|-h2]
Add BLE support for esp32c6 and esp32h2

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-02 00:08:50 +08:00
hanzj
94fa220650 arch/sim: Fix OOB read/write in usrsock_ioctl_handler
usrsock_ioctl_handler() copies req->arglen bytes from the request
payload into the fixed-size usrsock->out buffer without validating
that the payload fits either the received request or the destination
buffer.  This is the same class of vulnerability as the one already
fixed in nrf91_modem_sock.c (commit a43fb69283).

Add three checks before the copy:

  - len >= sizeof(*req): ensure the full request header is present.
  - copylen <= len - sizeof(*req): payload must fit the received data.
  - copylen <= SIM_USRSOCK_BUFSIZE - sizeof(*ack): payload must fit
    the destination buffer.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-06-02 00:08:22 +08:00
hanzj
1736afa145 arch/arm/nrf91: Fix OOB read/write in nrf91_usrsock_ioctl_handler
nrf91_usrsock_ioctl_handler() copies req->arglen bytes from the
request payload into the fixed-size usrsock->out buffer without
validating that the payload actually fits either the received
request or the destination buffer.  A crafted ioctl request with
an inflated arglen triggers:

  1. OOB read — memcpy reads past the end of the received request.
  2. OOB write — memcpy writes past the end of usrsock->out.

Add three checks before the copy:

  - len >= sizeof(*req): ensure the full request header is present.
  - copylen <= len - sizeof(*req): payload must fit the received data.
  - copylen <= sizeof(usrsock->out) - sizeof(*ack): payload must fit
    the destination buffer.

The recvfrom handler in the same file already performs the equivalent
buffer-size check (line 892).  Fixes #18515.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-06-01 15:39:52 +02:00
cuiziwei
f106e07f00 include/unistd: add dpopen/dpclose declarations
Add declarations for dpopen() and dpclose() to unistd.h.  These are
the descriptor-based counterparts of popen()/pclose() declared in
stdio.h.  The implementation lives in apps/system/popen/dpopen.c.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2026-06-01 18:20:18 +08:00
Arjav Patel
34e0663e2d tools/nxstyle: Whitelist Micro XRCE-DDS uxrCustomTransport prefix.
The Micro XRCE-DDS Client custom-transport API expects user
callbacks with prototypes of the form

  bool open_cb (struct uxrCustomTransport *transport);
  size_t read_cb(struct uxrCustomTransport *transport, ...);

The struct tag is fixed by the upstream public header
<uxr/client/profile/transport/custom/custom_transport.h> and
cannot be renamed. nxstyle currently flags every callback
signature in apps/system/microros/transport with 'Mixed case
identifier found'.

Add the 'uxrCustom' prefix to g_white_prefix, following the same
pattern used for the ROS 2 message type names added in
commit bc3a2596c8 ("tools/nxstyle: Whitelist ROS 2 message type
identifiers.").

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-06-01 09:56:23 +08:00
Shoji Tokunaga
3d446bd674 tools/rust: Move NuttX Rust target specs into nuttx
Move the NuttX-specific Rust target specification files from apps/tools
to nuttx/tools so files with the same purpose are kept in one place.

The existing aarch64 Mach-O target spec for macOS simulator builds
already lives under nuttx/tools. Keeping the remaining NuttX Rust target
specs there as well makes the layout consistent and lets both Make and
CMake builds refer to target specs from the NuttX tree.

Signed-off-by: Shoji Tokunaga <toku@mac.com>
2026-06-01 00:02:41 +08:00
Arjav Patel
bc3a2596c8 tools/nxstyle: Whitelist ROS 2 message type identifiers.
The ROS 2 C client API generates symbols via rosidl token-pasting
macros. Each message type ends up with a name of the form
<pkg>__msg__<Type>, and the bare type token (Int32, Float64, ...)
appears in user code as an argument to ROSIDL_GET_MSG_TYPE_SUPPORT().
Neither form can be renamed without breaking the public API.

Add the ROS 2 standard message package prefixes (std_msgs,
geometry_msgs, sensor_msgs, nav_msgs, builtin_interfaces,
rcl_interfaces) and the rosidl scalar type names (Int8/16/32/64,
UInt8/16/32/64, Float32/64) to g_white_prefix so nxstyle does not
flag the resulting mixed-case identifiers in apps that consume
micro-ROS via apps/system/microros.

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-05-31 11:46:18 +08:00
Matteo Golin
a23aaf45c2 docs/raspberrypi-4b: Update frame buffer resolution select info
Reflect the changes to how the frame buffer driver determines its
resolution.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 11:06:41 +08:00
Matteo Golin
0f14427658 bcm2711/fb: Use physical device resolution OR force resolution
This change causes the frame buffer allocation to use the connected
device's physical resolution by default. The user also has the option to
force a request for a different, compile-time selected resolution if the
physical display can support something else the user would prefer.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 11:06:41 +08:00
Matteo Golin
15a68ccc55 docs/raspberrypi-4b: Add nxinit configuration docs
Document a new nxinit configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-31 09:08:51 +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
hanzj
36bdf9fb37 drivers/analog/dac7554: Add NULL checks after kmm_malloc in dac7554_initialize
dac7554_initialize() calls kmm_malloc twice without checking the return
value.  If either allocation fails, the subsequent pointer dereferences
lead to a NULL pointer access and crash.

Add NULL checks for both allocations, following the pattern already used
in mcp3008.c, mcp48xx.c, and mcp47x6.c.  When the second allocation
fails, free the first allocation before returning NULL.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-30 17:50:14 +08:00
hanzj
283742e29c drivers/rpmsg: Fix typo rpmsg_device_destory -> rpmsg_device_destroy
Rename rpmsg_device_destory() to rpmsg_device_destroy() to fix a
spelling error in the function name.  The function is declared in the
private header drivers/rpmsg/rpmsg.h and used only within the
drivers/rpmsg/ subsystem (rpmsg.c, rpmsg_virtio.c,
rpmsg_router_edge.c, rpmsg_port.c), so there is no public API or
ABI impact.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-30 17:49:03 +08:00
hanzj
54ef006069 Documentation/examples/uid: Add documentation for uid example
The uid example was missing documentation. This commit adds complete
documentation including:

- Command syntax and options
- Synopsis explaining the tool's purpose
- Options table with all available flags
- Usage examples for each query type:
  - Query user by ID (-uid)
  - Query user by name (-uname)
  - Query group by ID (-gid)
  - Query group by name (-gname)
- Help display example
- Configuration options

The documentation is based on the actual source code in
apps/examples/uid/uid_main.c.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-30 11:54:13 +08:00
Alan Carvalho de Assis
e256e50e5e nuttx/ci: Add libftdi1-dev to get FT2232H working on CI
This commit is needed to get PR #18951 passing on CI test.
I think this USB Device could be used in the future to do
real hardware tests, including automated tests on our CI.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-05-29 18:05:07 -03:00
Patrick José Pereira
7547b2ee50 Documentaiton: net: tcp_network_perf: Add performance tips
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2026-05-29 11:42:36 +02:00
Patrick José Pereira
cd713f00fc Documentaiton: net: tcp_network_perf: Remove trailing spaces
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2026-05-29 11:42:36 +02:00
Shoji Tokunaga
7c38d58675 tools/rust: Fix aarch64 NuttX Rust target specs
Add a custom aarch64 Mach-O Rust target for macOS sim builds and use it
instead of an Apple Darwin Rust target. This keeps Rust cfg values aligned
with NuttX while producing Mach-O objects required by the simulator link.

Also align sim host handling for aarch64 Linux by detecting `aarch64` as
`HOST_ARM64` and avoiding x86-specific `-mcmodel` and `-no-pie` options
on ARM64 hosts.

Signed-off-by: Shoji Tokunaga <toku@mac.com>
2026-05-29 10:25:10 +02:00
hanzj
efaebbba43 drivers/net: Fix typo in lan9250_set_txavailable function name.
Rename static function lan9250_set_txavailabe() to
lan9250_set_txavailable() — missing letter 'l' in 'available'.

This is a static function used only within drivers/net/lan9250.c,
so there is no API or ABI impact.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-29 09:43:20 +08:00
hanzj
d9285319c0 drivers/analog: Fix memory leak in ads1115_initialize.
Fix two issues in ads1115_initialize():

1. Add missing kmm_free(priv) when adcdev allocation fails:
   If the second kmm_malloc() for adcdev returns NULL, the function
   returns without freeing the already-allocated priv structure,
   causing a memory leak.

2. Use kmm_free() instead of free() for consistency:
   The error path after cmdbyte_init() failure used free(priv) to
   release memory allocated by kmm_malloc(). Use kmm_free() instead
   to match the allocation API.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-29 09:43:06 +08:00
Marin Doetterer
b4f04a8560 rtc/ptc85263A: Add handling of stop_enable flag.
On some boards, the PCF85263 RTC does not count between reboots. Due to STOP_ENABLE (register 0x2E), bit=0 = 1, which freezes the RTC counter.

The exact trigger is unknown - not all boards exhibit the issue. The bit is battery-backed and
persists across reboots, so once set (e.g. by a power glitch or undefined hardware state) the
RTC stays frozen until explicitly cleared. The old driver never did this.

Fix: write `0x00` to `STOP_ENABLE` on init, which is the correct reset value per the datasheet.
Fix: set time properly:
	Due to datasheet the set_time should be as follow:
	1. set stop_enable
	2. clear prescaler
	3. set time
	4. clear stop_enable

Signed-off-by: Marin Doetterer <marin@auterion.com>
2026-05-29 01:27:03 +08:00
hanzj
dd5670ed65 drivers/analog: Fix memory leak and dead code in mcp3008_initialize.
Fix two bugs in mcp3008_initialize():

1. Remove dead free(priv) when priv is NULL (line 382):
   The first allocation checks if priv == NULL, then calls free(priv)
   which is a no-op since priv is NULL. Remove the dead call.

2. Add missing kmm_free(priv) when adcdev allocation fails (line 396):
   If the second kmm_malloc() for adcdev fails, the function returns
   NULL without freeing the already-allocated priv, causing a memory
   leak. Add kmm_free(priv) before the return.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-29 01:26:57 +08:00
Patrick José Pereira
964be644d6 Documentation: conf: Ignore .venv
uv creates virtual environments in `.venv`

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2026-05-29 01:26:21 +08:00
hanzj
7679bba75e drivers: Fix comment typos — 'register' → 'registered' across drivers.
Fix grammatical error in Returned Value documentation comments:
  'successfully register' → 'successfully registered'
  'successfully initialize' → 'successfully initialized'

Affected files (17 files, 19 occurrences):
  drivers/i2c/i2c_driver.c
  drivers/i2s/i2schar.c
  drivers/i3c/i3c_driver.c
  drivers/i3c/master.c
  drivers/motor/motor.c
  drivers/motor/stepper.c
  drivers/rc/lirc_dev.c
  drivers/sensors/gnss_uorb.c
  drivers/sensors/sensor.c (2 occurrences)
  drivers/spi/spi_driver.c
  drivers/timers/ptp_clock.c
  drivers/timers/ptp_clock_dummy.c
  drivers/video/mipidsi/mipi_dsi.h (2 occurrences)
  drivers/video/mipidsi/mipi_dsi_device.c
  drivers/video/mipidsi/mipi_dsi_device_driver.c
  drivers/video/mipidsi/mipi_dsi_host.c
  drivers/video/mipidsi/mipi_dsi_host_driver.c

These are all comment-only changes with no functional impact.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-28 22:21:47 +08:00
Piyush Patle
90219df0ec Documentation/arm64: add AM62x board bring-up guides
Document the AM62x platform and add board guides for BeaglePlay and
PocketBeagle2. The BeaglePlay guide includes the validated manual
U-Boot boot flow used for hardware testing.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +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
Piyush Patle
8788590436 arm64/am62x: add core boot and serial support
Add the AM62x architecture support needed to boot NuttX on TI K3
AM62x platforms. This includes the chip integration, memory map, IRQ
definitions, low-level console support, boot code, and the AM62x 16550
serial lower half.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +08:00
Piyush Patle
cfd374587e drivers/serial/16550: fix AM62x console bring-up
Adjust the generic 16550 driver for the AM62x console path. Preserve
the FIFO programming sequence needed by the TI UART, keep the bootloader
owned early console state when requested, and drain the transmit buffer
correctly when polling mode is enabled.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +08:00
Piyush Patle
fd2fe246cc arm64/common: enable EL1 GICv3 sysreg access from EL2
AM62x enters NuttX through EL2 before dropping to EL1. Enable the
GICv3 system register interface for lower exception levels during the
EL2 handoff so EL1 can use the CPU interface without depending on
firmware state.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-05-28 22:21:38 +08:00
hanzj
331caeb475 Documentation: document ping6 command.
Add documentation for the ping6 ICMPv6 ECHO request command.
The ping6 tool sends ICMPv6 ECHO_REQUEST packets to a remote
IPv6 host and reports round-trip times and packet loss statistics.

Refs #11081

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-28 09:43:31 -03:00
Nazmi Aras
433312e81f arch/armv7-r: fix duplicate arm_perf.o build rule in flat build
Guard CMN_UCSRCS += arm_perf.c in arch/arm/src/armv7-r/Make.defs so that arm_perf.o is not added twice during flat builds, preventing the duplicate target make error.

Signed-off-by: Nazmi Aras <nazmi.aras@t3gemstone.org>
2026-05-28 14:16:03 +02:00
Erkan Vatan
15354fc7c5 docs/boards: Add documentation for t3-gem-o1 board.
Add documentation for the T3 Gemstone O1 (t3-gem-o1) development board,
including board specifications, serial console, available
configurations (nsh), and installation instructions via RemoteProc.

Signed-off-by: Erkan Vatan <evatan@t3gemstone.org>
2026-05-28 14:16:03 +02:00
Erkan Vatan
9bb24d43ce boards/arm/am67: Add support for t3-gem-o1 board.
This commit introduces basic support for the T3 Gemstone O1 (t3-gem-o1)
development board, including board configuration, linker scripts, and
drivers for NSH. Currently only UART console is supported.
All necessary files and configurations are added to enable building and
running NuttX on this TI AM67-based board.

Co-authored-by: Emre Cecanpunar <emreleno@gmail.com>
Co-authored-by: Abdullah Türkmen <abdullahturkmen@protonmail.com>
Co-authored-by: Muhammet Onur Bayraktar <mobayraktar@t3gemstone.org>
Co-authored-by: Bayram Akay <bakay@t3gemstone.org>
Co-authored-by: Nazmi Aras <nazmi.aras@t3gemstone.org>
Signed-off-by: Erkan Vatan <evatan@t3gemstone.org>
2026-05-28 14:16:03 +02:00