Commit graph

136,983 commits

Author SHA1 Message Date
Peter Wang
748a0ec009 boards: frdm_mcxa577: use lpuart1 to match frdm board
1. use lpuart1 to match frdm board

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2026-02-03 12:13:16 +00:00
Marcelo Roberto Jimenez
ebdbab5b52 drivers: serial: uart_shell.c: Enhance the uart shell
This patch enhances the UART shell by:

- Adding a config command to display the UART configuration;
- Displaying the current configuration when the command misses the last
  parameter (usefull for command line editing).

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-02-03 12:12:53 +00:00
Krzysztof Chruściński
f89b82f19c tests: drivers: uart: async_api: Remove baudrate limit from nRF targets
nRF targets no longer need to reconfigure
CONFIG_VAR_LENGTH_BUFFER_TEST_BUADRATE_LIMIT as test is passing with
the default settings.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
6bb81db0b4 tests: drivers: uart: Aligning Nordic configurations
Aligning configurations for Nordic targets after changes in the driver.
CONFIG_UART_x_NRF_HW_ASYNC_TIMER option is deprecated. Where valid
Device Tree configuration is added.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
6e65fbe585 drivers: serial: nrfx_uarte: Refactor byte counting with TIMER
Some time ago a receiver mode for newer SoCs was introduced. It is
using TIMER to count RX bytes via PPI. Due to changes in the system
behavior it is not the same implementation as the one used on
legacy targets (nRF52x, nRF53x and nRF91x). New implementation is
using the Device Tree to assign a TIMER instance and old feature was
using Kconfig which is now obsolete and error prone since it is
easy to get resource usage conflict is some instances are managed
in Device Tree and some in Kconfig.

As a result to reliably receive data without HWFC user had to use
different configuration depending on the target.

Legacy implementation was using nrfx_timer and new one used HAL.

Patch attempts to align better those two similar but different
implementations by:
- deprecating Kconfig symbols for selecting TIMER instance in favor
  of the Device Tree
- extracting common part like PPI initialization and some control
 block fields
- Using TIMER HAL in both implementations.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
ce2a264a87 samples: modem: Update configuration for nrf9160dk
In sample that is using a cellular modem on nrf9160dk the UART driver
feature was enabled to use TIMER peripheral for byte counting. It used
to be required to reliably received data even with HWFC. Some time ago
default receiver has been changed and UART with HWFC is able to reliably
receive data without need of using TIMER and PPI for byte counting.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
6e09370ff2 tests: drivers: uart: uart_errors: Fix nrf54l overlays
RX pin must have pull-up like in other boards. It is needed because
2 UART instances are connected and order of initialization is unknown
so if receiver is initialized before the transmitter then RX pin may
float and it can result in the unexpected receiver error.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
0e7e847111 tests: drivers: uart: async_dual: Add pull-up to sleep state
Add pull-ups to all pins when in sleep state. Otherwise, those pins are
floating and can lead to test failures.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
d19693e865 tests: drivers: uart: async_dual: Extend test
Extend test to run a scenario where receiver is continuously providing
1 byte buffers and tries to receive loselessly data to that short
buffers.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
7979d37f42 drivers: serial: nrfx_uarte: Fix short RX buffers handling
Interrupt handler was handling events in a following order:
ENDRX, RXSTARTED, RXTO. This could lead to error if RX buffer
is short then with high baudrate RXSTARTED for the current
buffer could be handled together with ENDRX and in that case
uart_rx_buf_rsp called from RXSTARTED would return error as
reception is already finished due to handled ENDRX.

Reworking the driver to change that order to RXSTARTED, ENDRX,
RXTO.

