1:orphan: 2 3.. 4 See 5 https://docs.zephyrproject.org/latest/releases/index.html#migration-guides 6 for details of what is supposed to go into this document. 7 8.. _migration_4.2: 9 10Migration guide to Zephyr v4.2.0 (Working Draft) 11################################################ 12 13This document describes the changes required when migrating your application from Zephyr v4.1.0 to 14Zephyr v4.2.0. 15 16Any other changes (not directly related to migrating applications) can be found in 17the :ref:`release notes<zephyr_4.2>`. 18 19.. contents:: 20 :local: 21 :depth: 2 22 23Build System 24************ 25 26Kernel 27****** 28 29Boards 30****** 31 32* All boards based on Nordic ICs that used the ``nrfjprog`` Nordic command-line 33 tool for flashing by default have been modified to instead default to the new 34 nRF Util (``nrfutil``) tool. This means that you may need to `install nRF Util 35 <https://www.nordicsemi.com/Products/Development-tools/nrf-util>`_ or, if you 36 prefer to continue using ``nrfjprog``, you can do so by invoking west while 37 specfying the runner: ``west flash -r nrfjprog``. The full documentation for 38 nRF Util can be found 39 `here <https://docs.nordicsemi.com/bundle/nrfutil/page/README.html>`_. 40 41* The config option :kconfig:option:`CONFIG_NATIVE_POSIX_SLOWDOWN_TO_REAL_TIME` has been deprecated 42 in favor of :kconfig:option:`CONFIG_NATIVE_SIM_SLOWDOWN_TO_REAL_TIME`. 43 44* Zephyr now supports version 1.11.1 of the :zephyr:board:`neorv32`. 45 46* ``arduino_uno_r4_minima``, ``arduino_uno_r4_wifi``, and ``mikroe_clicker_ra4m1`` have migrated to 47 new FSP-based configurations. 48 While there are no major functional changes, the device tree structure has been significantly revised. 49 The following device tree bindings are now removed: 50 ``renesas,ra-gpio``, ``renesas,ra-uart-sci``, ``renesas,ra-pinctrl``, 51 ``renesas,ra-clock-generation-circuit``, and ``renesas,ra-interrupt-controller-unit``. 52 Instead, use the following replacements: 53 - :dtcompatible:`renesas,ra-gpio-ioport` 54 - :dtcompatible:`renesas,ra-sci-uart` 55 - :dtcompatible:`renesas,ra-pinctrl-pfs` 56 - :dtcompatible:`renesas,ra-cgc-pclk-block` 57 58Device Drivers and Devicetree 59***************************** 60 61DAI 62=== 63 64* Renamed the devicetree property ``dai_id`` to ``dai-id``. 65* Renamed the devicetree property ``afe_name`` to ``afe-name``. 66* Renamed the devicetree property ``agent_disable`` to ``agent-disable``. 67* Renamed the devicetree property ``ch_num`` to ``ch-num``. 68* Renamed the devicetree property ``mono_invert`` to ``mono-invert``. 69* Renamed the devicetree property ``quad_ch`` to ``quad-ch``. 70* Renamed the devicetree property ``int_odd`` to ``int-odd``. 71 72Counter 73======= 74 75* ``counter_native_posix`` has been renamed ``counter_native_sim``, and with it its 76 kconfig options and DT binding. :dtcompatible:`zephyr,native-posix-counter` has been deprecated 77 in favor of :dtcompatible:`zephyr,native-sim-counter`. 78 And :kconfig:option:`CONFIG_COUNTER_NATIVE_POSIX` and its related options with 79 :kconfig:option:`CONFIG_COUNTER_NATIVE_SIM` (:github:`86616`). 80 81Entropy 82======= 83 84* ``fake_entropy_native_posix`` has been renamed ``fake_entropy_native_sim``, and with it its 85 kconfig options and DT binding. :dtcompatible:`zephyr,native-posix-rng` has been deprecated 86 in favor of :dtcompatible:`zephyr,native-sim-rng`. 87 And :kconfig:option:`CONFIG_FAKE_ENTROPY_NATIVE_POSIX` and its related options with 88 :kconfig:option:`CONFIG_FAKE_ENTROPY_NATIVE_SIM` (:github:`86615`). 89 90Ethernet 91======== 92 93* Removed Kconfig option ``ETH_STM32_HAL_MII`` (:github:`86074`). 94 PHY interface type is now selected via the ``phy-connection-type`` property in the device tree. 95 96GPIO 97==== 98 99* To support the RP2350B, which has many pins, the RaspberryPi-GPIO configuration has 100 been changed. The previous role of :dtcompatible:`raspberrypi,rpi-gpio` has been migrated to 101 :dtcompatible:`raspberrypi,rpi-gpio-port`, and :dtcompatible:`raspberrypi,rpi-gpio` is 102 now left as a placeholder and mapper. 103 The labels have also been changed along, so no changes are necessary for regular use. 104 105Bluetooth 106********* 107 108Bluetooth Host 109============== 110 111* The symbols ``BT_LE_CS_TONE_ANTENNA_CONFIGURATION_INDEX_<NUMBER>`` in 112 :zephyr_file:`include/zephyr/bluetooth/conn.h` have been renamed 113 to ``BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A<NUMBER>_B<NUMBER>``. 114 115Networking 116********** 117 118* The struct ``net_linkaddr_storage`` has been renamed to struct 119 :c:struct:`net_linkaddr` and the old struct ``net_linkaddr`` has been removed. 120 The struct :c:struct:`net_linkaddr` now contains space to store the link 121 address instead of having pointer that point to the link address. This avoids 122 possible dangling pointers when cloning struct :c:struct:`net_pkt`. This will 123 increase the size of struct :c:struct:`net_pkt` by 4 octets for IEEE 802.15.4, 124 but there is no size increase for other network technologies like Ethernet. 125 Note that any code that is using struct :c:struct:`net_linkaddr` directly, and 126 which has checks like ``if (lladdr->addr == NULL)``, will no longer work as expected 127 (because the addr is not a pointer) and must be changed to ``if (lladdr->len == 0)`` 128 if the code wants to check that the link address is not set. 129 130SPI 131=== 132 133* Renamed the device tree property ``port_sel`` to ``port-sel``. 134* Renamed the device tree property ``chip_select`` to ``chip-select``. 135 136Other subsystems 137**************** 138 139Modules 140******* 141 142Architectures 143************* 144