Commit graph

1070 commits

Author SHA1 Message Date
Jamie McCrae c80750ec9c doc: release: 3.5: Add MCUboot release notes
Adds the changes in MCUboot to this release

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae 7e37df33de doc: migration-guide: 3.5: Add note on SMP version 2 error handlers
Adds a note about required changed for Zephyr 3.4 SMP version 2
error translation handlers in Zephyr 3.5 (or newer)

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Jamie McCrae 2aafc0d4d7 doc: release: 3.5: Correct word in MCUmgr update
Changes wrong word transport to group

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-10-02 17:00:28 +01:00
Flavio Ceolin 3d91b927c2 doc: release: 3.5: Add info about CVE-2023-5184
Add CVE-2023-5184 to 3.5 release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-02 16:58:21 +01:00
Donatien Garnier 6de57d0985 Bluetooth: Host: Document required changes for L2CAP accept() callback
Add a required change in the migration guide to document the changes
to the accept() callback in struct bt_l2cap_server.

Signed-off-by: Donatien Garnier <donatien.garnier@blecon.net>
2023-10-02 15:24:05 +02:00
Juha Heiskanen 647fb4dc8f net: lwm2m: RD client Deregister event indicate
Added a new event for LWM2M_RD_CLIENT_EVENT_DEREGISTER for
indicate LwM2M client dereistartion.

Updated unit test and sample for new event type

Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
2023-09-29 16:53:55 +03:00
Maureen Helm d5287578fe dts: bindings: boards: Update Ethernet PHY to use reg property
Updates Ethernet PHY devicetree bindings to be more consistent with
Linux by using the standard `reg` property for the PHY address instead
of a custom `address` property. As a result, MDIO controller bindings
now require standard `#address-cells` and `#size-cells` properties.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00
Yonatan Schachter 0bc277b7a0 release-notes: Added binary descriptors
Added binary descriptors to the release notes, under
"Libraries / Subsystems".

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2023-09-28 23:04:47 +03:00
Henrik Brix Andersen ddd2b490b0 doc: releases: update v3.5 migration guide with changes in CAN timing
Update the migration guide for v3.5 to mention the changes related to
setting CAN timing.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-09-28 16:28:56 +02:00
Dominik Ermel 83d69f50ad doc/release-notes: MCUboot overwrite mode Kconfig info
Note on CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-28 16:27:45 +02:00
Jamie McCrae 14fe04dbf3 doc: release: 3.5: Add note on new blinfo subsystem
Adds a note that a new retention module, bootloader information
(blinfo) has been added

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-27 20:18:31 -04:00
Florian Grandel a12a6ab5b9 drivers: ieee802154: introduce channel pages
Replaces the previous approach to define bands via hardware capabilities
by the standard conforming concept of channel pages.

In the short term this allows us to correctly calculate the PHY specific
symbol rate and several parameters that directly depend from the symbol
rate and were previously not being correctly calculated for some of the
drivers whose channel pages could not be represented previously:
* We now support sub-nanosecond precision symbol rates for UWB. Rounding
  errors are being minimized by switching from a divide-then-multiply
  approach to a multiply-then-divide approach.
* UWB HRP: symbol rate depends on channel page specific preamble symbol
  rate which again requires the pulse repetition value to be known
* Several MAC timings are being corrected based on the now correctly
  calculated symbol rates, namely aTurnaroundTime, aUnitBackoffPeriod,
  aBaseSuperframeDuration.