Additionally, driver is optimize to only check HW events for
enabled interrupts. To achieve that, RX path interrupts are
all disabled then RX is disabled.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
dba9997a50 drivers: serial: nrfx_uarte: Cleanup
Remove parts of implementation which are no longer in use.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Krzysztof Chruściński
c3d5ff1ad0 tests: drivers: uart: async_dual: Fix nrf9160dk configuration
To pass the test with chopped TX data a dedicated TIMER for byte
counting need to be used.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-03 12:12:41 +00:00
Fin Maaß
a06e4b271f spi: litex: litespi: move spi_context_update_tx
With writing to `master_rxtx_addr` the transfer starts
and with that the interrupt for rx can also come at any time after it.
If that interrupt happens during
spi_context_update_tx, it can lead to some undefined behavior.
In my case I got a `Load access fault` due to some later code,
then wanting to read a write only area. Probably
`tx_count` in `struct spi_context` being decremented one to many,
so it would be the max value of size_t.

Also we don't want to do `spi_context_update_tx`
before `spi_context_wait_for_completion()`. As
it contains `spi_context_total_tx_len()` and that
needs the not incremented `current_tx`.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-03 13:08:46 +01:00
Torsten Rasmussen
f6aff5b460 cmake: align SNIPPET_ROOT with other Zephyr '<type>_ROOT' lists
Zephyr `<type>_ROOT`s, such as `BOARD_ROOT`, `DTS_ROOT`, `SCA_ROOT`,
are initialed by ROOT settings provided through CMake variable
`<type>_ROOT`, Zephyr base, and root settings specified in Zephyr
module's `zephyr/module.yml` file.

`SNIPPET_ROOT` didn't follow the same pattern as it also included
application source dir.

This commit aligns `SNIPPET_ROOT` to follow same principle for
constructing other Zephyr `<type>_ROOT` lists.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2026-02-03 13:08:20 +01:00
Hake Huang
8c96cc5432 modules: hal_nxp: mcux: always enable lpcflexcomm component when used
lpcflexcomm fixes

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-02-03 13:06:59 +01:00
Hake Huang
78cb3b421c drivers: clock_control: mcux: fix RW6xx syscon clock rates
RW6xx syscon clock rates fixes

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-02-03 13:06:27 +01:00
Daniel Leung
aaf5fa2038 boards: snps/nsim: fix props filename
The BOARD_QUALIFIERS no longer contains a leading '/' so to
extract the base filename, we need to start one character
earlier so that NSIM_BASE_FILENAME contains the correct stem
which is used to find the props files.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-03 13:05:44 +01:00
Waqar Tahir
436d2e3673 samples: tfm: Enable mcxn947 psa-test samples
Add mcxn947 for psa-based samples and
secure partition sample

Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
2026-02-03 13:05:20 +01:00
Waqar Tahir
94c532ea01 manifest: psa-arch-tests: support for MCXN947
Update PSA-Arch-tests to support testing of MCXN947
based boards.

Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
2026-02-03 13:05:20 +01:00
Lyle Zhu
6e003239e5 Bluetooth: Host: GOEP: force 16-bit FCS for L2CAP ERTM
Set the FCS option to BT_L2CAP_BR_FCS_16BIT for enhanced retransmission
mode in both L2CAP accept and connect paths to work around an
interoperability issue with iPhone devices.

The issue occurs when connecting to iPhone for PBAP or MAP profiles,
where the iPhone expects the 'No FCS' option to be applied but does
not include the 'No FCS' option in its L2CAP_CONFIGURATION_REQ packet.
Forcing 16-bit FCS ensures proper configuration negotiation.

Changes include:
- Set rx.fcs to BT_L2CAP_BR_FCS_16BIT in goep_l2cap_accept()
- Set rx.fcs to BT_L2CAP_BR_FCS_16BIT in
  bt_goep_transport_l2cap_connect()

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-02-03 13:03:09 +01:00
Román Cárdenas Rodríguez
1e1240edfb drivers: intc: plic: add build test for warm boot option
Add a build test to check that CONFIG_PLIC_WARM_BOOT compiles

Signed-off-by: Román Cárdenas Rodríguez <rcardenas.rod@gmail.com>
2026-02-03 13:02:01 +01:00
Pierre-Henry Moussay
1fd1b30b53 drivers: intc: plic: add option to disable priority init
In case of a warm boot, e.g., a boot in Asymmetric MultiProcessing
(AMP), the responsability of the priority initialisation should be
on the host only, as the priority are not set per context.

