This adds some bits on added Xtensa MMU support, refactoring of
ESP32 folder, and various board additions/removals.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add changes to Ethernet and Wi-Fi drivers for v3.5.
Also add information about generic Ethernet and Wi-Fi changes.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add CAN related release notes for Zephyr v3.5.0. API changes are already
described in the migration guide for v3.5.0.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Some SSD1306 Kconfig options replaced by dts to make able to
configure per device.
Add the description how to migrate it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Few channels of this driver were using the wrong units, add a note
pointing out that this needs a matching change in any application using
them.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a migration note entry about CONTAINER_OF type checking for the
k_work use case. This was common enough that it's probably worth a note
pointing at the conversion function.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
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>
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>
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>
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>
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>
Adds note on addition of
MCUBOOT_BOOTLOADER_MODE_WITH_DOWNGRADE_PREVENTION
to MCUboot Kconfig module.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Drop the notes about listing all the github issues with the release
notes. That was a huge list of github issues sorted by closing time,
very noisy and hard to maintain.
The unfiltered list of changes is already in the commit history, a
distilled list is now in the blog posts and a final list is in the notes
summary.
The issue list has been skipped in 3.4 already, let's just drop it from
the process.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The current default value for `BOOTLOADER_SRAM_SIZE` is set to an
arbitrary-seeming value of `16`, which feels like a random magic
number.
Given that adding an offset in SRAM for a bootloader should always be
a conscious choice for a specific platform, this PR sets the default
to `0`. An appropriate value can be set at the SoC or board level,
overriding this default.
Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
Documents the changes to the naming of the cc13/26xx timer compatible
and Kconfig options.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Adds a note that this MCUmgr notification hook can now be used
to reject commands and send an error back to the client.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add release notes for SDHC and Disk drivers, highlighting addition
of NVME support in the disk driver layer as well as CPOL/CPHA clock
modes within the SDHC SPI driver.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Added RP2040 related changes to the v3.4.0 release notes,
including new boards, new drivers and HAL changes.
Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
Add release notes on:
- change in west sign internal logic;
- additional LittleFS sample configuration for nrf52840dk_nrf52840
using SPI communication;
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add points related to the POSIX arch and boards to the
3.4 release notes.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In order to have clean, self-contained HCI headers that do not have any
dependencies towards the Host or any other part of the system (except
types), reorganize the headers in the following way:
- Split out the macros and structs from hci.h to a new hci_types.h
- Merge the existing hci_err.h into the new hci_types.h
Fixes#58214.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This option is relevant enough to appear in the release notes, since it
is helpful to ease the debugging of a frequent issue.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
TF-M changes are documented in another section of the document, this is
likely a merge mistake.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Change order of buttons and switches on the nRF9160DK IO expander to
match the configuration without the IO expander.
Follow-up to commit d565aa2.
Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Enable the external_flash_pins_routing switch in the board controller
overlay for nRF9160 DK revision 0.14.0 and newer. This is to match the
behaviour of the factory shipped borad controller on board revisions
that have external flash.
Signed-off-by: Gregers Gram Rygg <gregers.gram.rygg@nordicsemi.no>
Change the default revision of the nRF9160 DK to 0.14.0 to make it
easier to use external flash.
Signed-off-by: Gregers Gram Rygg <gregers.gram.rygg@nordicsemi.no>
Some 3P logic (Pigweed for example) is already heavily invested in
gTest as a testing framework. Adding the `gtest` harness enables
running the existing 3P tests on various Zephyr platforms and configs.
Signed-off-by: Yuval Peress <peress@google.com>
Update release notes 3.4 with description of
EXTRA_CONF_FILE, EXTRA_DTC_OVERLAY_FILE, and EXTRA_ZEPHYR_MODULES.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
If an operational amplifier is used on the DAC output it is
preferrable to disable the DAC output buffer.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
After the MCUboot configuration options were moved out of the main
Kconfig.zephyr they were placed in a new Kconfig.mcuboot in the root of
the repo. This is not right, and the file belongs in the modules/
folder.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Adds a note that transports now need to set up the struct
themselves prior to calling the registration function.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Provide an extra struct net_if * iface parameter to
net_if_ipv*_maddr_join/leave functions, so that the corresponding
interface context, the mcast address belong to, can be locked for the
operation.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Most available AT45 flash chips have their first two sectors shorter
than the consecutive ones. Usually, the first sector is marked as 0a
and has its size equal to eight pages (one block) and the second one
(usually 0b) is the complement to the size of a regular sector.
This commits modifies the driver so that erasing of these first two
sectors is performed correctly. This modified behavior is configurable
with a new DT property so that it is still possible to also use legacy
AT45 chips that do not feature such sector split. Such legacy chips
usually also do not support the chip erase and sector erase commands,
so two more DT properties are introduced to cover that.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add the ability for the flash simulator to store its contents in a
memory region.
This allows filesystems on the flash simulator to survive a reboot.
And allows subsystems (e.g. coredump) to store their info on ram while
using the (existing) flash partition backend.
Add a example (for nucleo_f411re) that shows how to configure the flash
simulator for hardware (cfg discussion #54166).
Signed-off-by: Laczen JMS <laczenjms@gmail.com>
Adds a note that *_ROOT variables are now supported properly on an
image basis when using sysbuild, and that sysbuild_cache_set has
been added, and that zephyr_get has had a MERGE option added.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Update 3.4 release notes to bring awareness to the
shifted values of voltage-ref and power-level
properties of the LPADC node
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Inform about the cs field change in struct spi_config. Also mention what
drivers must use from now on.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Adds details on the newly introduced retention subsystem and boot
mode APIs to the release notes.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a note that the old behaviour of setting the GPREGRET register
to the parameter of sys_reboot() is no longer the default as the
boot mode interface has replaced it.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The test suite was limited to the native_posix board,
now it is built and run for any board supported by CI.
The native_posix yaml files for both 32 and 64 bit
boards have been expanded to support rtc, allowing CI
to build and test the rtc_api test suite against the
native_posix and native_posix_64 boards.
Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
Updates the release notes to document which absolute symbols
(generated via GEN_ABSOLUTE_SYM) have been removed.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Among other things, this update brings:
* C++ improvements
* float16 support
* Improved docs
* -Wall and -Wconversion compliance
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
Normally, the driver deactivates the QSPI peripheral for periods when
no QSPI operation is performed. This is done to avoid increased current
consumption when the peripheral is idle. For the same reason, the base
clock on nRF53 Series SoCs (HFCLK192M) is configured for those periods
with the default /4 divider that cannot be used otherwise. However,
when XIP accesses are used, the driver must be prevented from doing
both these things as that would make XIP to fail. Hence, a function
is provided so that applications can inform the driver that XIP is
needed and the above idle actions should be suppressed.
This function (`nrf_qspi_nor_xip_enable()`) replaces the old one
(`nrf_qspi_nor_base_clock_div_force()`) that was intended for similar
purpose but after deactivation of the peripheral was introduced in
commit 95d867e8ed it became useless.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add a paragraph explaining the change from void main(void) to int
main(void) and the requirement for main functions to return zero.
Signed-off-by: Keith Packard <keithp@keithp.com>
Adds a note that the system timer stop function has now been
implemented for the nRF RTC timer driver.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Update the policy such that every completed sqe has a parallel cqe.
This has the primary purpose of making any reads in the sqe visible
to the consumer (since they might have different buffers).
Signed-off-by: Yuval Peress <peress@google.com>
Adds details on the update fs_mgmt features for faster
uploads/downloads and new Kconfig entries added.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add note highlighting change to LPADC channel selection setup, so that
users will be aware they need to change their devicetree configuration
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Some systems can support only legacy OOB pairing while others only
LE SC OOB pairing.
The existent API function "bt_set_oob_data_flag" was removed.
Two new API functions were added:
* "bt_le_oob_set_legacy_flag" to signal that legacy OOB pairing is used
* "bt_le_oob_set_sc_flag" to signal that LE SC OOB pairing is used
The code will now advertise the presence of OOB flag depending
on the type of pairing method(SC vs legacy)
Signed-off-by: Sebastian Panceac <sebastian.panceac@ext.grandcentrix.net>
In order to take granular input use micro seconds as input for TWT
intervals, this helps us in providing inputs such as 65.28ms without the
need of using floating points.
This also expands the TWT wake interval range to 262.144ms, earlier as
we want to use uint8, limited to 256ms.
Also, remove the units from the variable names, this is unnecessary and
also avoids doing breaking changes.
Update release notes as this is a breaking change, both type and
variable names are changed.
Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
Updates the release notes to document a clarification to the sensor
driver API on sensor triggers.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
Adds a note that images are now bootable when built using sysbuild
with mcuboot in checksum only mode.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a note on a fixed issue whereby the latest Zephyr SDK
toolchain was not used depending upon hash values in the cmake
registry.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a note that FLASH_MAP and STREAM_FLASH now also need to be
selected to be able to enable the mcuboot image manager Kconfig
option, to avoid a cmake dependency loop, and Kconfigs required
for other mgmt subsystems.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Create and use a new `zephyr,i2c-target-eeprom` compatible
within I2C eeprom target driver that allows to use
that driver along with real atmel at24 EEPROM simultaneously.
Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
This commit removes the "Working Draft" status from the Zephyr 3.3.0
release notes.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
This content was mostly generated with a script, but there were some
manual changes and additions done to the output in some cases.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Add release notes related to ADC and PWM drivers, Nordic HAL, and
boards featuring nRF SoCs. Nothing relevant to be added for I2S.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>