In the long term, this change unlocks such highly promising functional
areas as UWB ranging and SUN-PHY channel hopping in the SubG area (plus
of course any other PHY specific feature).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-27 12:44:15 -04:00
Dominik Ermel a43107299f doc/release-notes: Add info on downgrade prevention Kconfig
Adds note on addition of
MCUBOOT_BOOTLOADER_MODE_WITH_DOWNGRADE_PREVENTION
to MCUboot Kconfig module.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-09-26 16:41:25 +02:00
Daniel Leung c1e488c2ed doc: release: 3.5: add a note on UART ns16550 driver changes
This adds a note on the changes related to the device
initialization macros and removal of two kconfigs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-09-26 12:03:04 +02:00
Flavio Ceolin acc4dcec1e doc: release: 3.5 Add info about CVE-2023-4258
Add security related information in 3.5 release notes.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-09-26 08:39:16 +02:00
Carles Cufi d118ef5fde doc: migration: Move picolibc section to required changes
After having migrated a bunch of apps to the new default C library we
have realized that some of the caveats described in the existing
picolibc section of the migration guide do require action on the user
more often than previously thought. In order to ensure that all users
see those and can act upon them, move the picolibc migration info to the
required changes section.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-25 18:44:34 -04:00
Jamie McCrae 30092d1910 doc: release: 3.5: Add note on sysbuild MCUboot encryption support
Adds a note that sysbuild can now set the encryption key for
MCUboot and target images.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-25 12:45:44 +02:00
Guillaume Gautier 01f080ebe0 doc: releases: update migration guide
Update migration guide

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Gerard Marull-Paretas beec8b05a8 device: only allow PRE_KERNEL_1/2 and POST_KERNEL levels
Because devices share the same underlying infrastructure with SYS_INIT,
the same levels have always been available. However, not all of them are
needed, and some are not even usable. For example, `EARLY` can't be used
because when initialized `z_device_state_init` has not been called yet.
`SMP` has never been used by device drivers, and it is now in question,
likely to be moved to SMP specific hooks. Finally, `APPLICATION` does
not make much sense in the context of Kernel devices. Note that of the 3
levels just mentioned, only one was actively tested (`APPLICATION`) by
Kernel tests, meaning others were likely never considered in the context
of devices.

This patch leaves `PRE_KERNEL_1`, `PRE_KERNEL_2` and `POST_KERNEL`
available to devices. Others have been deprecated, and will generate a
compiler warning if used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-21 15:02:45 +02:00
Ryan Erickson 452fadcd0e doc: migration-guide: inform about MODEM_GSM_PPP deprecation
MODEM_GSM_PPP is deprecated in favor of using the new
MODEM_CELLULAR driver.
Directly related to this are UART_MUX and GSM_MUX. These are also
being deprecated.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-09-19 15:25:47 +01:00
Benjamin Cabé 994558ef8e samples: net: doc: Use new Sphinx extension to document networking samples
Use the new code-sample directive and roles to document the networking
samples so that they show up as "Related samples" when browsing the
various relevant networking APIs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-19 15:22:59 +01:00
Jukka Rissanen ccc2a7a90d doc: release: Migration guide for CONFIG_NET_INTERFACE_NAME option
Clarified the impact of CONFIG_NET_INTERFACE_NAME Kconfig option
as it can change how SO_BINDTODEVICE BSD socket option behaves.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2023-09-19 15:22:19 +01:00
Kuno Heltborg 2d02cae964 MGMT: Add user data to mgmt_handler
RFC: #60616

Signed-off-by: Kuno Heltborg <kunoh@live.dk>
2023-09-19 15:20:58 +01:00
Gerard Marull-Paretas 9019e46839 doc: migration-guide: inform about GPIO_AS_PINRESET deprecation
In favor of the new devicetree 'gpio-as-nreset' property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-18 13:14:08 +02:00
Gerard Marull-Paretas c0bf310ac8 doc: migration-guide: add notes on CONFIG_NFCT_PINS_AS_GPIOS changes
So that users know how to migrate to the new option.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-09-15 16:05:28 +02:00
Carlo Caione e4a125b6a4 dt: Make zephyr,memory-attr a capabilities bitmask
This is the final step in making the `zephyr,memory-attr` property
actually useful.

The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.

With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.

The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).

For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_VOLATILE |
			       DT_MEM_NON_CACHEABLE |
			       DT_MEM_OOO )>;
   };

The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-region = "NOCACHE_REGION";
       zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
   };

See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).

The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
			       DT_MEM_SW_ALLOCATABLE )>;
   };

