Commit graph

136,983 commits

Author SHA1 Message Date
Felix Wang
94f525eeb9 dirvers: pwm: Fix pwm_mcux_tpm build error.
Combine mode is not for all TPM IP depneds
on IP version, which is necessary for PWM capture feature.
Add pre-process check and wrap
mcux_tpm_capture_data with CONFIG_PWM_CAPTURE macro.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-16 17:09:56 +03:00
Alberto Escolar Piedras
8e90dc222f manifest: update EDTT to latest
Update the HW models module to:
c282625e694f0b53ea53e13231ea6d2f49411768

Including the following:
c282625 Fix broken link in Readme.md

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-16 17:09:47 +03:00
Benjamin Cabé
61d38979fc ci: doc-build.yml: do not tweak manifest.project-filter unnecessarily
The documentation build shouldn't need to pull in anything beyond what's
active by default in the west.yml manifest. In fact, due to the way the
manifest_projects_table.py script currently works, it is important that
have a local west config that's "vanilla" so that the table of
active/inactive projects is correct.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-16 17:09:36 +03:00
Alberto Escolar Piedras
499f23f236 drivers: modem: sim7080: Remove orphan file
drivers/modem/simcom-sim7080.c is not built.
And the author indicates it was added to the tree in error.
Let's remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-16 17:09:25 +03:00
Alberto Escolar Piedras
d6420bb1c7 drivers: modem: sim7080: Fix invalid call to strtok_r
The second parameter to strtok_r cannot be null.
It is the separator strtok is meant to search for, and it is
not kept anywhere in the saved state (the saved state
is just a pointer to the next piece of the original string).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-16 17:09:25 +03:00
Alberto Escolar Piedras
0778076972 drivers: modem: sim7080: Fix missing prototype of strtok_r
strtok_r is a POSIX extension of string.h. To ensure this C library
header provides the prototype we need to define _POSIX_C_SOURCE.
So let's do so.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-16 17:09:25 +03:00
Pieter De Gendt
aad2408b30 scripts: Don't use isort known-first-party
Partially revert 1bcc0652241af70d0b28aee155f260cd9ca0fc74

This change impacts all other scripts that import those modules, while
those weren't updated.