Signed-off-by: Román Cárdenas Rodríguez <rcardenas.rod@gmail.com>
Signed-off-by: Pierre-Henry Moussay <pierre-henry.moussay@microchip.com>
2026-02-03 13:02:01 +01:00
Pierre-Henry Moussay
c5a007406c drivers: intc: plic: add riscv_plic_irq_complete
Add riscv_plic_irq_complete and make it available for kernel.
This is useful for Asymmetric MultiProcessing (AMP) configuration,
where the platform can be rebooted from the host side and the request
is processed in a interruption context.

Signed-off-by: Román Cárdenas Rodríguez <rcardenas.rod@gmail.com>
Signed-off-by: Pierre-Henry Moussay <pierre-henry.moussay@microchip.com>
2026-02-03 13:02:01 +01:00
Fabian Blatz
935a8f7cee drivers: flash: renesas_ra_hp: Replace Z_OOPS with K_OOPS
Replace usage of Z_OOPS with K_OOPS.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-02-03 09:46:03 +01:00
Fabian Blatz
6486a378fa drivers: haptics: Fix userspace handlers
Replace usage of Z_OOPS with K_OOPS.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-02-03 09:46:03 +01:00
Gaetan Perrot
fe49ab15bf dts: bindings: i3c: fix typos in bindings
Fix multiple spelling errors in I3C dts bindings descriptions.

No functional changes.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-03 09:45:12 +01:00
Hake Huang
901b23409c boards: vmu_rt1170: add BOARD_VMU_RT1170_MIMXRT1176_CM4
add M4 core support to vmu_rt1170

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-02-03 09:45:03 +01:00
Nicolas Pitre
7fb8f34c87 ztest: fix recursive panic when fatal error occurs pre-kernel
When a fatal error occurs before the kernel is fully initialized
(e.g., during early boot), the ztest fatal error handler would call
k_current_get() which now contains an assertion that fails if called
pre-kernel (added in commit 5ce408b647 ("kernel: assert if
k_current_get is called pre-kernel")). This assertion failure
triggers another panic, creating an infinite recursion that floods
the console with nonsensical values.

Check k_is_pre_kernel() to decide which method to use: _current
directly when pre-kernel (to avoid the k_current_get assertion), or
k_current_get() otherwise for proper userspace and TLS support.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-03 09:43:42 +01:00
Lauren Murphy
c5e649626b llext: remove platform_excludes for fixed #80949
Removes platforms excluded for #80949, which has been fixed.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2026-02-03 09:42:30 +01:00
John Batch
e59b178280 dts: infineon: psoc4100tp: Correct pinmux definitions for UART on SCB1
Corrects pinmux definitions for SCB1 UART on P6 to match the datasheet.
Corrects pinmux definition for P0.2 scb0_uart_cts.

Signed-off-by: John Batch <john.batch@infineon.com>
2026-02-03 09:41:59 +01:00
Zafer SEN
363cb07bcb include: hl78xx: improve Doxygen documentation and structure
Enhance the HL78xx public API header with comprehensive Doxygen
documentation. Replace legacy comments with structured Doxygen blocks,
expand enum and macro descriptions, and document API function pointer
signatures and GNSS callback types.

Group constants using @defgroup, add missing parameter docs, annotate
event structures, GNSS types, and RAT/CFUN definitions, and improve
readability of modem info and network APIs.

No functional changes; documentation only.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
d5482a55b5 drivers: modem: hl78xx: centralize AT command and script timeouts
Replace hardcoded numeric timeout values with named HL78XX_CMD_TIMEOUT_*
and HL78XX_SCRIPT_TIMEOUT_* constants. These values follow the HL78xx
AT Command Reference Guide recommended timing ranges.

Update all chat script definitions to use the new timeout groups:
- FAST, SHORT, MEDIUM, LONG, VERY_LONG, EXTENDED command timeouts
- INIT, POST_RESTART, PERIODIC, NETWORK, POWEROFF, GNSS script timeouts

This improves maintainability, avoids duplicated magic numbers, and
aligns timing behavior across the driver and chat scripts.

No functional changes intended aside from consistent timeout handling.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
9a36b7f1a5 samples: modem: hello_hl78xx: add GNSS demo & event callbacks
Add HL78xx GNSS support to the sample, including GNSS data/satellite
callbacks, optional auxiliary NMEA parsing, and a guided demo flow
that runs GNSS first when the modem boots in minimum functionality.

Key changes:
- Disable shell wildcard expansion to avoid unintended command matches
  (CONFIG_SHELL_WILDCARD=n).
- Enable GNSS core and HL78xx GNSS integration.
- Configure satellites reporting and cap to 24 for concise logs.
- Start GNSS in AUTO mode and use GPS+GLONASS constellations.
- Boot modem in airplane (minimum functionality) to allow GNSS RF use.
- Support GNSSLOC (latest known fix) as an alternative to NMEA.
- Add optional NMEA output path and auxiliary NMEA sentence parsing.
- Add detailed logging for fixes, quality, HDOP, and satellites-in-view.
- Handle GNSS engine lifecycle and position events via evt monitor.
- Provide demo flow to:
  1) Enter GNSS mode, 2) queue search, 3) wait for fix,
  4) optionally query GNSSLOC, 5) exit GNSS and return to LTE.
