| :orphan: |
| |
| .. _zephyr_3.5: |
| |
| Zephyr 3.5.0 |
| ############ |
| |
| We are pleased to announce the release of Zephyr version 3.5.0. |
| |
| Major enhancements with this release include: |
| |
| * Added support for linkable loadable extensions (llext) |
| * Added native_sim simulator target (successor to native_posix) |
| * Added new battery charger driver API |
| * Added new hardware spinlock driver API |
| * Added new modem subsystem |
| * Added support for 45+ new boards |
| * Networking: improvements to CoAP, Connection Manager, DHCP, Ethernet, gPTP, ICMP, |
| IPv6 and LwM2M |
| * Bluetooth: improvements to the Controller, Audio, Mesh, as well as the host stack in |
| general |
| * Improved LVGL graphics library integration |
| * Integrated support with the CodeChecker static analyzer |
| * Picolibc is now the default C standard library |
| |
| An overview of the changes required or recommended when migrating your application from Zephyr |
| v3.4.0 to Zephyr v3.5.0 can be found in the separate :ref:`migration guide<migration_3.5>`. |
| |
| The following sections provide detailed lists of changes by component. |
| |
| Security Vulnerability Related |
| ****************************** |
| The following CVEs are addressed by this release: |
| |
| More detailed information can be found in: |
| https://docs.zephyrproject.org/latest/security/vulnerabilities.html |
| |
| * CVE-2023-3725 `Zephyr project bug tracker GHSA-2g3m-p6c7-8rr3 |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2g3m-p6c7-8rr3>`_ |
| |
| * CVE-2023-4257 `Zephyr project bug tracker GHSA-853q-q69w-gf5j |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-853q-q69w-gf5j>`_ |
| |
| * CVE-2023-4258 `Zephyr project bug tracker GHSA-m34c-cp63-rwh7 |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-m34c-cp63-rwh7>`_ |
| |
| * CVE-2023-4259 `Zephyr project bug tracker GHSA-gghm-c696-f4j4 |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gghm-c696-f4j4>`_ |
| |
| * CVE-2023-4260 `Zephyr project bug tracker GHSA-gj27-862r-55wh |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gj27-862r-55wh>`_ |
| |
| * CVE-2023-4263 `Zephyr project bug tracker GHSA-rf6q-rhhp-pqhf |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rf6q-rhhp-pqhf>`_ |
| |
| * CVE-2023-4264 `Zephyr project bug tracker GHSA-rgx6-3w4j-gf5j |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rgx6-3w4j-gf5j>`_ |
| |
| * CVE-2023-4424: Under embargo until 2023-11-01 |
| |
| * CVE-2023-5055: Under embargo until 2023-11-01 |
| |
| * CVE-2023-5139: Under embargo until 2023-10-25 |
| |
| * CVE-2023-5184 `Zephyr project bug tracker GHSA-8x3p-q3r5-xh9g |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-8x3p-q3r5-xh9g>`_ |
| |
| * CVE-2023-5563 `Zephyr project bug tracker GHSA-98mc-rj7w-7rpv |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-98mc-rj7w-7rpv>`_ |
| |
| * CVE-2023-5753 `Zephyr project bug tracker GHSA-hmpr-px56-rvww |
| <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-hmpr-px56-rvww>`_ |
| |
| Kernel |
| ****** |
| |
| * Added support for dynamic thread stack allocation via :c:func:`k_thread_stack_alloc` |
| * Added support for :c:func:`k_spin_trylock` |
| * Added :c:func:`k_object_is_valid` to check if a kernel object is valid. This replaces |
| code that has been duplicated throughout the tree. |
| |
| Architectures |
| ************* |
| |
| * ARC |
| |
| * Introduced the scalar port for ARC VPX processors |
| * Introduced support for ARCv3 HS (both 32 and 64 bit) SMP platforms with up to 12 CPU cores |
| * Reworked GNU helper tools usage for ARC MWDT toolchain. Now helper tools can be used from |
| Zephyr SDK (if SDK is installed) |
| * Fixed dynamic thread stack allocation |
| * Fixed STR assembly macro offset calculation issue which may cause build error for ARCv3 64bit |
| * Cleaned-up and made more user friendly handling of the ARC MWDT toolchain path |
| (ARCMWDT_TOOLCHAIN_PATH) |
| |
| * ARM |
| |
| * Architectural support for Arm Cortex-M has been separated from Arm |
| Cortex-A and Cortex-R. This includes separate source modules to handle |
| tasks like IRQ management, exception handling, thread handling and swap. |
| For implementation details see :github:`60031`. |
| |
| * ARM64 |
| |
| * RISC-V |
| |
| * Added support for detecting null pointer exception using PMP. |
| * Added the :kconfig:option:`CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET` |
| option to allow IRQ vector at a specified offset to meet the requirements |
| set by the Core-Local Interrupt Controller RISC-V specification. |
| * Added the :kconfig:option:`CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO` option to |
| allow the use of custom system input/output functions. |
| * Introduced the :kconfig:option:`CONFIG_RISCV_TRAP_HANDLER_ALIGNMENT` option |
| to set the correct alignment of the trap handling code which is dependent on |
| the ``MTVEC.BASE`` field size and is platform or application-specific. |
| |
| * Xtensa |
| |
| * Added basic MMU v2 Support. |
| |
| * x86 |
| |
| * Added support for Intel Alder Lake boards |
| * Added support for Intel Sensor Hub (ISH) |
| |
| * POSIX |
| |
| * Has been reworked to use the native simulator. |
| * New boards have been added. |
| * For the new boards, embedded C libraries can be used, and conflicts with the host symbols |
| and libraries avoided. |
| * The :ref:`POSIX OS abstraction<posix_support>` is supported in these new boards. |
| * AMP targets are now supported. |
| * Added support for LLVM source profiling/coverage. |
| |
| Bluetooth |
| ********* |
| |
| * Audio |
| |
| Improved memory usage of codec configurations and codec capabilities. Fixed several bugs in BAP |
| and the BAP-related services (ASCS, PACS, BASS), as well as missing features such as proper |
| notification handling. |
| |
| * Added BAP ``bt_bap_stream_get_tx_sync`` |
| * Added CAP stream send and tx sync |
| * Added ``bt_audio_codec_cap_get`` helper functions |
| * Added support for long read/write in CAP |
| * Fixed ASCS Source ASE link loss state transition |
| * Fixed ASCS possible ASE leak |
| * Fixed ASCS to drop ISO PDUs if ASE is not in streaming state |
| * Fixed BAP ``bt_bap_scan_delegator_find_state`` implementation |
| * Fixed BAP issue with PA sync and ID in ``broadcast_sink_create`` |
| * Fixed TMAS characteristic permissions |
| * Fixed ``tbs_client`` missing discovery complete event |
| * Fixed audio stack to accept empty CCID list in audio metadata |
| * Fixed bad size of metadata_backup in ASCS |
| * Fixed possible ASCS ASE stuck in releasing state |
| * Refactored ``bt_audio_codec_cap`` to flat arrays |
| * Refactored ``bt_audio_codec_cfg`` to flat arrays |
| * Removed ``CONFIG_BT_PACS_{SNK,SRC}_CONTEXT`` |
| * Removed scanning and PA sync from broadcast sink |
| * Renamed ``bt_codec`` to ``bt_audio_codec_{cap, conf, data}`` |
| * Renamed codec qos framing |
| * Replaced ``BT_AUDIO_CODEC_LC3_ID`` -> ``BT_HCI_CODING_FORMAT_LC3`` |
| * Replaced ``BT_AUDIO_CODEC_PARSE_ERR_`` values with errno values. |
| * Reworked PACS notify system |
| * Updated ASCS ISO QOS based on BAP QOS |
| * Updated BAP to filter PA data duplicates by default |
| * Updated CSIP to unlock Non-bonded devices immediately. |
| * Updated PACS to notify bonded clients on reconnect |
| * Updated ``bt_cap_stream_ops_register`` to always register BAP callbacks |
| * Updated the ASCS ACL disconnect behavior |
| * Updated to split ``bt_audio_codec_meta_get`` to ``cfg`` and ``cap`` |
| |
| * Direction Finding |
| |
| * Host |
| |
| * Added SMP bondable flag overlay per connection |
| * Added USE_NRPA advertising option |
| * Added ``BT_CONN_PARAM_ANY`` to allow setting any value to connection parameters |
| * Added advanced broadcast ISO parameters |
| * Added advanced unicast ISO parameters |
| * Added new API to manage Bluetooth settings storage |
| * Fixed HCI ISO Data packets fragmentation |
| * Fixed HCI ISO SDU length sent to controller |
| * Fixed OTS ``bt_ots_init`` parameter struct naming |
| * Fixed OTS memory leak while procedure is not finished |
| * Fixed a connection reference leak |
| * Fixed forced pairing request handling |
| * Fixed host to invalidate the Resolvable Private Address when starting legacy advertising |
| * Fixed issue with ``bt_iso_cig_reconfigure`` |
| * Fixed possible buffer overflow in ``bt_conn_le_start_encryption`` |
| * Fixed some SMP issues |
| * Fixed to abort pairing if connection disconnected |
| * Updated L2CAP accept callbacks |
| * Updated LE L2CAP connected callback to be after connection response |
| * Updated PAwR implementation to use RPA as responder address if BT_PRIVACY=y |
| |
| * Mesh |
| |
| * Added TF-M support. |
| * Added support to use both tinycrypt and PSA based crypto |
| * Added full virtual addresses support with the collisions resolution. The |
| :kconfig:option:`CONFIG_BT_MESH_LABEL_NO_RECOVER` Kconfig option is introduced to restore the |
| addresses for the subscription list and model publication. |
| * Added statistic module. |
| * Fixed an issue where a node acting as a LPN was triggering Friend Poll messages when sending a |
| segmented message over the loopback interface. |
| * Fixed an issue where provisioning completes successfully on a node when the identical Public Key |
| is used by a provisioner. |
| * Fixed an issue where the :c:func:`settings_load` function called from a cooperative thread other |
| than the system workqueue caused the GATT Mesh Proxy Service registration to fail. |
| * Fixed an issue where a node could enter IV Update in Progress state if an old SNB with the |
| current IV Index and IV Update flag set to 1 was resent. |
| |
| * Mesh Protocol v1.1 changes |
| |
| * Added storing Private GATT Proxy state persistently. |
| * Added support for Firmware Distribution Upload OOB Start message in the Firwmware Distribution |
| Server model. The message support can be enabled with the |
| :kconfig:option:`CONFIG_BT_MESH_DFD_SRV_OOB_UPLOAD` Kconfig option. |
| * Added extended provisioning protocol timeout when OOB methods are used in the provisioning. |
| * Added support for Composition Data Pages 2, 129 and 130. |
| * Added documentation for Composition Data Pages 0, 1, 2, 128, 129 and 130. |
| * Added documentation for the Segmentation and Reassembly in the Transport layer. |
| * Added documentation for the SAR Configuration models |
| * Fixed an issue where the Opcode Aggregator Server model did not compile without the Opcode |
| Aggregator Client model. |
| * Fixed an issue where the identity address was used in Private GATT Proxy advertisements |
| instead of Non-Resolvable Private Addresses. |
| * Fixed the Proxy Privacy parameter support. |
| * Fixed an issue where the Composition Data Page 128 was not present on a node that has |
| instantiated the Remote Provisioning Server model. |
| * Fixed an issue where the Large Composition Data Server model did not support Composition Data |
| Pages other then 0. |
| * Fixed an issue where the Remote Provisioning Client model instanted on a node together with |
| the Remote Provisioning Server model could not reprovision itself. |
| * Fixed an issue where the acknowledgment timer in the Segmentation and Reassembly was not |
| restarted when the incoming Segment Acknowledgment message did not contain at least one |
| segment newly marked as acknowledged. |
| * Fixed an issue where the On-Demand Private Proxy Server and Client models had interdependency |
| that did not allow to compile them separately. |
| |
| * Controller |
| |
| Improved support for Broadcast and Connected Isochronous channels in the Controller, enabling |
| LE audio application development. The Controller is experimental, is missing implementations for |
| interleaved packing in Isochronous channels' lower link layer. |
| |
| * Added Checks for minimum sizes of Adv PDUs |
| * Added Kconfig Option to ignore Tx HCI ISO Data Packet Seq Num |
| * Added Kconfig for avoiding ISO SDU fragmentation |
| * Added Kconfig to maximize BIG event length and preempt PTO & CTRL subevents |
| * Added ``BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX`` Kconfig |
| * Added memory barrier to ticker transactions |
| * Added missing nRF53x Tx Power Kconfig |
| * Added support for Flush Timeout in Connected ISO |
| * Fixed BIS payload sliding window overrun check |
| * Fixed CIS Central FT calculation |
| * Fixed CIS Central error handling |
| * Fixed CIS asymmetric PHY usage |
| * Fixed CIS encryption when DF support enabled |
| * Fixed ISO-AL for quality tests and time stamps |
| * Fixed PHY value in HCI LE CIS Established Event |
| * Fixed ULL stuck in semaphore under rare conditions |
| * Fixed assertion due to late PER CIS active set |
| * Fixed compiler instruction re-ordering that caused assertions |
| * Fixed connected ISO dynamic tx power |
| * Fixed failing advertising conformance tests |
| * Fixed handling received Auxiliary PDUs when Coded PHY not supported |
| * Fixed leak in scheduled ticker node when rescheduling ticker nodes |
| * Fixed missing host feature reset |
| * Fixed nRF53 SoC back-to-back PDU chaining |
| * Fixed nRF53 SoC back-to-back Tx Rx implementation |
| * Fixed regression in Adv PDU overflow calculation |
| * Fixed regression in observer that caused assertions and scheduling stall |
| * Fixed use of pre-programmed PPI on nRF SoCs |
| * Removed HCI ISO data with invalid status in preparation for FT support |
| * Updated Extended Advertising Report to not be generated when ``AUX_ADV_IND`` not received |
| * Updated to have ``EVENT_OVERHEAD_START_US`` verbose assertion in each state/role LLL |
| * Updated to stop following ``aux_ptr`` if ``DATA_LEN_MAX`` is reached during extended scanning |
| |
| Boards & SoC Support |
| ******************** |
| |
| * Added support for these SoC series: |
| |
| * Nuvoton NuMaker M46x series |
| * Added support for STM32F072X8 SoC variants |
| * Added support for STM32L051X6 SoC variants |
| * Added support for STM32L451XX SoC variants |
| * Added support for STM32L4Q5XX SoC variants |
| * Added support for STM32WBA SoC series |
| |
| * Removed support for these SoC series: |
| |
| * Made these changes in other SoC series: |
| |
| * i.MX RT SOCs no longer enable CONFIG_DEVICE_CONFIGURATION_DATA by default. |
| boards using external SDRAM should set CONFIG_DEVICE_CONFIGURATION_DATA |
| and CONFIG_NXP_IMX_EXTERNAL_SDRAM to enabled. |
| * i.MX RT SOCs no longer support CONFIG_OCRAM_NOCACHE, as this functionality |
| can be achieved using devicetree memory regions |
| * Refactored ESP32 SoC folders. So now these are a proper SoC series. |
| * RP2040: Changed to reset the I2C device on initializing |
| |
| * Added support for these ARC boards: |
| |
| * Added support for nsim_vpx5 - simulation (nSIM) platform with ARCv2 VPX5 core, close to |
| vpx5_integer_full template |
| * Added support for nsim_hs5x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 32-bit |
| ARCv3 HS |
| * Added support for nsim_hs6x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 64-bit |
| ARCv3 HS |
| |
| * Added support for these ARM boards: |
| |
| * Nuvoton NuMaker Platform M467 |
| * ST Nucleo U5A5ZJ Q |
| * ST Nucleo WBA52CG |
| |
| * Added support for these ARM64 boards: |
| |
| * Added support for these RISC-V boards: |
| |
| * Added support for these X86 boards: |
| |
| * Added support for these Xtensa boards: |
| |
| * Added ``esp32_devkitc_wroom`` and ``esp32_devkitc_wrover``. |
| |
| * Added ``esp32s3_luatos_core``. |
| |
| * Added ``m5stack_core2``. |
| |
| * Added ``qemu_xtensa_mmu`` utilizing Diamond DC233c SoC to support |
| testing Xtensa MMU. |
| |
| * Added ``xiao_esp32s3``. |
| |
| * Added ``yd_esp32``. |
| |
| * Added support for these POSIX boards: |
| |
| * :ref:`native_sim(_64) <native_sim>` |
| * nrf5340bsim_nrf5340_cpu(net|app). A simulated nrf5340 SOC, which uses Babblesim for its radio |
| traffic. |
| |
| * Made these changes for ARC boards: |
| |
| * Turned off unsupported stack checking option for hsdk4xd platform |
| * Changed vendor prefix for ARC QEMU platforms from "qemu" to "snps" |
| |
| * Made these changes for ARM boards: |
| |
| * ST morpho connector description was added on ST nucleo boards. |
| |
| * rpi_pico: |
| |
| * The default adapter when debugging with openocd has been changed to cmsis-dap. |
| |
| * Made these changes for ARM64 boards: |
| |
| * Made these changes for RISC-V boards: |
| |
| * Made these changes for X86 boards: |
| |
| * Made these changes for Xtensa boards: |
| |
| * esp32s3_devkitm: |
| |
| * Added USB-CDC support. |
| |
| * Added CAN support. |
| |
| * Made these changes for POSIX boards: |
| |
| * nrf52_bsim: |
| |
| * Has been reworked to use the native simulator as its runner. |
| * Multiple HW models improvements and fixes. GPIO & GPIOTE peripherals added. |
| |
| * Removed support for these ARC boards: |
| |
| * Removed support for these ARM boards: |
| |
| * Removed support for these ARM64 boards: |
| |
| * Removed support for these RISC-V boards: |
| |
| * Removed support for these X86 boards: |
| |
| * Removed support for these Xtensa boards: |
| |
| * Removed ``esp32``. Use ``esp32_devkitc_*`` instead. |
| |
| * Made these changes in other boards: |
| |
| * Added support for these following shields: |
| |
| * Adafruit PiCowbell CAN Bus Shield for Pico |
| * Arduino UNO click shield |
| * G1120B0MIPI MIPI Display |
| * MikroElektronika MCP2518FD Click shield (CAN-FD) |
| * RK055HDMIPI4M MIPI Display |
| * RK055HDMIPI4MA0 MIPI Display |
| * Semtech SX1276MB1MAS LoRa Shield |
| |
| Build system and infrastructure |
| ******************************* |
| |
| * SCA (Static Code Analysis) |
| |
| * Added support for CodeChecker |
| |
| * Twister now supports ``required_snippets`` in testsuite .yml files, this can |
| be used to include a snippet when a test is ran (and exclude any boards from |
| running that the snippet cannot be applied to). |
| |
| * Interrupts |
| |
| * Added support for shared interrupts |
| |
| * Added support for setting MCUboot encryption key in sysbuild which is then |
| propagated to the bootloader and target images to automatically create |
| encrypted updates. |
| |
| * Build time priority checking: enable build time priority checking by default. |
| This fails the build if the initialization sequence in the final ELF file |
| does not match the devicetree hierarchy. It can be turned off by disabling |
| the :kconfig:option:`CONFIG_CHECK_INIT_PRIORITIES` option. |
| |
| * Added a new ``initlevels`` target for printing the final device and |
| :c:macro:`SYS_INIT` initialization sequence from the final ELF file. |
| |
| * Reworked syscall code generations so that not all marshalling functions |
| will be included in the final binary. Syscalls associated with disabled |
| subsystems no longer have their marshalling functions generated. |
| |
| * Partially enabled compiler warning about shadow variables for subset of |
| in-tree code. Out-of-tree code needs to be patched before we can fully |
| enable shadow variable warnings. |
| |
| Drivers and Sensors |
| ******************* |
| |
| * ADC |
| |
| * Added support for STM32F0 HSI14 clock (dedicated ADC clock) |
| * Added support for STM32 ADC source clock and prescaler. On STM32F1 and STM32F3 |
| series, ADC prescaler can be configured using dedicated RCC Clock Controller |
| option. |
| * Added support for the ADC sequencer for all STM32 series (except F1) |
| * Fixed STM32F4 ADC temperature and Vbat measurement. |
| * Added driver for TI ADS1112. |
| * Added driver for TI TLA2021. |
| * Added driver for Gecko ADC. |
| * Added driver for NXP S32 ADC SAR. |
| * Added driver for MAX1125x family. |
| * Added driver for MAX11102-MAX1117. |
| |
| * CAN |
| |
| * Added support for TI TCAN4x5x CAN-FD controller with integrated transceiver |
| (:dtcompatible:`ti,tcan4x5x`). |
| * Added support for Microchip MCP251xFD CAN-FD controller (:dtcompatible:`microchip,mcp251xfd`). |
| * Added support for CAN statistics to the Bosch M_CAN controller driver backend. |
| * Switched the NXP S32 CANXL driver to use clock control for the CAN clock instead of hard-coding |
| a CAN clock frequency in the devicetree. |
| |
| * Clock control |
| |
| * Added support for Nuvoton NuMaker M46x |
| |
| * Counter |
| |
| * Added :kconfig:option:`CONFIG_COUNTER_RTC_STM32_SUBSECONDS` to enable subsecond as |
| the basic time tick on STM32 RTC based counter driver. |
| |
| * Added support for Raspberry Pi Pico Timer |
| |
| * DAC |
| |
| * Added support for Analog Devices AD56xx |
| * Added support for NXP lpcxpresso55s36 (LPDAC) |
| |
| * Disk |
| |
| * Ramdisk driver is now configured using devicetree, and supports multiple |
| instances |
| |
| * Display |
| |
| * Added support for ST7735S (in ST7735R driver) |
| |
| * DMA |
| |
| * Added support for NXP S32K to the eDMA driver |
| * Added support for NXP SMARTDMA |
| * Added support for NXP Pixel Pipeline (PXP) for display acceleration |
| * Added support for DMA get_status() to the SAM XDMAC driver |
| * Fixes for Intel HDA driver for L1 entry/exit, explicit SCS (sample container) settings |
| * Fixes for STM32U5 enables error interrupts, fixes block size and data size configuration |
| * Better Kconfig options for tuning static memory usage in NXP LPC driver |
| |
| * EEPROM |
| |
| * Added support for Fujitsu MB85RCxx series I2C FRAM (:dtcompatible:`fujitsu,mb85rcxx`). |
| |
| * Entropy |
| |
| * Added a requirement for ``entropy_get_entropy()`` to be thread-safe because |
| of random subsystem needs. |
| |
| * Ethernet |
| |
| * Added :kconfig:option:`CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT` to set rx timeout for native posix. |
| * Added support for adin2111. |
| * Added support for NXP S32 GMAC. |
| * Added support for promiscuous mode in eth_smsc91x. |
| * Added support for STM32H5X SOC series. |
| * Added support for MDIO Clause 45 APIs. |
| * Added support for YD-ESP32 board Ethernet. |
| * Fixed stm32 to generate more unique MAC address by using device id as a base for the MAC. |
| * Fixed mcux to increase the PTP timestamp accuracy from 20us to 200ns. |
| * Fixed Ethernet max header size when using VLAN. |
| * Removed the ``mdio`` DT property. Please use :c:macro:`DT_INST_BUS()` in the driver instead. |
| * Reworked the device node hierarchy in smsc91x. |
| * Renamed the phy-dev property with phy-handle to match the Linux ethernet-controller binding |
| and move it up to ethernet.yaml so that it can be used by other drivers. |
| * Updated Ethernet PHY to use ``reg`` property in DT bindings. |
| * Updated driver DT bindings to use ``ethernet-phy`` devicetree node name consistently. |
| * Updated esp32 and sam-gmac DT so that the phy is pointed by a phandle rather than |
| a child node, this makes the phy device a child of mdio. |
| |
| * Flash |
| |
| * Introduce npcx flash driver that supports two or more spi nor flashes via a |
| single Flash Interface Unit (FIU) module and Direct Read Access (DRA) mode |
| for better performance. |
| * Added support for Nuvoton NuMaker M46x embedded flash |
| * STM32 QSPI driver now supports Jedec SFDP parameter reading. |
| * STM32 OSPI driver now supports both Low and High ports of IO manager. |
| |
| * GPIO |
| |
| * Added support for Nuvoton NuMaker M46x |
| |
| * I2C |
| |
| * STM32 V1 driver now supports large transactions (more than 256 bytes chunks) |
| * STM32 V2 driver now supports 10-bit addressing. |
| * I2C devices can now be used as wakeup source from STOP modes on STM32. |
| * Fix long ISR execution in Silicon Labs I2C target callback |
| * Fail gracefully on DMA max size for nRF52 devices in the TWIM driver |
| * Added support for Intel LPSS DMA usage in the DesignWare driver |
| * Added filtering of dumped messages for debugging using DeviceTree |
| * Added target mode to Silicon Labs Gecko driver |
| * Added Intel SEDI driver |
| * Added Infineon XMC4 driver |
| * Added Microchip PolarFire SoC driver |
| * Added Ambiq driver for Apollo4 SoCs |
| |
| * I2S |
| |
| * Fixed handling of the PCM data format in the NXP MCUX driver. |
| |
| * I3C |
| |
| * ``i3c_cdns``: |
| |
| * Fixed build error when :kconfig:option:`CONFIG_I3C_USE_IBI` is disabled. |
| |
| * Fixed transfer issue when controller is busy. Now wait for controller to |
| idle before proceeding with another transfer. |
| |
| * IEEE 802.15.4 |
| |
| * A new mandatory method attr_get() was introduced into ieee802154_radio_api. |
| Drivers need to implement at least |
| IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES and |
| IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES. |
| * The hardware capabilities IEEE802154_HW_2_4_GHZ and IEEE802154_HW_SUB_GHZ |
| were removed as they were not aligned with the standard and some already |
| existing drivers couldn't properly express their channel page and channel |
| range (notably SUN FSK and HRP UWB drivers). The capabilities were replaced |
| by the standard conforming new driver attribute |
| IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES that fits all in-tree drivers. |
| * The method get_subg_channel_count() was removed from ieee802154_radio_api. |
| This method could not properly express the channel range of existing drivers |
| (notably SUN FSK drivers that implement channel pages > 0 and may not have |
| zero-based channel ranges or UWB drivers that could not be represented at |
| all). The method was replaced by the new driver attribute |
| IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES that fits all in-tree drivers. |
| |
| * Interrupt Controller |
| |
| * GIC: Architecture version selection is now based on the device tree |
| |
| * Input |
| |
| * New drivers: :dtcompatible:`gpio-qdec`, :dtcompatible:`st,stmpe811`. |
| |
| * Drivers converted from Kscan to Input: :dtcompatible:`goodix,gt911` |
| :dtcompatible:`xptek,xpt2046` :dtcompatible:`hynitron,cst816s` |
| :dtcompatible:`microchip,cap1203`. |
| |
| * Added a Kconfig option for dumping all events to the console |
| :kconfig:option:`CONFIG_INPUT_EVENT_DUMP` and new shell commands |
| :kconfig:option:`CONFIG_INPUT_SHELL`. |
| |
| * Merged ``zephyr,gpio-keys`` into :dtcompatible:`gpio-keys` and added |
| ``zephyr,code`` codes to all in-tree board ``gpio-keys`` nodes. |
| |
| * Renamed the callback definition macro from ``INPUT_LISTENER_CB_DEFINE`` to |
| :c:macro:`INPUT_CALLBACK_DEFINE`. |
| |
| * PCIE |
| |
| * Added support in shell to display PCIe capabilities. |
| |
| * Added virtual channel support. |
| |
| * Added kconfig :kconfig:option:`CONFIG_PCIE_INIT_PRIORITY` to specify |
| initialization priority for host controller. |
| |
| * Added support to get IRQ from ACPI PCI Routing Table (PRT). |
| |
| * ACPI |
| |
| * Adopted the ACPICA library as a new module to further enhance ACPI support. |
| |
| * Pin control |
| |
| * Added support for Nuvoton NuMaker M46x |
| |
| * PWM |
| |
| * Added 4 channels capture on STM32 PWM driver. |
| * Added driver for Intel Blinky PWM. |
| * Added driver for MAX31790. |
| * Added driver for Infineon XMC4XXX CCU4. |
| * Added driver for Infineon XMC4XXX CCU8. |
| * Added MCUX CTimer based PWM driver. |
| * Added PWM driver based on TI CC13xx/CC26xx GPT timer. |
| * Reworked the pwm_nrf5_sw driver so that it can be used also on nRF53 and |
| nRF91 Series. Consequently, the driver was renamed to pwm_nrf_sw. |
| * Added driver for Nuvoton NuMaker family. |
| * Added PWM driver based on NXP S32 EMIOS peripheral. |
| |
| * Regulators |
| |
| * Added support for GPIO-controlled voltage regulator |
| |
| * Added support for AXP192 PMIC |
| |
| * Added support for NXP VREF regulator |
| |
| * Fixed regulators can now specify their operating voltage |
| |
| * PFM mode is now support for nPM1300 |
| |
| * Added new API to configure "ship" mode |
| |
| * Regulator shell allows to configure DVS modes |
| |
| * Reset |
| |
| * Added support for Nuvoton NuMaker M46x |
| |
| * Retained memory |
| |
| * Added support for allowing mutex support to be forcibly disabled with |
| :kconfig:option:`CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE`. |
| |
| * Fixed issue with user mode support not working. |
| |
| * RTC |
| |
| * Added support for STM32 RTC API driver. This driver is not compatible with |
| the use of RTC based implementation of COUNTER API. |
| |
| * SDHC |
| |
| * Added driver for EMMC Host controller present on Alder lake platforms |
| * Added driver for Atmel HSMCI controller present on SAM4E MCU series |
| |
| * Sensor |
| |
| * Reworked the :dtcompatible:`ti,bq274xx` to add ``BQ27427`` support, fixed |
| units for capacity and power channels. |
| * Added ADC current sense amplifier and voltage sensor drivers. |
| * Added ADI LTC2990 voltage, current, and temperature sensor driver. |
| * Added AMS TSL2540 ambient light sensor driver. |
| * Added Bosch BMI08x accelerometer/gyroscope driver. |
| * Added DFRobot A01NYUB distance sensor driver. |
| * Added Fintek F75303 temperature sensor driver. |
| * Added Isentek IST8310 magnetometer driver. |
| * Added Microchip TCN75A temperature sensor driver. |
| * Added NXP TEMPMON driver. |
| * Added Seeed HM330X dust sensor driver. |
| * Added TI TMAG5170 3D Hall sensor driver. |
| * Added power management support to BMM150, LM75, and Microchip tachometer |
| drivers. |
| * Added trigger support to the BMM150 magnetometer driver. |
| * Added tap trigger support to the LIS2DH accelerometer driver. |
| * Updated ST sensor drivers to use STMEMSC HAL i/f v2.3 |
| * Updated the decoder APIs to vertically decode raw sensor data. |
| * Various fixes and enhancements in the NTC thermistor and INA23x drivers. |
| |
| * Serial |
| |
| * Added support for Nuvoton NuMaker M46x |
| |
| * NS16550: Reworked how device initialization macros. |
| |
| * ``CONFIG_UART_NS16550_ACCESS_IOPORT`` and ``CONFIG_UART_NS16550_SIMULT_ACCESS`` |
| are removed. For UART using IO port access, add ``io-mapped`` property to |
| device tree node. |
| |
| * Added async support for ESP32S3. |
| |
| * Added support for serial TTY under ``native_posix``. |
| |
| * Added support for UART on Efinix Sapphire SoCs. |
| |
| * Added Intel SEDI UART driver. |
| |
| * Added support for UART on BCM2711. |
| |
| * ``uart_stm32``: |
| |
| * Added RS485 support. |
| |
| * Added wide data support. |
| |
| * ``uart_pl011``: added support for Ambiq SoCs. |
| |
| * ``serial_test``: added support for interrupt and async APIs. |
| |
| * ``uart_emul``: added support for interrupt API. |
| |
| * ``uart_rpi_pico``: fixed handling Modbus DE-RE signal |
| |
| * SPI |
| |
| * Remove npcx spi driver implemented by Flash Interface Unit (FIU) module. |
| * Added support for Raspberry Pi Pico PIO based SPI. |
| |
| * Timer |
| |
| * The TI CC13xx/26xx system clock timer compatible was changed from |
| :dtcompatible:`ti,cc13xx-cc26xx-rtc` to :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer` |
| and the corresponding Kconfig option from :kconfig:option:`CC13X2_CC26X2_RTC_TIMER` |
| to :kconfig:option:`CC13XX_CC26XX_RTC_TIMER` for improved consistency and |
| extensibility. No action is required unless the internal timer was modified. |
| |
| * USB |
| |
| * Added UDC driver for STM32 based MCU, relying on HAL/PCD. This driver is compatible |
| with UDC API (experimental). |
| * Added support for STM32H5 series on USB driver. |
| |
| * WiFi |
| |
| * Increased esp32 default network (TCP workq, RX and mgmt event) stack sizes to 2048 bytes. |
| * Reduced the RAM usage for esp32s2_saola in Wi-Fi samples. |
| * Fixed undefined declarations in winc1500. |
| * Fixed SPI buffer length in eswifi. |
| * Fixed esp32 data sending and channel selection in AP mode. |
| * Fixed esp_at driver init and network interface dormant state setting. |
| |
| Networking |
| ********** |
| |
| * CoAP: |
| |
| * Optimized CoAP client library to use only a single thread internally. |
| * Converted CoAP client library to use ``zsock_*`` API internally. |
| * Fixed a bug in CoAP client library, which resulted in an incorrect |
| retransmission timeout calculation. |
| * Use 64 bit timer values for calculating transmission timeouts. This fixes potential problems for |
| devices that stay on for more than 49 days when the 32 bit uptime counter might roll over and |
| cause CoAP packets to not timeout at all on this event. |
| * API documentation improvements. |
| * Added new API functions: |
| |
| * :c:func:`coap_has_descriptive_block_option` |
| * :c:func:`coap_remove_descriptive_block_option` |
| * :c:func:`coap_packet_remove_option` |
| * :c:func:`coap_packet_set_path` |
| |
| * Connection Manager: |
| |
| * Added support for auto-connect and auto-down behaviors (controlled by |
| :c:enum:`CONN_MGR_IF_NO_AUTO_CONNECT` and :c:enum:`CONN_MGR_IF_NO_AUTO_DOWN` |
| flags). |
| * Split Connection Manager APIs into separate header files. |
| * Extended Connection Manager documentation to cover new functionalities. |
| |
| * DHCP: |
| |
| * Added support for DHCPv4 unicast replies processing. |
| * Added support for DHCPv6 protocol. |
| |
| * Ethernet: |
| |
| * Fixed ARP queueing so that the queued network packet is sent immediately |
| instead of queued 2nd time in the core network stack. |
| |
| * gPTP: |
| |
| * Added support for detecting gPTP packets that use the default multicast destination address. |
| * Fixed Announce and Follow Up message handling. |
| |
| * ICMP: |
| |
| * Fixed ICMPv6 error message type check. |
| * Reworked ICMP callback registration and handling, which allows to register |
| multiple handlers for the same ICMP message. |
| * Introduced an API to send ICMP Echo Request (ping). |
| * Added possibility to register offloaded ICMP ping handlers. |
| * Added support for setting packet priority for ping. |
| |
| * IPv6: |
| |
| * Made sure that ongoing DAD procedure is cancelled when IPv6 address is removed. |
| * Fixed a bug, where Solicited-Node multicast address could be removed while |
| still in use. |
| |
| * LwM2M: |
| |
| * Added support for tickless mode. This removes the 500 ms timeout from the socket loop |
| so the engine does not constantly wake up the CPU. This can be enabled by |
| :kconfig:option:`CONFIG_LWM2M_TICKLESS`. |
| * Added new :c:macro:`LWM2M_RD_CLIENT_EVENT_DEREGISTER` event. |
| * Block-wise sending now supports LwM2M read and composite-read operations as well. |
| When :kconfig:option:`CONFIG_LWM2M_COAP_BLOCK_TRANSFER` is enabled, any content that is larger |
| than :kconfig:option:`CONFIG_LWM2M_COAP_MAX_MSG_SIZE` is split into a block-wise transfer. |
| * Block-wise transfers don't require tokens to match anymore as this was not in line |
| with CoAP specification (CoAP doesn't require tokens reuse). |
| * Various fixes to bootstrap. Now client ensures that Bootstrap-Finish command is sent, |
| before closing the DTLS pipe. Also allows Bootstrap server to close the DTLS pipe. |
| Added timeout when waiting for bootstrap commands. |
| * Added support for X509 certificates. |
| * Various fixes to string handling. Allow setting string to zero length. |
| Ensure string termination when using string operations on opaque resources. |
| * Added support for Connection Monitoring object version 1.3. |
| * Added protection for Security object to prevent read/writes by the server. |
| * Fixed a possible notification stall in case of observation token change. |
| * Added new shell command, ``lwm2m create``, which allows to create LwM2M object instances. |
| * Added LwM2M interoperability test-suite against Leshan server. |
| * API documentation improvements. |
| * Several other minor fixes and improvements. |
| |
| * Misc: |
| |
| * Time and timestamps in the network subsystem, PTP and IEEE 802.15.4 |
| were more precisely specified and all in-tree call sites updated accordingly. |
| Fields for timed TX and TX/RX timestamps have been consolidated. See |
| :c:type:`net_time_t`, :c:struct:`net_ptp_time`, :c:struct:`ieee802154_config`, |
| :c:struct:`ieee802154_radio_api` and :c:struct:`net_pkt` for extensive |
| documentation. As this is largely an internal API, existing applications will |
| most probably continue to work unchanged. |
| * Added support for additional net_pkt filter hooks: |
| |
| * :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV4_HOOK` |
| * :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV6_HOOK` |
| * :kconfig:option:`CONFIG_NET_PKT_FILTER_LOCAL_IN_HOOK` |
| |
| * Reworked several networking components to use timepoint API. |
| * Added API functions facilitate going through all IPv4/IPv6 registered on an |
| interface (:c:func:`net_if_ipv4_addr_foreach`, :c:func:`net_if_ipv6_addr_foreach`). |
| * ``NET_EVENT_IPV6_PREFIX_ADD`` and ``NET_EVENT_IPV6_PREFIX_DEL`` events now provide |
| more detailed information about the prefix (:c:struct:`net_event_ipv6_prefix`). |
| * General cleanup of the shadowed variables across the networking subsystem. |
| * Added ``qemu_cortex_a53`` networking support. |
| * Introduced new modem subsystem. |
| * Added new :zephyr:code-sample:`cellular-modem` sample. |
| * Added support for network interface names (instead of reusing underlying device name). |
| * Removed support for Google Cloud IoT sample due to service retirement. |
| * Fixed a bug where packets passed in promiscuous mode could have been modified |
| by L2 in certain cases. |
| * Added support for setting syslog server (used for networking log backend) |
| IP address at runtime. |
| * Removed no longer used ``queued`` and ``sent`` net_pkt flags. |
| * Added support for binding zperf TCP/UDP server to a specific IP address. |
| |
| * MQTT-SN: |
| |
| * Improved thread safety of internal buffers allocation. |
| * API documentation improvements. |
| |
| * OpenThread: |
| |
| * Reworked :c:func:`otPlatEntropyGet` to use :c:func:`sys_csrand_get` internally. |
| * Introduced ``ieee802154_radio_openthread.h`` radio driver extension interface |
| specific for OpenThread. Added new transmit mode, specific to OpenThread, |
| :c:enum:`IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA`. |
| |
| * PPP: |
| |
| * Fixed PPP L2 usage of the network interface carrier state. |
| * Made PPP L2 thread priority configurable (:kconfig:option:`CONFIG_NET_L2_PPP_THREAD_PRIO`). |
| * Moved PPP L2 out of experimental stage. |
| * Prevent PPP connection reestablish when carrier is down. |
| |
| * Sockets: |
| |
| * Added support for statically allocated socketpairs (in case no heap is available). |
| * Made send timeout configurable (:kconfig:option:`CONFIG_NET_SOCKET_MAX_SEND_WAIT`). |
| * Added support for ``FIONREAD`` and ``FIONBIO`` :c:func:`ioctl` commands. |
| * Fixed input filtering for connected datagram sockets. |
| * Fixed :c:func:`getsockname` operation on unconnected sockets. |
| * Added new secure socket options for DTLS Connection ID support: |
| |
| * :c:macro:`TLS_DTLS_CID` |
| * :c:macro:`TLS_DTLS_CID_VALUE` |
| * :c:macro:`TLS_DTLS_PEER_CID_VALUE` |
| * :c:macro:`TLS_DTLS_CID_STATUS` |
| |
| * Added support for :c:macro:`SO_REUSEADDR` and :c:macro:`SO_REUSEPORT` socket options. |
| |
| * TCP: |
| |
| * Fixed potential stall in data retransmission, when data was only partially acknowledged. |
| * Made TCP work queue priority configurable (:kconfig:option:`CONFIG_NET_TCP_WORKER_PRIO`). |
| * Added support for TCP new Reno collision avoidance algorithm. |
| * Fixed source address selection on bound sockets. |
| * Fixed possible memory leak in case listening socket was closed during active handshake. |
| * Fixed RST packet handling during handshake. |
| * Refactored the code responsible for connection teardown to fix found bugs and |
| simplify future maintenance. |
| |
| * TFTP: |
| |
| * Added new :zephyr:code-sample:`tftp-client` sample. |
| * API documentation improvements. |
| |
| * WebSocket |
| |
| * WebSocket library no longer closes underlying TCP socket automatically on disconnect. |
| This aligns with the connect behavior, where the WebSocket library expects an already |
| connected TCP socket. |
| |
| * Wi-Fi: |
| |
| * Added Passive scan support. |
| * The Wi-Fi scan API updated with Wi-Fi scan parameter to allow scan mode selection. |
| * Updated TWT handling. |
| * Added support for generic network manager API. |
| * Added support for Wi-Fi mode setting and selection. |
| * Added user input validation for SSID and PSK in Wi-Fi shell. |
| * Added scan extension for specifying channels, limiting scan results, filtering SSIDs, |
| setting active and passive channel dwell times and frequency bands. |
| |
| USB |
| *** |
| |
| * USB device HID |
| * Kconfig option USB_HID_PROTOCOL_CODE, deprecated in v2.6, is finally removed. |
| |
| Devicetree |
| ********** |
| |
| API |
| === |
| |
| New general-purpose macros: |
| |
| - :c:macro:`DT_REG_ADDR_U64` |
| - :c:macro:`DT_REG_ADDR_BY_NAME_U64` |
| - :c:macro:`DT_INST_REG_ADDR_BY_NAME_U64` |
| - :c:macro:`DT_INST_REG_ADDR_U64` |
| - :c:macro:`DT_FOREACH_STATUS_OKAY_NODE_VARGS` |
| - :c:macro:`DT_FOREACH_NODE_VARGS` |
| - :c:macro:`DT_HAS_COMPAT_ON_BUS_STATUS_OKAY` |
| |
| New special-purpose macros introduced for dependency ordinals: |
| |
| - :c:macro:`DT_DEP_ORD_STR_SORTABLE` |
| |
| New general purpose macros introduced for fixed flash partitions: |
| |
| - :c:macro:`DT_MEM_FROM_FIXED_PARTITION` |
| - :c:macro:`DT_FIXED_PARTITION_ADDR` |
| |
| Bindings |
| ======== |
| |
| * Generic or vendor-independent: |
| |
| * New bindings: |
| |
| * :dtcompatible:`current-sense-amplifier` |
| * :dtcompatible:`current-sense-shunt` |
| * :dtcompatible:`gpio-qdec` |
| * :dtcompatible:`regulator-gpio` |
| * :dtcompatible:`usb-audio-feature-volume` |
| |
| * Modified bindings: |
| |
| * CAN (Controller Area Network) controller bindings: |
| |
| * property ``phase-seg1-data`` deprecation status changed from False to True |
| * property ``phase-seg1`` deprecation status changed from False to True |
| * property ``phase-seg2-data`` deprecation status changed from False to True |
| * property ``phase-seg2`` deprecation status changed from False to True |
| * property ``prop-seg-data`` deprecation status changed from False to True |
| * property ``prop-seg`` deprecation status changed from False to True |
| * property ``sjw-data`` default value changed from None to 1 |
| * property ``sjw-data`` deprecation status changed from False to True |
| * property ``sjw`` default value changed from None to 1 |
| * property ``sjw`` deprecation status changed from False to True |
| |
| * Ethernet controller bindings: new ``phy-handle`` property (in some |
| bindings, this was renamed from ``phy-dev``), matching the Linux |
| ethernet-controller binding. |
| |
| * The ``riscv,isa`` property used by RISC-V CPU bindings no longer has an |
| ``enum`` value. |
| |
| * :dtcompatible:`neorv32-cpu`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * :dtcompatible:`regulator-fixed`: |
| |
| * new property: ``regulator-min-microvolt`` |
| * new property: ``regulator-max-microvolt`` |
| * property ``enable-gpios`` is no longer required |
| |
| * :dtcompatible:`ethernet-phy`: |
| |
| * removed property: ``address`` |
| * removed property: ``mdio`` |
| * property ``reg`` is now required |
| |
| * :dtcompatible:`usb-audio-hs` and :dtcompatible:`usb-audio-hp`: |
| |
| * new property: ``volume-max`` |
| * new property: ``volume-min`` |
| * new property: ``volume-res`` |
| * new property: ``status`` |
| * new property: ``compatible`` |
| * new property: ``reg`` |
| * new property: ``reg-names`` |
| * new property: ``interrupts`` |
| * new property: ``interrupts-extended`` |
| * new property: ``interrupt-names`` |
| * new property: ``interrupt-parent`` |
| * new property: ``label`` |
| * new property: ``clocks`` |
| * new property: ``clock-names`` |
| * new property: ``#address-cells`` |
| * new property: ``#size-cells`` |
| * new property: ``dmas`` |
| * new property: ``dma-names`` |
| * new property: ``io-channels`` |
| * new property: ``io-channel-names`` |
| * new property: ``mboxes`` |
| * new property: ``mbox-names`` |
| * new property: ``wakeup-source`` |
| * new property: ``power-domain`` |
| * new property: ``zephyr,pm-device-runtime-auto`` |
| |
| * :dtcompatible:`ntc-thermistor-generic`: |
| |
| * removed property: ``r25-ohm`` |
| |
| * :dtcompatible:`ns16550`: |
| |
| * new property: ``resets`` |
| * new property: ``reset-names`` |
| |
| * :dtcompatible:`fixed-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * All CPU bindings got a new ``enable-method`` property. `pull request |
| 60210 <https://github.com/zephyrproject-rtos/zephyr/pull/60210>`_ for |
| details. |
| |
| * Analog Devices, Inc. (adi): |
| |
| * New bindings: |
| |
| * :dtcompatible:`adi,ad5628` |
| * :dtcompatible:`adi,ad5648` |
| * :dtcompatible:`adi,ad5668` |
| * :dtcompatible:`adi,ad5672` |
| * :dtcompatible:`adi,ad5674` |
| * :dtcompatible:`adi,ad5676` |
| * :dtcompatible:`adi,ad5679` |
| * :dtcompatible:`adi,ad5684` |
| * :dtcompatible:`adi,ad5686` |
| * :dtcompatible:`adi,ad5687` |
| * :dtcompatible:`adi,ad5689` |
| * :dtcompatible:`adi,adin1110` |
| * :dtcompatible:`adi,adltc2990` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`adi,adin2111-mdio` (on adin2111 bus): |
| |
| * removed property: ``protocol`` |
| |
| * Altera Corp. (altr): |
| |
| * New bindings: |
| |
| * :dtcompatible:`altr,pio-1.0` |
| |
| * Ambiq Micro, Inc. (ambiq): |
| |
| * New bindings: |
| |
| * :dtcompatible:`ambiq,am1805` |
| * :dtcompatible:`ambiq,apollo4-pinctrl` |
| * :dtcompatible:`ambiq,counter` |
| * :dtcompatible:`ambiq,i2c` |
| * :dtcompatible:`ambiq,mspi` |
| * :dtcompatible:`ambiq,pwrctrl` |
| * :dtcompatible:`ambiq,spi` |
| * :dtcompatible:`ambiq,stimer` |
| * :dtcompatible:`ambiq,uart` |
| * :dtcompatible:`ambiq,watchdog` |
| |
| * AMS AG (ams): |
| |
| * New bindings: |
| |
| * :dtcompatible:`ams,tsl2540` |
| |
| * Andes Technology Corporation (andestech): |
| |
| * New bindings: |
| |
| * :dtcompatible:`andestech,atcwdt200` |
| * :dtcompatible:`andestech,plic-sw` |
| * :dtcompatible:`andestech,qspi-nor` |
| |
| * ARM Ltd. (arm): |
| |
| * New bindings: |
| |
| * :dtcompatible:`arm,cortex-a76` |
| * :dtcompatible:`arm,gic-v1` |
| * :dtcompatible:`arm,gic-v2` |
| * :dtcompatible:`arm,gic-v3` |
| * :dtcompatible:`arm,psci-1.1` |
| |
| * ASPEED Technology Inc. (aspeed): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`aspeed,ast10x0-reset`: |
| |
| * specifier cells for space "reset" are now named: ['id'] (old value: None) |
| * specifier cells for space "clock" are now named: None (old value: ['reset_id']) |
| |
| * Atmel Corporation (atmel): |
| |
| * New bindings: |
| |
| * :dtcompatible:`atmel,sam-hsmci` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`atmel,sam-mdio`: |
| |
| * removed property: ``protocol`` |
| * property ``#address-cells`` const value changed from None to 1 |
| * property ``#size-cells`` const value changed from None to 0 |
| * property ``#address-cells`` is now required |
| * property ``#size-cells`` is now required |
| |
| * Bosch Sensortec GmbH (bosch): |
| |
| * New bindings: |
| |
| * :dtcompatible:`bosch,bmi08x-accel` |
| * :dtcompatible:`bosch,bmi08x-accel` |
| * :dtcompatible:`bosch,bmi08x-gyro` |
| * :dtcompatible:`bosch,bmi08x-gyro` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`bosch,bmm150`: |
| |
| * new property: ``drdy-gpios`` |
| |
| * :dtcompatible:`bosch,bmi270`: |
| |
| * new property: ``irq-gpios`` |
| |
| * Broadcom Corporation (brcm): |
| |
| * New bindings: |
| |
| * :dtcompatible:`brcm,bcm2711-aux-uart` |
| |
| * Cadence Design Systems Inc. (cdns): |
| |
| * New bindings: |
| |
| * :dtcompatible:`cdns,tensilica-xtensa-lx3` |
| |
| * DFRobot (dfrobot): |
| |
| * New bindings: |
| |
| * :dtcompatible:`dfrobot,a01nyub` |
| |
| * Efinix Inc (efinix): |
| |
| * New bindings: |
| |
| * :dtcompatible:`efinix,sapphire-gpio` |
| * :dtcompatible:`efinix,sapphire-timer0` |
| * :dtcompatible:`efinix,sapphire-uart0` |
| |
| * EPCOS AG (epcos): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`epcos,b57861s0103a039`: |
| |
| * removed property: ``r25-ohm`` |
| |
| * Espressif Systems (espressif): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`espressif,esp-at` (on uart bus): |
| |
| * new property: ``external-reset`` |
| |
| * :dtcompatible:`espressif,esp32-mdio`: |
| |
| * removed property: ``protocol`` |
| * property ``#address-cells`` const value changed from None to 1 |
| * property ``#size-cells`` const value changed from None to 0 |
| * property ``#address-cells`` is now required |
| * property ``#size-cells`` is now required |
| |
| * :dtcompatible:`espressif,riscv`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * :dtcompatible:`espressif,esp32-spi`: |
| |
| * new property: ``line-idle-low`` |
| |
| * Feature Integration Technology Inc. (fintek): |
| |
| * New bindings: |
| |
| * :dtcompatible:`fintek,f75303` |
| |
| * FocalTech Systems Co.,Ltd (focaltech): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`focaltech,ft5336` (on i2c bus): |
| |
| * new property: ``reset-gpios`` |
| |
| * Fujitsu Ltd. (fujitsu): |
| |
| * New bindings: |
| |
| * :dtcompatible:`fujitsu,mb85rcxx` |
| |
| * Shenzhen Huiding Technology Co., Ltd. (goodix): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`goodix,gt911` (on i2c bus): |
| |
| * bus list changed from ['kscan'] to [] |
| * new property: ``alt-addr`` |
| |
| * Himax Technologies, Inc. (himax): |
| |
| * New bindings: |
| |
| * :dtcompatible:`himax,hx8394` |
| |
| * Infineon Technologies (infineon): |
| |
| * New bindings: |
| |
| * :dtcompatible:`infineon,cat1-counter` |
| * :dtcompatible:`infineon,cat1-spi` |
| * :dtcompatible:`infineon,xmc4xxx-ccu4-pwm` |
| * :dtcompatible:`infineon,xmc4xxx-ccu8-pwm` |
| * :dtcompatible:`infineon,xmc4xxx-i2c` |
| |
| * Intel Corporation (intel): |
| |
| * New bindings: |
| |
| * :dtcompatible:`intel,agilex5-clock` |
| * :dtcompatible:`intel,alder-lake` |
| * :dtcompatible:`intel,apollo-lake` |
| * :dtcompatible:`intel,blinky-pwm` |
| * :dtcompatible:`intel,elkhart-lake` |
| * :dtcompatible:`intel,emmc-host` |
| * :dtcompatible:`intel,ish` |
| * :dtcompatible:`intel,loapic` |
| * :dtcompatible:`intel,sedi-gpio` |
| * :dtcompatible:`intel,sedi-i2c` |
| * :dtcompatible:`intel,sedi-ipm` |
| * :dtcompatible:`intel,sedi-uart` |
| * :dtcompatible:`intel,socfpga-agilex-sip-smc` |
| * :dtcompatible:`intel,socfpga-reset` |
| * :dtcompatible:`intel,timeaware-gpio` |
| |
| * Removed bindings: |
| |
| * ``intel,agilex-socfpga-sip-smc`` |
| * ``intel,apollo_lake`` |
| * ``intel,elkhart_lake`` |
| * ``intel,gna`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`intel,niosv`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * :dtcompatible:`intel,adsp-imr`: |
| |
| * new property: ``zephyr,memory-attr`` |
| * property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None |
| * property ``zephyr,memory-region-mpu`` deprecation status changed from False to True |
| |
| * :dtcompatible:`intel,lpss`: |
| |
| * new property: ``dma-parent`` |
| |
| * :dtcompatible:`intel,adsp-shim-clkctl`: |
| |
| * new property: ``adsp-clkctl-clk-ipll`` |
| |
| * Isentek Inc. (isentek): |
| |
| * New bindings: |
| |
| * :dtcompatible:`isentek,ist8310` |
| |
| * Integrated Silicon Solutions Inc. (issi): |
| |
| * New bindings: |
| |
| * :dtcompatible:`issi,is31fl3216a` |
| * :dtcompatible:`issi,is31fl3733` |
| |
| * ITE Tech. Inc. (ite): |
| |
| * New bindings: |
| |
| * :dtcompatible:`ite,it8xxx2-sha` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`ite,it8xxx2-pinctrl-func`: |
| |
| * new property: ``func3-ext`` |
| * new property: ``func3-ext-mask`` |
| |
| * :dtcompatible:`ite,riscv-ite`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * :dtcompatible:`ite,enhance-i2c`: |
| |
| * new property: ``target-enable`` |
| * new property: ``target-pio-mode`` |
| |
| * Linaro Limited (linaro): |
| |
| * New bindings: |
| |
| * :dtcompatible:`linaro,ivshmem-ipm` |
| |
| * Maxim Integrated Products (maxim): |
| |
| * New bindings: |
| |
| * :dtcompatible:`maxim,max11102` |
| * :dtcompatible:`maxim,max11103` |
| * :dtcompatible:`maxim,max11105` |
| * :dtcompatible:`maxim,max11106` |
| * :dtcompatible:`maxim,max11110` |
| * :dtcompatible:`maxim,max11111` |
| * :dtcompatible:`maxim,max11115` |
| * :dtcompatible:`maxim,max11116` |
| * :dtcompatible:`maxim,max11117` |
| * :dtcompatible:`maxim,max11253` |
| * :dtcompatible:`maxim,max11254` |
| * :dtcompatible:`maxim,max31790` |
| |
| * Microchip Technology Inc. (microchip): |
| |
| * New bindings: |
| |
| * :dtcompatible:`microchip,mcp251xfd` |
| * :dtcompatible:`microchip,mpfs-i2c` |
| * :dtcompatible:`microchip,tcn75a` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`microchip,xec-pwmbbled`: |
| |
| * new property: ``enable-low-power-32k`` |
| |
| * :dtcompatible:`microchip,cap1203` (on i2c bus): |
| |
| * bus list changed from ['kscan'] to [] |
| * new property: ``input-codes`` |
| |
| * :dtcompatible:`microchip,xec-ps2`: |
| |
| * new property: ``wakerx-gpios`` |
| |
| * Motorola, Inc. (motorola): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`motorola,mc146818`: |
| |
| * new property: ``clock-frequency`` |
| |
| * Murata Manufacturing Co., Ltd. (murata): |
| |
| * New bindings: |
| |
| * :dtcompatible:`murata,ncp15wb473` |
| |
| * Nordic Semiconductor (nordic): |
| |
| * New bindings: |
| |
| * :dtcompatible:`nordic,npm1300-led` |
| * :dtcompatible:`nordic,npm1300-wdt` |
| |
| * Removed bindings: |
| |
| * ``nordic,nrf-cc310`` |
| * ``nordic,nrf-cc312`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`nordic,nrf-ccm`: |
| |
| * new property: ``headermask-supported`` |
| |
| * :dtcompatible:`nordic,nrf-twi`: |
| |
| * new property: ``easydma-maxcnt-bits`` |
| |
| * :dtcompatible:`nordic,nrf-twim` and :dtcompatible:`nordic,nrf-twis`: |
| |
| * new property: ``easydma-maxcnt-bits`` |
| * new property: ``memory-regions`` |
| * new property: ``memory-region-names`` |
| |
| * :dtcompatible:`nordic,nrf-spi`, :dtcompatible:`nordic,nrf-spis`, and |
| :dtcompatible:`nordic,nrf-spim`: |
| |
| * new property: ``wake-gpios`` |
| |
| * :dtcompatible:`nordic,npm1300-charger`: |
| |
| * new property: ``thermistor-cold-millidegrees`` |
| * new property: ``thermistor-cool-millidegrees`` |
| * new property: ``thermistor-warm-millidegrees`` |
| * new property: ``thermistor-hot-millidegrees`` |
| * new property: ``trickle-microvolt`` |
| * new property: ``term-current-percent`` |
| * new property: ``vbatlow-charge-enable`` |
| * new property: ``disable-recharge`` |
| |
| * :dtcompatible:`nordic,nrf-uicr`: |
| |
| * new property: ``nfct-pins-as-gpios`` |
| * new property: ``gpio-as-nreset`` |
| |
| * :dtcompatible:`nordic,npm1300` (on i2c bus): |
| |
| * new property: ``host-int-gpios`` |
| * new property: ``pmic-int-pin`` |
| |
| * Nuclei System Technology (nuclei): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`nuclei,bumblebee`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * Nuvoton Technology Corporation (nuvoton): |
| |
| * New bindings: |
| |
| * :dtcompatible:`nuvoton,nct38xx` |
| * :dtcompatible:`nuvoton,nct38xx-gpio` |
| * :dtcompatible:`nuvoton,npcx-fiu-nor` |
| * :dtcompatible:`nuvoton,npcx-fiu-qspi` |
| * :dtcompatible:`nuvoton,numaker-fmc` |
| * :dtcompatible:`nuvoton,numaker-gpio` |
| * :dtcompatible:`nuvoton,numaker-pcc` |
| * :dtcompatible:`nuvoton,numaker-pinctrl` |
| * :dtcompatible:`nuvoton,numaker-pwm` |
| * :dtcompatible:`nuvoton,numaker-rst` |
| * :dtcompatible:`nuvoton,numaker-scc` |
| * :dtcompatible:`nuvoton,numaker-spi` |
| * :dtcompatible:`nuvoton,numaker-uart` |
| |
| * Removed bindings: |
| |
| * ``nuvoton,nct38xx-gpio`` |
| * ``nuvoton,npcx-spi-fiu`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`nuvoton,npcx-sha`: |
| |
| * new property: ``context-buffer-size`` |
| |
| * :dtcompatible:`nuvoton,npcx-adc`: |
| |
| * new property: ``vref-mv`` |
| * removed property: ``threshold-reg-offset`` |
| |
| * :dtcompatible:`nuvoton,adc-cmp`: |
| |
| * new property: ``thr-sel`` |
| |
| * :dtcompatible:`nuvoton,npcx-pcc`: |
| |
| * new property: ``pwdwn-ctl-val`` |
| * 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] |
| * property ``ram-pd-depth`` enum value changed from [12, 15] to [8, 12, 15] |
| |
| * NXP Semiconductors (nxp): |
| |
| * New bindings: |
| |
| * :dtcompatible:`nxp,ctimer-pwm` |
| * :dtcompatible:`nxp,fs26-wdog` |
| * :dtcompatible:`nxp,imx-flexspi-w956a8mbya` |
| * :dtcompatible:`nxp,irqsteer-intc` |
| * :dtcompatible:`nxp,lpdac` |
| * :dtcompatible:`nxp,mbox-imx-mu` |
| * :dtcompatible:`nxp,mcux-dcp` |
| * :dtcompatible:`nxp,mcux-edma-v3` |
| * :dtcompatible:`nxp,pcf8563` |
| * :dtcompatible:`nxp,pxp` |
| * :dtcompatible:`nxp,s32-adc-sar` |
| * :dtcompatible:`nxp,s32-clock` |
| * :dtcompatible:`nxp,s32-emios` |
| * :dtcompatible:`nxp,s32-emios-pwm` |
| * :dtcompatible:`nxp,s32-gmac` |
| * :dtcompatible:`nxp,s32-qspi` |
| * :dtcompatible:`nxp,s32-qspi-device` |
| * :dtcompatible:`nxp,s32-qspi-nor` |
| * :dtcompatible:`nxp,s32k3-pinctrl` |
| * :dtcompatible:`nxp,smartdma` |
| * :dtcompatible:`nxp,tempmon` |
| * :dtcompatible:`nxp,vref` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`nxp,s32-netc-emdio`: |
| |
| * removed property: ``protocol`` |
| * property ``#address-cells`` const value changed from None to 1 |
| * property ``#size-cells`` const value changed from None to 0 |
| * property ``#address-cells`` is now required |
| * property ``#size-cells`` is now required |
| |
| * :dtcompatible:`nxp,mipi-dsi-2l`: |
| |
| * property ``nxp,lcdif`` is no longer required |
| |
| * :dtcompatible:`nxp,imx-mipi-dsi`: |
| |
| * property ``nxp,lcdif`` is no longer required |
| |
| * :dtcompatible:`nxp,pca9633` (on i2c bus): |
| |
| * new property: ``disable-allcall`` |
| |
| * :dtcompatible:`nxp,s32-sys-timer`: |
| |
| * removed property: ``clock-frequency`` |
| * property ``clocks`` is now required |
| |
| * :dtcompatible:`nxp,imx-lpspi`: |
| |
| * new property: ``data-pin-config`` |
| |
| * :dtcompatible:`nxp,s32-spi`: |
| |
| * property ``clock-frequency`` is no longer required |
| * property ``clocks`` is now required |
| |
| * :dtcompatible:`nxp,imx-wdog`: |
| |
| * pinctrl support |
| |
| * :dtcompatible:`nxp,s32-swt`: |
| |
| * removed property: ``clock-frequency`` |
| * property ``clocks`` is now required |
| |
| * :dtcompatible:`nxp,lpc-lpadc`: |
| |
| * new property: ``nxp,reference-supply`` |
| |
| * :dtcompatible:`nxp,kinetis-pit`: |
| |
| * new property: ``max-load-value`` |
| * property ``clocks`` is now required |
| |
| * :dtcompatible:`nxp,mcux-edma`: |
| |
| * new property: ``dmamux-reg-offset`` |
| * new property: ``channel-gap`` |
| * new property: ``irq-shared-offset`` |
| |
| * :dtcompatible:`nxp,imx-elcdif`: |
| |
| * new property: ``nxp,pxp`` |
| |
| * ON Semiconductor Corp. (onnn): |
| |
| * New bindings: |
| |
| * :dtcompatible:`onnn,ncp5623` |
| |
| * Princeton Technology Corp. (ptc): |
| |
| * New bindings: |
| |
| * :dtcompatible:`ptc,pt6314` |
| |
| * Quectel Wireless Solutions Co., Ltd. (quectel): |
| |
| * New bindings: |
| |
| * :dtcompatible:`quectel,bg95` |
| |
| * QuickLogic Corp. (quicklogic): |
| |
| * New bindings: |
| |
| * :dtcompatible:`quicklogic,eos-s3-pinctrl` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`quicklogic,usbserialport-s3b`: |
| |
| * pinctrl support |
| |
| * Raspberry Pi Foundation (raspberrypi): |
| |
| * New bindings: |
| |
| * :dtcompatible:`raspberrypi,pico-header` |
| * :dtcompatible:`raspberrypi,pico-i2c` |
| * :dtcompatible:`raspberrypi,pico-spi-pio` |
| * :dtcompatible:`raspberrypi,pico-timer` |
| |
| * Raydium Semiconductor Corp. (raydium): |
| |
| * New bindings: |
| |
| * :dtcompatible:`raydium,rm67162` |
| |
| * Renesas Electronics Corporation (renesas): |
| |
| * New bindings: |
| |
| * :dtcompatible:`renesas,smartbond-lp-osc` |
| * :dtcompatible:`renesas,smartbond-timer` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`renesas,smartbond-flash-controller`: |
| |
| * new property: ``read-cs-idle-delay`` |
| * new property: ``erase-cs-idle-delay`` |
| |
| * Smart Battery System (sbs): |
| |
| * New bindings: |
| |
| * :dtcompatible:`sbs,default-sbs-gauge` |
| * :dtcompatible:`sbs,sbs-charger` |
| |
| * Seeed Technology Co., Ltd (seeed): |
| |
| * New bindings: |
| |
| * :dtcompatible:`seeed,hm330x` |
| |
| * SiFive, Inc. (sifive): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`sifive,i2c0`: |
| |
| * pinctrl support |
| |
| * Silicon Laboratories (silabs): |
| |
| * New bindings: |
| |
| * :dtcompatible:`silabs,gecko-adc` |
| |
| * Sino Wealth Electronic Ltd (sinowealth): |
| |
| * New bindings: |
| |
| * :dtcompatible:`sinowealth,sh1106` |
| * :dtcompatible:`sinowealth,sh1106` |
| |
| * Sitronix Technology Corporation (sitronix): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`sitronix,st7735r` (on spi bus): |
| |
| * property ``reset-gpios`` is no longer required |
| |
| * Standard Microsystems Corporation (smsc): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`smsc,lan91c111-mdio`: |
| |
| * removed property: ``protocol`` |
| * property ``#address-cells`` const value changed from None to 1 |
| * property ``#size-cells`` const value changed from None to 0 |
| * property ``#address-cells`` is now required |
| * property ``#size-cells`` is now required |
| |
| * :dtcompatible:`smsc,lan91c111`: |
| |
| * new property: ``local-mac-address`` |
| * new property: ``zephyr,random-mac-address`` |
| * property ``reg`` is no longer required |
| |
| * Synopsys, Inc. (snps): |
| |
| * New bindings: |
| |
| * :dtcompatible:`snps,dw-timers` |
| |
| * Solomon Systech Limited (solomon): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`solomon,ssd1306fb` |
| |
| * new property: ``inversion-on`` |
| * new property: ``ready-time-ms`` |
| |
| * Sequans Communications (sqn): |
| |
| * New bindings: |
| |
| * :dtcompatible:`sqn,hwspinlock` |
| |
| * STMicroelectronics (st): |
| |
| * New bindings: |
| |
| * :dtcompatible:`st,stm32-bxcan` |
| * :dtcompatible:`st,stm32-spi-host-cmd` |
| * :dtcompatible:`st,stm32f1-rcc` |
| * :dtcompatible:`st,stm32f3-rcc` |
| * :dtcompatible:`st,stm32wba-flash-controller` |
| * :dtcompatible:`st,stm32wba-hse-clock` |
| * :dtcompatible:`st,stm32wba-pll-clock` |
| * :dtcompatible:`st,stm32wba-rcc` |
| * :dtcompatible:`st,stmpe811` |
| |
| * Removed bindings: |
| |
| * ``st,stm32-can`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`st,stm32-pwm`: |
| |
| * new property: ``four-channel-capture-support`` |
| |
| * :dtcompatible:`st,stm32f4-adc`: |
| |
| * new property: ``st,adc-clock-source`` |
| * new property: ``st,adc-prescaler`` |
| * new property: ``st,adc-sequencer`` |
| * removed property: ``temp-channel`` |
| * removed property: ``vref-channel`` |
| * removed property: ``vbat-channel`` |
| |
| * :dtcompatible:`st,stm32-adc`: |
| |
| * new property: ``st,adc-clock-source`` |
| * new property: ``st,adc-prescaler`` |
| * new property: ``st,adc-sequencer`` |
| * removed property: ``temp-channel`` |
| * removed property: ``vref-channel`` |
| * removed property: ``vbat-channel`` |
| |
| * :dtcompatible:`st,stm32f1-adc`: |
| |
| * new property: ``st,adc-sequencer`` |
| * removed property: ``temp-channel`` |
| * removed property: ``vref-channel`` |
| * removed property: ``vbat-channel`` |
| |
| * :dtcompatible:`st,stm32-ospi`: |
| |
| * new property: ``io-low-port`` |
| * new property: ``io-high-port`` |
| |
| * :dtcompatible:`st,stm32c0-hsi-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32-hse-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32wl-hse-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32g0-hsi-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32h7-hsi-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32-lse-clock`: |
| |
| * removed property: ``clocks`` |
| |
| * :dtcompatible:`st,stm32u5-pll-clock`: |
| |
| * new property: ``fracn`` |
| |
| * Telink Semiconductor (telink): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`telink,b91-pwm`: |
| |
| * pinctrl support |
| |
| * :dtcompatible:`telink,b91`: |
| |
| * new property: ``mmu-type`` |
| * new property: ``riscv,isa`` |
| |
| * :dtcompatible:`telink,b91-i2c`: |
| |
| * pinctrl support |
| |
| * :dtcompatible:`telink,b91-spi`: |
| |
| * pinctrl support |
| |
| * :dtcompatible:`telink,b91-uart`: |
| |
| * pinctrl support |
| |
| * Texas Instruments (ti): |
| |
| * New bindings: |
| |
| * :dtcompatible:`ti,ads1112` |
| * :dtcompatible:`ti,bq27z746` |
| * :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer` |
| * :dtcompatible:`ti,cc13xx-cc26xx-timer` |
| * :dtcompatible:`ti,cc13xx-cc26xx-timer-pwm` |
| * :dtcompatible:`ti,cc32xx-pinctrl` |
| * :dtcompatible:`ti,davinci-gpio` |
| * :dtcompatible:`ti,davinci-gpio-nexus` |
| * :dtcompatible:`ti,lp5009` |
| * :dtcompatible:`ti,lp5012` |
| * :dtcompatible:`ti,lp5018` |
| * :dtcompatible:`ti,lp5024` |
| * :dtcompatible:`ti,lp5030` |
| * :dtcompatible:`ti,lp5036` |
| * :dtcompatible:`ti,lp5569` |
| * :dtcompatible:`ti,tas6422dac` |
| * :dtcompatible:`ti,tcan4x5x` |
| * :dtcompatible:`ti,tla2021` |
| * :dtcompatible:`ti,tmag5170` |
| * :dtcompatible:`ti,vim` |
| |
| * Removed bindings: |
| |
| * ``ti,cc13xx-cc26xx-rtc`` |
| * ``ti,lp503x`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`ti,cc32xx-i2c`: |
| |
| * pinctrl support |
| |
| * :dtcompatible:`ti,ina230` (on i2c bus): |
| |
| * new property: ``alert-config`` |
| * new property: ``adc-mode`` |
| * new property: ``vbus-conversion-time-us`` |
| * new property: ``vshunt-conversion-time-us`` |
| * new property: ``avg-count`` |
| * new property: ``rshunt-micro-ohms`` |
| * removed property: ``rshunt-milliohms`` |
| * property ``config`` default value changed from None to 0 |
| * property ``config`` deprecation status changed from False to True |
| * property ``config`` is no longer required |
| |
| * :dtcompatible:`ti,ina237` (on i2c bus): |
| |
| * new property: ``adc-mode`` |
| * new property: ``vbus-conversion-time-us`` |
| * new property: ``vshunt-conversion-time-us`` |
| * new property: ``temp-conversion-time-us`` |
| * new property: ``avg-count`` |
| * new property: ``high-precision`` |
| * new property: ``rshunt-micro-ohms`` |
| * removed property: ``rshunt-milliohms`` |
| * property ``adc-config`` default value changed from None to 0 |
| * property ``config`` default value changed from None to 0 |
| * property ``adc-config`` deprecation status changed from False to True |
| * property ``config`` deprecation status changed from False to True |
| * property ``adc-config`` is no longer required |
| * property ``config`` is no longer required |
| |
| * :dtcompatible:`ti,cc32xx-uart`: |
| |
| * pinctrl support |
| |
| * A stand-in for a real vendor which can be used in examples and tests (vnd): |
| |
| * New bindings: |
| |
| * :dtcompatible:`vnd,memory-attr` |
| * :dtcompatible:`vnd,reg-holder-64` |
| * :dtcompatible:`vnd,reserved-compat` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`vnd,serial`: |
| |
| * property ``reg`` is no longer required |
| |
| * X-Powers (x-powers): |
| |
| * New bindings: |
| |
| * :dtcompatible:`x-powers,axp192` |
| * :dtcompatible:`x-powers,axp192-gpio` |
| * :dtcompatible:`x-powers,axp192-regulator` |
| |
| * Xen Hypervisor (xen): |
| |
| * New bindings: |
| |
| * :dtcompatible:`xen,xen` |
| |
| * Removed bindings: |
| |
| * ``xen,xen-4.15`` |
| |
| * Xilinx (xlnx): |
| |
| * New bindings: |
| |
| * :dtcompatible:`xlnx,zynqmp-ipi-mailbox` |
| |
| * Shenzhen Xptek Technology Co., Ltd (xptek): |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`xptek,xpt2046` (on spi bus): |
| |
| * bus list changed from ['kscan'] to [] |
| |
| * Zephyr-specific binding (zephyr): |
| |
| * New bindings: |
| |
| * :dtcompatible:`zephyr,fake-rtc` |
| * :dtcompatible:`zephyr,i2c-dump-allowlist` |
| * :dtcompatible:`zephyr,lvgl-button-input` |
| * :dtcompatible:`zephyr,lvgl-encoder-input` |
| * :dtcompatible:`zephyr,lvgl-pointer-input` |
| * :dtcompatible:`zephyr,mdio-gpio` |
| * :dtcompatible:`zephyr,native-tty-uart` |
| * :dtcompatible:`zephyr,ram-disk` |
| * :dtcompatible:`zephyr,sensing` |
| * :dtcompatible:`zephyr,sensing-phy-3d-sensor` |
| |
| * Removed bindings: |
| |
| * ``zephyr,gpio-keys`` |
| |
| * Modified bindings: |
| |
| * :dtcompatible:`zephyr,mmc-disk` (on sd bus): |
| |
| * new property: ``bus-width`` |
| |
| * :dtcompatible:`zephyr,bt-hci-spi` (on spi bus): |
| |
| * new property: ``controller-data-delay-us`` |
| |
| * :dtcompatible:`zephyr,sdhc-spi-slot` (on spi bus): |
| |
| * new property: ``pwr-gpios`` |
| |
| * :dtcompatible:`zephyr,memory-region`: |
| |
| * new property: ``zephyr,memory-attr`` |
| * property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None |
| * property ``zephyr,memory-region-mpu`` deprecation status changed from False to True |
| * property ``reg`` is now required |
| |
| Libraries / Subsystems |
| ********************** |
| |
| * Management |
| |
| * Introduced MCUmgr client support with handlers for img_mgmt and os_mgmt. |
| |
| * Added response checking to MCUmgr's :c:enumerator:`MGMT_EVT_OP_CMD_RECV` |
| notification callback to allow applications to reject MCUmgr commands. |
| |
| * MCUmgr SMP version 2 error translation (to legacy MCUmgr error code) is now |
| supported in function handlers by setting ``mg_translate_error`` of |
| :c:struct:`mgmt_group` when registering a group. See |
| :c:type:`smp_translate_error_fn` for function details. |
| |
| * Fixed an issue with MCUmgr img_mgmt group whereby the size of the upload in |
| the initial packet was not checked. |
| |
| * Fixed an issue with MCUmgr fs_mgmt group whereby some status codes were not |
| checked properly, this meant that the error returned might not be the |
| correct error, but would only occur in situations where an error was |
| already present. |
| |
| * Fixed an issue whereby the SMP response function did not check to see if |
| the initial zcbor map was created successfully. |
| |
| * Fixes an issue with MCUmgr shell_mgmt group whereby the length of a |
| received command was not properly checked. |
| |
| * Added optional mutex locking support to MCUmgr img_mgmt group, which can |
| be enabled with :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_MUTEX`. |
| |
| * Added MCUmgr settings management group, which allows for manipulation of |
| zephyr settings from a remote device, see :ref:`mcumgr_smp_group_3` for |
| details. |
| |
| * Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY` |
| and :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY` |
| that allow to control whether MCUmgr client will be allowed to confirm |
| non-active images. |
| |
| * Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING` that allows |
| to erase slots pending for next boot, that are not revert slots. |
| |
| * Added ``user_data`` as an optional field to :c:struct:`mgmt_handler` when |
| :kconfig:option:`CONFIG_MCUMGR_MGMT_HANDLER_USER_DATA` is enabled. |
| |
| * Added optional ``force`` parameter to os mgmt reset command, this can be checked in the |
| :c:enumerator:`MGMT_EVT_OP_OS_MGMT_RESET` notification callback whose data structure is |
| :c:struct:`os_mgmt_reset_data`. |
| |
| * Added configurable number of SMP encoding levels via |
| :kconfig:option:`CONFIG_MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS`, which automatically increments |
| minimum encoding levels for in-tree groups if :kconfig:option:`CONFIG_ZCBOR_CANONICAL` is |
| enabled. |
| |
| * Added STM32 SPI backend for EC Host command protocol. |
| |
| * Fixed settings_mgmt returning unknown error instead of invalid key specified error. |
| |
| * Fixed fs_mgmt returning parameter too large error instead of file is empty error when |
| attempting to hash/checksum a file which is empty. |
| |
| * File systems |
| |
| * Added support for ext2 file system. |
| * Added support of mounting littlefs on the block device from the shell/fs. |
| * Added alignment parameter to FS_LITTLEFS_DECLARE_CUSTOM_CONFIG macro, it can speed up read/write |
| operation for SDMMC devices in case when we align buffers on CONFIG_SDHC_BUFFER_ALIGNMENT, |
| because we can avoid extra copy of data from card buffer to read/prog buffer. |
| |
| * Random |
| |
| * ``CONFIG_XOROSHIRO_RANDOM_GENERATOR``, deprecated a long time ago, is finally removed. |
| |
| * Retention |
| |
| * Added the :ref:`blinfo_api` subsystem. |
| |
| * Added support for allowing mutex support to be forcibly disabled with |
| :kconfig:option:`CONFIG_RETENTION_MUTEX_FORCE_DISABLE`. |
| |
| * Binary descriptors |
| |
| * Added the :ref:`binary_descriptors` (``bindesc``) subsystem. |
| |
| * POSIX API |
| |
| * Added dynamic thread stack support for :c:func:`pthread_create` |
| * Fixed :c:func:`stat` so that it returns file stats instead of filesystem stats |
| * Implemented :c:func:`pthread_barrierattr_destroy`, :c:func:`pthread_barrierattr_getpshared`, |
| :c:func:`pthread_barrierattr_init`, :c:func:`pthread_barrierattr_setpshared`, |
| :c:func:`pthread_condattr_destroy`, :c:func:`pthread_condattr_init`, |
| :c:func:`pthread_mutexattr_destroy`, :c:func:`pthread_mutexattr_init`, :c:func:`uname`, |
| :c:func:`sigaddset`, :c:func:`sigdelset`, :c:func:`sigemptyset`, :c:func:`sigfillset`, |
| :c:func:`sigismember`, :c:func:`strsignal`, :c:func:`pthread_spin_destroy`, |
| :c:func:`pthread_spin_init`, :c:func:`pthread_spin_lock`, :c:func:`pthread_spin_trylock`, |
| :c:func:`pthread_spin_unlock`, :c:func:`timer_getoverrun`, :c:func:`pthread_condattr_getclock`, |
| :c:func:`pthread_condattr_setclock`, :c:func:`clock_nanosleep` |
| * Added support for querying the number of bytes available to read via the |
| :c:macro:`FIONREAD` request to :c:func:`ioctl` |
| * Added :kconfig:option:`CONFIG_FDTABLE` to conditionally compile file descriptor table |
| * Added logging to POSIX threads, mutexes, and condition variables |
| * Fixed :c:func:`poll` issue with event file descriptors |
| |
| * LoRa/LoRaWAN |
| |
| * Updated ``loramac-node`` from v4.6.0 to v4.7.0 |
| |
| * CAN ISO-TP |
| |
| * Added support for CAN FD. |
| |
| * RTIO |
| |
| * Added atomic completion counter fixing a race caught by unit tests |
| * Added a :c:macro:`RTIO_SQE_NO_RESPONSE` flag for submissions when no completion notification |
| is needed |
| * Removed unused Kconfig options for different executors |
| |
| * ZBus |
| |
| * Changed channels' and observers' metadata to comply with the data/config approach. ZBus stores |
| immutable config in iterable sections in Flash and the mutable portion of data in the RAM. |
| * The relationship between channels and observers is mapped using a new entity called |
| observation. The observation enables us to increase the granularity of masking observation. |
| Developers can mask individual observations, disable the observer, or use runtime observers. |
| * Added API :c:macro:`ZBUS_CHAN_ADD_OBS` macro for adding post-definition static observers of a |
| channel. That can replace the runtime observer feature, enabling developers to add static |
| observers after the channel definition in different files. It increases the composability of |
| the system using ZBus, making post-definition channel observation rely on the stack instead of |
| the heap. |
| * Added a new type of observer called Message Subscriber. ZBus' VDED will send a copy of the |
| message during the publication/notification process. |
| * Changed the VDED delivery sequence. Check the ref:`documentation<zbus delivery sequence>`. |
| * ZBus runtime observers now rely on the heap instead of a memory pool. |
| * Added new iterable section iterators APIs (for channels and observers) can now receive a |
| ``user_data`` pointer to keep context between the function calls. |
| * Added APIs :c:macro:`ZBUS_LISTENER_DEFINE_WITH_ENABLE` and |
| :c:macro:`ZBUS_SUBSCRIBER_DEFINE_WITH_ENABLE` that allows developers to define observers' |
| statuses (enabled/disabled) programmatically. With the API, developers can create observers |
| initially disabled and enable them in runtime. |
| |
| * Power management |
| |
| * Added :kconfig:option:`CONFIG_PM_NEED_ALL_DEVICES_IDLE`. When this |
| option is set the power management will keep the system active |
| if there is any device busy. |
| * :c:func:`pm_device_runtime_get` can be called from ISR now. |
| * Power states can be disabled directly in devicetree doing ``status = "disabled";`` |
| * Added the helper function, :c:func:`pm_device_driver_init`, for |
| initializing devices into a specific power state. |
| |
| * Modem modules |
| |
| * Added the :ref:`modem` subsystem. |
| |
| HALs |
| **** |
| |
| * Nordic |
| |
| * Updated nrfx to version 3.1.0. |
| |
| * Nuvoton |
| |
| * Added Nuvoton NuMaker M46x |
| |
| MCUboot |
| ******* |
| |
| * Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_NO_DOWNGRADE` |
| that allows to inform application that the on-board MCUboot has been configured |
| with downgrade prevention enabled. This option is automatically selected for |
| DirectXIP mode and is available for both swap modes. |
| |
| * Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY` |
| that allows to inform application that the on-board MCUboot will overwrite |
| the primary slot with secondary slot contents, without saving the original |
| image in primary slot. |
| |
| * Fixed issue with serial recovery not showing image details for decrypted images. |
| |
| * Fixed issue with serial recovery in single slot mode wrongly iterating over 2 image slots. |
| |
| * Fixed an issue with boot_serial repeats not being processed when output was sent, this would |
| lead to a divergence of commands whereby later commands being sent would have the previous |
| command output sent instead. |
| |
| * Fixed an issue with the boot_serial zcbor setup encoder function wrongly including the buffer |
| address in the size which caused serial recovery to fail on some platforms. |
| |
| * Fixed wrongly building in optimize for debug mode by default, this saves a significant amount |
| of flash space. |
| |
| * Fixed issue with serial recovery use of MBEDTLS having undefined operations which led to usage |
| faults when the secondary slot image was encrypted. |
| |
| * Fixed issue with bootutil asserting on maximum alignment in non-swap modes. |
| |
| * Added error output when flash device fails to open and asserts are disabled, which will now |
| panic the bootloader. |
| |
| * Added currently running slot ID and maximum application size to shared data function |
| definition. |
| |
| * Added P384 and SHA384 support to imgtool. |
| |
| * Added optional serial recovery image state and image set state commands. |
| |
| * Added ``dumpinfo`` command for signed image parsing in imgtool. |
| |
| * Added ``getpubhash`` command to dump the sha256 hash of the public key in imgtool. |
| |
| * Added support for ``getpub`` to print the output to a file in imgtool. |
| |
| * Added support for dumping the raw versions of the public keys in imgtool. |
| |
| * Added support for sharing boot information with application via retention subsystem. |
| |
| * Added support for serial recovery to read and handle encrypted seondary slot partitions. |
| |
| * Removed ECDSA P224 support. |
| |
| * Removed custom image list boot serial extension support. |
| |
| * Reworked boot serial extensions so that they can be used by modules or from user repositories |
| by switching to iterable sections. |
| |
| * Reworked image encryption support for Zephyr, static dummy key files are no longer in the code, |
| a pem file must be supplied to extract the private and public keys. The Kconfig menu has |
| changed to only show a single option for enabling encryption and selecting the key file. |
| |
| * Reworked the ECDSA256 TLV curve agnostic and renamed it to ``ECDSA_SIG``. |
| |
| * CDDL auto-generated function code has been replaced with zcbor function calls, this now allows |
| the parameters to be supplied in any order. |
| |
| * The MCUboot version in this release is version ``2.0.0+0-rc1``. |
| |
| Nanopb |
| ****** |
| |
| * Changed project status to maintained. |
| |
| * Added a separate nanopb.cmake file to be included by applications. |
| |
| * Added helper cmake function ``zephyr_nanopb_sources`` to simplify ``.proto`` file inclusion. |
| |
| LVGL |
| **** |
| |
| * Changed project status to maintained. |
| |
| * Library has been updated to release v8.3.7. |
| |
| * Added ``zephyr,lvgl-{pointer,button,encoder}-input`` pseudo device bindings. |
| :kconfig:option:`CONFIG_LV_Z_KSCAN_POINTER` is still supported but touch controllers |
| need a :dtcompatible:`zephyr,kscan-input` child node to emit input events. |
| |
| * LVGL shell allows for monkey testing (requires :kconfig:option:`CONFIG_LV_USE_MONKEY`) |
| and inspecting memory usage. |
| |
| Trusted Firmware-A |
| ****************** |
| |
| * Updated to TF-A 2.9.0. |
| |
| Documentation |
| ************* |
| |
| * Upgraded Sphinx to 6.2 |
| |
| Tests and Samples |
| ***************** |
| |
| * Created common sample for file systems (`fs_sample`). It originates from sample for FAT |
| (`fat_fs`) and supports both FAT and ext2 file systems. |
| |
| * Created the zbus confirmed channel sample to demonstrate how to implement a delivery-guaranteed |
| channel using subscribers. |
| |
| * Created the zbus message subscriber sample to demonstrate how to use message subscribers. |