Or maybe we can leverage the property to specify some alignment
requirements for the region:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_CACHEABLE |
			       DT_MEM_SW_ALIGN(32) )>;
   };

The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).

When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`

Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory  region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-09-15 12:46:54 +02:00
Laurentiu Mihalcea ff1bb65793 doc: release: 3.5: Add note about shared interrupt support
Add a note that shared interrupts are now supported.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-09-14 08:35:12 +02:00
Huifeng Zhang 80e1b37fdb doc: release-notes: Add Aarch32 v3.5.0 notes
Adds release notes for Aarch32 for Zephyr 3.5.0.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-09-13 10:08:05 +01:00
David Lamparter a532dbab51 doc: list ST7735S alongside ST7735R
Throw ST7735S into a few places so people can find it.

Signed-off-by: David Lamparter <equinox@diac24.net>
2023-09-11 20:05:26 +02:00
Benjamin Cabé 7c4ff77bf3 doc: zbus: samples: Use new Sphinx extension to document samples
Use the new code-sample directive and roles to document the zbus samples
so that they show up as "Related samples" when browsing zbus API.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-11 19:56:57 +02:00
Keith Packard 28e6839db6 doc/releases: Add picolibc migration notes
There aren't any 'required' or 'recommended' changes when switching from
the minimal C library to picolibc, but there are a bunch of things which
application developers might need to be aware of. Add a separate section to
list those.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-09-08 19:07:37 +02:00
Benjamin Cabé c26679be42 samples: net: cloud: drop Google Cloud IoT Core
Google Cloud IoT Core has been retired on August 16, 2023.
Removed the sample and the link to it in a previous release note.
Added a redirect to other IoT cloud samples.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-08 11:04:25 +02:00
Jamie McCrae 9509831e1d doc: release: 3.5: Add note on required_snippets twister addition
Adds a note that twister now supports applying snippets

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-09-06 16:40:53 +02:00
Johann Fischer ad498aa550 usb: device: hid: remove CONFIG_USB_HID_PROTOCOL_CODE
Kconfig option USB_HID_PROTOCOL_CODE, deprecated in v2.6,
is finally removed.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-09-05 16:16:56 +02:00
Carles Cufi 8c748fd005 kernel: Modify the signature of k_mem_slab_free()
Modify the signature of the k_mem_slab_free() function with a new one,
replacing the old void **mem with void *mem as a parameter.

The following function:
void k_mem_slab_free(struct k_mem_slab *slab, void **mem);

has the wrong signature. mem is only used as a regular pointer, so there
is no need to use a double-pointer. The correct signature should be:
void k_mem_slab_free(struct k_mem_slab *slab, void *mem);

The issue with the current signature, although functional, is that it is
extremely confusing. I myself, a veteran Zephyr developer, was confused
by this parameter when looking at it recently.

All in-tree uses of the function have been adapted.

Fixes #61888.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-09-03 18:20:59 -04:00
Mykola Kvach c5619cd001 doc: release: 3.5: add notes about changes related to fs subsystem
Add support of mounting littlefs on the block device from the shell/fs.
Add alignment parameter to FS_LITTLEFS_DECLARE_CUSTOM_CONFIG macro.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2023-09-01 17:44:15 +02:00
Carles Cufi a7b0ce614a release: Introduce a migration guide
Instead of documenting API changes, deprecations, additions and
deletions in the main release notes, create a new specific document to
help users migrate from one release to another one.

This new document has only two sections:

- Required changes
- Recommended changes

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
2023-09-01 14:05:46 +02:00
Dominik Ermel 48795a00f5 doc/release/3.5: Add note on new MCUmgr Kconfig options
Note on addition of:
  CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY
  CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY
  CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-08-31 10:19:15 +02:00
Jamie McCrae f5c25d3d65 doc: release: 3.5: Add note on MCUmgr settings management
Adds a note that settings management has been added to MCUmgr.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-08-25 10:54:06 +01:00
Nicola Ochsenbein a4e6c91664 release notes: 3.5: Add new CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT option
Add new CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT option in release notes 3.5.

Signed-off-by: Nicola Ochsenbein <Nicola.Ochsenbein@husqvarnagroup.com>
2023-08-22 18:06:18 +02:00
Pieter De Gendt 4fc9686c41 doc: release: 3.5: Add CodeChecker entry
Add a release note entry for CodeChecker SCA support.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-08-21 17:51:30 +01:00
Jamie McCrae 6b654bdc87 doc: release: 3.5: Add MCUmgr SMP version 2 stable change note
Adds a note on the stable API change of changing the MCUmgr SMP
version 2 error entry name to avoid a collision with shell_mgmt
which already used "ret".

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-08-21 10:18:50 +02:00
Fabio Baltieri 83e4ed1fc5 Revert "doc: release-notes: document aarch32 cortex_a_r linker command file changes"
This reverts commit eb731abeb8.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-17 20:56:32 +01:00
Keith Short cc5595df0d doc: release: 3.5: document CONFIG_GPIO_NCT38XX_ALERT
Document the rename of CONFIG_GPIO_NCT38XX_INTERRUPT to
CONFIG_GPIO_NCT38XX_ALERT.

Signed-off-by: Keith Short <keithshort@google.com>
2023-08-15 21:55:31 +00:00
Immo Birnbaum eb731abeb8 doc: release-notes: document aarch32 cortex_a_r linker command file changes
Document the changes implemented in #60368:
* Placement of the .bss and .noinit sections at the end of the binary
  so that large zero-/uninitialized data structures such as heaps,
  arrays etc. don't have to be padded in the resulting binary.
* Location of the z_mapped_start marker: prevents the assignment
  of the single 4k-page wide .vectors section right at the RAM
  base address as dynamic memory by the MMU at run-time. Instead
  of pointing to the start of the subsequent .text section, the
  z_mapped_start marker now covers all the data contained within
  the binary that ends up in RAM.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2023-08-09 16:05:24 +00:00
Grzegorz Swiderski b69be2cb48 doc: release: 3.5: Add note on new fixed partition API
List `DT_MEM_FROM_FIXED_PARTITION()` and `DT_FIXED_PARTITION_ADDR()` as
the newly added macros.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2023-08-07 15:45:23 +02:00
Dmitry Lukyantsev 34a966f219 doc: Fix a typo
Fix a typo in the spelling of "current".
Add "current" to spelling.txt.

Signed-off-by: Dmitry Lukyantsev <dmitrylu@google.com>
2023-08-04 21:18:43 +00:00
Daniel DeGrasse c3dfc2220a soc: arm: nxp_imx: rt: Remove CONFIG_OCRAM_NOCACHE setting
Remove CONFIG_OCRAM_NOCACHE setting, as this is now possible to achieve
using devicetree linker regions, and there is no point in having a
specific Kconfig for one memory region on the RT series like this.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-08-04 16:11:37 -05:00
Daniel DeGrasse 7e646b56a1 soc: arm: nxp_imx: rt: enable SOC fixed MPU regions, add SDRAM0 region
Enable SOC fixed MPU regions by default for the RT10xx/RT11xx SOC lines.

Additionally, add code to handle defining the SDRAM0 region as
device type (non cacheable, non shareable). This behavior can
be disabled with CONFIG_NXP_IMX_EXTERNAL_SDRAM=y. Set this Kconfig
for all boards in tree using SDRAM.

This will resolve an issue present on the RT11xx series where
the core may execute speculative prefetches to the SDRAM region when
no SDRAM is present on the board, resulting in the system faulting.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-08-04 16:11:37 -05:00
Daniel DeGrasse c85d3dd828 soc: arm: nxp_imx: don't default CONFIG_DEVICE_CONFIGURATION_DATA=y
Don't default CONFIG_DEVICE_CONFIGURATION_DATA to enabled for iMX RT
SOCs, as this configuration block is only used when the board needs
peripherals like the external memory controller setup from reset by the
bootrom.

Enable this feature on all in tree boards that will require it,
and document the change to the default value in release notes.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-08-04 16:11:37 -05:00