- Rework sample boot path to run GNSS before LTE when not fully
  functional, then reconnect to the network.
- After successful FOTA, re-run the app path to show updated modem info.

Behavior and impact:
- When GNSS is disabled, sample behavior remains unchanged.
- When GNSS is enabled, sample can collect a fix before LTE attach.
- LTE/GNSS RF sharing is respected; GNSS start is blocked if LTE is
  active; airplane mode is used to permit GNSS operation.
- Enhanced logs improve visibility during field testing and demos.

Configuration highlights:
- CONFIG_SHELL_WILDCARD=n
- CONFIG_GNSS=y
- CONFIG_HL78XX_GNSS=y
- CONFIG_GNSS_SATELLITES=y
- CONFIG_HL78XX_GNSS_SATELLITES_COUNT=24
- CONFIG_HL78XX_GNSS_START_MODE_AUTO=y
- CONFIG_HL78XX_GNSS_CONSTELLATIONS_GPS_GLONASS=y
- CONFIG_MODEM_HL78XX_BOOT_IN_AIRPLANE_MODE=y
- CONFIG_HL78XX_GNSS_SOURCE_LOC=y
- Optional NMEA/AUX:
  - CONFIG_HL78XX_GNSS_SOURCE_NMEA=y
  - CONFIG_HL78XX_GNSS_AUX_DATA_PARSER=y
  - CONFIG_HL78XX_GNSS_ADVANCED_NMEA_CONFIG=y
  - CONFIG_HL78XX_GNSS_NMEA_{VTG,GNS,GLL,ZDA}=y

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
3bfd923e64 samples: net: aws_iot_mqtt: tune HL78xx overlay for TLS and memory
Adjust the SWIR HL78xx EVK overlay to improve stability and TLS
compatibility when connecting to AWS IoT.

- Increase main stack and heap sizes for MQTT/TLS workloads
- Select an RSA-based TLS cipher suite supported by AWS IoT
- Disable the ECDSA-only cipher suite not used with RSA certificates

No functional logic changes; configuration-only update for the sample.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
f54ada756e drivers: modem: hl78xx: clean up documentation comments in API header
Convert modem info enum comments from placeholder syntax to proper
Doxygen `/** ... */` style and replace angle‑bracket markers with
escaped forms inside inline documentation.

Also fix comment formatting in RSSI/RSRP parsing helpers so that
embedded AT command response formats render correctly in generated
docs.