It will be hard to maintain this list, whilst keeping the entire tree
compliant.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-10-16 17:09:14 +03:00
Qingsong Gou
bcc4689cd0 drivers: watchdog: add watchdog driver for sf32lb platform
Add initial watchdog driver for SF32LB platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-15 17:38:09 -04:00
Qingsong Gou
7bd0604631 dts: arm: sifli: sf32lb52x: add watchdog def
Add watchdog controller

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-15 17:38:09 -04:00
Qingsong Gou
69c6cc79c9 dts: bindings: watchdog: add watchdog bindings
Add watchdog bingdings for sf32lb

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-15 17:38:09 -04:00
Lukas Gehreke
9e69628d5e drivers: modem: sim7080: Made dns timeout and retry configurable
Timeout and retries for DNS lookups were hardcoded. This commit
introduces kconfig settings for the default values and functions
for runtime configuration.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
d81dbba660 drivers: modem: sim7080: Added missing doxygen docu to public header.
Added missing doxygen comments to public header.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
11710b6cf1 drivers: modem: sim7080: removed error label in modem_setup
Removed label because the compliance checks fail.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
2659d38a9a drivers: modem: Fixed style issues of sim7080 driver
Fixed zephyr style violations.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
7e20fd8842 drivers: modem: sim7080: Allwing ftp when networking is already active
Added check that makes sure ftp works when the network context is
already active.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
aa270c04e8 drivers: modem: sim7080: added force reset function.
Added function to forcefully reset the modem by holding the pwrkey
for 15 seconds.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
b991d778ed drivers: modem: sim7080: querying xtra validity during gnss start
Starting gnss with xtra functionality is only possible if the
validity of the xtra file was queried. Enabling xtra will be skipped
if the file is not valid

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
e8b9a8a88e drivers: modem: sim7080: added function to query local time
Added funtion to query local time and added injection time to
gnss xtra validity query function.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
bc6584cd8b drivers: sim7080: implemented gnss xtra functionality.
Added funtions to download a gnss xtra file, query its validity
and use it in gps.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
0a0c595c12 drivers: modem: sim7080: added command to inquire ue system information
Added command to query ue system information from the modem.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
2727c2d461 drivers: modem: sim7080: added function to query the modem state.
Added function to query the modem state from application side.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
0d4757b07c drivers: modem: Added battery measurement function for sim7080
Added function to measure battery voltage, battery charge status
and battery connection level.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
c1e765dcad drivers: modem: sim7080: added function to get iccid
Added function to get the iccid number.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
08e665360e drivers: modem: sim7080: added gpio set function
Added functionality to set modem gpio pins.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
60fa41300a drivers: modem: sim7080: preventing recvfrom hangup on closed socket
If a socket gets closed by the network while waiting on data
in offload_recvfrom this would hangup forever since modem_socket_wait_data
does not support timeouts. When the socket gets closed this wait is
unblocked.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
c4ee364d48 drivers: modem: sim7080: socket can be closed if not connected
Removed connected check from offload_close in order to be able
to close non-connected sockets.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
c72f903a00 drivers: modem: sim7080: fixed socket connect behavior
The modem handler error can not be used to transport the result
of CAOPEN since it is overwritten by the trailing OK.
Socket does not get closed forcefully when connecting failed.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
5dcab4fb7a drivers: modem: sim7080: Corrected socket send sequence.
Query available tx size before sending data instead of using
hardcoded number. Removed unnecessary strg+z send after data.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
b2cd9f98d2 drivers: modem: fixed offload_connect for sim7080
Connection id and pdp index were swapped. Corrected this and
hardcoded pdp index since 0 is always used as index.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
8324f86754 drivers: modem: sim7080: removed sleep from offload_sendmsg
Removed sleep to prevent infinite loop in sendmsg.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
534a758863 drivers: modem: corrected sim7080 socket error codes.
Socket functions return EINVAL instead of EAGAIN when modem is
not in networking mode. Using EAGAIN could lead to a infinite sleep
loop in offload_sendmsg().

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
0347fc80c6 drivers: modem: moved sim7080 socket related urc handling to socket file
Moved socket related urc handling to dedicated file.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
fcf9bdce36 drivers: modem: sim7080: added stop functions for network and gnss
Network and gnss can be disabled with stop functions instead of power
cycling the modem. The start functions will also not power cycle the
modem. In order to call the start functions the modem needs to be
booted.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
3f011f1313 drivers: modem: Implemented boot modes for sim7080
Modem can either attach to network after initialization or be turned
off.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
a720cade17 drivers: modem: sim7080: own file for pdp handling
PDP context handling takes place in separate source file for better
readability.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
8c7c5f4ec1 drivers: modem: Added modem model check to sim7080 driver
Check the modem model on boot.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
1e95b68a08 drivers: modem: Using fixed baudrate for sim7080
On first boot a fixed baudrate is set for the sim7080. This makes power
on detection more reliable.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Lukas Gehreke
4527709919 drivers: sim7080: Own simcom modem driver directory
Placed sim7080 driver in separate directory and split it in multiple
source files for better readability.

Signed-off-by: Lukas Gehreke <lk.gehreke@gmail.com>
2025-10-15 17:37:58 -04:00
Arunmani Alagarsamy
2c4c38dd88 doc: wifi: siwx91x: Add documentation for Wi-Fi features
Add documentation for regulatory domain configuration, maximum TX
power, and RTS threshold support in the SiWx91x Wi-Fi driver.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-10-15 17:37:22 -04:00
Maochen Wang
1bb4e5dacd boards: nxp: set default value for NXP_FW_DUMP_FLASH_START_ADDR
Set different default value for NXP_FW_DUMP_FLASH_START_ADDR, based on
mimxrt1060_evk board and rw612 soc.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Maochen Wang
2043603363 samples: net: wifi: enable NXP_WIFI_FW_DEBUG for RW612 and IW610
Enable NXP_WIFI_FW_DEBUG for RW612 and IW610 to support save FW dump
into flash for debug purpose.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Maochen Wang
fdbc464489 modules: hal_nxp: build flexspi and mflash for FW dump case
Build flexspi and mflash to support save the FW dump into flash for
debug purpose.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Maochen Wang
8bb7d35d75 drivers: wifi: nxp: update Kconfig to support FW dump
Remove the redundant dependency of NXP_WIFI_EXTRA_DEBUG in Kconfig.
Add NXP_FW_DUMP_FLASH_START_ADDR for the start address in flash to
store FW dump.
Add NXP_FW_DUMP_FLASH_ERASE_LENGTH for the erased length in flash
to store FW dump.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Maochen Wang
078d9729fd manifest: sync hal_nxp to upgrade NXP wifi driver
upgrade wifi driver version to r52.p11.
fix several bugs and support fw dump.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-10-15 17:37:11 -04:00
Sebastian Bøe
35b89abd61 soc: nordic: uicr: Add safety flag for permanent device transition
Add --permit-permanently-transitioning-device-to-deployed safety flag
to gen_uicr.py, required when enabling both UICR.LOCK and
UICR.ERASEPROTECT together. This prevents accidental permanent locking
of devices since this combination makes the configuration irreversible.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
1438f8ae69 soc: nordic: uicr: Add support for UICR.APPROTECT
Add support for UICR.APPROTECT configuration, which controls debugger
and access-port permissions through the TAMPC peripheral.

