Drivers: TI CC23x0
Stoyan Bogdanov and Julien Panis worked on CC23x0 SoC support.
Stoyan added I2C controller mode support, PWM support for LGPT0-3, RTC timer driver and configuration to select between RTC and SYSTIM. He implemented SoC-level power management with runtime-idle, standby, and soft-off states. He added power management to GPIO, I2C, PWM, LGPT counter and RTC counter drivers. He also added I2C and PWM support to the lp_em_cc2340r5 board along with a board overlay in BME280 sample. He become collaborator for TI SimpleLink Platforms.
Julien Panis added power management support to ADC, crypto, DMA, serial, and SPI drivers. He also added Devicetree bindings and board support for the external 32.768 kHz crystal oscillator (LFXT) connected across X32P and X32N pins on the lp_em_cc2340r5 board.
Kernel
ARM64
Nicolas Pitre fixed SMP TLB invalidation on ARM64 by using Inner Shareable (IS) instructions TLBI VMALLE1IS and TLBI VAE1IS to broadcast invalidations to all CPUs. He also fixed GICv2 on SMP systems by masking the source processor bits (12-10) from GICC_IAR for SGIs, preventing IPIs from non-CPU0 cores from being rejected. He reverted useless cache handling in the MMU code and added FPU debug traces with PC addresses.
Scheduler
Nicolas fixed an assertion race in z_get_next_switch_handle() where the shared dummy thread structure could be clobbered by concurrent CPUs during thread halting. The fix ignores validity tests when the dummy thread is involved. He also set switch_handle to a clearly invalid value for halting threads and fixed CPU stats retrieval in z_sched_cpu_usage().
Memory Management
Nicolas fixed a locking typo in k_mem_page_frame_evict() when CONFIG_DEMAND_PAGING_ALLOW_IRQ is set. He also added validation of alignment arguments in k_heap_aligned_alloc() to enforce proper power-of-two values now that the internal dependency with z_alloc_helper() no longer exists.
RISC-V
Nicolas moved the null pointer trap first in the PMP configuration to improve PMP slot optimization.
Cryptography
Mbed TLS
Valerio Setti upgraded Mbed TLS from 3.6.4 to 3.6.5 and added CONFIG_PSA_CRYPTO to automatically select a PSA Crypto API provider (TF-M or Mbed TLS) without manual configuration. He renamed several Kconfig symbols to align with Mbed TLS build symbols. He also improved the mechanism for enabling CSPRNG (Cryptographically-Secure Pseudo Random Number Generator) based on devicetree configuration and platform driver support.
PSA Crypto API Migration
Valerio migrated several subsystems from legacy Mbed TLS crypto to PSA Crypto API (IPv6, McuMGR, UpdateHub, UUID generation and JWT) and he deprecated legacy Mbed TLS crypto in flash_map.
Storage
ZMS
Riadh Ghaddab fixed ZMS initialization for devices requiring erase before write. ZMS now verifies that the next available location in the open sector is filled with erase_value by adding a check at init.
Drivers
MFD
Valerio Setti split the AXP192 and AXP2101 MFD drivers into separate implementations. He added IRQ and power button support to the AXP2101 driver and enabled it on the LilyGO T-Watch S3 board.
Networking
PTP
Adam Wojasinski fixed a compilation error in the PTP library when PTP_UDP_IPv6_PROTOCOL is enabled. The issue was that mcast_addr was defined as an IPv6 structure without an s_addr member. He added a union to represent both IPv4 and IPv6 configurations without introducing preprocessor-guarded code blocks.
Testing and Samples
Nicolas Pitre fixed format specifiers for size_t in LWM2M LOG_DBG calls and for uint16_t in MQTT-SN tests. He added delays in the SMP abort test and POSIX environment sample to ensure proper circular dependencies and timing. He filtered SMP from zbus benchmark and message subscriber pool exhaustion tests. He fixed the nested IRQ test for ARM’s GIC in non-secure state and corrected the MPSC test consumer node return logic in lockfree tests.
Task Watchdog
Adrien Ricciardi added a dummy Task Watchdog implementation via CONFIG_TASK_WDT_DUMMY. This allows disabling the Task Watchdog during debugging sessions when breakpoints would otherwise trigger watchdog timeouts.
Summary
| Type | Count |
|---|---|
| Authored | 92 |
| Signed-off-by | 1 |
List of contributions
| Hash | Subject | Role | Person |
|---|---|---|---|
| f60f04d7dc53 | doc: release-notes: notify about Mbed TLS version upgrade | Author | Valerio Setti |
| f6d24f7aa41a | manifest: mbedtls: bump to 3.6.5 | Author | Valerio Setti |
| 26ca2cfd6c13 | drivers: entropy: nrf5: add dependency on MULTITHREADING | Author | Valerio Setti |
| 25a71f39727c | modules: mbedtls: let CSPRNG_AVAILABLE select ENTROPY_GENERATOR | Author | Valerio Setti |
| 1962ab564a3d | modules: mbedtls: fix prompts and help messages for Kconfigs | Author | Valerio Setti |
| fd932e15c9a2 | doc: migration-guide: add note for Mbed TLS’ Kconfigs renaming | Author | Valerio Setti |
| a60803bebe30 | modules: mbedtls: add a specific file for deprecated Kconfigs | Author | Valerio Setti |
| 315fbc593249 | modules: mbedtls: rename MBEDTLS_HMAC_DRBG_ENABLED | Author | Valerio Setti |
| f8c94f2f4435 | modules: mbedtls: rename MBEDTLS_CTR_DRBG_ENABLED | Author | Valerio Setti |
| 69e27673fabd | modules: mbedtls: rename MBEDTLS_TLS_SESSION_TICKETS | Author | Valerio Setti |
| 62f0b2c5c81c | modules: mbedtls: rename MBEDTLS_TLS_VERSION_1_3 | Author | Valerio Setti |
| fa911df90c07 | modules: mbedtls: rename MBEDTLS_DTLS | Author | Valerio Setti |
| f960db846c9f | modules: mbedtls: rename MBEDTLS_TLS_VERSION_1_2 | Author | Valerio Setti |
| 851a20481b46 | modules: mbedtls: rename MBEDTLS_LMS | Author | Valerio Setti |
| e1117f18fc49 | modules: mbedtls: rename MBEDTLS_MD | Author | Valerio Setti |
| b43dbf149a96 | doc: release-notes: fix typo in JWT note | Author | Valerio Setti |
| 9c13bfd5d7f9 | net: ip: ipv6: replace legacy crypto with PSA API | Author | Valerio Setti |
| d33c4ef96f5f | tests: net: iface: increase main stack size in net.iface.iid.stable | Author | Valerio Setti |
| 6115d590ca7a | west: mbedtls: include a fix for static key slot key material buffer size | Author | Valerio Setti |
| 00eee1ad78e9 | jwt: deprecate CONFIG_JWT_SIGN_RSA_LEGACY | Author | Valerio Setti |
| fc422beb68da | lib: uuid: replace legacy crypto support with PSA API | Author | Valerio Setti |
| e2c054be2cbe | doc: migration-guide: add note for crypto updates in McuMGR | Author | Valerio Setti |
| bed1cd1ea9a1 | tests: subsys: mgmt: mcumgr: remove selection of Mbed TLS in tests | Author | Valerio Setti |
| f779adf8e072 | mgmt: mcumgr: remove usage of legacy Mbed TLS crypto for hash | Author | Valerio Setti |
| fe1ff7f973ff | doc: migration-guide: add note for changes in UpdateHub | Author | Valerio Setti |
| 0854d239bf0c | samples: subsys: updatehub: remove PSA overlay and test case | Author | Valerio Setti |
| db7bafbcdbbf | mgmt: updatehub: simplify code | Author | Valerio Setti |
| b2dd3b4ba96d | mgmt: updatehub: remove legacy Mbed TLS crypto support | Author | Valerio Setti |
| 4ecb6d3cf7de | storage: flash_map: deprecate legacy Mbed TLS crypto | Author | Valerio Setti |
| 34259fa2c3a5 | doc: releases: add note about CONFIG_PSA_CRYPTO addition in Mbed TLS | Author | Valerio Setti |
| 019e26aecfc6 | bluetooth: mesh: use new Kconfig CONFIG_PSA_CRYPTO | Author | Valerio Setti |
| 1bc2db575f7e | modules: mbedtls: add new helper Kconfig symbol PSA_CRYPTO | Author | Valerio Setti |
| 7b7b4fcde20c | drivers: bluetooth: hci: do not select MBEDTLS_ENTROPY_C in BT_SILABS_EFR32 | Author | Valerio Setti |
| 76037cec3655 | drivers: bluetooth: esp32: remove selection of MBEDTLS_PSA_CRYPTO_C | Author | Valerio Setti |
| 46614ded36f0 | modules: openthread: fix dependency for OPENTHREAD_CRYPTO_PSA | Author | Valerio Setti |
| 6f301ca94a04 | doc: update documentation for AXP192/2101 changes | Author | Valerio Setti |
| 102d17b49bd8 | boards: lilygo: twatch_s3: add support for axp2101 power button | Author | Valerio Setti |
| 97478d5fcef8 | drivers: mfd: axp2101: add irq and power button support | Author | Valerio Setti |
| 71e28e267afc | drivers: mfd: split axp192 and axp2101 drivers | Author | Valerio Setti |
| f5f258f0cc85 | tests: kernel: smp_abort: add delay to ensure circular dependency | Author | Nicolas Pitre |
| 408da59cc418 | net: lwm2m: fix format specifiers for size_t in LOG_DBG | Author | Nicolas Pitre |
| bd5806d82809 | samples: zbus: benchmark: also filter SMP from MSG_SUBSCRIBERS test | Author | Nicolas Pitre |
| af7ae5d61fb6 | kernel: sched: plug assertion race in z_get_next_switch_handle() | Author | Nicolas Pitre |
| 1c8f1c86470c | kernel: sched: use clearly invalid value for halting thread switch_handle | Author | Nicolas Pitre |
| 6c6f1a5e9987 | arch: arm64: mmu: revert useless cache handling | Author | Nicolas Pitre |
| 5b43674098bb | arch: arm64: Fix SMP TLB invalidation on SMP systems | Author | Nicolas Pitre |
| b0d4580422e2 | tests: lib: lockfree: Fix MPSC test consumer node return logic | Author | Nicolas Pitre |
| c03653eab9c4 | samples: posix: env: Add delay before printing environment variables | Author | Nicolas Pitre |
| 16905f547517 | riscv: pmp: move the null pointer trap first | Author | Nicolas Pitre |
| b5363d5ffffc | kernel: usage: Fix CPU stats retrieval in z_sched_cpu_usage() | Author | Nicolas Pitre |
| 8d1da57d57e6 | kernel: mmu: k_mem_page_frame_evict() fix locking typo | Author | Nicolas Pitre |
| d93561da682e | samples: zbus: benchmark: Filter SMP from benchmark_sync test | Author | Nicolas Pitre |
| 43371bc7ee01 | samples: zbus: msg_subscriber: Filter SMP from pool exhaustion tests | Author | Nicolas Pitre |
| 4c30a9b40529 | tests: interrupt: Fix nested_irq test for Arm’s GIC in Non-Secure state | Author | Nicolas Pitre |
| d9141b2b9be2 | tests: net: mqtt_sn: Fix format specifier for uint16_t | Author | Nicolas Pitre |
| 6780dddbcad4 | arch: arm64: Enhance FPU debug traces with PC addresses | Author | Nicolas Pitre |
| e6ff6b0843cc | arm64: isr_wrapper.S: make GICv2 usable on SMP systems | Author | Nicolas Pitre |
| 8140680e6b27 | k_heap_aligned_alloc: validate the alignment argument | Author | Nicolas Pitre |
| eadd4d57b700 | drivers: counter: cc23x0: Add power management to LGPT | Author | Stoyan Bogdanov |
| 2b646bf702ae | drivers: counter: cc23x0: Add power management to RTC | Author | Stoyan Bogdanov |
| d7bf8c0644b6 | drivers: i2c: cc23x0: Add power management | Author | Stoyan Bogdanov |
| afd2962dfc2e | drivers: pwm: cc23x0: Add power management | Author | Stoyan Bogdanov |
| f3f332c40ede | MAINTAINERS: Add cc23xx and collaborator for TI SimpleLink Platforms | Author | Stoyan Bogdanov |
| 31abf236b467 | drivers: gpio: cc23x0: Add power management to GPIO | Author | Stoyan Bogdanov |
| bc9fce18f273 | drivers: serial: cc23x0: Replace incorrect macros | Author | Stoyan Bogdanov |
| ad77e1036205 | dts: arm: ti: cc23x0: Add power management support | Author | Stoyan Bogdanov |
| f393ae607f17 | soc: ti: cc23x0: Add support for RTC alarms in power.c | Author | Stoyan Bogdanov |
| a286540dbcdc | soc: ti: cc23x0: Add conditions for RTC as timer in power.c | Author | Stoyan Bogdanov |
| f5bcee5d8d85 | soc: ti: cc23x0: Add power management | Author | Stoyan Bogdanov |
| 9ec8ad9b478a | soc: ti: cc23x0: Add clock definition for RTC | Author | Stoyan Bogdanov |
| b82e7418c57c | drivers: counter: cc23x0: Add dependency for RTC | Author | Stoyan Bogdanov |
| 6bb5378fbe3b | drivers: timer: cc23x0: Add option to select between RTC and SYSTIM | Author | Stoyan Bogdanov |
| ca6b18d808bd | drivers: timer: Add RTC timer driver for cc23x0 | Author | Stoyan Bogdanov |
| 84de5b841713 | samples: sensors: bme280: Add lp_em_cc2340r5 overlay | Author | Stoyan Bogdanov |
| 4fbf028ff57e | boards: ti: lp_em_cc2340r5: Add I2C support | Author | Stoyan Bogdanov |
| 82e1baae6357 | dts: arm: ti: cc23x0: Add I2C support | Author | Stoyan Bogdanov |
| 49ef7d460c30 | drivers: i2c: Add support for cc23x0 I2C | Author | Stoyan Bogdanov |
| 6559af8ef421 | boards: ti: lp_em_2340r5: Add PWM led support | Author | Stoyan Bogdanov |
| 285453a77f04 | boards: ti: lp_em_cc2340r5: Add pinctrl support for PWM | Author | Stoyan Bogdanov |
| 9dad848fe05e | dts: arm: ti: cc23x0: Add LGPT PWM support | Author | Stoyan Bogdanov |
| ff2328522a2a | drivers: pwm: Add support for cc23x0 LGPT PWM | Author | Stoyan Bogdanov |
| a5f0c965c5ef | zms: fix init if a faulty bit is detected in the next free location | Author | Riadh Ghaddab |
| 052ded1682a9 | drivers: spi: cc23x0: Add power management | Author | Julien Panis |
| a473d268c3ac | boards: ti: lp_em_cc2340r5: Add external low-frequency oscillator | Author | Julien Panis |
| 13c0a98acc82 | dts: bindings: clock: Add TI cc23x0 external low-frequency oscillator | Author | Julien Panis |
| c625853b19f7 | drivers: serial: cc23x0: Add power management | Author | Julien Panis |
| 051539e867c9 | drivers: dma: cc23x0: Add power management | Author | Julien Panis |
| 22d04f7f9336 | drivers: crypto: cc23x0: Add power management | Author | Julien Panis |
| afc5b6cb0d1b | drivers: adc: cc23x0: Add power management | Author | Julien Panis |
| d494f86ea40e | doc: releases: Add Dummy Task Watchdog Kconfig | Author | Adrien Ricciardi |
| 8fd797e95a43 | task_wdt: Add dummy implementation | Author | Adrien Ricciardi |
| 8fb7f8a19d76 | net: lib: ptp: Fix PTP_UDP_IPv6_PROTOCOL compilation error |
Author | Adam Wojasinski |
