1:orphan:
2
3.. _zephyr_3.5:
4
5Zephyr 3.5.0
6############
7
8We are pleased to announce the release of Zephyr version 3.5.0.
9
10Major enhancements with this release include:
11
12* Added support for linkable loadable extensions (llext)
13* Added native_sim simulator target (successor to native_posix)
14* Added new battery charger driver API
15* Added new hardware spinlock driver API
16* Added new modem subsystem
17* Added support for 45+ new boards
18* Networking: improvements to CoAP, Connection Manager, DHCP, Ethernet, gPTP, ICMP,
19  IPv6 and LwM2M
20* Bluetooth: improvements to the Controller, Audio, Mesh, as well as the host stack in
21  general
22* Improved LVGL graphics library integration
23* Integrated support with the CodeChecker static analyzer
24* Picolibc is now the default C standard library
25
26An overview of the changes required or recommended when migrating your application from Zephyr
27v3.4.0 to Zephyr v3.5.0 can be found in the separate :ref:`migration guide<migration_3.5>`.
28
29The following sections provide detailed lists of changes by component.
30
31Security Vulnerability Related
32******************************
33The following CVEs are addressed by this release:
34
35More detailed information can be found in:
36https://docs.zephyrproject.org/latest/security/vulnerabilities.html
37
38* CVE-2023-3725 `Zephyr project bug tracker GHSA-2g3m-p6c7-8rr3
39  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2g3m-p6c7-8rr3>`_
40
41* CVE-2023-4257 `Zephyr project bug tracker GHSA-853q-q69w-gf5j
42  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-853q-q69w-gf5j>`_
43
44* CVE-2023-4258 `Zephyr project bug tracker GHSA-m34c-cp63-rwh7
45  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-m34c-cp63-rwh7>`_
46
47* CVE-2023-4259 `Zephyr project bug tracker GHSA-gghm-c696-f4j4
48  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gghm-c696-f4j4>`_
49
50* CVE-2023-4260 `Zephyr project bug tracker GHSA-gj27-862r-55wh
51  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gj27-862r-55wh>`_
52
53* CVE-2023-4263 `Zephyr project bug tracker GHSA-rf6q-rhhp-pqhf
54  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rf6q-rhhp-pqhf>`_
55
56* CVE-2023-4264 `Zephyr project bug tracker GHSA-rgx6-3w4j-gf5j
57  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rgx6-3w4j-gf5j>`_
58
59* CVE-2023-4424: Under embargo until 2023-11-01
60
61* CVE-2023-5055: Under embargo until 2023-11-01
62
63* CVE-2023-5139: Under embargo until 2023-10-25
64
65* CVE-2023-5184 `Zephyr project bug tracker GHSA-8x3p-q3r5-xh9g
66  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-8x3p-q3r5-xh9g>`_
67
68* CVE-2023-5563 `Zephyr project bug tracker GHSA-98mc-rj7w-7rpv
69  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-98mc-rj7w-7rpv>`_
70
71* CVE-2023-5753 `Zephyr project bug tracker GHSA-hmpr-px56-rvww
72  <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-hmpr-px56-rvww>`_
73
74Kernel
75******
76
77* Added support for dynamic thread stack allocation via :c:func:`k_thread_stack_alloc`
78* Added support for :c:func:`k_spin_trylock`
79* Added :c:func:`k_object_is_valid` to check if a kernel object is valid. This replaces
80  code that has been duplicated throughout the tree.
81
82Architectures
83*************
84
85* ARC
86
87 * Introduced the scalar port for ARC VPX processors
88 * Introduced support for ARCv3 HS (both 32 and 64 bit) SMP platforms with up to 12 CPU cores
89 * Reworked GNU helper tools usage for ARC MWDT toolchain. Now helper tools can be used from
90   Zephyr SDK (if SDK is installed)
91 * Fixed dynamic thread stack allocation
92 * Fixed STR assembly macro offset calculation issue which may cause build error for ARCv3 64bit
93 * Cleaned-up and made more user friendly handling of the ARC MWDT toolchain path
94   (ARCMWDT_TOOLCHAIN_PATH)
95
96* ARM
97
98  * Architectural support for Arm Cortex-M has been separated from Arm
99    Cortex-A and Cortex-R. This includes separate source modules to handle
100    tasks like IRQ management, exception handling, thread handling and swap.
101    For implementation details see :github:`60031`.
102
103* ARM64
104
105* RISC-V
106
107  * Added support for detecting null pointer exception using PMP.
108  * Added the :kconfig:option:`CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET`
109    option to allow IRQ vector at a specified offset to meet the requirements
110    set by the Core-Local Interrupt Controller RISC-V specification.
111  * Added the :kconfig:option:`CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO` option to
112    allow the use of custom system input/output functions.
113  * Introduced the :kconfig:option:`CONFIG_RISCV_TRAP_HANDLER_ALIGNMENT` option
114    to set the correct alignment of the trap handling code which is dependent on
115    the ``MTVEC.BASE`` field size and is platform or application-specific.
116
117* Xtensa
118
119  * Added basic MMU v2 Support.
120
121* x86
122
123  * Added support for Intel Alder Lake boards
124  * Added support for Intel Sensor Hub (ISH)
125
126* POSIX
127
128  * Has been reworked to use the native simulator.
129  * New boards have been added.
130  * For the new boards, embedded C libraries can be used, and conflicts with the host symbols
131    and libraries avoided.
132  * The :ref:`POSIX OS abstraction<posix_support>` is supported in these new boards.
133  * AMP targets are now supported.
134  * Added support for LLVM source profiling/coverage.
135
136Bluetooth
137*********
138
139* Audio
140
141  Improved memory usage of codec configurations and codec capabilities. Fixed several bugs in BAP
142  and the BAP-related services (ASCS, PACS, BASS), as well as missing features such as proper
143  notification handling.
144
145  * Added BAP ``bt_bap_stream_get_tx_sync``
146  * Added CAP stream send and tx sync
147  * Added ``bt_audio_codec_cap_get`` helper functions
148  * Added support for long read/write in CAP
149  * Fixed ASCS Source ASE link loss state transition
150  * Fixed ASCS possible ASE leak
151  * Fixed ASCS to drop ISO PDUs if ASE is not in streaming state
152  * Fixed BAP ``bt_bap_scan_delegator_find_state`` implementation
153  * Fixed BAP issue with PA sync and ID in ``broadcast_sink_create``
154  * Fixed TMAS characteristic permissions
155  * Fixed ``tbs_client`` missing discovery complete event
156  * Fixed audio stack to accept empty CCID list in audio metadata
157  * Fixed bad size of metadata_backup in ASCS
158  * Fixed possible ASCS ASE stuck in releasing state
159  * Refactored ``bt_audio_codec_cap`` to flat arrays
160  * Refactored ``bt_audio_codec_cfg`` to flat arrays
161  * Removed ``CONFIG_BT_PACS_{SNK,SRC}_CONTEXT``
162  * Removed scanning and PA sync from broadcast sink
163  * Renamed ``bt_codec`` to ``bt_audio_codec_{cap, conf, data}``
164  * Renamed codec qos framing
165  * Replaced ``BT_AUDIO_CODEC_LC3_ID`` -> ``BT_HCI_CODING_FORMAT_LC3``
166  * Replaced ``BT_AUDIO_CODEC_PARSE_ERR_`` values with errno values.
167  * Reworked PACS notify system
168  * Updated ASCS ISO QOS based on BAP QOS
169  * Updated BAP to filter PA data duplicates by default
170  * Updated CSIP to unlock Non-bonded devices immediately.
171  * Updated PACS to notify bonded clients on reconnect
172  * Updated ``bt_cap_stream_ops_register`` to always register BAP callbacks
173  * Updated the ASCS ACL disconnect behavior
174  * Updated to split ``bt_audio_codec_meta_get`` to ``cfg`` and ``cap``
175
176* Direction Finding
177
178* Host
179
180  * Added SMP bondable flag overlay per connection
181  * Added USE_NRPA advertising option
182  * Added ``BT_CONN_PARAM_ANY`` to allow setting any value to connection parameters
183  * Added advanced broadcast ISO parameters
184  * Added advanced unicast ISO parameters
185  * Added new API to manage Bluetooth settings storage
186  * Fixed HCI ISO Data packets fragmentation
187  * Fixed HCI ISO SDU length sent to controller
188  * Fixed OTS ``bt_ots_init`` parameter struct naming
189  * Fixed OTS memory leak while procedure is not finished
190  * Fixed a connection reference leak
191  * Fixed forced pairing request handling
192  * Fixed host to invalidate the Resolvable Private Address when starting legacy advertising
193  * Fixed issue with ``bt_iso_cig_reconfigure``
194  * Fixed possible buffer overflow in ``bt_conn_le_start_encryption``
195  * Fixed some SMP issues
196  * Fixed to abort pairing if connection disconnected
197  * Updated L2CAP accept callbacks
198  * Updated LE L2CAP connected callback to be after connection response
199  * Updated PAwR implementation to use RPA as responder address if BT_PRIVACY=y
200
201* Mesh
202
203  * Added TF-M support.
204  * Added support to use both tinycrypt and PSA based crypto
205  * Added full virtual addresses support with the collisions resolution. The
206    :kconfig:option:`CONFIG_BT_MESH_LABEL_NO_RECOVER` Kconfig option is introduced to restore the
207    addresses for the subscription list and model publication.
208  * Added statistic module.
209  * Fixed an issue where a node acting as a LPN was triggering Friend Poll messages when sending a
210    segmented message over the loopback interface.
211  * Fixed an issue where provisioning completes successfully on a node when the identical Public Key
212    is used by a  provisioner.
213  * Fixed an issue where the :c:func:`settings_load` function called from a cooperative thread other
214    than the system workqueue caused the GATT Mesh Proxy Service registration to fail.
215  * Fixed an issue where a node could enter IV Update in Progress state if an old SNB with the
216    current IV Index and IV Update flag set to 1 was resent.
217
218  * Mesh Protocol v1.1 changes
219
220    * Added storing Private GATT Proxy state persistently.
221    * Added support for Firmware Distribution Upload OOB Start message in the Firwmware Distribution
222      Server model. The message support can be enabled with the
223      :kconfig:option:`CONFIG_BT_MESH_DFD_SRV_OOB_UPLOAD` Kconfig option.
224    * Added extended provisioning protocol timeout when OOB methods are used in the provisioning.
225    * Added support for Composition Data Pages 2, 129 and 130.
226    * Added documentation for Composition Data Pages 0, 1, 2, 128, 129 and 130.
227    * Added documentation for the Segmentation and Reassembly in the Transport layer.
228    * Added documentation for the SAR Configuration models
229    * Fixed an issue where the Opcode Aggregator Server model did not compile without the Opcode
230      Aggregator Client model.
231    * Fixed an issue where the identity address was used in Private GATT Proxy advertisements
232      instead of Non-Resolvable Private Addresses.
233    * Fixed the Proxy Privacy parameter support.
234    * Fixed an issue where the Composition Data Page 128 was not present on a node that has
235      instantiated the Remote Provisioning Server model.
236    * Fixed an issue where the Large Composition Data Server model did not support Composition Data
237      Pages other then 0.
238    * Fixed an issue where the Remote Provisioning Client model instanted on a node together with
239      the Remote Provisioning Server model could not reprovision itself.
240    * Fixed an issue where the acknowledgment timer in the Segmentation and Reassembly was not
241      restarted when the incoming Segment Acknowledgment message did not contain at least one
242      segment newly marked as acknowledged.
243    * Fixed an issue where the On-Demand Private Proxy Server and Client models had interdependency
244      that did not allow to compile them separately.
245
246* Controller
247
248  Improved support for Broadcast and Connected Isochronous channels in the Controller, enabling
249  LE audio application development. The Controller is experimental, is missing implementations for
250  interleaved packing in Isochronous channels' lower link layer.
251
252  * Added Checks for minimum sizes of Adv PDUs
253  * Added Kconfig Option to ignore Tx HCI ISO Data Packet Seq Num
254  * Added Kconfig for avoiding ISO SDU fragmentation
255  * Added Kconfig to maximize BIG event length and preempt PTO & CTRL subevents
256  * Added ``BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX`` Kconfig
257  * Added memory barrier to ticker transactions
258  * Added missing nRF53x Tx Power Kconfig
259  * Added support for Flush Timeout in Connected ISO
260  * Fixed BIS payload sliding window overrun check
261  * Fixed CIS Central FT calculation
262  * Fixed CIS Central error handling
263  * Fixed CIS asymmetric PHY usage
264  * Fixed CIS encryption when DF support enabled
265  * Fixed ISO-AL for quality tests and time stamps
266  * Fixed PHY value in HCI LE CIS Established Event
267  * Fixed ULL stuck in semaphore under rare conditions
268  * Fixed assertion due to late PER CIS active set
269  * Fixed compiler instruction re-ordering that caused assertions
270  * Fixed connected ISO dynamic tx power
271  * Fixed failing advertising conformance tests
272  * Fixed handling received Auxiliary PDUs when Coded PHY not supported
273  * Fixed leak in scheduled ticker node when rescheduling ticker nodes
274  * Fixed missing host feature reset
275  * Fixed nRF53 SoC back-to-back PDU chaining
276  * Fixed nRF53 SoC back-to-back Tx Rx implementation
277  * Fixed regression in Adv PDU overflow calculation
278  * Fixed regression in observer that caused assertions and scheduling stall
279  * Fixed use of pre-programmed PPI on nRF SoCs
280  * Removed HCI ISO data with invalid status in preparation for FT support
281  * Updated Extended Advertising Report to not be generated when ``AUX_ADV_IND`` not received
282  * Updated to have ``EVENT_OVERHEAD_START_US`` verbose assertion in each state/role LLL
283  * Updated to stop following ``aux_ptr`` if ``DATA_LEN_MAX`` is reached during extended scanning
284
285Boards & SoC Support
286********************
287
288* Added support for these SoC series:
289
290  * Nuvoton NuMaker M46x series
291  * Added support for STM32F072X8 SoC variants
292  * Added support for STM32L051X6 SoC variants
293  * Added support for STM32L451XX SoC variants
294  * Added support for STM32L4Q5XX SoC variants
295  * Added support for STM32WBA SoC series
296
297* Removed support for these SoC series:
298
299* Made these changes in other SoC series:
300
301  * i.MX RT SOCs no longer enable CONFIG_DEVICE_CONFIGURATION_DATA by default.
302    boards using external SDRAM should set CONFIG_DEVICE_CONFIGURATION_DATA
303    and CONFIG_NXP_IMX_EXTERNAL_SDRAM to enabled.
304  * i.MX RT SOCs no longer support CONFIG_OCRAM_NOCACHE, as this functionality
305    can be achieved using devicetree memory regions
306  * Refactored ESP32 SoC folders. So now these are a proper SoC series.
307  * RP2040: Changed to reset the I2C device on initializing
308
309* Added support for these ARC boards:
310
311  * Added support for nsim_vpx5 - simulation (nSIM) platform with ARCv2 VPX5 core, close to
312    vpx5_integer_full template
313  * Added support for nsim_hs5x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 32-bit
314    ARCv3 HS
315  * Added support for nsim_hs6x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 64-bit
316    ARCv3 HS
317
318* Added support for these ARM boards:
319
320  * Nuvoton NuMaker Platform M467
321  * ST Nucleo U5A5ZJ Q
322  * ST Nucleo WBA52CG
323
324* Added support for these ARM64 boards:
325
326* Added support for these RISC-V boards:
327
328* Added support for these X86 boards:
329
330* Added support for these Xtensa boards:
331
332  * Added ``esp32_devkitc_wroom`` and ``esp32_devkitc_wrover``.
333
334  * Added ``esp32s3_luatos_core``.
335
336  * Added ``m5stack_core2``.
337
338  * Added ``qemu_xtensa_mmu`` utilizing Diamond DC233c SoC to support
339    testing Xtensa MMU.
340
341  * Added ``xiao_esp32s3``.
342
343  * Added ``yd_esp32``.
344
345* Added support for these POSIX boards:
346
347  * :ref:`native_sim(_64) <native_sim>`
348  * nrf5340bsim_nrf5340_cpu(net|app). A simulated nrf5340 SOC, which uses Babblesim for its radio
349    traffic.
350
351* Made these changes for ARC boards:
352
353  * Turned off unsupported stack checking option for hsdk4xd platform
354  * Changed vendor prefix for ARC QEMU platforms from "qemu" to "snps"
355
356* Made these changes for ARM boards:
357
358  * ST morpho connector description was added on ST nucleo boards.
359
360  * rpi_pico:
361
362    * The default adapter when debugging with openocd has been changed to cmsis-dap.
363
364* Made these changes for ARM64 boards:
365
366* Made these changes for RISC-V boards:
367
368* Made these changes for X86 boards:
369
370* Made these changes for Xtensa boards:
371
372  * esp32s3_devkitm:
373
374    * Added USB-CDC support.
375
376    * Added CAN support.
377
378* Made these changes for POSIX boards:
379
380  * nrf52_bsim:
381
382    * Has been reworked to use the native simulator as its runner.
383    * Multiple HW models improvements and fixes. GPIO & GPIOTE peripherals added.
384
385* Removed support for these ARC boards:
386
387* Removed support for these ARM boards:
388
389* Removed support for these ARM64 boards:
390
391* Removed support for these RISC-V boards:
392
393* Removed support for these X86 boards:
394
395* Removed support for these Xtensa boards:
396
397  * Removed ``esp32``. Use ``esp32_devkitc_*`` instead.
398
399* Made these changes in other boards:
400
401* Added support for these following shields:
402
403  * Adafruit PiCowbell CAN Bus Shield for Pico
404  * Arduino UNO click shield
405  * G1120B0MIPI MIPI Display
406  * MikroElektronika MCP2518FD Click shield (CAN-FD)
407  * RK055HDMIPI4M MIPI Display
408  * RK055HDMIPI4MA0 MIPI Display
409  * Semtech SX1276MB1MAS LoRa Shield
410
411Build system and infrastructure
412*******************************
413
414* SCA (Static Code Analysis)
415
416  * Added support for CodeChecker
417
418* Twister now supports ``required_snippets`` in testsuite .yml files, this can
419  be used to include a snippet when a test is ran (and exclude any boards from
420  running that the snippet cannot be applied to).
421
422* Interrupts
423
424  * Added support for shared interrupts
425
426* Added support for setting MCUboot encryption key in sysbuild which is then
427  propagated to the bootloader and target images to automatically create
428  encrypted updates.
429
430* Build time priority checking: enable build time priority checking by default.
431  This fails the build if the initialization sequence in the final ELF file
432  does not match the devicetree hierarchy. It can be turned off by disabling
433  the :kconfig:option:`CONFIG_CHECK_INIT_PRIORITIES` option.
434
435* Added a new ``initlevels`` target for printing the final device and
436  :c:macro:`SYS_INIT` initialization sequence from the final ELF file.
437
438* Reworked syscall code generations so that not all marshalling functions
439  will be included in the final binary. Syscalls associated with disabled
440  subsystems no longer have their marshalling functions generated.
441
442* Partially enabled compiler warning about shadow variables for subset of
443  in-tree code. Out-of-tree code needs to be patched before we can fully
444  enable shadow variable warnings.
445
446Drivers and Sensors
447*******************
448
449* ADC
450
451  * Added support for STM32F0 HSI14 clock (dedicated ADC clock)
452  * Added support for STM32 ADC source clock and prescaler. On STM32F1 and STM32F3
453    series, ADC prescaler can be configured using dedicated RCC Clock Controller
454    option.
455  * Added support for the ADC sequencer for all STM32 series (except F1)
456  * Fixed STM32F4 ADC temperature and Vbat measurement.
457  * Added driver for TI ADS1112.
458  * Added driver for TI TLA2021.
459  * Added driver for Gecko ADC.
460  * Added driver for NXP S32 ADC SAR.
461  * Added driver for MAX1125x family.
462  * Added driver for MAX11102-MAX1117.
463
464* CAN
465
466  * Added support for TI TCAN4x5x CAN-FD controller with integrated transceiver
467    (:dtcompatible:`ti,tcan4x5x`).
468  * Added support for Microchip MCP251xFD CAN-FD controller (:dtcompatible:`microchip,mcp251xfd`).
469  * Added support for CAN statistics to the Bosch M_CAN controller driver backend.
470  * Switched the NXP S32 CANXL driver to use clock control for the CAN clock instead of hard-coding
471    a CAN clock frequency in the devicetree.
472
473* Clock control
474
475  * Added support for Nuvoton NuMaker M46x
476
477* Counter
478
479  * Added :kconfig:option:`CONFIG_COUNTER_RTC_STM32_SUBSECONDS` to enable subsecond as
480    the basic time tick on STM32 RTC based counter driver.
481
482  * Added support for Raspberry Pi Pico Timer
483
484* DAC
485
486  * Added support for Analog Devices AD56xx
487  * Added support for NXP lpcxpresso55s36 (LPDAC)
488
489* Disk
490
491  * Ramdisk driver is now configured using devicetree, and supports multiple
492    instances
493
494* Display
495
496  * Added support for ST7735S (in ST7735R driver)
497
498* DMA
499
500  * Added support for NXP S32K to the eDMA driver
501  * Added support for NXP SMARTDMA
502  * Added support for NXP Pixel Pipeline (PXP) for display acceleration
503  * Added support for DMA get_status() to the SAM XDMAC driver
504  * Fixes for Intel HDA driver for L1 entry/exit, explicit SCS (sample container) settings
505  * Fixes for STM32U5 enables error interrupts, fixes block size and data size configuration
506  * Better Kconfig options for tuning static memory usage in NXP LPC driver
507
508* EEPROM
509
510  * Added support for Fujitsu MB85RCxx series I2C FRAM (:dtcompatible:`fujitsu,mb85rcxx`).
511
512* Entropy
513
514  * Added a requirement for ``entropy_get_entropy()`` to be thread-safe because
515    of random subsystem needs.
516
517* Ethernet
518
519  * Added :kconfig:option:`CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT` to set rx timeout for native posix.
520  * Added support for adin2111.
521  * Added support for NXP S32 GMAC.
522  * Added support for promiscuous mode in eth_smsc91x.
523  * Added support for STM32H5X SOC series.
524  * Added support for MDIO Clause 45 APIs.
525  * Added support for YD-ESP32 board Ethernet.
526  * Fixed stm32 to generate more unique MAC address by using device id as a base for the MAC.
527  * Fixed mcux to increase the PTP timestamp accuracy from 20us to 200ns.
528  * Fixed Ethernet max header size when using VLAN.
529  * Removed the ``mdio`` DT property. Please use :c:macro:`DT_INST_BUS()` in the driver instead.
530  * Reworked the device node hierarchy in smsc91x.
531  * Renamed the phy-dev property with phy-handle to match the Linux ethernet-controller binding
532    and move it up to ethernet.yaml so that it can be used by other drivers.
533  * Updated Ethernet PHY to use ``reg`` property in DT bindings.
534  * Updated driver DT bindings to use ``ethernet-phy`` devicetree node name consistently.
535  * Updated esp32 and sam-gmac DT so that the phy is pointed by a phandle rather than
536    a child node, this makes the phy device a child of mdio.
537
538* Flash
539
540  * Introduce npcx flash driver that supports two or more spi nor flashes via a
541    single Flash Interface Unit (FIU) module and Direct Read Access (DRA) mode
542    for better performance.
543  * Added support for Nuvoton NuMaker M46x embedded flash
544  * STM32 QSPI driver now supports Jedec SFDP parameter reading.
545  * STM32 OSPI driver now supports both Low and High ports of IO manager.
546
547* GPIO
548
549  * Added support for Nuvoton NuMaker M46x
550
551* I2C
552
553  * STM32 V1 driver now supports large transactions (more than 256 bytes chunks)
554  * STM32 V2 driver now supports 10-bit addressing.
555  * I2C devices can now be used as wakeup source from STOP modes on STM32.
556  * Fix long ISR execution in Silicon Labs I2C target callback
557  * Fail gracefully on DMA max size for nRF52 devices in the TWIM driver
558  * Added support for Intel LPSS DMA usage in the DesignWare driver
559  * Added filtering of dumped messages for debugging using DeviceTree
560  * Added target mode to Silicon Labs Gecko driver
561  * Added Intel SEDI driver
562  * Added Infineon XMC4 driver
563  * Added Microchip PolarFire SoC driver
564  * Added Ambiq driver for Apollo4 SoCs
565
566* I2S
567
568  * Fixed handling of the PCM data format in the NXP MCUX driver.
569
570* I3C
571
572  * ``i3c_cdns``:
573
574    * Fixed build error when :kconfig:option:`CONFIG_I3C_USE_IBI` is disabled.
575
576    * Fixed transfer issue when controller is busy. Now wait for controller to
577      idle before proceeding with another transfer.
578
579* IEEE 802.15.4
580
581  * A new mandatory method attr_get() was introduced into ieee802154_radio_api.
582    Drivers need to implement at least
583    IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES and
584    IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES.
585  * The hardware capabilities IEEE802154_HW_2_4_GHZ and IEEE802154_HW_SUB_GHZ
586    were removed as they were not aligned with the standard and some already
587    existing drivers couldn't properly express their channel page and channel
588    range (notably SUN FSK and HRP UWB drivers). The capabilities were replaced
589    by the standard conforming new driver attribute
590    IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES that fits all in-tree drivers.
591  * The method get_subg_channel_count() was removed from ieee802154_radio_api.
592    This method could not properly express the channel range of existing drivers
593    (notably SUN FSK drivers that implement channel pages > 0 and may not have
594    zero-based channel ranges or UWB drivers that could not be represented at
595    all). The method was replaced by the new driver attribute
596    IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES that fits all in-tree drivers.
597
598* Interrupt Controller
599
600  * GIC: Architecture version selection is now based on the device tree
601
602* Input
603
604  * New drivers: :dtcompatible:`gpio-qdec`, :dtcompatible:`st,stmpe811`.
605
606  * Drivers converted from Kscan to Input: :dtcompatible:`goodix,gt911`
607    :dtcompatible:`xptek,xpt2046` :dtcompatible:`hynitron,cst816s`
608    :dtcompatible:`microchip,cap1203`.
609
610  * Added a Kconfig option for dumping all events to the console
611    :kconfig:option:`CONFIG_INPUT_EVENT_DUMP` and new shell commands
612    :kconfig:option:`CONFIG_INPUT_SHELL`.
613
614  * Merged ``zephyr,gpio-keys`` into :dtcompatible:`gpio-keys` and added
615    ``zephyr,code`` codes to all in-tree board ``gpio-keys`` nodes.
616
617  * Renamed the callback definition macro from ``INPUT_LISTENER_CB_DEFINE`` to
618    :c:macro:`INPUT_CALLBACK_DEFINE`.
619
620* PCIE
621
622  * Added support in shell to display PCIe capabilities.
623
624  * Added virtual channel support.
625
626  * Added kconfig :kconfig:option:`CONFIG_PCIE_INIT_PRIORITY` to specify
627    initialization priority for host controller.
628
629  * Added support to get IRQ from ACPI PCI Routing Table (PRT).
630
631* ACPI
632
633  * Adopted the ACPICA library as a new module to further enhance ACPI support.
634
635* Pin control
636
637  * Added support for Nuvoton NuMaker M46x
638
639* PWM
640
641  * Added 4 channels capture on STM32 PWM driver.
642  * Added driver for Intel Blinky PWM.
643  * Added driver for MAX31790.
644  * Added driver for Infineon XMC4XXX CCU4.
645  * Added driver for Infineon XMC4XXX CCU8.
646  * Added MCUX CTimer based PWM driver.
647  * Added PWM driver based on TI CC13xx/CC26xx GPT timer.
648  * Reworked the pwm_nrf5_sw driver so that it can be used also on nRF53 and
649    nRF91 Series. Consequently, the driver was renamed to pwm_nrf_sw.
650  * Added driver for Nuvoton NuMaker family.
651  * Added PWM driver based on NXP S32 EMIOS peripheral.
652
653* Regulators
654
655  * Added support for GPIO-controlled voltage regulator
656
657  * Added support for AXP192 PMIC
658
659  * Added support for NXP VREF regulator
660
661  * Fixed regulators can now specify their operating voltage
662
663  * PFM mode is now support for nPM1300
664
665  * Added new API to configure "ship" mode
666
667  * Regulator shell allows to configure DVS modes
668
669* Reset
670
671  * Added support for Nuvoton NuMaker M46x
672
673* Retained memory
674
675  * Added support for allowing mutex support to be forcibly disabled with
676    :kconfig:option:`CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE`.
677
678  * Fixed issue with user mode support not working.
679
680* RTC
681
682  * Added support for STM32 RTC API driver. This driver is not compatible with
683    the use of RTC based implementation of COUNTER API.
684
685* SDHC
686
687  * Added driver for EMMC Host controller present on Alder lake platforms
688  * Added driver for Atmel HSMCI controller present on SAM4E MCU series
689
690* Sensor
691
692  * Reworked the :dtcompatible:`ti,bq274xx` to add ``BQ27427`` support, fixed
693    units for capacity and power channels.
694  * Added ADC current sense amplifier and voltage sensor drivers.
695  * Added ADI LTC2990 voltage, current, and temperature sensor driver.
696  * Added AMS TSL2540 ambient light sensor driver.
697  * Added Bosch BMI08x accelerometer/gyroscope driver.
698  * Added DFRobot A01NYUB distance sensor driver.
699  * Added Fintek F75303 temperature sensor driver.
700  * Added Isentek IST8310 magnetometer driver.
701  * Added Microchip TCN75A temperature sensor driver.
702  * Added NXP TEMPMON driver.
703  * Added Seeed HM330X dust sensor driver.
704  * Added TI TMAG5170 3D Hall sensor driver.
705  * Added power management support to BMM150, LM75, and Microchip tachometer
706    drivers.
707  * Added trigger support to the BMM150 magnetometer driver.
708  * Added tap trigger support to the LIS2DH accelerometer driver.
709  * Updated ST sensor drivers to use STMEMSC HAL i/f v2.3
710  * Updated the decoder APIs to vertically decode raw sensor data.
711  * Various fixes and enhancements in the NTC thermistor and INA23x drivers.
712
713* Serial
714
715  * Added support for Nuvoton NuMaker M46x
716
717  * NS16550: Reworked how device initialization macros.
718
719    * ``CONFIG_UART_NS16550_ACCESS_IOPORT`` and ``CONFIG_UART_NS16550_SIMULT_ACCESS``
720      are removed. For UART using IO port access, add ``io-mapped`` property to
721      device tree node.
722
723  * Added async support for ESP32S3.
724
725  * Added support for serial TTY under ``native_posix``.
726
727  * Added support for UART on Efinix Sapphire SoCs.
728
729  * Added Intel SEDI UART driver.
730
731  * Added support for UART on BCM2711.
732
733  * ``uart_stm32``:
734
735    * Added RS485 support.
736
737    * Added wide data support.
738
739  * ``uart_pl011``: added support for Ambiq SoCs.
740
741  * ``serial_test``: added support for interrupt and async APIs.
742
743  * ``uart_emul``: added support for interrupt API.
744
745  * ``uart_rpi_pico``: fixed handling Modbus DE-RE signal
746
747* SPI
748
749  * Remove npcx spi driver implemented by Flash Interface Unit (FIU) module.
750  * Added support for Raspberry Pi Pico PIO based SPI.
751
752* Timer
753
754  * The TI CC13xx/26xx system clock timer compatible was changed from
755    :dtcompatible:`ti,cc13xx-cc26xx-rtc` to :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer`
756    and the corresponding Kconfig option from :kconfig:option:`CC13X2_CC26X2_RTC_TIMER`
757    to :kconfig:option:`CC13XX_CC26XX_RTC_TIMER` for improved consistency and
758    extensibility. No action is required unless the internal timer was modified.
759
760* USB
761
762  * Added UDC driver for STM32 based MCU, relying on HAL/PCD. This driver is compatible
763    with UDC API (experimental).
764  * Added support for STM32H5 series on USB driver.
765
766* WiFi
767
768  * Increased esp32 default network (TCP workq, RX and mgmt event) stack sizes to 2048 bytes.
769  * Reduced the RAM usage for esp32s2_saola in Wi-Fi samples.
770  * Fixed undefined declarations in winc1500.
771  * Fixed SPI buffer length in eswifi.
772  * Fixed esp32 data sending and channel selection in AP mode.
773  * Fixed esp_at driver init and network interface dormant state setting.
774
775Networking
776**********
777
778* CoAP:
779
780  * Optimized CoAP client library to use only a single thread internally.
781  * Converted CoAP client library to use ``zsock_*`` API internally.
782  * Fixed a bug in CoAP client library, which resulted in an incorrect
783    retransmission timeout calculation.
784  * Use 64 bit timer values for calculating transmission timeouts. This fixes potential problems for
785    devices that stay on for more than 49 days when the 32 bit uptime counter might roll over and
786    cause CoAP packets to not timeout at all on this event.
787  * API documentation improvements.
788  * Added new API functions:
789
790    * :c:func:`coap_has_descriptive_block_option`
791    * :c:func:`coap_remove_descriptive_block_option`
792    * :c:func:`coap_packet_remove_option`
793    * :c:func:`coap_packet_set_path`
794
795* Connection Manager:
796
797  * Added support for auto-connect and auto-down behaviors (controlled by
798    :c:enum:`CONN_MGR_IF_NO_AUTO_CONNECT` and :c:enum:`CONN_MGR_IF_NO_AUTO_DOWN`
799    flags).
800  * Split Connection Manager APIs into separate header files.
801  * Extended Connection Manager documentation to cover new functionalities.
802
803* DHCP:
804
805  * Added support for DHCPv4 unicast replies processing.
806  * Added support for DHCPv6 protocol.
807
808* Ethernet:
809
810  * Fixed ARP queueing so that the queued network packet is sent immediately
811    instead of queued 2nd time in the core network stack.
812
813* gPTP:
814
815  * Added support for detecting gPTP packets that use the default multicast destination address.
816  * Fixed Announce and Follow Up message handling.
817
818* ICMP:
819
820  * Fixed ICMPv6 error message type check.
821  * Reworked ICMP callback registration and handling, which allows to register
822    multiple handlers for the same ICMP message.
823  * Introduced an API to send ICMP Echo Request (ping).
824  * Added possibility to register offloaded ICMP ping handlers.
825  * Added support for setting packet priority for ping.
826
827* IPv6:
828
829  * Made sure that ongoing DAD procedure is cancelled when IPv6 address is removed.
830  * Fixed a bug, where Solicited-Node multicast address could be removed while
831    still in use.
832
833* LwM2M:
834
835  * Added support for tickless mode. This removes the 500 ms timeout from the socket loop
836    so the engine does not constantly wake up the CPU. This can be enabled by
837    :kconfig:option:`CONFIG_LWM2M_TICKLESS`.
838  * Added new :c:macro:`LWM2M_RD_CLIENT_EVENT_DEREGISTER` event.
839  * Block-wise sending now supports LwM2M read and composite-read operations as well.
840    When :kconfig:option:`CONFIG_LWM2M_COAP_BLOCK_TRANSFER` is enabled, any content that is larger
841    than :kconfig:option:`CONFIG_LWM2M_COAP_MAX_MSG_SIZE` is split into a block-wise transfer.
842  * Block-wise transfers don't require tokens to match anymore as this was not in line
843    with CoAP specification (CoAP doesn't require tokens reuse).
844  * Various fixes to bootstrap. Now client ensures that Bootstrap-Finish command is sent,
845    before closing the DTLS pipe. Also allows Bootstrap server to close the DTLS pipe.
846    Added timeout when waiting for bootstrap commands.
847  * Added support for X509 certificates.
848  * Various fixes to string handling. Allow setting string to zero length.
849    Ensure string termination when using string operations on opaque resources.
850  * Added support for Connection Monitoring object version 1.3.
851  * Added protection for Security object to prevent read/writes by the server.
852  * Fixed a possible notification stall in case of observation token change.
853  * Added new shell command, ``lwm2m create``, which allows to create LwM2M object instances.
854  * Added LwM2M interoperability test-suite against Leshan server.
855  * API documentation improvements.
856  * Several other minor fixes and improvements.
857
858* Misc:
859
860  * Time and timestamps in the network subsystem, PTP and IEEE 802.15.4
861    were more precisely specified and all in-tree call sites updated accordingly.
862    Fields for timed TX and TX/RX timestamps have been consolidated. See
863    :c:type:`net_time_t`, :c:struct:`net_ptp_time`, :c:struct:`ieee802154_config`,
864    :c:struct:`ieee802154_radio_api` and :c:struct:`net_pkt` for extensive
865    documentation. As this is largely an internal API, existing applications will
866    most probably continue to work unchanged.
867  * Added support for additional net_pkt filter hooks:
868
869    * :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV4_HOOK`
870    * :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV6_HOOK`
871    * :kconfig:option:`CONFIG_NET_PKT_FILTER_LOCAL_IN_HOOK`
872
873  * Reworked several networking components to use timepoint API.
874  * Added API functions facilitate going through all IPv4/IPv6 registered on an
875    interface (:c:func:`net_if_ipv4_addr_foreach`, :c:func:`net_if_ipv6_addr_foreach`).
876  * ``NET_EVENT_IPV6_PREFIX_ADD`` and ``NET_EVENT_IPV6_PREFIX_DEL`` events now provide
877    more detailed information about the prefix (:c:struct:`net_event_ipv6_prefix`).
878  * General cleanup of the shadowed variables across the networking subsystem.
879  * Added ``qemu_cortex_a53`` networking support.
880  * Introduced new modem subsystem.
881  * Added new :zephyr:code-sample:`cellular-modem` sample.
882  * Added support for network interface names (instead of reusing underlying device name).
883  * Removed support for Google Cloud IoT sample due to service retirement.
884  * Fixed a bug where packets passed in promiscuous mode could have been modified
885    by L2 in certain cases.
886  * Added support for setting syslog server (used for networking log backend)
887    IP address at runtime.
888  * Removed no longer used ``queued`` and ``sent`` net_pkt flags.
889  * Added support for binding zperf TCP/UDP server to a specific IP address.
890
891* MQTT-SN:
892
893  * Improved thread safety of internal buffers allocation.
894  * API documentation improvements.
895
896* OpenThread:
897
898  * Reworked :c:func:`otPlatEntropyGet` to use :c:func:`sys_csrand_get` internally.
899  * Introduced ``ieee802154_radio_openthread.h`` radio driver extension interface
900    specific for OpenThread. Added new transmit mode, specific to OpenThread,
901    :c:enum:`IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA`.
902
903* PPP:
904
905  * Fixed PPP L2 usage of the network interface carrier state.
906  * Made PPP L2 thread priority configurable (:kconfig:option:`CONFIG_NET_L2_PPP_THREAD_PRIO`).
907  * Moved PPP L2 out of experimental stage.
908  * Prevent PPP connection reestablish when carrier is down.
909
910* Sockets:
911
912  * Added support for statically allocated socketpairs (in case no heap is available).
913  * Made send timeout configurable (:kconfig:option:`CONFIG_NET_SOCKET_MAX_SEND_WAIT`).
914  * Added support for ``FIONREAD`` and ``FIONBIO`` :c:func:`ioctl` commands.
915  * Fixed input filtering for connected datagram sockets.
916  * Fixed :c:func:`getsockname` operation on unconnected sockets.
917  * Added new secure socket options for DTLS Connection ID support:
918
919    * :c:macro:`TLS_DTLS_CID`
920    * :c:macro:`TLS_DTLS_CID_VALUE`
921    * :c:macro:`TLS_DTLS_PEER_CID_VALUE`
922    * :c:macro:`TLS_DTLS_CID_STATUS`
923
924  * Added support for :c:macro:`SO_REUSEADDR` and :c:macro:`SO_REUSEPORT` socket options.
925
926* TCP:
927
928  * Fixed potential stall in data retransmission, when data was only partially acknowledged.
929  * Made TCP work queue priority configurable (:kconfig:option:`CONFIG_NET_TCP_WORKER_PRIO`).
930  * Added support for TCP new Reno collision avoidance algorithm.
931  * Fixed source address selection on bound sockets.
932  * Fixed possible memory leak in case listening socket was closed during active handshake.
933  * Fixed RST packet handling during handshake.
934  * Refactored the code responsible for connection teardown to fix found bugs and
935    simplify future maintenance.
936
937* TFTP:
938
939  * Added new :zephyr:code-sample:`tftp-client` sample.
940  * API documentation improvements.
941
942* WebSocket
943
944  * WebSocket library no longer closes underlying TCP socket automatically on disconnect.
945    This aligns with the connect behavior, where the WebSocket library expects an already
946    connected TCP socket.
947
948* Wi-Fi:
949
950  * Added Passive scan support.
951  * The Wi-Fi scan API updated with Wi-Fi scan parameter to allow scan mode selection.
952  * Updated TWT handling.
953  * Added support for generic network manager API.
954  * Added support for Wi-Fi mode setting and selection.
955  * Added user input validation for SSID and PSK in Wi-Fi shell.
956  * Added scan extension for specifying channels, limiting scan results, filtering SSIDs,
957    setting active and passive channel dwell times and frequency bands.
958
959USB
960***
961
962* USB device HID
963  * Kconfig option USB_HID_PROTOCOL_CODE, deprecated in v2.6, is finally removed.
964
965Devicetree
966**********
967
968API
969===
970
971New general-purpose macros:
972
973- :c:macro:`DT_REG_ADDR_U64`
974- :c:macro:`DT_REG_ADDR_BY_NAME_U64`
975- :c:macro:`DT_INST_REG_ADDR_BY_NAME_U64`
976- :c:macro:`DT_INST_REG_ADDR_U64`
977- :c:macro:`DT_FOREACH_STATUS_OKAY_NODE_VARGS`
978- :c:macro:`DT_FOREACH_NODE_VARGS`
979- :c:macro:`DT_HAS_COMPAT_ON_BUS_STATUS_OKAY`
980
981New special-purpose macros introduced for dependency ordinals:
982
983- :c:macro:`DT_DEP_ORD_STR_SORTABLE`
984
985New general purpose macros introduced for fixed flash partitions:
986
987- :c:macro:`DT_MEM_FROM_FIXED_PARTITION`
988- :c:macro:`DT_FIXED_PARTITION_ADDR`
989
990Bindings
991========
992
993* Generic or vendor-independent:
994
995  * New bindings:
996
997    * :dtcompatible:`current-sense-amplifier`
998    * :dtcompatible:`current-sense-shunt`
999    * :dtcompatible:`gpio-qdec`
1000    * :dtcompatible:`regulator-gpio`
1001    * :dtcompatible:`usb-audio-feature-volume`
1002
1003  * Modified bindings:
1004
1005    * CAN (Controller Area Network) controller bindings:
1006
1007          * property ``phase-seg1-data`` deprecation status changed from False to True
1008          * property ``phase-seg1`` deprecation status changed from False to True
1009          * property ``phase-seg2-data`` deprecation status changed from False to True
1010          * property ``phase-seg2`` deprecation status changed from False to True
1011          * property ``prop-seg-data`` deprecation status changed from False to True
1012          * property ``prop-seg`` deprecation status changed from False to True
1013          * property ``sjw-data`` default value changed from None to 1
1014          * property ``sjw-data`` deprecation status changed from False to True
1015          * property ``sjw`` default value changed from None to 1
1016          * property ``sjw`` deprecation status changed from False to True
1017
1018    * Ethernet controller bindings: new ``phy-handle`` property (in some
1019      bindings, this was renamed from ``phy-dev``), matching the Linux
1020      ethernet-controller binding.
1021
1022    * The ``riscv,isa`` property used by RISC-V CPU bindings no longer has an
1023      ``enum`` value.
1024
1025    * :dtcompatible:`neorv32-cpu`:
1026
1027          * new property: ``mmu-type``
1028          * new property: ``riscv,isa``
1029
1030    * :dtcompatible:`regulator-fixed`:
1031
1032          * new property: ``regulator-min-microvolt``
1033          * new property: ``regulator-max-microvolt``
1034          * property ``enable-gpios`` is no longer required
1035
1036    * :dtcompatible:`ethernet-phy`:
1037
1038          * removed property: ``address``
1039          * removed property: ``mdio``
1040          * property ``reg`` is now required
1041
1042    * :dtcompatible:`usb-audio-hs` and :dtcompatible:`usb-audio-hp`:
1043
1044          * new property: ``volume-max``
1045          * new property: ``volume-min``
1046          * new property: ``volume-res``
1047          * new property: ``status``
1048          * new property: ``compatible``
1049          * new property: ``reg``
1050          * new property: ``reg-names``
1051          * new property: ``interrupts``
1052          * new property: ``interrupts-extended``
1053          * new property: ``interrupt-names``
1054          * new property: ``interrupt-parent``
1055          * new property: ``label``
1056          * new property: ``clocks``
1057          * new property: ``clock-names``
1058          * new property: ``#address-cells``
1059          * new property: ``#size-cells``
1060          * new property: ``dmas``
1061          * new property: ``dma-names``
1062          * new property: ``io-channels``
1063          * new property: ``io-channel-names``
1064          * new property: ``mboxes``
1065          * new property: ``mbox-names``
1066          * new property: ``wakeup-source``
1067          * new property: ``power-domain``
1068          * new property: ``zephyr,pm-device-runtime-auto``
1069
1070    * :dtcompatible:`ntc-thermistor-generic`:
1071
1072          * removed property: ``r25-ohm``
1073
1074    * :dtcompatible:`ns16550`:
1075
1076          * new property: ``resets``
1077          * new property: ``reset-names``
1078
1079    * :dtcompatible:`fixed-clock`:
1080
1081          * removed property: ``clocks``
1082
1083    * All CPU bindings got a new ``enable-method`` property. `pull request
1084      60210 <https://github.com/zephyrproject-rtos/zephyr/pull/60210>`_ for
1085      details.
1086
1087* Analog Devices, Inc. (adi):
1088
1089  * New bindings:
1090
1091    * :dtcompatible:`adi,ad5628`
1092    * :dtcompatible:`adi,ad5648`
1093    * :dtcompatible:`adi,ad5668`
1094    * :dtcompatible:`adi,ad5672`
1095    * :dtcompatible:`adi,ad5674`
1096    * :dtcompatible:`adi,ad5676`
1097    * :dtcompatible:`adi,ad5679`
1098    * :dtcompatible:`adi,ad5684`
1099    * :dtcompatible:`adi,ad5686`
1100    * :dtcompatible:`adi,ad5687`
1101    * :dtcompatible:`adi,ad5689`
1102    * :dtcompatible:`adi,adin1110`
1103    * :dtcompatible:`adi,adltc2990`
1104
1105  * Modified bindings:
1106
1107    * :dtcompatible:`adi,adin2111-mdio` (on adin2111 bus):
1108
1109          * removed property: ``protocol``
1110
1111* Altera Corp. (altr):
1112
1113  * New bindings:
1114
1115    * :dtcompatible:`altr,pio-1.0`
1116
1117* Ambiq Micro, Inc. (ambiq):
1118
1119  * New bindings:
1120
1121    * :dtcompatible:`ambiq,am1805`
1122    * :dtcompatible:`ambiq,apollo4-pinctrl`
1123    * :dtcompatible:`ambiq,counter`
1124    * :dtcompatible:`ambiq,i2c`
1125    * :dtcompatible:`ambiq,mspi`
1126    * :dtcompatible:`ambiq,pwrctrl`
1127    * :dtcompatible:`ambiq,spi`
1128    * :dtcompatible:`ambiq,stimer`
1129    * :dtcompatible:`ambiq,uart`
1130    * :dtcompatible:`ambiq,watchdog`
1131
1132* AMS AG (ams):
1133
1134  * New bindings:
1135
1136    * :dtcompatible:`ams,tsl2540`
1137
1138* Andes Technology Corporation (andestech):
1139
1140  * New bindings:
1141
1142    * :dtcompatible:`andestech,atcwdt200`
1143    * :dtcompatible:`andestech,plic-sw`
1144    * :dtcompatible:`andestech,qspi-nor`
1145
1146* ARM Ltd. (arm):
1147
1148  * New bindings:
1149
1150    * :dtcompatible:`arm,cortex-a76`
1151    * :dtcompatible:`arm,gic-v1`
1152    * :dtcompatible:`arm,gic-v2`
1153    * :dtcompatible:`arm,gic-v3`
1154    * :dtcompatible:`arm,psci-1.1`
1155
1156* ASPEED Technology Inc. (aspeed):
1157
1158  * Modified bindings:
1159
1160    * :dtcompatible:`aspeed,ast10x0-reset`:
1161
1162          * specifier cells for space "reset" are now named: ['id'] (old value: None)
1163          * specifier cells for space "clock" are now named: None (old value: ['reset_id'])
1164
1165* Atmel Corporation (atmel):
1166
1167  * New bindings:
1168
1169    * :dtcompatible:`atmel,sam-hsmci`
1170
1171  * Modified bindings:
1172
1173    * :dtcompatible:`atmel,sam-mdio`:
1174
1175          * removed property: ``protocol``
1176          * property ``#address-cells`` const value changed from None to 1
1177          * property ``#size-cells`` const value changed from None to 0
1178          * property ``#address-cells`` is now required
1179          * property ``#size-cells`` is now required
1180
1181* Bosch Sensortec GmbH (bosch):
1182
1183  * New bindings:
1184
1185    * :dtcompatible:`bosch,bmi08x-accel`
1186    * :dtcompatible:`bosch,bmi08x-accel`
1187    * :dtcompatible:`bosch,bmi08x-gyro`
1188    * :dtcompatible:`bosch,bmi08x-gyro`
1189
1190  * Modified bindings:
1191
1192    * :dtcompatible:`bosch,bmm150`:
1193
1194          * new property: ``drdy-gpios``
1195
1196    * :dtcompatible:`bosch,bmi270`:
1197
1198          * new property: ``irq-gpios``
1199
1200* Broadcom Corporation (brcm):
1201
1202  * New bindings:
1203
1204    * :dtcompatible:`brcm,bcm2711-aux-uart`
1205
1206* Cadence Design Systems Inc. (cdns):
1207
1208  * New bindings:
1209
1210    * :dtcompatible:`cdns,tensilica-xtensa-lx3`
1211
1212* DFRobot (dfrobot):
1213
1214  * New bindings:
1215
1216    * :dtcompatible:`dfrobot,a01nyub`
1217
1218* Efinix Inc (efinix):
1219
1220  * New bindings:
1221
1222    * :dtcompatible:`efinix,sapphire-gpio`
1223    * :dtcompatible:`efinix,sapphire-timer0`
1224    * :dtcompatible:`efinix,sapphire-uart0`
1225
1226* EPCOS AG (epcos):
1227
1228  * Modified bindings:
1229
1230    * :dtcompatible:`epcos,b57861s0103a039`:
1231
1232          * removed property: ``r25-ohm``
1233
1234* Espressif Systems (espressif):
1235
1236  * Modified bindings:
1237
1238    * :dtcompatible:`espressif,esp-at` (on uart bus):
1239
1240          * new property: ``external-reset``
1241
1242    * :dtcompatible:`espressif,esp32-mdio`:
1243
1244          * removed property: ``protocol``
1245          * property ``#address-cells`` const value changed from None to 1
1246          * property ``#size-cells`` const value changed from None to 0
1247          * property ``#address-cells`` is now required
1248          * property ``#size-cells`` is now required
1249
1250    * :dtcompatible:`espressif,riscv`:
1251
1252          * new property: ``mmu-type``
1253          * new property: ``riscv,isa``
1254
1255    * :dtcompatible:`espressif,esp32-spi`:
1256
1257          * new property: ``line-idle-low``
1258
1259* Feature Integration Technology Inc. (fintek):
1260
1261  * New bindings:
1262
1263    * :dtcompatible:`fintek,f75303`
1264
1265* FocalTech Systems Co.,Ltd (focaltech):
1266
1267  * Modified bindings:
1268
1269    * :dtcompatible:`focaltech,ft5336` (on i2c bus):
1270
1271          * new property: ``reset-gpios``
1272
1273* Fujitsu Ltd. (fujitsu):
1274
1275  * New bindings:
1276
1277    * :dtcompatible:`fujitsu,mb85rcxx`
1278
1279* Shenzhen Huiding Technology Co., Ltd. (goodix):
1280
1281  * Modified bindings:
1282
1283    * :dtcompatible:`goodix,gt911` (on i2c bus):
1284
1285          * bus list changed from ['kscan'] to []
1286          * new property: ``alt-addr``
1287
1288* Himax Technologies, Inc. (himax):
1289
1290  * New bindings:
1291
1292    * :dtcompatible:`himax,hx8394`
1293
1294* Infineon Technologies (infineon):
1295
1296  * New bindings:
1297
1298    * :dtcompatible:`infineon,cat1-counter`
1299    * :dtcompatible:`infineon,cat1-spi`
1300    * :dtcompatible:`infineon,xmc4xxx-ccu4-pwm`
1301    * :dtcompatible:`infineon,xmc4xxx-ccu8-pwm`
1302    * :dtcompatible:`infineon,xmc4xxx-i2c`
1303
1304* Intel Corporation (intel):
1305
1306  * New bindings:
1307
1308    * :dtcompatible:`intel,agilex5-clock`
1309    * :dtcompatible:`intel,alder-lake`
1310    * :dtcompatible:`intel,apollo-lake`
1311    * :dtcompatible:`intel,blinky-pwm`
1312    * :dtcompatible:`intel,elkhart-lake`
1313    * :dtcompatible:`intel,emmc-host`
1314    * :dtcompatible:`intel,ish`
1315    * :dtcompatible:`intel,loapic`
1316    * :dtcompatible:`intel,sedi-gpio`
1317    * :dtcompatible:`intel,sedi-i2c`
1318    * :dtcompatible:`intel,sedi-ipm`
1319    * :dtcompatible:`intel,sedi-uart`
1320    * :dtcompatible:`intel,socfpga-agilex-sip-smc`
1321    * :dtcompatible:`intel,socfpga-reset`
1322    * :dtcompatible:`intel,timeaware-gpio`
1323
1324  * Removed bindings:
1325
1326    * ``intel,agilex-socfpga-sip-smc``
1327    * ``intel,apollo_lake``
1328    * ``intel,elkhart_lake``
1329    * ``intel,gna``
1330
1331  * Modified bindings:
1332
1333    * :dtcompatible:`intel,niosv`:
1334
1335          * new property: ``mmu-type``
1336          * new property: ``riscv,isa``
1337
1338    * :dtcompatible:`intel,adsp-imr`:
1339
1340          * new property: ``zephyr,memory-attr``
1341          * property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None
1342          * property ``zephyr,memory-region-mpu`` deprecation status changed from False to True
1343
1344    * :dtcompatible:`intel,lpss`:
1345
1346          * new property: ``dma-parent``
1347
1348    * :dtcompatible:`intel,adsp-shim-clkctl`:
1349
1350          * new property: ``adsp-clkctl-clk-ipll``
1351
1352* Isentek Inc. (isentek):
1353
1354  * New bindings:
1355
1356    * :dtcompatible:`isentek,ist8310`
1357
1358* Integrated Silicon Solutions Inc. (issi):
1359
1360  * New bindings:
1361
1362    * :dtcompatible:`issi,is31fl3216a`
1363    * :dtcompatible:`issi,is31fl3733`
1364
1365* ITE Tech. Inc. (ite):
1366
1367  * New bindings:
1368
1369    * :dtcompatible:`ite,it8xxx2-sha`
1370
1371  * Modified bindings:
1372
1373    * :dtcompatible:`ite,it8xxx2-pinctrl-func`:
1374
1375          * new property: ``func3-ext``
1376          * new property: ``func3-ext-mask``
1377
1378    * :dtcompatible:`ite,riscv-ite`:
1379
1380          * new property: ``mmu-type``
1381          * new property: ``riscv,isa``
1382
1383    * :dtcompatible:`ite,enhance-i2c`:
1384
1385          * new property: ``target-enable``
1386          * new property: ``target-pio-mode``
1387
1388* Linaro Limited (linaro):
1389
1390  * New bindings:
1391
1392    * :dtcompatible:`linaro,ivshmem-ipm`
1393
1394* Maxim Integrated Products (maxim):
1395
1396  * New bindings:
1397
1398    * :dtcompatible:`maxim,max11102`
1399    * :dtcompatible:`maxim,max11103`
1400    * :dtcompatible:`maxim,max11105`
1401    * :dtcompatible:`maxim,max11106`
1402    * :dtcompatible:`maxim,max11110`
1403    * :dtcompatible:`maxim,max11111`
1404    * :dtcompatible:`maxim,max11115`
1405    * :dtcompatible:`maxim,max11116`
1406    * :dtcompatible:`maxim,max11117`
1407    * :dtcompatible:`maxim,max11253`
1408    * :dtcompatible:`maxim,max11254`
1409    * :dtcompatible:`maxim,max31790`
1410
1411* Microchip Technology Inc. (microchip):
1412
1413  * New bindings:
1414
1415    * :dtcompatible:`microchip,mcp251xfd`
1416    * :dtcompatible:`microchip,mpfs-i2c`
1417    * :dtcompatible:`microchip,tcn75a`
1418
1419  * Modified bindings:
1420
1421    * :dtcompatible:`microchip,xec-pwmbbled`:
1422
1423          * new property: ``enable-low-power-32k``
1424
1425    * :dtcompatible:`microchip,cap1203` (on i2c bus):
1426
1427          * bus list changed from ['kscan'] to []
1428          * new property: ``input-codes``
1429
1430    * :dtcompatible:`microchip,xec-ps2`:
1431
1432          * new property: ``wakerx-gpios``
1433
1434* Motorola, Inc. (motorola):
1435
1436  * Modified bindings:
1437
1438    * :dtcompatible:`motorola,mc146818`:
1439
1440          * new property: ``clock-frequency``
1441
1442* Murata Manufacturing Co., Ltd. (murata):
1443
1444  * New bindings:
1445
1446    * :dtcompatible:`murata,ncp15wb473`
1447
1448* Nordic Semiconductor (nordic):
1449
1450  * New bindings:
1451
1452    * :dtcompatible:`nordic,npm1300-led`
1453    * :dtcompatible:`nordic,npm1300-wdt`
1454
1455  * Removed bindings:
1456
1457    * ``nordic,nrf-cc310``
1458    * ``nordic,nrf-cc312``
1459
1460  * Modified bindings:
1461
1462    * :dtcompatible:`nordic,nrf-ccm`:
1463
1464          * new property: ``headermask-supported``
1465
1466    * :dtcompatible:`nordic,nrf-twi`:
1467
1468          * new property: ``easydma-maxcnt-bits``
1469
1470    * :dtcompatible:`nordic,nrf-twim` and :dtcompatible:`nordic,nrf-twis`:
1471
1472          * new property: ``easydma-maxcnt-bits``
1473          * new property: ``memory-regions``
1474          * new property: ``memory-region-names``
1475
1476    * :dtcompatible:`nordic,nrf-spi`, :dtcompatible:`nordic,nrf-spis`, and
1477      :dtcompatible:`nordic,nrf-spim`:
1478
1479          * new property: ``wake-gpios``
1480
1481    * :dtcompatible:`nordic,npm1300-charger`:
1482
1483          * new property: ``thermistor-cold-millidegrees``
1484          * new property: ``thermistor-cool-millidegrees``
1485          * new property: ``thermistor-warm-millidegrees``
1486          * new property: ``thermistor-hot-millidegrees``
1487          * new property: ``trickle-microvolt``
1488          * new property: ``term-current-percent``
1489          * new property: ``vbatlow-charge-enable``
1490          * new property: ``disable-recharge``
1491
1492    * :dtcompatible:`nordic,nrf-uicr`:
1493
1494          * new property: ``nfct-pins-as-gpios``
1495          * new property: ``gpio-as-nreset``
1496
1497    * :dtcompatible:`nordic,npm1300` (on i2c bus):
1498
1499          * new property: ``host-int-gpios``
1500          * new property: ``pmic-int-pin``
1501
1502* Nuclei System Technology (nuclei):
1503
1504  * Modified bindings:
1505
1506    * :dtcompatible:`nuclei,bumblebee`:
1507
1508          * new property: ``mmu-type``
1509          * new property: ``riscv,isa``
1510
1511* Nuvoton Technology Corporation (nuvoton):
1512
1513  * New bindings:
1514
1515    * :dtcompatible:`nuvoton,nct38xx`
1516    * :dtcompatible:`nuvoton,nct38xx-gpio`
1517    * :dtcompatible:`nuvoton,npcx-fiu-nor`
1518    * :dtcompatible:`nuvoton,npcx-fiu-qspi`
1519    * :dtcompatible:`nuvoton,numaker-fmc`
1520    * :dtcompatible:`nuvoton,numaker-gpio`
1521    * :dtcompatible:`nuvoton,numaker-pcc`
1522    * :dtcompatible:`nuvoton,numaker-pinctrl`
1523    * :dtcompatible:`nuvoton,numaker-pwm`
1524    * :dtcompatible:`nuvoton,numaker-rst`
1525    * :dtcompatible:`nuvoton,numaker-scc`
1526    * :dtcompatible:`nuvoton,numaker-spi`
1527    * :dtcompatible:`nuvoton,numaker-uart`
1528
1529  * Removed bindings:
1530
1531    * ``nuvoton,nct38xx-gpio``
1532    * ``nuvoton,npcx-spi-fiu``
1533
1534  * Modified bindings:
1535
1536    * :dtcompatible:`nuvoton,npcx-sha`:
1537
1538          * new property: ``context-buffer-size``
1539
1540    * :dtcompatible:`nuvoton,npcx-adc`:
1541
1542          * new property: ``vref-mv``
1543          * removed property: ``threshold-reg-offset``
1544
1545    * :dtcompatible:`nuvoton,adc-cmp`:
1546
1547          * new property: ``thr-sel``
1548
1549    * :dtcompatible:`nuvoton,npcx-pcc`:
1550
1551          * new property: ``pwdwn-ctl-val``
1552          * property ``clock-frequency`` enum value changed from [100000000, 96000000, 90000000, 80000000, 66000000, 50000000, 48000000, 40000000, 33000000] to [120000000, 100000000, 96000000, 90000000, 80000000, 66000000, 50000000, 48000000]
1553          * property ``ram-pd-depth`` enum value changed from [12, 15] to [8, 12, 15]
1554
1555* NXP Semiconductors (nxp):
1556
1557  * New bindings:
1558
1559    * :dtcompatible:`nxp,ctimer-pwm`
1560    * :dtcompatible:`nxp,fs26-wdog`
1561    * :dtcompatible:`nxp,imx-flexspi-w956a8mbya`
1562    * :dtcompatible:`nxp,irqsteer-intc`
1563    * :dtcompatible:`nxp,lpdac`
1564    * :dtcompatible:`nxp,mbox-imx-mu`
1565    * :dtcompatible:`nxp,mcux-dcp`
1566    * :dtcompatible:`nxp,mcux-edma-v3`
1567    * :dtcompatible:`nxp,pcf8563`
1568    * :dtcompatible:`nxp,pxp`
1569    * :dtcompatible:`nxp,s32-adc-sar`
1570    * :dtcompatible:`nxp,s32-clock`
1571    * :dtcompatible:`nxp,s32-emios`
1572    * :dtcompatible:`nxp,s32-emios-pwm`
1573    * :dtcompatible:`nxp,s32-gmac`
1574    * :dtcompatible:`nxp,s32-qspi`
1575    * :dtcompatible:`nxp,s32-qspi-device`
1576    * :dtcompatible:`nxp,s32-qspi-nor`
1577    * :dtcompatible:`nxp,s32k3-pinctrl`
1578    * :dtcompatible:`nxp,smartdma`
1579    * :dtcompatible:`nxp,tempmon`
1580    * :dtcompatible:`nxp,vref`
1581
1582  * Modified bindings:
1583
1584    * :dtcompatible:`nxp,s32-netc-emdio`:
1585
1586          * removed property: ``protocol``
1587          * property ``#address-cells`` const value changed from None to 1
1588          * property ``#size-cells`` const value changed from None to 0
1589          * property ``#address-cells`` is now required
1590          * property ``#size-cells`` is now required
1591
1592    * :dtcompatible:`nxp,mipi-dsi-2l`:
1593
1594          * property ``nxp,lcdif`` is no longer required
1595
1596    * :dtcompatible:`nxp,imx-mipi-dsi`:
1597
1598          * property ``nxp,lcdif`` is no longer required
1599
1600    * :dtcompatible:`nxp,pca9633` (on i2c bus):
1601
1602          * new property: ``disable-allcall``
1603
1604    * :dtcompatible:`nxp,s32-sys-timer`:
1605
1606          * removed property: ``clock-frequency``
1607          * property ``clocks`` is now required
1608
1609    * :dtcompatible:`nxp,imx-lpspi`:
1610
1611          * new property: ``data-pin-config``
1612
1613    * :dtcompatible:`nxp,s32-spi`:
1614
1615          * property ``clock-frequency`` is no longer required
1616          * property ``clocks`` is now required
1617
1618    * :dtcompatible:`nxp,imx-wdog`:
1619
1620          * pinctrl support
1621
1622    * :dtcompatible:`nxp,s32-swt`:
1623
1624          * removed property: ``clock-frequency``
1625          * property ``clocks`` is now required
1626
1627    * :dtcompatible:`nxp,lpc-lpadc`:
1628
1629          * new property: ``nxp,reference-supply``
1630
1631    * :dtcompatible:`nxp,kinetis-pit`:
1632
1633          * new property: ``max-load-value``
1634          * property ``clocks`` is now required
1635
1636    * :dtcompatible:`nxp,mcux-edma`:
1637
1638          * new property: ``dmamux-reg-offset``
1639          * new property: ``channel-gap``
1640          * new property: ``irq-shared-offset``
1641
1642    * :dtcompatible:`nxp,imx-elcdif`:
1643
1644          * new property: ``nxp,pxp``
1645
1646* ON Semiconductor Corp. (onnn):
1647
1648  * New bindings:
1649
1650    * :dtcompatible:`onnn,ncp5623`
1651
1652* Princeton Technology Corp. (ptc):
1653
1654  * New bindings:
1655
1656    * :dtcompatible:`ptc,pt6314`
1657
1658* Quectel Wireless Solutions Co., Ltd. (quectel):
1659
1660  * New bindings:
1661
1662    * :dtcompatible:`quectel,bg95`
1663
1664* QuickLogic Corp. (quicklogic):
1665
1666  * New bindings:
1667
1668    * :dtcompatible:`quicklogic,eos-s3-pinctrl`
1669
1670  * Modified bindings:
1671
1672    * :dtcompatible:`quicklogic,usbserialport-s3b`:
1673
1674      * pinctrl support
1675
1676* Raspberry Pi Foundation (raspberrypi):
1677
1678  * New bindings:
1679
1680    * :dtcompatible:`raspberrypi,pico-header`
1681    * :dtcompatible:`raspberrypi,pico-i2c`
1682    * :dtcompatible:`raspberrypi,pico-spi-pio`
1683    * :dtcompatible:`raspberrypi,pico-timer`
1684
1685* Raydium Semiconductor Corp. (raydium):
1686
1687  * New bindings:
1688
1689    * :dtcompatible:`raydium,rm67162`
1690
1691* Renesas Electronics Corporation (renesas):
1692
1693  * New bindings:
1694
1695    * :dtcompatible:`renesas,smartbond-lp-osc`
1696    * :dtcompatible:`renesas,smartbond-timer`
1697
1698  * Modified bindings:
1699
1700    * :dtcompatible:`renesas,smartbond-flash-controller`:
1701
1702          * new property: ``read-cs-idle-delay``
1703          * new property: ``erase-cs-idle-delay``
1704
1705* Smart Battery System (sbs):
1706
1707  * New bindings:
1708
1709    * :dtcompatible:`sbs,default-sbs-gauge`
1710    * :dtcompatible:`sbs,sbs-charger`
1711
1712* Seeed Technology Co., Ltd (seeed):
1713
1714  * New bindings:
1715
1716    * :dtcompatible:`seeed,hm330x`
1717
1718* SiFive, Inc. (sifive):
1719
1720  * Modified bindings:
1721
1722    * :dtcompatible:`sifive,i2c0`:
1723
1724          * pinctrl support
1725
1726* Silicon Laboratories (silabs):
1727
1728  * New bindings:
1729
1730    * :dtcompatible:`silabs,gecko-adc`
1731
1732* Sino Wealth Electronic Ltd (sinowealth):
1733
1734  * New bindings:
1735
1736    * :dtcompatible:`sinowealth,sh1106`
1737    * :dtcompatible:`sinowealth,sh1106`
1738
1739* Sitronix Technology Corporation (sitronix):
1740
1741  * Modified bindings:
1742
1743    * :dtcompatible:`sitronix,st7735r` (on spi bus):
1744
1745          * property ``reset-gpios`` is no longer required
1746
1747* Standard Microsystems Corporation (smsc):
1748
1749  * Modified bindings:
1750
1751    * :dtcompatible:`smsc,lan91c111-mdio`:
1752
1753          * removed property: ``protocol``
1754          * property ``#address-cells`` const value changed from None to 1
1755          * property ``#size-cells`` const value changed from None to 0
1756          * property ``#address-cells`` is now required
1757          * property ``#size-cells`` is now required
1758
1759    * :dtcompatible:`smsc,lan91c111`:
1760
1761          * new property: ``local-mac-address``
1762          * new property: ``zephyr,random-mac-address``
1763          * property ``reg`` is no longer required
1764
1765* Synopsys, Inc. (snps):
1766
1767  * New bindings:
1768
1769    * :dtcompatible:`snps,dw-timers`
1770
1771* Solomon Systech Limited (solomon):
1772
1773  * Modified bindings:
1774
1775    * :dtcompatible:`solomon,ssd1306fb`
1776
1777          * new property: ``inversion-on``
1778          * new property: ``ready-time-ms``
1779
1780* Sequans Communications (sqn):
1781
1782  * New bindings:
1783
1784    * :dtcompatible:`sqn,hwspinlock`
1785
1786* STMicroelectronics (st):
1787
1788  * New bindings:
1789
1790    * :dtcompatible:`st,stm32-bxcan`
1791    * :dtcompatible:`st,stm32-spi-host-cmd`
1792    * :dtcompatible:`st,stm32f1-rcc`
1793    * :dtcompatible:`st,stm32f3-rcc`
1794    * :dtcompatible:`st,stm32wba-flash-controller`
1795    * :dtcompatible:`st,stm32wba-hse-clock`
1796    * :dtcompatible:`st,stm32wba-pll-clock`
1797    * :dtcompatible:`st,stm32wba-rcc`
1798    * :dtcompatible:`st,stmpe811`
1799
1800  * Removed bindings:
1801
1802    * ``st,stm32-can``
1803
1804  * Modified bindings:
1805
1806    * :dtcompatible:`st,stm32-pwm`:
1807
1808          * new property: ``four-channel-capture-support``
1809
1810    * :dtcompatible:`st,stm32f4-adc`:
1811
1812          * new property: ``st,adc-clock-source``
1813          * new property: ``st,adc-prescaler``
1814          * new property: ``st,adc-sequencer``
1815          * removed property: ``temp-channel``
1816          * removed property: ``vref-channel``
1817          * removed property: ``vbat-channel``
1818
1819    * :dtcompatible:`st,stm32-adc`:
1820
1821          * new property: ``st,adc-clock-source``
1822          * new property: ``st,adc-prescaler``
1823          * new property: ``st,adc-sequencer``
1824          * removed property: ``temp-channel``
1825          * removed property: ``vref-channel``
1826          * removed property: ``vbat-channel``
1827
1828    * :dtcompatible:`st,stm32f1-adc`:
1829
1830          * new property: ``st,adc-sequencer``
1831          * removed property: ``temp-channel``
1832          * removed property: ``vref-channel``
1833          * removed property: ``vbat-channel``
1834
1835    * :dtcompatible:`st,stm32-ospi`:
1836
1837          * new property: ``io-low-port``
1838          * new property: ``io-high-port``
1839
1840    * :dtcompatible:`st,stm32c0-hsi-clock`:
1841
1842          * removed property: ``clocks``
1843
1844    * :dtcompatible:`st,stm32-hse-clock`:
1845
1846          * removed property: ``clocks``
1847
1848    * :dtcompatible:`st,stm32wl-hse-clock`:
1849
1850          * removed property: ``clocks``
1851
1852    * :dtcompatible:`st,stm32g0-hsi-clock`:
1853
1854          * removed property: ``clocks``
1855
1856    * :dtcompatible:`st,stm32h7-hsi-clock`:
1857
1858          * removed property: ``clocks``
1859
1860    * :dtcompatible:`st,stm32-lse-clock`:
1861
1862          * removed property: ``clocks``
1863
1864    * :dtcompatible:`st,stm32u5-pll-clock`:
1865
1866          * new property: ``fracn``
1867
1868* Telink Semiconductor (telink):
1869
1870  * Modified bindings:
1871
1872    * :dtcompatible:`telink,b91-pwm`:
1873
1874          * pinctrl support
1875
1876    * :dtcompatible:`telink,b91`:
1877
1878          * new property: ``mmu-type``
1879          * new property: ``riscv,isa``
1880
1881    * :dtcompatible:`telink,b91-i2c`:
1882
1883          * pinctrl support
1884
1885    * :dtcompatible:`telink,b91-spi`:
1886
1887          * pinctrl support
1888
1889    * :dtcompatible:`telink,b91-uart`:
1890
1891          * pinctrl support
1892
1893* Texas Instruments (ti):
1894
1895  * New bindings:
1896
1897    * :dtcompatible:`ti,ads1112`
1898    * :dtcompatible:`ti,bq27z746`
1899    * :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer`
1900    * :dtcompatible:`ti,cc13xx-cc26xx-timer`
1901    * :dtcompatible:`ti,cc13xx-cc26xx-timer-pwm`
1902    * :dtcompatible:`ti,cc32xx-pinctrl`
1903    * :dtcompatible:`ti,davinci-gpio`
1904    * :dtcompatible:`ti,davinci-gpio-nexus`
1905    * :dtcompatible:`ti,lp5009`
1906    * :dtcompatible:`ti,lp5012`
1907    * :dtcompatible:`ti,lp5018`
1908    * :dtcompatible:`ti,lp5024`
1909    * :dtcompatible:`ti,lp5030`
1910    * :dtcompatible:`ti,lp5036`
1911    * :dtcompatible:`ti,lp5569`
1912    * :dtcompatible:`ti,tas6422dac`
1913    * :dtcompatible:`ti,tcan4x5x`
1914    * :dtcompatible:`ti,tla2021`
1915    * :dtcompatible:`ti,tmag5170`
1916    * :dtcompatible:`ti,vim`
1917
1918  * Removed bindings:
1919
1920    * ``ti,cc13xx-cc26xx-rtc``
1921    * ``ti,lp503x``
1922
1923  * Modified bindings:
1924
1925    * :dtcompatible:`ti,cc32xx-i2c`:
1926
1927          * pinctrl support
1928
1929    * :dtcompatible:`ti,ina230` (on i2c bus):
1930
1931          * new property: ``alert-config``
1932          * new property: ``adc-mode``
1933          * new property: ``vbus-conversion-time-us``
1934          * new property: ``vshunt-conversion-time-us``
1935          * new property: ``avg-count``
1936          * new property: ``rshunt-micro-ohms``
1937          * removed property: ``rshunt-milliohms``
1938          * property ``config`` default value changed from None to 0
1939          * property ``config`` deprecation status changed from False to True
1940          * property ``config`` is no longer required
1941
1942    * :dtcompatible:`ti,ina237` (on i2c bus):
1943
1944          * new property: ``adc-mode``
1945          * new property: ``vbus-conversion-time-us``
1946          * new property: ``vshunt-conversion-time-us``
1947          * new property: ``temp-conversion-time-us``
1948          * new property: ``avg-count``
1949          * new property: ``high-precision``
1950          * new property: ``rshunt-micro-ohms``
1951          * removed property: ``rshunt-milliohms``
1952          * property ``adc-config`` default value changed from None to 0
1953          * property ``config`` default value changed from None to 0
1954          * property ``adc-config`` deprecation status changed from False to True
1955          * property ``config`` deprecation status changed from False to True
1956          * property ``adc-config`` is no longer required
1957          * property ``config`` is no longer required
1958
1959    * :dtcompatible:`ti,cc32xx-uart`:
1960
1961          * pinctrl support
1962
1963* A stand-in for a real vendor which can be used in examples and tests (vnd):
1964
1965  * New bindings:
1966
1967    * :dtcompatible:`vnd,memory-attr`
1968    * :dtcompatible:`vnd,reg-holder-64`
1969    * :dtcompatible:`vnd,reserved-compat`
1970
1971  * Modified bindings:
1972
1973    * :dtcompatible:`vnd,serial`:
1974
1975          * property ``reg`` is no longer required
1976
1977* X-Powers (x-powers):
1978
1979  * New bindings:
1980
1981    * :dtcompatible:`x-powers,axp192`
1982    * :dtcompatible:`x-powers,axp192-gpio`
1983    * :dtcompatible:`x-powers,axp192-regulator`
1984
1985* Xen Hypervisor (xen):
1986
1987  * New bindings:
1988
1989    * :dtcompatible:`xen,xen`
1990
1991  * Removed bindings:
1992
1993    * ``xen,xen-4.15``
1994
1995* Xilinx (xlnx):
1996
1997  * New bindings:
1998
1999    * :dtcompatible:`xlnx,zynqmp-ipi-mailbox`
2000
2001* Shenzhen Xptek Technology Co., Ltd (xptek):
2002
2003  * Modified bindings:
2004
2005    * :dtcompatible:`xptek,xpt2046` (on spi bus):
2006
2007          * bus list changed from ['kscan'] to []
2008
2009* Zephyr-specific binding (zephyr):
2010
2011  * New bindings:
2012
2013    * :dtcompatible:`zephyr,fake-rtc`
2014    * :dtcompatible:`zephyr,i2c-dump-allowlist`
2015    * :dtcompatible:`zephyr,lvgl-button-input`
2016    * :dtcompatible:`zephyr,lvgl-encoder-input`
2017    * :dtcompatible:`zephyr,lvgl-pointer-input`
2018    * :dtcompatible:`zephyr,mdio-gpio`
2019    * :dtcompatible:`zephyr,native-tty-uart`
2020    * :dtcompatible:`zephyr,ram-disk`
2021    * :dtcompatible:`zephyr,sensing`
2022    * :dtcompatible:`zephyr,sensing-phy-3d-sensor`
2023
2024  * Removed bindings:
2025
2026    * ``zephyr,gpio-keys``
2027
2028  * Modified bindings:
2029
2030    * :dtcompatible:`zephyr,mmc-disk` (on sd bus):
2031
2032          * new property: ``bus-width``
2033
2034    * :dtcompatible:`zephyr,bt-hci-spi` (on spi bus):
2035
2036          * new property: ``controller-data-delay-us``
2037
2038    * :dtcompatible:`zephyr,sdhc-spi-slot` (on spi bus):
2039
2040          * new property: ``pwr-gpios``
2041
2042    * :dtcompatible:`zephyr,memory-region`:
2043
2044          * new property: ``zephyr,memory-attr``
2045          * property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None
2046          * property ``zephyr,memory-region-mpu`` deprecation status changed from False to True
2047          * property ``reg`` is now required
2048
2049Libraries / Subsystems
2050**********************
2051
2052* Management
2053
2054  * Introduced MCUmgr client support with handlers for img_mgmt and os_mgmt.
2055
2056  * Added response checking to MCUmgr's :c:enumerator:`MGMT_EVT_OP_CMD_RECV`
2057    notification callback to allow applications to reject MCUmgr commands.
2058
2059  * MCUmgr SMP version 2 error translation (to legacy MCUmgr error code) is now
2060    supported in function handlers by setting ``mg_translate_error`` of
2061    :c:struct:`mgmt_group` when registering a group. See
2062    :c:type:`smp_translate_error_fn` for function details.
2063
2064  * Fixed an issue with MCUmgr img_mgmt group whereby the size of the upload in
2065    the initial packet was not checked.
2066
2067  * Fixed an issue with MCUmgr fs_mgmt group whereby some status codes were not
2068    checked properly, this meant that the error returned might not be the
2069    correct error, but would only occur in situations where an error was
2070    already present.
2071
2072  * Fixed an issue whereby the SMP response function did not check to see if
2073    the initial zcbor map was created successfully.
2074
2075  * Fixes an issue with MCUmgr shell_mgmt group whereby the length of a
2076    received command was not properly checked.
2077
2078  * Added optional mutex locking support to MCUmgr img_mgmt group, which can
2079    be enabled with :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_MUTEX`.
2080
2081  * Added MCUmgr settings management group, which allows for manipulation of
2082    zephyr settings from a remote device, see :ref:`mcumgr_smp_group_3` for
2083    details.
2084
2085  * Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY`
2086    and :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY`
2087    that allow to control whether MCUmgr client will be allowed to confirm
2088    non-active images.
2089
2090  * Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING` that allows
2091    to erase slots pending for next boot, that are not revert slots.
2092
2093  * Added ``user_data`` as an optional field to :c:struct:`mgmt_handler` when
2094    :kconfig:option:`CONFIG_MCUMGR_MGMT_HANDLER_USER_DATA` is enabled.
2095
2096  * Added optional ``force`` parameter to os mgmt reset command, this can be checked in the
2097    :c:enumerator:`MGMT_EVT_OP_OS_MGMT_RESET` notification callback whose data structure is
2098    :c:struct:`os_mgmt_reset_data`.
2099
2100  * Added configurable number of SMP encoding levels via
2101    :kconfig:option:`CONFIG_MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS`, which automatically increments
2102    minimum encoding levels for in-tree groups if :kconfig:option:`CONFIG_ZCBOR_CANONICAL` is
2103    enabled.
2104
2105  * Added STM32 SPI backend for EC Host command protocol.
2106
2107  * Fixed settings_mgmt returning unknown error instead of invalid key specified error.
2108
2109  * Fixed fs_mgmt returning parameter too large error instead of file is empty error when
2110    attempting to hash/checksum a file which is empty.
2111
2112* File systems
2113
2114  * Added support for ext2 file system.
2115  * Added support of mounting littlefs on the block device from the shell/fs.
2116  * Added alignment parameter to FS_LITTLEFS_DECLARE_CUSTOM_CONFIG macro, it can speed up read/write
2117    operation for SDMMC devices in case when we align buffers on CONFIG_SDHC_BUFFER_ALIGNMENT,
2118    because we can avoid extra copy of data from card buffer to read/prog buffer.
2119
2120* Random
2121
2122  * ``CONFIG_XOROSHIRO_RANDOM_GENERATOR``, deprecated a long time ago, is finally removed.
2123
2124* Retention
2125
2126  * Added the :ref:`blinfo_api` subsystem.
2127
2128  * Added support for allowing mutex support to be forcibly disabled with
2129    :kconfig:option:`CONFIG_RETENTION_MUTEX_FORCE_DISABLE`.
2130
2131* Binary descriptors
2132
2133  * Added the :ref:`binary_descriptors` (``bindesc``) subsystem.
2134
2135* POSIX API
2136
2137  * Added dynamic thread stack support for :c:func:`pthread_create`
2138  * Fixed :c:func:`stat` so that it returns file stats instead of filesystem stats
2139  * Implemented :c:func:`pthread_barrierattr_destroy`, :c:func:`pthread_barrierattr_getpshared`,
2140    :c:func:`pthread_barrierattr_init`, :c:func:`pthread_barrierattr_setpshared`,
2141    :c:func:`pthread_condattr_destroy`, :c:func:`pthread_condattr_init`,
2142    :c:func:`pthread_mutexattr_destroy`, :c:func:`pthread_mutexattr_init`, :c:func:`uname`,
2143    :c:func:`sigaddset`, :c:func:`sigdelset`, :c:func:`sigemptyset`, :c:func:`sigfillset`,
2144    :c:func:`sigismember`, :c:func:`strsignal`, :c:func:`pthread_spin_destroy`,
2145    :c:func:`pthread_spin_init`, :c:func:`pthread_spin_lock`, :c:func:`pthread_spin_trylock`,
2146    :c:func:`pthread_spin_unlock`, :c:func:`timer_getoverrun`, :c:func:`pthread_condattr_getclock`,
2147    :c:func:`pthread_condattr_setclock`, :c:func:`clock_nanosleep`
2148  * Added support for querying the number of bytes available to read via the
2149    :c:macro:`FIONREAD` request to :c:func:`ioctl`
2150  * Added :kconfig:option:`CONFIG_FDTABLE` to conditionally compile file descriptor table
2151  * Added logging to POSIX threads, mutexes, and condition variables
2152  * Fixed :c:func:`poll` issue with event file descriptors
2153
2154* LoRa/LoRaWAN
2155
2156  * Updated ``loramac-node`` from v4.6.0 to v4.7.0
2157
2158* CAN ISO-TP
2159
2160  * Added support for CAN FD.
2161
2162* RTIO
2163
2164  * Added atomic completion counter fixing a race caught by unit tests
2165  * Added a :c:macro:`RTIO_SQE_NO_RESPONSE` flag for submissions when no completion notification
2166    is needed
2167  * Removed unused Kconfig options for different executors
2168
2169* ZBus
2170
2171  * Changed channels' and observers' metadata to comply with the data/config approach. ZBus stores
2172    immutable config in iterable sections in Flash and the mutable portion of data in the RAM.
2173  * The relationship between channels and observers is mapped using a new entity called
2174    observation. The observation enables us to increase the granularity of masking observation.
2175    Developers can mask individual observations, disable the observer, or use runtime observers.
2176  * Added API :c:macro:`ZBUS_CHAN_ADD_OBS` macro for adding post-definition static observers of a
2177    channel. That can replace the runtime observer feature, enabling developers to add static
2178    observers after the channel definition in different files. It increases the composability of
2179    the system using ZBus, making post-definition channel observation rely on the stack instead of
2180    the heap.
2181  * Added a new type of observer called Message Subscriber. ZBus' VDED will send a copy of the
2182    message during the publication/notification process.
2183  * Changed the VDED delivery sequence. Check the ref:`documentation<zbus delivery sequence>`.
2184  * ZBus runtime observers now rely on the heap instead of a memory pool.
2185  * Added new iterable section iterators APIs (for channels and observers) can now receive a
2186    ``user_data`` pointer to keep context between the function calls.
2187  * Added APIs :c:macro:`ZBUS_LISTENER_DEFINE_WITH_ENABLE` and
2188    :c:macro:`ZBUS_SUBSCRIBER_DEFINE_WITH_ENABLE` that allows developers to define observers'
2189    statuses (enabled/disabled) programmatically. With the API, developers can create observers
2190    initially disabled and enable them in runtime.
2191
2192* Power management
2193
2194  * Added :kconfig:option:`CONFIG_PM_NEED_ALL_DEVICES_IDLE`. When this
2195    option is set the power management will keep the system active
2196    if there is any device busy.
2197  * :c:func:`pm_device_runtime_get` can be called from ISR now.
2198  * Power states can be disabled directly in devicetree doing ``status = "disabled";``
2199  * Added the helper function, :c:func:`pm_device_driver_init`, for
2200    initializing devices into a specific power state.
2201
2202* Modem modules
2203
2204  * Added the :ref:`modem` subsystem.
2205
2206HALs
2207****
2208
2209* Nordic
2210
2211  * Updated nrfx to version 3.1.0.
2212
2213* Nuvoton
2214
2215  * Added Nuvoton NuMaker M46x
2216
2217MCUboot
2218*******
2219
2220  * Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_NO_DOWNGRADE`
2221    that allows to inform application that the on-board MCUboot has been configured
2222    with downgrade  prevention enabled. This option is automatically selected for
2223    DirectXIP mode and is available for both swap modes.
2224
2225  * Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY`
2226    that allows to inform application that the on-board MCUboot will overwrite
2227    the primary slot with secondary slot contents, without saving the original
2228    image in primary slot.
2229
2230  * Fixed issue with serial recovery not showing image details for decrypted images.
2231
2232  * Fixed issue with serial recovery in single slot mode wrongly iterating over 2 image slots.
2233
2234  * Fixed an issue with boot_serial repeats not being processed when output was sent, this would
2235    lead to a divergence of commands whereby later commands being sent would have the previous
2236    command output sent instead.
2237
2238  * Fixed an issue with the boot_serial zcbor setup encoder function wrongly including the buffer
2239    address in the size which caused serial recovery to fail on some platforms.
2240
2241  * Fixed wrongly building in optimize for debug mode by default, this saves a significant amount
2242    of flash space.
2243
2244  * Fixed issue with serial recovery use of MBEDTLS having undefined operations which led to usage
2245    faults when the secondary slot image was encrypted.
2246
2247  * Fixed issue with bootutil asserting on maximum alignment in non-swap modes.
2248
2249  * Added error output when flash device fails to open and asserts are disabled, which will now
2250    panic the bootloader.
2251
2252  * Added currently running slot ID and maximum application size to shared data function
2253    definition.
2254
2255  * Added P384 and SHA384 support to imgtool.
2256
2257  * Added optional serial recovery image state and image set state commands.
2258
2259  * Added ``dumpinfo`` command for signed image parsing in imgtool.
2260
2261  * Added ``getpubhash`` command to dump the sha256 hash of the public key in imgtool.
2262
2263  * Added support for ``getpub`` to print the output to a file in imgtool.
2264
2265  * Added support for dumping the raw versions of the public keys in imgtool.
2266
2267  * Added support for sharing boot information with application via retention subsystem.
2268
2269  * Added support for serial recovery to read and handle encrypted seondary slot partitions.
2270
2271  * Removed ECDSA P224 support.
2272
2273  * Removed custom image list boot serial extension support.
2274
2275  * Reworked boot serial extensions so that they can be used by modules or from user repositories
2276    by switching to iterable sections.
2277
2278  * Reworked image encryption support for Zephyr, static dummy key files are no longer in the code,
2279    a pem file must be supplied to extract the private and public keys. The Kconfig menu has
2280    changed to only show a single option for enabling encryption and selecting the key file.
2281
2282  * Reworked the ECDSA256 TLV curve agnostic and renamed it to ``ECDSA_SIG``.
2283
2284  * CDDL auto-generated function code has been replaced with zcbor function calls, this now allows
2285    the parameters to be supplied in any order.
2286
2287  * The MCUboot version in this release is version ``2.0.0+0-rc1``.
2288
2289Nanopb
2290******
2291
2292  * Changed project status to maintained.
2293
2294  * Added a separate nanopb.cmake file to be included by applications.
2295
2296  * Added helper cmake function ``zephyr_nanopb_sources`` to simplify ``.proto`` file inclusion.
2297
2298LVGL
2299****
2300
2301  * Changed project status to maintained.
2302
2303  * Library has been updated to release v8.3.7.
2304
2305  * Added ``zephyr,lvgl-{pointer,button,encoder}-input`` pseudo device bindings.
2306    :kconfig:option:`CONFIG_LV_Z_KSCAN_POINTER` is still supported but touch controllers
2307    need a :dtcompatible:`zephyr,kscan-input` child node to emit input events.
2308
2309  * LVGL shell allows for monkey testing (requires :kconfig:option:`CONFIG_LV_USE_MONKEY`)
2310    and inspecting memory usage.
2311
2312Trusted Firmware-A
2313******************
2314
2315* Updated to TF-A 2.9.0.
2316
2317Documentation
2318*************
2319
2320* Upgraded Sphinx to 6.2
2321
2322Tests and Samples
2323*****************
2324
2325* Created common sample for file systems (`fs_sample`). It originates from sample for FAT
2326  (`fat_fs`) and supports both FAT and ext2 file systems.
2327
2328* Created the zbus confirmed channel sample to demonstrate how to implement a delivery-guaranteed
2329  channel using subscribers.
2330
2331* Created the zbus message subscriber sample to demonstrate how to use message subscribers.
2332