No functional changes; documentation-only cleanup.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
2599451754 drivers: modem: hl78xx: add optional A-GNSS assistance support
Introduce optional Assisted GNSS (A-GNSS) support for HL78xx GNSS using
AT+GNSSAD commands (MODEM_HL78XX_12 only).

Add Kconfig to enable the feature, extend the GNSS driver state to keep
A-GNSS validity/expiry, and add chat parsing for +GNSSAD responses.

New public APIs allow applications to:
- query assistance status (AT+GNSSAD?)
- request assistance download for supported day values
  (AT+GNSSAD=1,<days>)
- delete stored assistance data (AT+GNSSAD=0)

The feature is guarded by CONFIG_HL78XX_GNSS_SUPPORT_ASSISTED_MODE and
adds no behavior changes when disabled.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
50a8efb8f6 drivers: modem: hl78xx: Add GNSS support
Add comprehensive GNSS functionality to the HL78xx modem driver,
enabling GPS/GLONASS positioning for Sierra Wireless HL78xx modules.

Key features:
- GNSS data acquisition via NMEA0183 and proprietary GNSSLOC
- Automatic RF path management (GNSS requires airplane mode)
- State machine integration for LTE ↔ GNSS mode switching
- Configurable NMEA sentence output and satellite tracking
- Search timeout and configuration safety checks
- Event-based position updates and satellite info

Architecture:
The implementation uses explicit mode switching APIs
(hl78xx_enter_gnss_mode/hl78xx_exit_gnss_mode) to manage the
shared RF path between LTE and GNSS. The HL78xx hardware shares
RF components between the LTE and GNSS radios, preventing
simultaneous operation.

Currently, GNSS mode requires entering airplane mode (CFUN=4) to
disable the LTE radio. This approach is necessary because the
driver does not yet implement PSM (Power Saving Mode) or
Idle-eDRX, which would allow GNSS operation during LTE idle
periods. Future enhancements can leverage these power-saving modes
to enable GNSS searches without fully disabling LTE connectivity.

A pending request mechanism handles early GNSS mode requests that
arrive before modem initialization completes, ensuring reliable
startup behavior in both fully-functional and airplane boot modes.

The driver integrates with Zephyr's GNSS subsystem and provides
HL78xx-specific extensions through a dedicated API header.

New files:
- drivers/modem/hl78xx/hl78xx_gnss.c/h: Core GNSS driver
- drivers/modem/hl78xx/hl78xx_gnss_parsers.c/h: NMEA/GNSSLOC parsing
- include/zephyr/drivers/modem/hl78xx_apis.h: Extended public APIs

Tested on HL7802/HL7812 modules with various GNSS scenarios.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
45e9de9cd8 drivers: modem: hl78xx: harden DNS retry and socket RX parsing
Make DNS reconfigure path report errors and allow retries instead of
silently continuing after failures.

- Change dns_work_cb() to return int and propagate error conditions
- Reschedule DNS work on -EAGAIN in carrier-on timeout handler
- Log DNS update failures from +CGCONTRDP parsing

Improve socket receive robustness and concurrency.

- Move RX ring buffer from global to per-device instance storage
- Replace parser state booleans with atomic bit flags
- Reset parser flags at init and after completed transfers
- Add clearer error logs and propagate specific receive failures
- Use compact initializer style for crafted net_msghdr
- Raise parent mismatch log from warning to error

No functional behavior change expected on success paths, but failures
now surface and recovery can be retried.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
6a7a0f4d36 drivers: modem: hl78xx: register PM handler via pm_device_driver_init()
Remove CONFIG_PM_DEVICE guards around the HL78xx PM handler so it is
always compiled. Register the driver PM action with
pm_device_driver_init() during init and return its result. Drop the
manual resume path and pm_device_init_suspended() branch.