This introduces three Kconfig options that allow independent control
over access port protection for different processor domains:

- GEN_UICR_APPROTECT_APPLICATION_PROTECTED: Controls debug access to
  the application domain processor
- GEN_UICR_APPROTECT_RADIOCORE_PROTECTED: Controls debug access to
  the radio core processor
- GEN_UICR_APPROTECT_CORESIGHT_PROTECTED: Controls access to the
  CoreSight debug infrastructure

When enabled, each option sets the corresponding UICR.APPROTECT
register to PROTECTED (0xFFFFFFFF), which disables debug access for
that domain. When disabled, the registers remain at their erased value
(UNPROTECTED), allowing full debug access.

This feature is critical for production devices where debug access must
be restricted to prevent unauthorized access to sensitive code and data.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
e20352d80a soc: nordic: uicr: Add support for UICR.ERASEPROTECT
Add support for UICR.ERASEPROTECT configuration, which blocks ERASEALL
operations to prevent bulk erasure of protected memory.

This introduces a Kconfig option GEN_UICR_ERASEPROTECT that enables
blocking of ERASEALL operations on NVR0, preserving UICR settings even
if an attacker attempts a full-chip erase.

This is a critical security feature for production devices. When enabled
together with UICR.LOCK, it becomes impossible to modify the UICR in
any way, establishing a permanent device protection scheme. Due to this
irreversibility, it should only be enabled during the final stages of
production.

When enabled, the gen_uicr.py script sets UICR.ERASEPROTECT to
0xFFFFFFFF, which prevents the ERASEALL command from affecting the
NVR0 page.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
1ffdf09c25 soc: nordic: uicr: Add support for UICR.LOCK
Add support for UICR.LOCK configuration, which locks the entire UICR
configuration in NVR0 to prevent unauthorized modifications.

This introduces a Kconfig option GEN_UICR_LOCK that enables locking
of the UICR. Once locked, the UICR can only be modified by performing
an ERASEALL operation.

This is a critical security feature for production devices, typically
enabled alongside UICR.APPROTECT, UICR.PROTECTEDMEM, and
UICR.ERASEPROTECT to establish a complete device protection scheme.

When enabled, the gen_uicr.py script sets UICR.LOCK to 0xFFFFFFFF,
which configures the NVR0 page as read-only and enforces integrity
checks on the UICR content.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
c3f6b8cb34 soc: nordic: uicr: Add support for UICR.SECONDARY.PROTECTEDMEM
Add support for UICR.SECONDARY.PROTECTEDMEM configuration, which enables
configuration of the protected memory region for secondary firmware.

This introduces Kconfig options for configuring:
- GEN_UICR_SECONDARY_PROTECTEDMEM - Enable/disable protected memory
  for secondary firmware
- GEN_UICR_SECONDARY_PROTECTEDMEM_SIZE_BYTES - Size of the protected
  memory region in bytes

The implementation validates that the configured size is divisible by
4096 bytes (4 KiB) as required by the hardware, and converts it to
4 KiB units when writing to UICR.SECONDARY.PROTECTEDMEM.SIZE4KB.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00
Sebastian Bøe
9dc2b614d6 soc: nordic: uicr: Add support for UICR.SECONDARY.TRIGGER
Add support for UICR.SECONDARY.TRIGGER configuration, which enables
automatic booting of secondary firmware based on specific reset reasons.

This introduces Kconfig options for configuring:
- UICR.SECONDARY.TRIGGER.ENABLE - Enable/disable automatic triggers
- UICR.SECONDARY.TRIGGER.RESETREAS - Bitmask of reset reasons that
  trigger secondary firmware boot

Individual Kconfig options are provided for each reset reason:
- APPLICATIONWDT0/1 - Application core watchdog timeouts
- APPLICATIONLOCKUP - Application core CPU lockup
- RADIOCOREWDT0/1 - Radio core watchdog timeouts
- RADIOCORELOCKUP - Radio core CPU lockup

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-10-15 17:37:02 -04:00