This aligns the driver with the Zephyr PM framework and lets the PM core
manage suspend/resume consistently.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
200a16d25c drivers: modem: hl78xx: add async dynamic command API
Introduce CONFIG_MODEM_HL78XX_COMMAND_BUFFER_SIZE to control the AT
command buffer size. Add cmd_buffer and cmd_len to modem_buffers and
dynamic_script/dynamic_chat to hl78xx_data to support dynamic scripts.

Add modem_dynamic_cmd_send_async() to send commands asynchronously with
response matching and a user callback. This complements the existing
synchronous path and improves flexibility for non-blocking operations.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Zafer SEN
0e1abaef77 drivers: modem: hl78xx: correct AT shell script timeout units
The MODEM_CHAT_SCRIPT_DEFINE timeout parameter was mistakenly treated as
milliseconds, but the API expects the value in seconds. Update the
timeout from CONFIG_MODEM_AT_SHELL_RESPONSE_TIMEOUT_MS to a fixed value
of 5 to reflect the correct unit.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-02-03 09:41:36 +01:00
Lyle Zhu
fe68ab16d5 Bluetooth: Classic: HFP AG: skip callback if AG is disconnected
Move state retrieval before error handling to ensure it's always
available for subsequent checks. Add a check to prevent executing
the callback when the AG connection is in a disconnected state.

This prevents potential use-after-free or invalid state access when
the callback is invoked after the AG has been disconnected, improving
the robustness of the notification work handler.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-02-03 09:39:51 +01:00
Jordan Yates
aef8510c6b tests: drivers: build_all: charger: add zephyr,charger-gpio
Add the `zephyr,charger-gpio` driver to the build all test.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-02-03 09:38:52 +01:00
Jordan Yates
9a10cf1d1e charger: charger_gpio: added
Add a basic driver for exposing a GPIO controlled charger through the
charger API.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-02-03 09:38:52 +01:00
Daniel Leung
a5a9ff4c28 xtensa: handle instruction TLB multi-hit exception
When using LLEXT, instruction TLB multi-hit becomes a reality
as the same memory space can be occupied by different modules
with different permissions. The ITLB cache may still contain
entries of the unloaded module. So we need to manually
invalidate any cached ITLB corresponding to the exception
address so the TLB associated with the newly loaded module
can be used.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-03 09:38:03 +01:00
Daniel Leung
9b9e9ebde7 xtensa: mmu: data TLB multi-hit only handle exception address
There is no need to invalidate the whole auto-refilled data TLB
cache when DTLB multi-hit exception is raised. Now it only
invalidates the TLB entries corresponding to the one causing
the DTLB multi-hit. This allows other non-related TLB entries
to remain in the cache so they don't need to be reloaded.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-03 09:38:03 +01:00
Daniel Leung
599df95875 xtensa: return back to interrupted thread for certain exceptions
For both data TLB multi-hit and load/store ring error, we should
return to the interrupted thread immediately so that it can get
past the exception generated code. It is because both of these
exceptions are the result of having cached TLB entries not
aligning to the correct access pattern. So once we have handled
the exception, go back to the interrupted thread to continue
to minimize the chance of having another incompatible TLB being
cached.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-03 09:38:03 +01:00
Daniel Leung
27e4802621 xtensa: remove unnecessary setting of is_fatal_error during exc
There is no need for an extra switch block to manipulate
the value of is_fatal_error, which defaults to false, and is set
according to the actual exception above. So remove that.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-03 09:38:03 +01:00
Pisit Sawangvonganan
08d4cf1c1f drivers: spi: place API into iterable section
Add the `DEVICE_API` wrapper to the remaining `spi_driver_api` instances,
ensuring that each driver API is placed in its respective linker section.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-02-03 09:36:43 +01:00
Nicolas Pitre
a8b18fd4af doc: security: Add ARM PAC/BTI to control flow integrity documentation
Document ARM Pointer Authentication (PAC) and Branch Target
Identification (BTI) in the control flow integrity guide, parallel
to the existing Intel CET documentation.

Also reorganized the limitations section to be specific to Intel CET
rather than appearing as a general CFI limitation.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-02-03 09:36:09 +01:00