Drop the "working draft" suffix from the release notes and migration
guide page titles for 4.1.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
67k of code is not enough for several BLE samples.
It makes more sense to have a large partition for code and a smaller
one for storage.
This commit reduces the storage to 16k (at the end of the flash) and
use the remaining for code.
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
Added a "platform: NXP Robotics" label to avoid duplicate NXP
areas from having the same label. This was causing the wrong
assignees to be automatically assigned to issues labeled with
"platform: NXP"
Signed-off-by: David Leach <david.leach@nxp.com>
Skip "zephyr,xxx" compats when collecting data for the new Supported
Features table, since they don't represent hardware features.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
add zephyr:board-supported-hw directive to specify the supported hardware
features of the litex_vexriscv board.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add details about:
- Driver API improvements with iterable sections and device API checking
- Enhanced board catalog with hardware feature search and generation of
table of supported hardware features
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Rework of the flashing algorithm broke the STM32N6 dfu flashing.
Add the case of using usb port and download-modifier (new n6 specific
option) as a new case of using the bin file for flashing.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
The root cause of this issue is a modification of `struct ring_buf` in
3075a7d9. Even though all the fields of the struct are marked as
internal, the LwM2M code is using some of them to roll back the state of
the ring buffer on failure.
Signed-off-by: Etienne de Maricourt <edmecomemail@gmail.com>
To avoid collisions between IDs used by settings and IDs used directly
by subsystems using ZMS API, the MSB is always set to 1 for Setting's
name ID written to ZMS backend
Add as well a recovery path if the hash linked list is broken.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Looks like 9d5ebb3cbc introduced a new warning when building with
runtime sfdp on 32 bit platforms. Fix it for good by just casting the
operation to int and go back to use %u.
Tested with:
west build -p -b gd32f450z_eval samples/drivers/flash_shell \
-DCONFIG_SPI_NOR_SFDP_RUNTIME=y
west build -p -b mpfs_icicle/polarfire/u54 samples/drivers/flash_shell
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Make sure send event returns error when device is not connected
into STA or have AP mode in place.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Current interrupt allocator is not taking into account
reserved areas. In case of esp32c6, Wi-Fi isn't properly
configured, causing instability or even non-functional feature.
This adds the reserved area ranges for all risc-v based SoC and
unify the slot finding based on interrupt source.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updates the direct ISR documentation to make it more clear that
direct ISR handlers should be declared using ISR_DIRECT_DECLARE().
Fixes#85683
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The UAC2 samples do not work with Windows UAC2 driver because:
* driver does not support implicit feedback
* driver expects wMaxPacketSize equal 4 on Full-Speed device
The only correct place to solve these issues is the Windows UAC2 driver.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Update the licensing list to include the BSD-3-clause devicetree test
files. These were all introduced in:
ee5c520326 edtlib: tests: refine coverage of Binding objects
initialization
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
In order to avoid any mutex deadlocks between iface->lock and
TX lock, release the interface lock before calling a function
that will acquire TX lock. See previous commit for similar issue
in RS timer handling. So here we create a separate list of ACD
addresses that are to be started when network interface comes up
without iface->lock held.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
In order to avoid any mutex deadlocks between iface->lock and
TX lock, release the interface lock before calling a function
that will acquire TX lock. See previous commit for similar issue
in RS timer handling. So here we create a separate list of multicast
addresses that are to be rejoined when network interface comes up
and then rejoin the groups without iface->lock held.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
In order to avoid any mutex deadlocks between iface->lock and
TX lock, release the interface lock before calling a function
that will acquire TX lock. See previous commit for similar issue
in RS timer handling.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The net_if.c:rs_timeout() is sending a new IPv6 router solicitation
message to network by calling net_if_start_rs(). That function will
then acquire iface->lock and call net_ipv6_start_rs() which will try
to send the RS message and acquire TX send lock.
During this RS send, we might receive TCP data that could try to
send an ack to peer. This will then in turn cause also TX lock
to be acquired. Depending on timing, the lock ordering between
rx thread and system workq might mix which could lead to deadlock.
Fix this issue by releasing the iface->lock before starting the
RS sending process. The net_if_start_rs() does not really need to
keep the interface lock for a long time as it is the only one sending
the RS message.
Fixes#86499
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
- fix unwanted "Error: Something went wrong at iteration 0".
- the loop_cnt check has no sense for iteration 0,
comparing with wrong -1.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
After #86246 samples built for mpfs_icicle no longer error on
"jedec,spi-nor jedec-id required for non-runtime SFDP".
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
sample.sensor.accel_trig.shield-tap has a DT overlay that expects the
presence of an arduino_header, so add the appropriate dependency to only
build the sample against supported boards.
As per samples guidelines, use platform_allow to limit CI to run only on
a configuration that's actually been tested (and is documented in the
README)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Adds some Kconfigs to the allow list which are used for
demonstration purposes in sysbuild documentation
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds detailed documentation on how images can be added and how
configuration of images can be controlled from sysbuild
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Make sure QIO mode calls are not in flash, otherwise
it will fail during bootloader/flash init.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Make sure chip revision reading returns real value
for some especific chip revision, which is currently
failing.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Previous implementation was unneccesarily complex, and cutting of
words such as "802.15.4" to "802.".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update the gen_board_catalog.py logic to also capture lineno for
each devicetree node. Use that info in the supported hardware list to
create clickable elements that directly take the user to the
corresponding line in the devicetree file on Github.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use raw HTML as there's no point in having lots of docutils
boilerplate for what's effectively static content
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Default in Twister is 32K, but 16K is a more "reasonable" goal and allows
to build hello_world against some of the most constrained boards in-tree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
During the review of Xen drivers enhancements, it was found that
@povergoing (previous maintainer) and @SgrrZhf (one of the collaborators)
are no longer active on GitHub. After discussions with other collaborators
(@lorc and @luca-fancellu) and in PR #82810, we decided to assign these
activities to me as one of the main developers for this part of Zephyr.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
For embedded supplicant case, when connects to WPA2 AP, driver will set
the key_mgmt to 'WLAN_KEY_MGMT_PSK | WLAN_KEY_MGMT_PSK_SHA256', as mfp
is default WIFI_MFP_OPTIONAL. Therefore, when using 'wifi status' to
get the security type, when the key_mgmt is 'WLAN_KEY_MGMT_PSK |
WLAN_KEY_MGMT_PSK_SHA256', the security type should be
'WIFI_SECURITY_TYPE_PSK'.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Replace the manually maintained features table by the tables generated from
device tree boards description.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add a console harness to check that the example has
started successfully.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
The gpio header is missing, which will lead to failures
when declaring GPIO down the line in board overlays.
Signed-off-by: Eve Redero <eve.redero@gmail.com>
Add missing Copyright from derived files and fix the Copyright year for
some files to keep the original Copyright notice
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
This commit fixes the following
bug.Issue link:
https://github.com/zephyrproject-rtos/
zephyr/issues/86399.
Some users reported data access
violations due to the qualifier.
Removing static ensures proper memory
alignment and avoids potential
memory access issues.
Signed-off-by: S Swetha <s.swetha@intel.com>
Replace manually authored "Supported Features" tables with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Enhance the description around reschedule points to provide more
context about the current thread's identity. This update clarifies
that changing the identity of the current thread involves switching
the CPU's execution from one thread to another.
Signed-off-by: Arrel Neumiller <rlneumiller@gmail.com>
doc: Improve context for thread identity in scheduling
Enhance the description around reschedule points to provide more
context about the current thread's identity. This update clarifies
that changing the identity of the current thread involves switching
the CPU's execution from one thread to another.
Signed-off-by: Arrel Neumiller <rlneumiller@gmail.com>
Adds improvement to the GATT API documentation by providing examples of
where (and how) certain structs are used, and adds specification
references to the fields of bt_gatt_cpf to clarify their purpose.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Pattern drivers/bluetooth/hci/hci_silabs_* can be replaced by
drivers/**/*silabs*. Thus, it is no more required to have a specific
case for bluetooth drivers.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Usually, drivers for siwx91x are named "silabs_siwx91x". However, there
are a few exceptions:
- **/Kconfig.siwx91x
- drivers/wifi/siwx91x
Let's ensure the reviewers for these files are properly assigned.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Remove two out of date/incorrect notes in the documentation for this
board:
For quite a while now, we have models of some parts of the CRACEN HW.
Since f4cdb0f07e we are using the CRACEN
RNG driver.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This board is using since f4cdb0f07e
the cracen RNG driver, so there is no need to set default options for
the native_posix entropy driver.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Increase value of `CONFIG_BTTESTER_BTP_CMD_THREAD_STACK_SIZE` for
nrf54L15 board to avoid stack overflow.
Remove the config in the Mesh overlay as it's was also added for nrf54L15.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
Remove redundant descriptions in MBOX bindings, such
as "This is a representation of", "... node" and "... binding".
Signed-off-by: James Roy <rruuaanng@outlook.com>
Frees ram region on the frdm_mcxc242 to allow
usb samples to run on this platform due to the
constraint of 16KB ram space for this platform.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Fixes several adi boards that incorrectly used pinctrl flags instead of
gpio flags in their devicetrees. For max32662evkit and max32672evkit,
the flags are removed entirely because these socs don't support gpio
voltage selection.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Fix few printf format warnings when building for
mpfs_icicle/polarfire/e51. PRIdPTR for the pointer difference, %zu for
size_t.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Default to SPI_NOR_SFDP_RUNTIME for the board so that it can build the
spi-nor driver without triggering the build check for:
jedec,spi-nor jedec-id required for non-runtime SFDP
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Since the RA2L1 uses the macro "ICU_EVENT" instead of
"ELC_EVENT" (which is currently used) to input into
the IELSR register, the ek_ra2l1 board cannot assign
any interrupts for any driver.
This commit aim to correct the Event macro to input correct
value for IELSR register on all the Renesas SoC by using
"BSP_PRV_IELS_ENUM" macro.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Fix end time capture be on radio event end irrespective of
direction finding support. Let the timer clear use radio
end or radio phy end, for no direction finding or direction
finding support, respectively.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix single timer use end time capture from being disabled
as end time and timer clear use the same PPI.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix active mode extended scanning assert raised when calling
radio_tmr_start_us() due to stale radio_tmr_end_get() value.
Active mode extended scanning did not drop reception of
ADV_EXT_IND PDU when setup to receive ADV_SCAN_RSP PDUs.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Setup logging per process to fix issue on both mac and windows where
handlers are not available to the processes.
Fixes#86237
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Fix BT_CTLR_LOW_LAT_ULL dependency after changes in
commit 5119896c7d ("Bluetooth: Controller: Fix
BT_CTLR_LOW_LAT_ULL conditional code").
BT_CTLR_LOW_LAT_ULL is independent of BT_CTLR_LOW_LAT, where
the later prevents any ULL execution inside a radio event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Activating the Python environment on Windows can be done in a regular
command line prompt, or in powershell. But the activation script is
different.
Add a code tabs to include the powershell alternative.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This updates the documentation of all the ITE Tech boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the ENE Technology boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the Cypress boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the EnjoyDigital boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the Seagate boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the lowRISC boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the UP boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a notice to the 4.1 release notes that CONFIG_PIPES k_pipe
implementation is deprecated from 4.1.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
We need to track the self-powered status of the device independently of
the D6 bit in the bmAttributes value of the configuration descriptor
because the Get Status request about the self-powered status is valid in
address state and we support multiple configurations.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The day alarm was not being set correctly. The day alarm should be set
using the WADA bit in the control register. This patch fixes the issue
by setting the WADA bit in the control register when setting the day alarm.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
Enhance the zephyr_file link role to support referencing specific lines
or line ranges in files.
This change allows users to link to exact locations within a file
using GitHub-style line references.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit alignes the timeout value for allocating buffers within att
on the BT RX thread, making it consistent within att.c, see
bt_att_req_alloc.
We are inferring in many bt_gatt_* functions that if called from a BT RX
thread (which is inherently the case if called from a callback when
running a Bluetooth application), we don't block and instead return
-ENOMEM when the ATT request queue is full, avoiding a deadlock.
This promise is fulfilled within bt_att_req_alloc, where the timeout for
allocation of the request slab is set to K_NO_WAIT if we are on the BT
RX thread. Unfortunately, we break this promise in
bt_att_chan_create_pdu, where the timeout for allocation of the att pool
is still K_FOREVER and deadlocks can (and do) occur when too many
requests are sent yet the pool is depleted.
Note: Both req_slab and att_pool sizes are defined by
CONFIG_BT_ATT_TX_COUNT. If applications start getting -ENOMEM with this
change, they were at risk of such a deadlock, and may increase
CONFIG_BT_ATT_TX_COUNT to allocate the att pool for their requests.
Note: This possible deadlock has been flying under the radar, as
att_pools are freed when the HCI driver has sent it to the controller
(instead of when receiving the response, as it happens with req_slabs)
and due to the att_pool and the req_slab being both sized by
CONFIG_BT_ATT_TX_COUNT, and req_slab being allocated before and
returning -ENOMEM already if there is no space, it takes a more specific
situation to deplete the att_pool but not the req_slab pool at this
point.
Note: Ideally, we don't want functions to behave differently depending
on which thread they are running, and while this commit makes it more
consistent, it should be considered a workaround solution.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Add logging of the values that cause LOG_ERR statements.
This makes it easier to debug any issues that occur.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The gatt docs are very sparce, this commit adds imrpovements for the
GATT server API part. Others will follow.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Commit c910dc81a614("sys_clock: header: minor cleanup and doxygenization")
introduced a typo in the documentation comment above NSEC_PER_USEC. Fix
that.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- adds ability to change the ZMS sample MAX_ITERATIONS
and DELETE_ITERATION parameters via Kconfig without manually
modifying the source code.
- adds ability to reduce flash memory wear on real devices
by reducing the number of write iterations.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Reintroduce the fast path that skips reconfiguring if we use the same
configuration, this fixes regression that causes a lot of latency at the
start of repeated transfers. Unfortuantely need to find alternative
workaround for S32K3 in order to do this instead of module reset, so
disable skipping for that platform.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
On some platforms, the module is not getting clocked until call to
LPSPI_MasterInit, this will be fixed soon with upcoming update to native
driver and will clock the module in driver init instead of start of
transfer, but for now, move this code within the condition check that
already exists for this purpose.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The drivers still use the USBREG HAL driver which enables/disables the
interrupt by itself.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This test has been seen failing at random (though not often).
A valgrind check showed the nvs_ate structures were being
CRC'ed with not-initialized data, and checked later (assuming
the CRC would be different than a constant).
This maybe have been the cause of the test failures, so let's
initialize the whole structure to prevent the CRC value
from depending on random memory/stack content.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is deprecated and will be removed in 4.2
Run this sample in native_sim instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This sample could not run on any target as it depedend on zms
which is set by no board.
But it seems to run just fine in both allowed platforms,
so let's add a trivial twister check (so it actually passes instead
of waiting for ever), and remove that `depends on`.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is deprecated and will be removed in 4.2
Run this sample in native_sim instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fix handling of poll setting socket error flag.
In this case errno is no set, so should not be the return value either.
Instead retrieve the socket error for SOCKERR and return EBADF for
SOCKNVAL.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Only set CMAKE_INSTALL_MESSAGE in a single location, remove the
unconditional overrides of the value in other locations.
This prevents dozens of rather pointless messages appearing in the build
log when CONFIG_TFM_BUILD_LOG_QUIET is set.
```
Installing: /home/jordan/code/workspace/build/nrf5340dk/...
```
Signed-off-by: Jordan Yates <jordan@embeint.com>
Now that `SECURE_STORAGE` does not `select` dependencies, they need to
be enabled explicitly by the tests.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Mixing `select` and `depends on` is a common source of Kconfig
dependency loops and should be avoided. Both `ZMS` and `SETTINGS` are
more commonly used with `depends on` rather than `select`.
The usage here also contradicts the Zephyr best practices guide for
`select`:
* Avoid selecting symbols with prompts or dependencies.
Prefer depends on.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`SECURE_STORAGE_ITS_STORE_IMPLEMENTATION_SETTINGS` does not use either
the `FLASH_MAP` or `NVS` APIs, only `SETTINGS`.
Similarly, `SECURE_STORAGE_ITS_STORE_MODULE` does not consist of any
code itself and therefore should not select or imply any options.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`FLASH_PAGE_LAYOUT` has a hardware dependency on `FLASH_HAS_PAGE_LAYOUT`
which is not present for all boards. Forcing this symbol to `y` when
the hardware doesn't support it results in build errors at the Kconfig
stage.
`FLASH_PAGE_LAYOUT` is enabled by default when `FLASH_HAS_PAGE_LAYOUT`
is true, so this change will not require any user changes.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Start a simple set of documentation on using Rust within Zephyr. This
gives an overview of how to use Rust, and pointers to the generated API
documentation.
Signed-off-by: David Brown <david.brown@linaro.org>
This adds bits in the release note on changes in common
architecture interface, where the changes affect more than one
architectures.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Update the scope and purpose of release notes to include
style, typographical fixes and upmerge from maintenance
releases to keep the latest documentation consistent with
the changes in the project.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
bt_cap_commander_broadcast_reception_stop_param and
bt_cap_commander_distribute_broadcast_code_param
were missing doxygen documentation.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Replaced the use of @internal with @cond INTERNAL_HIDDEN
which is the correct way to hide fields from doxygen.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add missing of documentation of BT_BAP_BASS_MAX_SUBGROUPS
and simplify the definition.
Removed incorrect use of @internal and replaced with
@cond INTERNAL_HIDDEN.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add an overlay for the Flexio-SPI driver for the
MIMXRT1040-EVK board.
Update testcase.yaml and add new overlay configuration
to support flexio spi testing on 1040_evk.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
The lowest bit in DSE and FSEL field of pinctl register is not used
in the register and dts binding definitions also don't conver this bit,
so shift one more bit to align with actual register definitions.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
The generated configs.c is technically not copyrightable since it's
using the configs selected by the end user which might not fall under
the Apache license. This license header in the generated file is causing
us issues downstream from a legal perspective. It's important to note
that other generated files in Zephyr don't include the copyright header.
Fixes#86259
Signed-off-by: Yuval Peress <peress@google.com>
Add conditional compilation check for swj_connector_init call in
soc_early_init_hook to prevent link errors when swj_port is disabled
in device tree. The code is now wrapped with
DT_NODE_HAS_STATUS_OKAY(SWJ_NODE) to ensure the function is only
included when the corresponding device tree node is enabled.
This fixes the undefined reference link error that occurs when
compiling with swj_port disabled in the device tree configuration.
Signed-off-by: Jhan BoChao <jhan_bo_chao@realtek.com>
This driver was deprecated and must be removed by Zephyr version
4.1 according to lifecycle/release guidelines.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This config was missed when converting from eth_mcux to nxp_enet driver,
re-add it and use new one instead of old one.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Drop the override conditions to ADC_MCUX_12B1MSPS_SAR for imxrt, the
current one causes the driver to be built when it does not have to and
are not needed anyway, and drop the HAS_MCUX_12B1MSPS_SAR option
entirely as it's not needed anymore.
Tested with:
west build -p -b teensy40 tests/lib/devicetree/api_ext
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
As part of the MMC card initialization sequence, CMD1 command send
multiple times to the card, first time to identify the card type and
second time to check the requested voltage window is supported or not.
There is a chance that after issuing the CMD1 for first time, card will
move to the ready state before issuing the CMD1 for second time. In this
case, card will not respond to the CMD1 send for the second time as card
is already moved to ready state and this leads to failures. Hence remove
the separate card identification logic and call mmc_send_op_cond only
once to check both supported voltage window and card type
identification.
Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
Improve the board supported hardware feature catalog generation and
`.. zephyr:board-supported-hw` directive:
- Differentiate on-chip vs on-board hardware features
- Added count information when a given IP (compatible) appears multiple
times.
- Show okay *and* disabled features
- Improve table layout and readability
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This change enhances the devicetree library by adding support for tracking
the source filename and line number for nodes and properties.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
There is new added build_assert in the Bluetooth host stack to require
CONFIG_BT_BUF_EVT_RX_COUNT larger than CONFIG_BT_BUF_ACL_TX_COUNT.
Update the specific Bluetooth configurations to fix the build assert of
Bluetooth samples.
Signed-off-by: Aaron Ye <aye@ambiq.com>
Enable MBEDTLS_SHA384 support to use of RSA3K + Suite-B, that
is required by WPA3-Enterprise.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
I have found a number of problems that shows up for CONFIG_USERSPACE,
but may ake effect even without it.
* Output the x_init block even if x dont have any content. This is
rather common if you have sections guarded with PASS.
* Put KEEP on init-blocks. To circumvent peculiarities in ilink,
the _init blocks (as well as their content) needs to be tagged
with keep.
* Handle noinit linker sections. zephyr_linker_section( NOINIT )
has been ignored so far. This change fixes that and puts it as
do not initialize { }
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Add the overlay file for the i.MX RT1064 EVK board.
The sample can be run on the i.MX RT1064 EVK board out of the box.
Signed-off-by: Simone Orru <simone.orru@secomind.com>
Move the die-temp0 from chosen to the more appropriate aliases section.
Fixes the broken die temp polling sample for the i.MX RT10xx boards.
Signed-off-by: Simone Orru <simone.orru@secomind.com>
CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY disables all but legacy OOB
pairing (including LE SC) and is not intended for enabling/disabling
support for legacy OOB pairing. bt_le_oob_set_legacy_tk() depends on
CONFIG_BT_SMP_SC_PAIR_ONLY so just use same check here.
For BT_CONN_OOB_LE_SC only supported way to disable LE SC OOB is
to force BT_SMP_OOB_LEGACY_PAIR_ONLY which disables all pairing
except legacy OOB support.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This update fixes a few things that are breaking CI:
- Rust 1.85 changes the type of `core::ffi::c_char` to match the native
platform. On some platforms, this causes a compile error in printk. Fix
this by using the `c_char` type directly instead of assuming it is either
signed or unsigned
- Disable RiscV SMP targest in the samples and tests. These haven't been
a focus, an appear to have locking problems causing various deadlocks and
test failures.
Signed-off-by: David Brown <david.brown@linaro.org>
Fix --download-address to expect a signed.bin file when --download-address
is provided.
To allow testing this case despite the checks put in the runner, add a
patch functions which return that zephyr.bin is actually present
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Aim is to avoid 2 issues:
- Requesting --download-address to flash hex files
- Flashing hex files (non signed) on N6 which works but doesn't allow
persistent firmware
Hence this changes binds --download-address with usage of .bin files.
If --download-address was not provided, default to hex flashing.
File existence done with isfile() will ensure the required file
is available before flashing and report an error if this is not the
case.
Note: In specific N6 case, we're verifying zephyr.signed.bin is
available instead of zephyr.bin. This is ensure since self.cfg.bin_file
matches runners_yaml_props_target configuration (set to
zephyr.signed.bin on STM32N6).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
This overlay is using the GPIO_ACTIVE_HIGH macro, but not including the
header file that defines it. This patch adds the missing include.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
`imply` should only be used if the code can still operate without the
symbol, which is not the case. Move the ID source to a choice symbol,
which depends on `HWINFO` when required.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This test was buggy. The first call to k_thread_abort() would
terminate the calling thread (because it handled a panic!) and so the
second case (an essential thread self-aborting) wasn't actually being
exercised and was silently "passing". Oops.
Fix by splitting the cases into two tests, as suggested by @fsammoura
But unmasking that shows that there are some arch buglets[1] to fix
before this case can pass for everyone. So skip on x86/riscv/sparc
for now.
[1] See the comment. It's not really a "bug" as we've never demanded
that arch layers do this. But it does work on many of them.
Signed-off-by: Andy Ross <andyross@google.com>
This isn't a FUNC_NORETURN function. On a handled
k_sys_fatal_error_handler(), we'll end up back here. And the
CODE_UNREACHABLE was causing code generateion bugs that prevented
return up the stack.
Note that the same pattern exists in MANY other architectures (it
seems like the original was part of x86). But in most cases the arch
assembly isn't actually capable of handling the return to an aborted
thread frame correctly. On arm64, it does actually work. So fix it
here at least.
Signed-off-by: Andy Ross <andyross@google.com>
Calling a (handled/ignored) panic with the scheduler lock held
produces spinlock errors in some circumstances, depending on whether
or not the swap gets reached before another context switch. Release
the lock around the call, we don't touch any scheduler state on the
path to z_swap(), so this is safe.
Signed-off-by: Andy Ross <andyross@google.com>
When DEBUG_OPTIMIZATION or NO_OPTIMIZATION is
enabled, efuse reading fails during bootloader start.
Move those calls into IRAM area so that reading when
cache is disabled works without any faults.
In HAL side, we need to use low level calls to read
CPU id instead of Zephyr's default one.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Adding k_usleep while polling the flash's busy status yields the CPU
resource, giving lower-priority threads the opportunity to run.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Personally I found this file hard to understand at first,
but since now it is clear to me, I decided to put these comments
with my understanding to help anyone else who needs to use these.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This fixes failures seen with the SPI loopback test.
The fix waits for the TX and RX side to be complete
i.e when RX SHIFTBUF has been loaded from the RX Shifter
and the TX SHIFTBUF has transferred to the TX Shifter.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
native_sim only works and builds on Linux, when running twister on the
Mac, this platform fails to build and reports errors.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The button for rebasing PRs is not available anymore, so this note does
not apply and will only cause confusion, remove it.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Twister works on all OSes with different levels of features/targets
supported, so clarify the message.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
I mistakenly assumed in the commit 6aaad0a5cd
("drivers: udc_stm32: handle ZLP flag") that the HAL driver would handle
ZLP flag in control transfers itself, but that does not seem to be the
case.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This commit adds a stress test to verify that the HCI driver does not
drop any data. Specifically, it tests whether the HCI IPC driver can
reliably pass data between the Host and Controller.
Due to the current HCI IPC driver implementation, this test is
guaranteed to fail if Controller-to-Host HCI ACL data flow control is
disabled.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Correct overlays names.
In 982425f818
this test was changed from using native_posix to native_sim,
but the overlay file renaming slipped thru the cracks.
Due to the test DT filter, the test just was not run since then,
and we did not realize.
Let's fix it now so the test can run again.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Reset semaphore if USB transfer failed or was canceled and prevent
cdc_acm_send_notification() from blocking forever.
Signed-off-by: Martin Gysel <me@bearsh.org>
Add call frame information (cfi) directives to the function
z_arm_cortex_r_svc, which triggers an SVC exception whose handler will
execute a context switch. The return address stored on the stack of a
suspended thread will point into z_arm_cortex_r_svc, that is, this
function will be the starting point when a debugger tries to produce a
call stack for a suspended thread. As the function is written in
assembly, most compilers will not emit any cfi automatically. This patch
adds cfi directives manually so that the call stack can be unwound.
The added cfi directives instruct the compiler to note in the
.debug_frame section that the canonical frame address is at offset 0
from r13, i.e., from the stack pointer.
Signed-off-by: Emil Kieri <emil.kieri@iar.com>
This commit disables CONFIG_TEST_USERSPACE in
intel_rpl_s_crb.conf of uart_async_api
testcase.Enabling this config introduces
restrictions that interfere with cacheable
regions by blocking access and modifying
cache attributes.By disabling this
configuration, the following issues
are resolved:
-Cacheable region retain their attributes.
-Execution and data transactions work without
restrictions.
-System behavior align with expected
configuration in privileged mode.
-Some code primarily relying on non-cache
region continues to work.
This change is neccessary to ensure
cachebale memory regions function as intended
without interferance from user mode restrictions.
Signed-off-by: S Swetha <s.swetha@intel.com>
This commit aligns the buffers to 32 bytes in
uart_async_api testcases.This is because most
of the platform DMA operations are aligned to
32 bytes.This ensures proper memory alignment
for cache handling and avoid potential
unaligned access issues.
Signed-off-by: S Swetha <s.swetha@intel.com>
Nucleo-WB05KZ and Nucleo-WB09KE are lacking "--start-address" argument for
STM32CubeProgrammer runner, which makes them begin execution in limbo then
HardFault. On the other hand, Nucleo-WB07CC has it but starts execution
directly into user flash. This skips the bootloader code which performs
some bookkeeping (notably, updating RAM_VR.ResetReason); as a result,
code relying on RAM_VR.ResetReason is broken until PORRESET, or until
RESET occurs twice.
Force all three boards to begin execution in bootloader after flash to
ensure proper system behavior at all times.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The RT1715 does not support TCPC_ALERT_EXTENDED_STATUS and
TCPC_ALERT_EXTENDED. This commit removes the related interrupt handling.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
The original i2c_transfer setup was complex and contained an incorrect
message count. Replace i2c_transfer with i2c_burst_read.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
Improve robustness of test_all_stats_usage test. Test was relying on a
fact that system did not go to idle before this test is run. It means
that it was assuming that it will be the first test which might not be
true. Additionally, on some targets there might be some idle waits
during system boot. Test is adjusted to validate gathered statistics
with an assumption that there might have been idle period prior to the
test.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
As the previous version of the MCXW71 BLE Controller wasn't sending a
command complete event after setting the BD address, we used a
workaround to directly send the HCI command without using zephyr's API.
Now, on the latest version of MCXW72 and MCXW71, this issue is fixed,
so we need to use `bt_hci_cmd_send_sync` to properly expect the
command complete event.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
The buffer allocation in conn.c will trigger warnings if we try to use
anything else than K_NO_WAIT for the timeout when called from within the
system workqueue.
The calls in l2cap.c and att.c which may pass non-zero timeouts already
have proper handling for failed allocations, so make sure we use K_NO_WAIT
to avoid unnecessary warnings from conn.c.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Remove redundant descriptions in cache bindings, such
as "This is a representation of" and "... node".
Signed-off-by: James Roy <rruuaanng@outlook.com>
default watchdog initialization disable counting in EM1, EM2 and EM3
modes. If user use the WDT_OPT_PAUSE_IN_SLEEP flag via the watchdog api,
all 3 EM modes must take this flag into account to avoid wdt count
being frozen if we don't want to.
Signed-off-by: Adrien MARTIN <adrienmar@kickmaker.net>
Fixing multiple things related to psram usage:
- fix conflicting psram0 dts node for all ESP32 SiP and SoC.
- fix dcache and icache area used in psram mapping.
- fix smh spiram heap allocations.
- add `espressif,esp32-psram` compatible to set psram0 size in dts.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
If the to-host data stage length is less than that requested by the
host, but equal to or a multiple of MPS, the device should send a ZLP,
not receive it.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Streamline the description field for CPU bindings by removing
inappropriate use of terminology such as "This is a representation
of...", or mentions to "node".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When allocation fails in `hci_rx_cb`, we should return immediately
instead of continuing the execution of the function.
Also, we need to free the allocated buffer from the heap when sending
to the message queue fails to avoid memory leak.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Modify the requirements-compliance.txt to exclude python-magic from
windows system installation. On windows, the line:
""python-magic-bin; sys_platform == "win32""" already exists. Adding:
python-magic on windows creates issues where the check_compliance.py
script will either freeze or throw errors related to libmagic.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Move CS to GPIO connected to pin header CN5 pin 8 which is also labeled CS.
This GPIO is free and is also placed next to the other SPI GPIOs.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Fix flash read operation to account for all unaligned
scenarios, i.e, address, buffer and length. This is needed
when using flash APIs provided in ROM.
This also removes the unaligned flash write call as it
expects aligned values only.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Define RAM and Flash sizes for QEMU boards in the board YAML. This is
needed to ensure those boards are considered by Twister for tests that
require a minimum amount of RAM and Flash.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add twister tests for tap detection feature
The overlay must be applied only if the shield x_nucleo_iks01a3
is enabled on board nrf52dk/nrf52832.
Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
Simplify the defines calculating the minimum required ISO
PDU length and the buffer count.
Co-authored-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ISO Tx PDU buffer count required when SDU fragmentation
is used.
Rename BT_CTLR_CONN_ISO_SDU_LEN_MAX to
BT_CTLR_ISO_TX_SDU_LEN_MAX so the value is common to both
Broadcast and Connected ISO transmissions.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Rename the internal BT_CTLR_ISO_TX_BUFFERS to
BT_CTLR_ISO_TX_PDU_BUFFERS correct represent the number
of actual ISO PDU buffers allocated in the Controller.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
* This variable default value has to be true, so that the
application can return false in the expired callback
Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
Currently some subsystems outside the zephyr kernel
use VLA:s such as bluetooth. We will enable it for now
in the same kind of situations as gcc.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
The SiWx917 BLE controller currently does not support
HCI Command 0x0C35 i.e. Host Number of Completed Packets Command
Disabling the ACL Flow Control avoids sending this command during
SMP Pairing process and therefore avoiding an ASSERT
Signed-off-by: Ramana Gudipudi <ragudipu@silabs.com>
Fixes report targets where tfm_* and bl2_* targets wrongly
generates a footprint file by having a common target which
consists of RAM and ROM report targets
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Queueing packets should be possible from the ISR context, recent changes
prevented that. Therefore add extra checks in
net_tc_submit_to_tx/rx_queue() to make them ISR friendly again.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Do not escape single escaped quote '\"'.
A single escape quote in CMake indicates the use of literal '"'.
Escaping those results in '\\"' which is a literal '\' and a quote which
encapsulates a string.
This is a result we do not want.
Therefore, exempt the '\"' sequence from further escaping.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Using an app.overlay file is inherently preventing the use of board
overlays. Switch to a dedicated overlay file so that e.g.
the vmu_rt1170/mimxrt1176/cm7 board target can pass this test where
before it would have failed due to its board-specific overlay "winning"
over the app.overlay file.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Previously, 'USART_WCH_IRQ_HANDLER' used 'DT_INST_IRQ(index, priority)',
which incorrectly referenced 'index' instead of 'idx'. This issue went
undetected because 'IRQ_CONNECT' drops the priority value on all boards
supported by this driver.
Fix by using 'DT_INST_IRQ(idx, priority)'.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
If a board defined CONFIG_FLASH_LOAD_OFFSET to a non-zero value,
enabling CONFIG_SOC_IT8XXX2_JTAG_DEBUG_INTERFACE generated a linker
error because when trying to move the location counter backwards.
Fixed by allocating the JTAG section within the deined ROM region.
Signed-off-by: Keith Short <keithshort@google.com>
This commits repairs calling function trdc_enable_all_access() only
when using build for standalone CM33 or CM7 core build.
For the multicore this function should be called only by CM33 core.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
Perl is required for check_compliance.py/checkpatch.pl, and needs to be
installed in Windows to run these scripts.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Sphinx 8.2.0 was just released but doesn't seem to work all that well
for PDF generation. Stick to 8.1.x for now.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Only HTML builds actually display board documentation so there is no
point in generating the list of hardware features in other builds.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Reduce the number of parallel jobs for documentation build since we use
GH-hosted runner with only 4 vCPUs and 16GiB of RAM.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The segger cmake linker script is out of date compared to
segger_rtt.ld. This is causing linker failures with IAR
when segger is enabled (on nrf hardware for example).
Signed-off-by: Carl Eriksson Skogh <carl.erikssonskogh@gmail.com>
37bdc38ec6 failed to take into account commit
f72ef5c237, and added the OTGHSPHYEN bit
back into the OTGHS controller's `clocks` property. This should have no
functional impact (due to how the USB driver is implemented), but ought
to be removed anyways as duplicates information and is confusing.
Clean the DTSI for U595 and revert back OTGHS controller `clocks` such
that it only contain the controller's clock enable bit, as it should.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
This updates the help text for the Kconfig option BT_MESH_WORKQ_SYS to
take into account the change made in PR #84282 which causes the host to
no longer return -ENOBUFS. Since the mesh will now instead block the
work queue, a note has been added about a potential consequence of this.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Send STOP or RESTART after a message only if they are enabled in message
flags. For reads, however, controller sends a NACK after last byte so a
restart is required even if I2C_MSG_RESTART flag is not set.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Ensure the corresponding bus enables RTIO (I2C, I3C or SPI) before
instantiating rtio-dependent elements. Otherwise, enabling it for
another bus (e.g: SPI_RTIO when the LSM6DS is also on I3C with no
I3C_RTIO) will cause a build-time failure.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
udc_skeleton incorrectly logs "Enable device" in the function
"udc_skeleton_disable", and some UDC drivers inherited this mistake.
Fix this by correcting the log message in all affected drivers.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Add a check for interrupt configuration: if the interrupt line for the
pin is already enabled but for the same port that the user asked, it
should not return EBUSY.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Revert the change to this file done in
865b2456c0
In which these clock properties were added to the GRTC binding but
they were, at the same time, not added/removed for the simulated
target.
The author indicates this was done due to some test failing,
but at this point no test fails with these properties present also
in the simulated target, and there is no understanding of why they
would.
So let's avoid diverging the simulated target from the real
one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Make CI run on latest Ubuntu LTS so that default Python version
is effectively 3.12.
This allows to build against latest Sphinx 8.2 release, as it
dropped support for Python 3.10.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Advertise the newly-introduced header file as it's meant
to be used by subsystem and application developers.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
After updating the main_clk, need to update the frequency tracked in
HAL MCUXpresso SDK framework for other drivers.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Escape the json input string given to `to_yaml()` function and the
content given to `yaml_set()` function.
This ensures that a string like `foo\bar` becomes `foo\\bar` during
internal CMake json processing and when written to the file it becomes
`foo\bar`.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
On RISC-V, GCC and possibly other compilers include small globals in
special "small data" sections like .sbss and .sdata.
This allows accessing these globals using the global pointer register
and an offset, which is faster than ordinary relocations.
Currently, llext_load does not support multiple NOBIT sections.
Thus, llext's that use both .bss and .sbss sections cannot be relocated.
Also, the global pointer cannot be used in llext's, as it does not
change when calling into or returning from an llext, making the
optimization pointless for llext.
This commit disables the use of small data sections by adding the
appropriate compiler flag when compiling llext's.
In addition to solving the aforementioned issue, this fixes llext's
test_inspect on RISC-V.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Fix HCI command buffer allocation failure, that can cause
loss of Host Number of Completed Packets command.
Fail by rejecting the HCI Host Buffer Size command if the
required number of HCI command buffers are not allocated in
the Controller implementation.
When Controller to Host data flow control is supported in
the Controller only build, ensure that BT_BUF_CMD_TX_COUNT
is greater than or equal to (BT_BUF_RX_COUNT + Ncmd),
where Ncmd is supported maximum Num_HCI_Command_Packets in
the Controller implementation.
Relates to commit 81614307e9 ("Bluetooth: Add workaround
for no command buffer available")'.
Relates to commit 297f4f481f ("Bluetooth: Split HCI
command & event buffers to two pools").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Remove nested allocation of HCI command buffer so that one
less HCI command buffer is needed starting extended
advertising with privacy enabled.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This resolves some addressed comments in this PR zephyrproject-rtos#77930
as well as this PR zephyrproject-rtos#80407
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Introduce a new directive for displaying hardware features supported by
a board, using information available in the devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A file similar to vendor-prefixes.txt that provides a short description
of the top-level folders contained in dts/bindings
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Building with clang warns:
subsys/net/l2/ethernet/ethernet.c:178:18: error: unused function
'ethernet_check_ipv4_bcast_addr' [-Werror,-Wunused-function]
enum net_verdict ethernet_check_ipv4_bcast_addr(struct net_pkt *pkt,
^
ethernet_check_ipv4_bcast_addr is called by ethernet_ip_recv, which only
exists when CONFIG_NET_IPV4 or CONFIG_NET_IPV6 is defined.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
The scd4x_channel_get function converts raw word values to
struct sensor_value's per the datasheet. The calculation for val2 of a
struct sensor_value `val->val2 = ((tmp_val % 0xFFFF) * 1000000) / 0xFFFF;`
can overflow the max of int32_t, resulting in an incorrect
sensor_value.
Fix it by changing the type of tmp_val to int64_t.
Signed-off-by: Zach Thomas <zach.thomas1.zt@gmail.com>
Enabling Dcache on RA8D1 will cause many issue with data coherence
in driver.
This commit disable Dcache for RA8D1 as temporary solution, user
can enable it but should be aware of data coherence issue
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
When DCACHE was enabled as default for ek_ra8d1, Flash HP
could not read or write. This PR aims to updates hal_renesas
revision to fix this issue.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
These two sensors do not build with asserts enabled as they're
referencing a non-existent variable `pkt_size`.
Replaced for what (AFAIK) is the intended variable.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
PM, PM_DEVICE etc should be enabled by the application/samples, not the
board.
Add a config to default to custom policy for the board though since
there's one defined at soc level.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The harness was set to ztest, but the sample requires the console
harness to match on the "sample complete" line, its not actually
using ztest.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This changes the board override to track the nodelabel rather than the
absolute node path, which happened to have changed in 0edc89c63b
breaking the test.
Verified with:
west build -p -b qemu_x86_tiny/atom tests/posix/common -T \
portability.posix.common.userspace
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
There are two bugs that caused regression for S32:
First there is a silicon errata specifically for the mask version on
this board that causes FIFO flush to not work as expected. The
workaround is to do a module reset before each transfer.
Second there was a division error for word size > 1 byte. The division
should be rounded up, not down, otherwise there will be an infinite
interrupt loop because the TX fifo will not be written to but the TDR
interrupt enabled causes interrupt when TX fifo is empty.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
These two fields were not being used and were a relic of some
intermediate implementation, and forgot to be removed.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The Kconfig description is wrong, this driver can be used with or
without RTIO. Also, rename the kconfig to be less confusing, as _NORMAL
is meaningless, this is the CPU/interrupt based driver.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Change the driver behavior so that if the provided RX buffer set is
bigger than the TX buffer, we will read all the RX buffer and fill the
TX with NOPs. The SPI driver API does not say to do this, and my
original interpretation of the API was that the TX length controls the
entire transfer length, but this behavior might fit better with some de
facto expectations of in tree consumers.
Also add some robustness to the calculation of how many extra bytes to fill
when tx should be nops.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This patch fixes transaction op items not performed within a single
SPI transfer. This is common for Write + Read commands, that depend on
the CS kept asserted until the end, otherwise the context will be lost.
A similar fix was applied to i2c_rtio_default on #79890.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Filtering on something we set in the prj..conf does not do anything. We
have filter on platforms already.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
When building pre-located LLEXTs of ET_DYN type (shared ELF object)
on Xtensa, all the R_XTENSA_RELATIVE relocations are already correct,
the current code actually breaks them by mobing the value from the
target address-space to a storage range address. Simply removing the
recalculation solves the issue.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The ARP protocol handler cannot directly access the Ethernet header
because the caller has removed the header already when the handler
is called. So change net_arp_input() and pass source and destination
MAC address there instead of bogus pointer that was pointing to ARP
header instead of Ethernet header. This requires changes to ARP tests.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The logic for setting the src_inc and dst_inc would improperly set
these to zero when gatter/scatter was enabled but the respective
gatther_interval/scatter_interval was zero (which would imply
continuous operation).
Fixes: #85403
Signed-off-by: David Leach <david.leach@nxp.com>
Add back a reference to EOL'd LTS releases, in a structured way, just
the name, a link to the documentation and the EOL date.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
-Prefixed Zephyr driver functions with 'siwx917_dma' for consistency
-Added 'siwx917_' prefix to local functions
-Removed inline declaration for param validation functions
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Resolved an issue where application callbacks were not being properly
registered in the DMA driver.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Add a new hardware features filter to the board catalog that allows
users to filter boards based on their supported hardware capabilities.
The features are extracted from the devicetree files and organized by
binding type.
Key changes:
- Extract hardware feature descriptions from devicetree bindings
- Add HW_FEATURES_TURBO_MODE option to skip feature generation for
faster builds (similar to DT_TURBO_MODE)
- Add tag-based UI for filtering boards by hardware features
The feature can be disabled for faster documentation builds using
-DHW_FEATURES_TURBO_MODE=1 or by using 'make html-fast'.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Setup a fully working Zephyr workspace so that documentation steps that
require e.g. building Zephyr apps have the ability to do so.
The "turbo" builds running on pull requests get a minimal setup, with
no toolchain being installed.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
It is possible to fit the Hello World in 2K of RAM so update the
sample.yaml file accordingly. It might not *run*, but then the console
harness will catch that.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Introduce a new command-line option `--keep-artifacts` in twister that
allows users to specify which artifacts should be preserved
during test cleanup in addition to the default set.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Co-authored-by: Anas Nashif <anas.nashif@intel.com>
These files can be useful to troubleshoot a test that's failing,
and they're really small, too.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When scanning is started on bt_bap_broadcast_assistant_scan_start then
BAP_BA_FLAG_SCANNING flag for the broadcast assistant instance should
not be cleared.
Fixes#85937
Signed-off-by: Jens Rehhoff Thomsen <jthm@demant.com>
Add a new Kconfig symbol (UART_SILABS_USART_ASYNC) to enable the async
API for the Silabs USART driver.
It is needed because the symbol (UART_ASYNC_API) is shared between uart
driver. In the case that you have multiple UART drivers enabled,
condition to enable async API for different uart driver may differ.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
- Updated Wi-Fi security configuration to use default, allowing
the device to select the best available encryption.
- Removed unsupported security features.
- Replaced `WIFI_SECURITY_TYPE_SAE` with `WIFI_SECURITY_TYPE_SAE_AUTO`
to enable automatic selection between SAE-HNP and SAE-H2E,
as the device supports both modes by default.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
There were some driver bindings issues for the davicom dm8806 driver:
- Missing type for reg-switch binding
- Missing required: true for int/reset gpios
- Fix macro for reg-switch
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This is a follow-up from a recent debate on Discord about whether
splitting up related groups of properties is OK. Record the consensus
outcome of the debate so this question is easier to answer next time.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
No files use MS_TO_US except tests/kernel/interrupt/src/nested_irq.c.
While the macro is convenient, we should put it in a more central
location and use it everywhere if we want to use it rather than just in
interrupt_util.h. For now, remove it and replace the two usages to match
how code is written in the rest of Zephyr.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This commit removes the flexram,bank-spec property from dtsi files.
The property causes flexram to be dynamically configured based on
the configuration in flexram,bank-spec. This is a problem for 2 reasons:
1) The FlexRAM will always be dynamically reconfigured to default
fuse configuration. This is unnecessary if using default fuses.
2) If a user decides to program fuses. The FlexRAM will still be
reconfigured to the default fuse configuration.
Modify description in the binding to show how to use the property at:
dts/bindings/memory-controllers/nxp,flexram.yaml
Added board overlay to mimxrt1170_evk_cm7 magic_addr:
samples/boards/nxp/mimxrt1170_evk_cm7/magic_addr/boards
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
NOTE: Even though previous commits indicate, that this can only happen on
MacOS, that's actually not true. It happens on Linux as well.
The constructor of `psutil.Process` can throw an exception as well, so we
need to wrap the whole loop in another try, unfortunately.
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
While it doesn't cause any issues, it's more consistent and makes future
commits which add handling for more exception types more readable.
Based on: 0df8240b49
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
When run the Zperf UDP throughput with '-a' (Asynchronous call),
zperf_work_q thread will generate and send the packets to tx_q thread.
When zperf_work_q and tx_q threads have same priority, if zperf_work_q
fails to take the semaphore of fifo_slot, it will not wait and directly
drop the net_pkt. Then it will allocate new net_pkt, repeat, and always
occupy the CPU, which leads to extreme low throughput.
For TX, when take the semaphore of fifo_slot, setting a wait time of
K_FOREVER to let other thread to process and free these packets.
For RX, when failed to take the semaphore of fifo_slot, yield the CPU
to let the thread of data path with same priority to run to reduce
dropping packets.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
In rare occasions when sending DAD NS packet fails, we should still
setup the DAD timer, unless we implement some kind of more advanced
retry mechanism. If we don't do that, the IPv6 address added to the
interface will never be usable in such cases.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
DAD creates an entry in the neighbor cache for the queried (own)
address. In case the address is removed from the interface while DAD is
still incomplete, we need to remove the corresponding cache entry (just
like in case of DAD timeout) to avoid stale entries in the cache.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Using L2 address of length 1 (invalid/unsupported one) confused IPv6
layer during LL address generation - since that length was not a valid
one, the address was not initialized properly and a part of it was set
semi-random. This could result for example in filling out the neighbor
tables.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Don't try to dereference line_names if the index is beyond
line_names_len, this can happen if there's less line names than the
total amount of supported gpios specified.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Move SHELL_DYNAMIC_CMD_CREATE after the function, then the forward
declaration is unnecessary.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
As part of cleaning up usage of non-inclusive language in-tree,
I spotted an obsolete mention to a udev rule that ModemManager doesn't
use anymore. Drop it.
See commit 9639e52726854782508e35a75c6abf874bd9e608 in ModemManager
repo.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add workaround to HFCLK start and stop in nrf54l. In future workaround
will be in nrfx driver.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
During the transition to STM32_CLOCK macro (in 57723cf), the `clocks`
property of peripherals requiring more than one bit to be set were
mistakenly modified. Commit 2c3294b079
partially fixed these errors, but some nodes for the U5 series are still
wrong.
Restore `clocks` on affected devices in corresponding STM32U5 DTSI.
Fixes: 57723cf405
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Sphinx documents should not appear in multiple toctrees.
Consolidate SMP Groups under SMP Protocol Specification.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add the -imacros property for assembler language to compensate
for changes introduced in PR #84800.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Errors were logged for some cases in zephyr_img_mgmt.c, but not all.
This commit adds error logs for all error cases.
Signed-off-by: Nick Brook <nrbrook@gmail.com>
This revert the idea of 3fa7d78 from #78845.
The 3rd level IRQ APIs won't compile when
CONFIG_3RD_LEVEL_INTERRUPT_BITS=0.
Updated testcases accordingly.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Calculate the EBO properly, so the total frame written to TX FIFO
does not exceed maximum Ethernet frame length.
Makes the TCP stack to work properly, otherwise packets > 1472 are dopped,
as they would be padded by 64 more bytes
and hence exceed maximum Ethernet frame size.
Signed-off-by: Maciej Panek <panekmaciej@outlook.com>
Refactors the code in adin2111_offload_thread
to improve its readability. Adds code to read RX FIFO
in OA mode until it is empty.
Signed-off-by: Maciej Panek <panekmaciej@outlook.com>
Since the callback can be executed from either software or a hardware
interrupt, it's possible for multiple instances of the callback function
to run concurrently. That should not happen and can be particularly
problematic on SMP systems. This commit adds a spinlock to prevent
concurrent execution.
This addresses a Twister CI failure discovered in #85539.
Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
Previously, intel_ish platforms would fail to link due to
missing `arch_mem_map()` and `arch_mem_unmap()` symbols due
to nuances in the x86 architecture on those platforms.
A separate commit has made MMU a non-user-configurable option,
which removes the ambiguity in POSIX.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
With MMU being converted to a non-user-configurable option, we can
rely on that exclusively to know whether arch_mem_map() and
arch_mem_unmap() are available and we can remove the workarounds
in POSIX at the Kconfig level.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
MMU is enabled via the arch specific MMU option and by the platform.
i.e. X86_MMU or ARM_MMU selects MMU.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
When `bt_le_oob_get_local` or `bt_le_ext_adv_oob_get_local` is called
and SMP is enabled, `bt_smp_le_oob_generate_sc_data` is called to
generate a Random Number and a Confirmation Value needed for OOB data.
These values are based on the device's public key.
The public key is generated only once when `bt_smp_init` is called.
If public key generation fails, the callback passed to `bt_pub_key_get`
is called with `pkey` set to NULL. The `bt_smp_pkey_ready` callback
gets called, but it doesn't release the `sc_local_pkey_ready` semaphore
thus leaving `bt_smp_le_oob_generate_sc_data` wait for semaphore with
`K_FOREVER`.
This commit replaces the semaphore with a conditional variable and
requests a public key again if the key is NULL thus solving 2 issues:
- handling the case where the callback was triggered notifying about the
completion of the public key request, but the key was not generated,
- handling the case where multiple threads trying to acquire the same
sempahore.
The timeout is used instead of K_FOREVER to avoid cases when callback
has never been triggered.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Fix the scenario where a pinctrl node intends to deallocate a pin
from a peripheral. If the GPIO mode is disabled the DBUS route
should be cleared, not set. This allows reuse of a pin for other
purposes when a driver is suspended and the pinctrl sleep state is
applied, as GPIOs are typically disabled in the sleep state.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The IAR linker does not handle Dwarf 5 and since it uses the GCC
assembler for assembler files, we need to make sure the assembler
output uses Dwarf 4.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
- Move config BUILD_OUTPUT_HEX and CLOK_CONTROL from board deconfig
into SoC deconfig
- Add clock-frequency in dts to get config
SYS_CLOCK_HW_CYCLES_PER_SEC from dts
Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
Takes in use IS_ENABLED as preferred way of guarding Kconfig option for
enabling periodic advertising api, CONFIG_BT_PER_ADV. It enables compiling
guarded code get warning/errors and not link it if not used.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Takes in use IS_ENABLED as preferred way of guarding Kconfig option for
enabling legacy LE secure pairing, CONFIG_BT_SMP_SC_PAIR_ONLY. It enables
compiling guarded code get warning/errors and not link it if not used.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Disabling extended advertising, CONFIG_BT_EXT_ADV, fails to compile cause
references not guarded ext_adv variable when tester_gap_create_adv_instance
is called. Fixes by taking in use IS_ENABLED as preferred way of guarding
Kconfig option. It enables compiling guarded code to get warning/errors and
not to link if not used.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Takes in use IS_ENABLED as preferred way of guarding Kconfig option for
enabling privacy, CONFIG_BT_PRIVACY. It enables compiling guarded code get
warning/errors and not link it if not used.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Takes in use IS_ENABLED as preferred way of guarding Kconfig option for
forcing OOB legacy, CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY. It enables
compiling guarded code get warning/errors and not link it if not used. If
def macro is left in btp_handler structure to reduce code size when the
config is not present.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Wi-Fi AP-STA mode fails on ESP32 due to incorrect interface
initialization. In AP-STA mode, esp32_wifi_init first sets the driver's AP
interface, followed by the STA interface. However, the driver initializes
them in reverse order, causing both to read incorrect device data and
resulting in a "Wi-Fi not in station mode" error.
This fix handles STA and AP initialization in separate functions and
checks for correct mode in esp32_wifi_status.
Tested on a custom ESP32-S3-WROOM-1-N4R2 board, where both STA and AP
can connect, send, and receive data.
Signed-off-by: Oskari Seppä <seppaoskari@gmail.com>
Call coap_client_cancel_requests() before closing the client socket so
that all activities on that socket are ceased before close. This
prevents POLLNVAL error from being thrown by the coap_client thread and
error being printed in the sample output.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Calling coap_client_cancel_requests() clears the internal request
context only for active requests (i. e. not replied yet). However,
if there are any pending request context monitoring ACK duplicates,
those would still make the corresponding client socket being monitored
by poll(). In result, when application closes the socket, the polling
thread will throw POLLNVAL error for the socket.
Fix this, by resetting all request contexts unconditionally. The request
callback will only be called for the active requests.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In function `avdtp_send`, there is case that if the session->req is not
NULL, then the buf will be lost.
Release the allocated buffer by buffer allocated function when the buf
is failed to send.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
USART3 clock on the Nucleo-N657X0-Q was incorrectly configured (copy/paste
from the DK board).
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Two public functions do not take the spinlock even though
they access mutable, non-atomic members of the buffer:
- mpsc_pbuf_get_utilization()
- mpsc_pbuf_get_max_utilization()
Take the spinlock to avoid possible data races.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Add an entry to the commands to run for "Keeping Zephyr Updated" as
python packages might have been updated/added as dependencies.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
In order to use the device IDs send sending to a specific device,
e.g. backchannel_sync_send(3), then we need to open all backchannels
including the one to ourself, otherwise the ID and count will be
off by one.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The dts define for the ibi threshold (watermark) was be written to the
ibi response threshold. Fix it to write to the correct spot.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
deftgts could be a different length the second time around. Also, be
more efficient rather than just allocaing the max_devs each time.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
I have already contributed a lot of patches to ARM64 arch regarding
of booting, cache, SMP, GIC etc, and currently I am NXP MPU maintainer,
so I would like to add me to be collaborator of ARM64 arch to help to
review related patches.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Otherwise the RTIO Workqueue is not functional for devices during init.
An example of this issue is devices using SPI transfers with default
spi_rtio.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
In order to make them functional for devices during init. Default
behavior is to keep late initialization, as before.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Change erroneous mask in wm8904_volume_config. Extend
WM8904_REGVAL_INSEL. Unflip register mask and value parameters.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
The correct procedure to reload the T0 timer is:
1. Load TWDT0 register with the new value or write 1 to RST bit in
T0CSR register to load the old value.
2. Wait until RST bit in T0CSR register becomes 1.
3. Wait until RST bit in T0CSR register becomes 0.
The current watchdog driver misses step 2.
Fix the issue in this commit.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
When the stream enters the idle state, some values were not
properly reset (e.g. the stream->ep).
Use the bt_bap_stream_detach function to clean up the stream.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
One nmemonic was missed by f84342828c
That commit said:
The ARM Thumb-1 instruction set, used by ARMv6-M and ARMv8-M Baseline
cores, does not have a valid encoding for "immediate-to-register move
without affecting flags" instruction (i.e. `mov reg, imm`), and the only
valid variant of immediate-to-register move instruction for it is `movs`,
which affects the flags.
Since none of the register initialisation instructions used here are
flag-sensitive in their context, this commit changes `mov` to `movs`.
This fixes the compilation errors with Clang/LLVM, which is more picky
about the `mov` mnemonic usage and prints out an "invalid instruction"
error when `mov reg, imm` is specified in Thumb-1 mode.
Note that GNU assembler implicitly converts `mov reg, imm` to `movs reg,
imm` when assembling in Thumb-1 mode.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
The "raw" junit.xml is a useful artifact to make available to developers
as it can be ingested by various tools to help dig into failures, look
at evolution of test results over time, etc.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
List the renamed property (clock_div8 to clock-div8) for the
infineon,xmc4xxx-can-node devicetree binding.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Update the HW models module to
73a5d5827a94820be65b7d276d28173ec10bab9f
Including the following:
* 73a5d58 54 CCM: Fix UBSAN reported issue
with zero size VLAs
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
This introduces the release notes and migration guide for Zephyr 4.2.0
earlier so that people have a placeholder to start adding content as
they line up pull requests for the 4.2 release.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix regression in scan aux release now that aux context is
retrieved from the node rx when supporting multiple chain
reception.
Relates to commit a8065926ac ("Bluetooth: Controller: Fix
to release aux context stored in node rx").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a Kconfig option ESPI_NPCX_RESET_SLP_SX_VW_ON_ESPI_RST.
When the option is enabled, the hardware resets the SLP_S3/SLP_S4/SLP_S5
virtual wires when the eSPI_Reset is asserted. This is required to
synchronize these virtual wires on the ungraceful global reset.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
The DMA buffer needs to be used both for tx and rx if required.
Extend RTIO driver variant to use DMA buffer and copy received
data from it to user buffer.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The buffer used for the TWIM DMA needs to be allocated to the
section provided with the memory-regions dt prop. The macros for
doing this where malformed. This commit fixes and cleans up the
macros.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Select Reference voltage of 900mV for ADC on nRF54L20pdk.
Add ADC to the list of supported peripherals.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add MarkWangChinese, gzh-terry and makeshi as collaborators for Bluetooth
Classic. They've both been contributing extensively to this area.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Commit removes weak attribute and renames some functions
in crypto_psa.c since there is no centralized distribution
of the PSA key ID in bsim tests and no necessity to
reimplement native mesh approach.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit removes centralized PSA key ID distribution
in mesh bsim tests since secure storage is
instantiated on every simulated device.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Start ap with open mode, external station connected to sap,
wifi ap stations list shows empty, because no
'WLAN_REASON_UAP_CLIENT_CONN' is received, skip add
station infomation to station list,so station list shows empty.
Fix issue by trigger this event with
'WLAN_REASON_UAP_CLIENT_ASSOC'in open mode.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
After net interface is down and the driver deinit, should not interact
with driver and FW when call the 'wifi statistics' CMD.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
In the above file, Building,Flashing and Running section is using
:zephyr-app: as samples/boards/espressif/deep_sleep.
But it should be samples/net/wifi/apsta_mode.
Fixes: #85505
Signed-off-by: Ram Mahesh <rammaheshram1234@gmail.com>
Clarify that the idle thread has priority CONFIG_NUM_PREEMPT_PRIORITIES,
not (CONFIG_NUM_PREEMPT_PRIORITIES - 1).
The idle thread priority ranges from 0 to 127 and never has a cooperative
thread priority.
Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
Setting CONFIG_NUM_PREEMPT_PRIORITIES to 128 causes the idle thread to be
assigned priority 128, which exceeds the int8_t range. This results in the
idle thread being assigned the highest priority (-128) instead of the
lowest, causing threads to not wake up from k_sleep.
Restrict the range of CONFIG_NUM_PREEMPT_PRIORITIES to 0 to 127 to ensure
the idle thread always has the lowest priority.
Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
- Fix typo in SoC name (nRF5240 -> nRF52840)
- Use bullet lists for better readability
- Add link to a readable pinout diagram
Signed-off-by: Manoel Brunnen <manoel.brunnen@orgatex.de>
Initialize row_index to avoid a compile warning.
The warning seems incorrect, as row_index is initialized in the first
interation of the loop, but the overhead of initializing it is trivial,
so we may as well just do it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The source_stream_sem and sink_stream_sem semaphores were
never initialized, and thus when a disconnect happened the
call(s) to k_sem_give would fail fatally.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add information on CANFD dllclk upper and lower limits on these SoCs:
- RA8: RA8M1, RA8D1, RA8T1
- RA6: RA6E2
- RA4: RA4E2
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Change the canfdclk setting for these boards to comply with hardware
clock restriction:
- ek_ra8m1
- ek_ra8d1
- mck_ra8t1
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
This reverts commit 2dcb61858b.
Completely breaks CI due to concurrency key being wrong and
the same for every PR...
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add driver support for Versal Gen 2 PS/PMC GPIO controller by updating
the logic of bank index calculation.
This logic depends on "register" DT property to identify bank index
instead of depending on node instance ID as Versal Gen 2 GPIO banks
are not in sequential order as Zynqmp.
- Versal Gen 2 PS GPIO: Banks(0,3,4)
- Zynqmp PS GPIO: Banks(0,1,2,3,4,5)
Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
Problem
-------
Board & SoC extensions are used to define out-of-tree board variants or
SoC qualifiers. When a board is extended, it has multiple directories
associated with it (each with its own `board.yml`), where twister should
be able to find additional platform files to support these qualifiers.
Currently, this doesn't work, because twister only traverses the primary
BOARD_DIR and ignores the rest.
The fix would've been trivial in the case of "legacy" platform files,
i.e. those of the form `<normalized_board_target>.yaml`, but it's less
straightforward for the newly introduced `twister.yaml` format.
A `twister.yaml` file contains platform configuration that can be shared
by multiple board targets and tweaked for specific targets by using the
top-level `variants` key. Normally, there is at most one `twister.yaml`
per board, but the file isn't necessarily unique to one board. Instead,
it's unique to one directory, which may define multiple boards (as is
the case with e.g. `boards/qemu/x86/`).
With extensions in the picture, the goal is to initialize platforms when
given multiple `twister.yaml` per board. The OOT files are expected to
only provide information about OOT board targets, without being able to
override in-tree targets (same principle as in the Zephyr build system).
Solution
--------
The `twister.yaml` handling is broken up into multiple passes - first
loading all the files, then splitting the `variants` keys apart from the
shared configuration, before constructing the Platform instances.
The purpose of the split is to treat the variant information as global,
instead of making unnecessary or faulty assumptions about locality.
Remember that the build system can derive board target names not only
from `board.yml`, but from `soc.yml` too. Considering that any board may
end up using an OOT-extended SoC (and hence multiple `soc.yml` files),
not every board target can be said to belong to some board dir.
Unlike the variant data, the remaining top-level config is still rooted
to the primary BOARD_DIR and inherited by the extension dirs from there.
This is quite intuitive in most imagined cases, but there is a caveat:
if a `twister.yaml` resides in an extension dir, then it is allowed to
have a top-level config of its own, but it will be silently ignored.
This is to support corner cases where, much like how a single board dir
can define multiple boards, a single board dir can also extend multiple
boards, or even do both. In those cases, the primary BOARD_DIR rule
should make it unambiguous which config belongs to which board, even if
it may seem counter-intuitive at first.
For concrete examples of what this means, please see the newly added
platform unit tests.
As part of these functional changes, a good chunk of logic is moved out
of `TestPlan.add_configurations()` into a new function in `platform.py`.
This is because recombining the top-level and variant configs requires
direct manipulation of the loaded YAML contents, which would be improper
to do outside of the module responsible for encapsulating this data.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
This addresses issues were CI jobs would wrongly get cancelled due to
sharing the concurrency group as other workflows.
For example:
- Twister runs being cancelled if both contributor submitting PRs named
their branch the same (often, `main` :))
- The scheduled doc-build systematically kills any ongoing
"on_pull_request_target" workflow runs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Typically, when shell logging backend is used user wants to get
logs on shell instances so do not enable raw RTT log backend in
that case. When raw backend is enabled then initial logs go to
RTT backend and they are not visible on shell which starts later
as it requires additional thread.
It can be assumed that when RTT backend is used it will be
explicitly enabled by the user.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Remove the CONFIG_WIFI_NM_WPA_SUPPLICANT_WNM macro in L2 shell level
to make 11v BTM query support embedded supplicant.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
Adjusted code where a deliberate assignment happened in a q-mark
operator, which caused IAR to give a warning
"did you mean '==' instead of '=' ?"
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
This commit adds basic support for KSZ8463/KSZ8463F chips to the
dsa_ksz8xxx.c driver.
These chips have limited register compatibility with other members
of the KSZ8XXX family - their registers are 16 bits wide as opposed
to the 8-bit registers supported by the driver for KSZ8794 and
KSZ8863. Following the general logic of the existing code,
the 16-bit registers of KSZ8463 are split into 8-bit halves.
For the KSZ8463F chip, it is assumed that both ports are used
in Fiber mode.
A new configuration option, CONFIG_DSA_KSZ_PORT_ISOLATING, has been
added to isolate traffic between DSA slave ports.
The driver has been tested on a custom board with an STM32F7 SoC.
Signed-off-by: Aleksandr Senin <al@meshium.net>
The unicast server does not need GATT caching and it was likely
incorrectly added earlier as a dependency.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The sample is currently decoding in the BT RX thread,
and not the system workqueue thread,
which then requires additional stack size.
Ideally it would decode in a separate thread to avoid
expensive operations in the BT RX thread, but that is
outside the scope of this commit.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Instead of providing NULL for bt_gatt_notify_uuid we
iterate on the connection objects and ensure that we
properly truncate the notification based on each
connection's GATT MTU.
This ensures that we send the right size for all
connections.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add a common function to get the maximum notification
size, instead of having multiple implementations of this.
Ideally this function should be moved to the GATT API,
but for now just implement it for LE audio and then move to
GATT later.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Both files are released by Nordic under the Apache v2.0 license, correct
the SPDX tags accordingly.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Added missing documentation for
bt_ccp_call_control_client_discover.
Added missing handling of -ENOTCONN in the function as well.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixes a bug in nrfx spi when used in modes where only MOSI is needed such
as driving a WS2812. In this mode NRFX_ASSERT() is triggered when sck pin
is configured as no-connect.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
The total attributes list bytes count is only used to check the tail
room of response buffer. And the remaining frame length is used to
copy data from receiving buffer.
It does not check whether the remaining frame length is consistent with
the total attributes list bytes count.
Add the checking to make sure the attributes list is complete. And it
is used to make sure the response buffer can be accessed safety.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Increase matrix size to deal with builds aborting under heavy load or
when running out of resources.
Also increase number of tests per node to deal with growth.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Allow user to add shell commands in testcase/sample yaml file
alongside the harness_config like in the console harness.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Fixes an issue in which "SDHC" had been incorrectly expanded to
"Secure Digital High Capacity" instead of "SD Host Controller".
Signed-off-by: Egill Sigurdur <egill@egill.xyz>
This commit adds support for configuring dwell times for both active and
passive Wi-Fi scans. The dwell time specifies the duration the device
spends on each channel during a scan.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit introduces support for single and multi-channel Wi-Fi scans.
The device can now scan one specific channel or multiple specified
channels.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit introduces support for limiting the number of BSS scan
results returned by the siwx91x Wi-Fi driver. If scan_max_bss_cnt is
specified, the driver will return up to the specified count of BSS
results. If not specified, the driver defaults to returning all
available results.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit introduces support for direct SSID scans The feature allows
the device to send the probe requests and listen the beacon frame on the
specified SSID.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
There were some inconsistencies in flash memory for both
of these boards where they do not match their stated specs.
This commit fixes the inconsistencies.
Signed-off-by: Nicolas Munnich <nickmunnich@gmail.com>
Fixes using the wrong path for checking if disallowed Kconfigs
are present, to use the zephyr base instead of the git top level
folder which caused issues for downstream manifests
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Define PWM LED at nRF54L20pdk board definition.
Set status=okay for pwm20 node.
Add pincontrol for pwm20:OUT0 at P1.07 (LED1).
Add pwm_led1 node.
Add alias pwm-led0.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Enable Twister tests of PWM driver on nrf54l20pdk.
Overlays were already added to PWM tests.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Currently the compiler and assembler shares many
properties. This can be problematic for non-GNU
toolchains that takes different parameters to the
assembler and compiler.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Some basic flags that were hardcoded needed
to be moved to properties to be able to implement
alternative toolchains.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Set pm device runtime runtime auto flag to ensure saadc instances
are initialized correctly if pm device runtime is used.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Extend nrf saadc device driver with pm device runtime support.
To preserve previous behavior:
* if pm device is disabled, saadc is resumed on sampling start
and suspended when sampling done.
* if pm device is enabled only, saadc does nothing on
sampling start/stop. its resumed on init.
* if pm device runtime is enabled, saadc is got on
sampling start, and put on sampling stop.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This commit fixes flag handling in mbox driver.
There are two MU drivers mu/ and mu1/ in nxp sdk with
same API but different bit masks and register layouts.
To be compatible with both add mapping table for channel index.
This will use enum from relavant driver heder to select correct
flag mask.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit adds support for these multicore samples:
- samples/drivers/mbox
- samples/drivers/mbox_data
- samples/subsys/ipc/ipc_service/static_vrings
- samples/subsys/ipc/openamp
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit adds multicore support for RT1180.
It enables the secondary core CM7 to be copied from flash
and run from RAM.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit adds MBOX device tree entry for RT1180.
Adds functions to copy and boot CM7 core.
Adds MPU region for shared memory without caching.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
The issue if fixed in the HAL tree with commit "wiseconnect: Fix
si91x_bus event during platform deinitialization". So this patch only
update the pointer to hal_silabs.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Projects using IPM will select CONFIG_IPM=y, then the appropriate driver
will be enabled based on DT. For devices using the IPM over MBOX driver
this will be config IPM_MBOX. But this config depends on MBOX so if the
project has not also enabled that, then this driver will not be selected.
To fix this, select MBOX from IPM_MBOX. This causes the correct MBOX
driver to then be selected also based on DT. This allows projects using
only IPM to only need to select the same as before, MBOX will be selected
as needed based on DT.
Signed-off-by: Andrew Davis <afd@ti.com>
According to RFC 4861, ch. 7.2.5:
"If the Override flag is set, or the supplied link-layer address
is the same as that in the cache, or no Target Link-Layer Address
option was supplied, the received advertisement MUST update the
Neighbor Cache entry as follows
...
If the Solicited flag is set, the state of the entry MUST be
set to REACHABLE"
This indicates that Target Link-Layer Address option does not need to be
present in the received solicited Neighbor Advertisement to confirm
reachability. Therefore remove `tllao_offset` variable check from the
if condition responsible for updating cache entry. No further changes in
the logic are required because if TLLA option is missing,
`lladdr_changed` will be set to false, so no LL address will be updated.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to RFC 4861, ch. 7.3.3:
"Upon entering the PROBE state, a node sends a unicast Neighbor
Solicitation message to the neighbor using the cached link-layer
address."
Zephyr's implementation was not compliant with behavior, as instead of
sending a unicast probe for reachability confirmation, it was sending a
multicast packet instead. This commit fixes it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When Router Advertisement with Source Link-Layer Address option is
received, host should register a new neighbor marked as STALE
(RFC 4861, ch. 6.3.4). This behavior was broken however, because
we always added a new neighbor in INCOMPLETE state before processing
SLLA option. In result, the entry was not updated to the STALE state,
and a redundant Neighbor Solicitation was sent.
Fix this by moving the code responsible for adding neighbor in
INCOMPLETE state after options processing, and only as a fallback
behavior if the SLLA option was not present.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Extends the API for Advertising Coding Selection.
The API is extended to set the Advertising Coding Selection
(Host Support) bit. With this feature, the primary and
secondary PHY can now explicitly report S=2 or S=8 coding
in the extended advertising report. Previously, the report
only indicated LE Coded regardless of whether S=2 or S=8
data coding was used. The API now sets the host support bit
and ensures that the advertising PHY coding scheme is
conveyed to the application via the scan callback.
The support is enabled by CONFIG_BT_EXT_ADV_CODING_SELECTION,
and requires a controller that selects
CONFIG_BT_CTLR_ADV_EXT_CODING_SELECTION_SUPPORT.
Signed-off-by: Thomas Deppe <thomas.deppe@nordicsemi.no>
If the RTT shell backend is selected and the "down" buffer size
has been selected, the shell bypass functionality should instead
use the buffer size specified by the configuration.
Signed-off-by: Christopher Clingerman <christopher.clingerman@sensorfy.ai>
As a result of flash initialization improvements
and fixes, some of the mcuboot linker entries
are no longer necessary.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Currently, each SoC has its own CMakeLists.txt file
to handle esp32 runner.
This PR merged it all in a common file and fixes
missing configuration such as flashing frequency,
mode and size.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Removes the VDDSDIO control during boot for some SoCs.
Only ESP32 allows managing such configuration during
initialization.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Sensry currently supports 2 boards, based on its own ganymed soc
sy1xx (arch RISCV32), in Zephyr.
Given the growing interest from our customers and our commitment
to expanding support for Sensry platforms, I am volunteering to
take over the maintenance of these boards and ganymed family socs.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Add a missing break in supported_context_get, as it was not
intended to fallthrough to BT_AUDIO_DIR_SOURCE or default.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adds a deinit step that tests the unicast server callbacks,
unicast server and pacs unregister.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add option to set the lowest DVFS operation point during initialization.
Option is by default enabled for nrf54h cores with DVFS.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Deprecate NRFS_LOCAL_DOMAIN_DVFS_SCALE_DOWN_AFTER_INIT option for
scaling down CPU frequency during dvfs handler initialization.
Clock control API is managing access to DVFS and DVFS should not
be controlled bypassing this API. Deprecated feature will be added in
the clock control.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit updates ADI_MAX32_CLK_IBRO_FREQ
macro because MAX32660 does not support
IBRO clock.
Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
Refactor everything related to RX in the sample.
The existing code will moved to new files with more specific
functionality, so that each file will become cleaner and use
fewer #ifdefs.
The USB part will be refactored a bit to follow the design used
by the LE audio shell, to make it easier to maintain both in
a similar way.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Factorize STM32_CLOCK_*_GET() and STM32_MCO_CFGR_*_GET() macros
into a single series of STM32_DT_CLKSEL_*_GET() macros based on
recently introduced new common macros STM32_DT_CLKSEL_*_SHIFT and
STM32_DT_CLKSEL_*_MASK.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Replace STM32_DOMAIN_CLOCK() and STM32_MCO_CFGR() macros in
stm32 DT clock bindings header file with the common macro
STM32_DT_CLOCK_SELECT().
By the way, add parentheses on argument where it mas missing.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Factorize definitions of the macros used to describe in the STM32
boards device tree the RCC register dedicated to clock source selection
configuration, instead of replicating the macros per SoC header file.
For that purpose, use DT cell bit fields that matches all SoCs.
This change also factorizes STM32_MCO_CFGR_* macros that use the same
packing layout for defining selection of the MCO clocks and for MCO
pre-scaling factor on SoCs that support the feature.
By the way, reorder argument description in macro inline description
comment in a standard way (first argument first).
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add inclusion of stm32f4_clock.h header file that is missing
in stm32f410 and stm32f427 DT bindings clock header files.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
In 923d313a04 the clock frequency in DTS
for the UART00 was fixed, but not for the simulated target. This was
likely due to the HW models modeling it as 16MHz instead of 128MHz for
this particular one as it is in reality.
Now that the HW models have been fixed, let's let this clock be
configured like for real HW.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models module to
dcfcffeee5c3ad8718723df4b5297caec33c23e7
Including the following:
* dcfcffe UART: Support diffent clocks, correct UART00 clock and fix
BAUDRATE model
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This commit reverts using of cpu1_partition because it is
taking space from slot0 and slot1 partitions.
For now use slot1 partition for cpu1.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
replace LL_RCC_GetFDCANClockFreq, remove
stm32_ll_rcc.h include and
use_stm32_ll_rcc from kconfig.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
This reverts commit 70419bdee7.
This is because there are issues around slow IPC thoughput
with icbmsg, which is causing issues with BLE when lots of
data is required to be exchanged, e.g. with ISO.
Also there is an assert icmsg.c#L190 which occurs when
initializing bluetooth and IPC in certain circumstances.
Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
This patch adds support for Zstd and Zip formats to the EDK generation
process. The user can now choose between XZ, Zstd, and Zip compression
and output formats for the EDK file.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add a new Kconfig option to make the generation of an Extension
Development Kit (EDK) for the LLEXT subsystem optional. This
allows to cleanly separate EDK-related configuration and build
steps from the rest of the Zeprhyr build system.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
There are function mismatches for MAX32650. Because of that, created a
wrap version of the function to handle these differences.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
TX status macro is different for MAX32650 SoC.
The common macro is added to the hal.
This commit changes the tx status macro with
the common one.
Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
This commit adds a test that checks if disconnecting
and restarting the IPC session works correctly. The
test is also focused on the "unbound" callback.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
Co-authored-by: Radoslaw Koppel <radoslaw.koppel@nordicsemi.no>
In some cases, CPUs that may need to reset or
temporary stop communication. This commit adds "unbound"
functionality that provides a callback to IPC service user
when connection was interrupted for some reason, e.g.
expected or unexpected CPU reset, closing the
endpoint. The "unbound" callback is optional to implement
by endpoints. This commit implements it in the ICMsg
backend.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
STM32N6 needs to have a buffer of 32-bit data instead of 16-bit.
Adds a Kconfig to select whether the test shall use a 32-bit buffer.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
On STM32N6, the register holding the data is 32 bits and DMA must operate
in word transfer to work properly. So we change the type of the buffer in
which we store the ADC data from uint16_t to uint32_t for N6.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
STM32N6 ADC doesn't have an integrated prescaler, so these properties have
to be removed.
Though the F1 compatible also removes these two same properties, grouping
the N6 with the F1 would not be convenient since there are lots of
differences between the two.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This driver includes pin-muxing functions and requires to have
CONFIG_PINCTRL enabled. Automatically set this config when this
driver is enabled.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
This condition can happen if there is MDNS activity on the network that is
either not according to specifications or not supported by Zephyr.
Lowering the log level from ERR to DBG, since this does not indicate an
error in the Zephyr application.
Signed-off-by: Helge Juul <helge@fastmail.com>
The PAN B511 evaluation board is a development tool for the
nRF54L15 from Nordic Semiconductor.
Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
Move to the latest Rust.
This moves the rust support to the latest version of the module:
commit 49c6712fe53b5b82e5c09e94548a4a51a021acfe
Author: David Brown <david.brown@linaro.org>
Date: Wed Feb 12 12:16:22 2025 -0700
zephyr: various comment cleanups from review suggestions
This primarily brings in support for Zephyr Work queues, along with an
implementation of an Async Executor built using work queues and triggered
work to schedule the execution.
Signed-off-by: David Brown <david.brown@linaro.org>
This change splits eth sram region name definition
and configuration.
In the end the configuration is stored only once
er declared name.
This name shall increase readability and maintainability
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
Add configuration and board overlay in the I2S audio codec sample to
demonstrate usage of the newly introduced audio output feature.
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
The stm32f4_disco board features an audio codec (cs43l22) connected to
an audio jack (TRS) output, and to the stm32f4 via I2S and I2C. To set
this up, several peripherals must be configured:
- Enable I2S3 and the PLLI2S (tuned for 22.05/44.1/88.2 kHz audio)
- Enable DMA1 (used by I2S3)
- Enable I2C1, and add definition for the CS43L22 on the bus
- Disable USART1 and CAN1 which have conflicting pinctrl with I2C1
This new setting is more appropriate, because this gives access to the
audio jack output by default (instead of "bare" pins not connected to
anything on the board).
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
Switch to the common abort implementation so that we can use it
from the assert hooks to avoid undefined behavior.
Closes: 84824
Signed-off-by: Keith Packard <keithp@keithp.com>
The current implementation requires SoCs/Boards to manualy instantiate
the preripherals and initilize them.
The change lets Zephyr rely on the device tree setup to instantiate &
initialize the relevant gpio peripheral.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Add OTGFS peripheral to the stm32h7rs soc series, and enable it on the
Discovery board STM32H7S78-DK, where it is wired to USB Type-C port 2.
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
The Xen extends domain grant tables every time domain requests gnttab
basing on gnttab idx. If idx > xen_current_max_gnttab_idx the Xen extends
grant table so that idx <= xen_current_max_gnttab_idx. The growing grant
tables on every hypercall is a bit costly operation and it also results in
the bunch of log messages:
(XEN) xen-source/xen/common/grant_table.c:1909:d0v0 Expanding d0 \
grant table from 1 to 2 frames
This patch changes gnttab processing from gnttab max_idx to low_idx, so the
first hypercall has the largest index, ensuring that the grant table will
grow only once. It also reduces number of log messages.
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Initially this driver was a port from mini-os. Michal Orzel
(@orzelmichal) pointed that it contains incorrect grant table
initialization sequence and redundant calls. Driver mapped grant table
frames via loop of XENMEM_add_to_physmap calls and then tried to do the
same but via GNTTABOP_setup_table operation. After completion of latter
it did not even use provided frames list. This did not cause any major
issues, since XENMEM_add_to_physmap correctly map gnttab frames that
were used.
Remove redundant GNTTABOP_setup_table call from grant table driver to
clean up its initialization sequence.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Xen allocates a region that should be used as a place for grant table
mapping and passes it via the device tree. By design, this region may
be quite large (up to 4096+ frames/pages), but the number of frames is
usually limited by the max_grant_frames domain parameter (usually 32 or
64).
Linux maps these frames on demand and when reaches mentioned limit
it just stops expanding. At the same time, previous implementation of
Zephyr gnttab driver calculated the number of grant frames by dividing
whole region by page size and tried to map it during init. If the
region specified in the device tree was larger than the
max_grant_frames set by Xen, it would fail on ASSERT, since Xen would
return an error.
To address these issues CONFIG_NR_GRANT_FRAMES was introduced. It
allows to limit size of grant table and map only required number of
pages. Additionally, a check for max_grant_frames Xen limit was
introduced to initialization - if this value will be less than
CONFIG_NR_GRANT_FRAMES, k_panic() will be called.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Grant references are allocated via simple O(1) allocator - idx of first
free gref is always stored in the "0" list entry (e.g. list[0] == "A").
Next free gref (e.g. B) will be stored inside list entry with the index
of previous (list[A] == B) and so on. This allows to find free gref
instantly if available. However, current implementation allows a user
to perform a double-free of some taken grefs since it doesn't store any
information about entries being currently claimed. This may cause
gref_list to break.
Add GNTTAB_GREF_USED value and mark all taken grefs with it to prevent
double free in put_grant_entry().
These changes also required updates for allocator and semaphore init
sequences, since we can not use put_free_entry() during driver
initialization anymore.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Xen public headers were imported into Zephyr source tree and only used
structs were added (not copied as is). Mow, for refactoring and
improving gnttab driver we need to augment grant table public header
with one more struct. It will be used for reading actual number of
available Xen grant frames.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Previously the driver's 'gnttab_unmap_refs()' signature used incorrect
struct - the same one that is used for mapping. Since 'host_addr'
membber, that is used to point to required frame is first in both
structures it somehow worked.
Fix mistake and use 'struct gnttab_unmap_grant_ref' for grant frames
unmapping hypercalls.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Added overlay and modified sample.yaml to support the nucleo_wba55cg
board in the MCO example. Due to GPIO conflict, UART print out is not
functional.
Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
Added MCO register definition to support MCO functionality in the STM32WBA
series. This update also includes the addition of MCO_PRE_DIV and MCO_SEL
defines.
Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
The shell harness expects the UART can be routed to stdin/out on POSIX
arch based targets, but this is not the case for the bsim targets (at
least not yet, and not using the native_posix UART configuration option)
This causes these tests to fail timing out in CI => let's filter these
platforms by now.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Existing logic is passing elf file as parameter only when fsbl
or bit file parameter is present. This is incorrect, elf file should
be always passed irrespective of other parameters.
Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
Add USB support on USBFS port on these boards:
- RA8: ek_ra8m1, ek_ra8d1, mck_ra8t1
- RA6: ek_ra6m1, ek_ra6m2, ek_ra6m3, ek_ra6m4, ek_ra6m5
- RA4: ek_ra4m2, ek_ra4m3, voice_ra4e1
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
First commit to add support for USBFS module on Renesas RA
- Remove renesas,ra-usb binding
- Add 2 new binding for Renesas RA USBFS and USBHS
- Remove unused interrupts of USBHS
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
When TRDC permission fails to be obtained, it does not recycle to
access ELE core to prevent blocking problems. The current practice
only generates a log warning alarm.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Implement the `gpio_get_config`
N.b. adding this API results in a new test failure in
`test_gpio_config_trigger`. This suggests that there is some kind of
dependency between this and the now-enabled `pin_get_config` test cases.
Note that this adds a read-only API, it is unlikely to be the cause of
the failure.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Reorder gpio_rpi_configure to disable input buffers when not in use.
gpio_rpi_get_config can then determine whether a pin is configured as an
input without requiring additional state variables, as well as reducing
input leakage current.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Out of reset the pads are input enabled, output disabled. Disconnect the
pad's input and output buffers, as well as any pullups. This can reduce
input leakage current.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add the tap detection trigger to the existing example.
For this example it uses lis2dw12 accelerometer to detect a double
tap. This feature can be enabled with CONFIG_SAMPLE_TAP_DETECTION option.
Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
Do not use memory slabs for the control blocks when
the application provides the memory for it. This
implements manual user-defined allocation memory
management support in CMSIS-RTOSv2 API.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
No functionality change, in preparation for allowing
threads with user provided stack and control block.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
This enables the cmsis wrapper types to be declared
statically and then passed along to CMSIS-RTOSv2 APIs,
enabling static allocation of RTOS control blocks
in the subsequent commits.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
- add MCXW71 NBU combo BLE LL and IEEE 802.15.4 PHY firmware blob
- fix elemu driver: undef BIT if already defined
- add mcux-secure-subsystem middleware
- add ieee_802.15.4 middleware
Signed-off-by: George Stefan <george.stefan@nxp.com>
Add frdm_mcxw7 board conf and overlay files for echo_client and
echo_server sample applications.
Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
Add mcxw ieee802154 driver
Fix compliance errors for added files.
Update function names to snake_case style.
Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
Put the thread_metric Kconfig menu first in the Kconfig "homepage", like
other samples and tests typically do as this makes it easier to quickly
get to the relevant options in menuconfig.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
not sure "micro controller" is a typo.
Happy to update it if needed,
or feel free to close this. Thanks for your work!
Signed-off-by: Shan Pen <bricle031@gmail.com>
This PR adds support for Maxim Integrated
DS1337 RTC chip.
Supported functionalities:
* Alarm interrupt (both alarms trigger INTA pin)
* Time setting/reading
* Both alarms setting/reading
* SQW frequency configuration
Tested on nRF52833-DK using rtc_api test set.
Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
This Introduces a driver for the i2c interface of Phosense XBR818.
XBR818 is a 10.525Ghz Radar chip with builtin detection algorithm.
Signed-off-by: Camille BAUD <mail@massdriver.space>
Selecting the wrong power scheme could potentially destroy the board.
Luckily, the bit can only be set once and the default build still
uses the Arduino bootloader (which has the correct setting).
Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
One might want to select the symbols to be relocated inside a file or
a library. To do this, one can use the FILTER argument of
zephyr_code_relocate which must contain a regular expression of the
section names to be selected for relocation.
The test_function_in_sram2 test case in
`tests/application_development/code_relocation` has been updated to
verify that only one function `function_in_sram()` is relocated to ram
and that the function `function_not_relocated()` is not being relocated
when using relocation filter.
Signed-off-by: Sylvain Chouleur <sylvain.chouleur@gmail.com>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
With code relocation directives passed to the gen_relocate_app.py script
using generated file, then each directive can be place on individual
line in the file and thus free up the `|` character as separator.
Furthermore, a multi-line file with each directive on separate line is
also more user-readable, making debugging easier.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The Synopsys I3C has no in-tree board with it to built with. This
adds a test build-only for the cadence i3c peripheral attaching
with the qemu_cortex_m3 board as that appears to be generic
enough.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add i2c_bus_short fixture to the rtio_loopback sample to ensure it
is only run on boards with the bus shorted. The i2c_bus_short
fixture is also used in the i2c_target_api test suite.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Switches the default revision of mimxrt1170_evk from A to B.
Customers can only purchase MIMXRT1170-EVKB.
Revision "A" is obsolete and unavailable.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
We need to make sure that within Zephyr different users of the PSA APIs
don't interfere with each other because of using the same numerical IDs
for persistent assets.
This takes care of the PSA key IDs when using persistent keys through
the PSA Crypto API.
See the comments in `<zephyr/psa/key_ids.h>` for more information.
This removes the recently-introduced Kconfig options that allowed changing
the base IDs subsystems were using for their persistent keys.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
First, SoC is not supported, but when I tried to add it, build results
in RAM overflow of ~10K. Excluding the platform for now, so CI is happy.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
CAN is not ready yet for this platform (clock control drivers). So
remove the nodes for now.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
A follow-up to commit fe87abe0b9
This addresses boards that had pending pull requests
at the time the initial clean-up was done.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Pull latest revision of the uoscore-uedhoc module and align
corresponding CMake file with the changes.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add CAN test overlays for Nucleo N657x0-Q and STM32N6570 DK boards.
Userspace needs to be disabled for the tests to pass.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
In zephyr_get_XYZ_for_lang() functions in extensions.cmake we try to mimic
what cmake does in generation time to filter out SHELL: tags. However,
this filtering was only done for list entries that did not contain
generator expressions.
This causes broken command lines for e.g. e.g. for the kobject_hash*c
if the toolchain puts "SHELL: $<$<COMPILER_LANGUAGE:C>:some thing>"
into the options.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Added a changelog entry in the Deprecated and New categories to document
the Kconfig changes for the Bluetooth Device Information Service (DIS).
Updated the migration guide to provide instructions on how to
transition from the old configuration scheme to the new one.
Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
Added new Kconfig option set that allows the user to control the
presence of the following optional characteristics:
- Manufacturer Name String
- Model Number String
Depreacted the old configuration that can be deleted in the future
Zephyr releases.
Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.
Signed-off-by: Andrew Davis <afd@ti.com>
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.
Signed-off-by: Andrew Davis <afd@ti.com>
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.
Signed-off-by: Andrew Davis <afd@ti.com>
Currently the resource table is added to the memory-region labeled DDR.
This region can also be extra space for code/data, although this is
not yet implemented. This will mean that the linker is free to put
the resource table *after* the code/data sections in DDR. The resource
table must be at the start of the assigned DRAM area for the remote
core to support early-boot/late-attach usecases.
To solve this, we carveout the first 4KB of our DRAM area specifically
for the resource table. This matches how this issue was solved for the
K3 R5F cores.
To make this clear we label this memory-region "RSC_TABLE". This is
done at the linker file level, which is common for all K3 M4 boards
and so we update all 3 such boards in this one patch instead of
patch-per-board.
Signed-off-by: Andrew Davis <afd@ti.com>
The current code assumes (especially in the lp50xx_set_color function)
that the number of LED colors defined in DT is not greater than 3. But
since this is not checked, then this is not necessarily the case...
This patch consolidates the initialization of the lp50xx LED driver by
checking the number of colors for each LED found in DT.
Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Honor Kconfig option `BT_CTLR_TX_PWR_ANTENNA` for limiting the maximum TX
power. The default value for this option is 0 dBm, which means that after
this change the actual TX power is likely lower than before, unless
increased by this option.
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
Fixes an issue when using custom payloads where the size was still
using the zcbor buffer instead of the size of the network buffer
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Uses the clear imgtool argument to set the encrypted flag in the
header of the signed hex output, without encrypting the data. This
addresses an issue whereby the first update would swap images and
leave the swapped output in the secondary slot without encryption
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This patch adds a test suite for the inspection API. The test checks
that the symbols exported by the 'inspect_ext' extension are correctly
mapped inside their corresponding regions and sections.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add APIs to inspect the contents of an ELF file loaded as an extension.
This is useful for applications that need to access the contents of the
extension in a more fine-grained way than the existing LLEXT APIs.
Use of these APIs requires the 'keep_elf_data' option to be provided via
struct llext_load_param to the 'llext_load()' call.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This is required for the functions that inspect the ELF file to work
properly. The user must then call llext_free_inspection_data() before
calling llext_unload() to free the memory left allocated in the loader
and extension memory.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Adds a help message which gives details on a common issue with
snippets where the roots are not known or a snippet is applied
to multiple images
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
It's possible to have MEM_ATTR=n and ARM_MPU=y. This fixes the compile
issue with it by compiling out the calls to define the DT mpu regions.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
I think my original idea with this default MPU setup was that the top
bits of the (fast) SRAM region might be useful for host DMA that
needed better latencies than the (extremely slow) system DRAM
mappings. So it should be left uncached for safety.
But unfortunately the author[1] of the SOF heap integration for this
platform decided to size the heap dynamically to use most of the SRAM
block (the vectors and a few other bits live at the bottom, but most
of .text is in DRAM).
Needless to say, an uncached heap is sort of a performance disaster.
It worked OK for default copy-only topologies but fell over the moment
we turned on nontrivial processing.
[1] Um... Hi. Yeah, that's me too.
Signed-off-by: Andy Ross <andyross@google.com>
Recent Python interpreters have started tossing bus errors from this
12-byte string search (the loader is looking for the winstream
descriptor in the live firmware image). My guess is that there's a
SIMD optimization that's been added that's trying to do e.g. a 16 byte
load, and something in the fabric is kicking that out. Note that this
is 100% a software change: the same hardware with one version of the
host environment works, and an update breaks it.
But really I have no idea what's happening here, the memory region in
question is documented as system DRAM, the same bus regular process
memory is on (it's just not kernel-utilized memory). All I know is
that the bus error is introduced with a Python upgrade from 3.8.20 to
3.11.10.
Regardless, it's no great hardship to do the search on 64 bit chunks.
Signed-off-by: Andy Ross <andyross@google.com>
This commit updates cortex_m related code to align it with the rules from
.clang-format. This is done to simplify future changes in these files as
we are about to implement use_switch support.
Some rules conflict with checkpatch and therefore some small part of the
code locally disable clang-format.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
After adding more detailed information to the reason field in
Twister report, update twister_report_analyzer.py to group
CMake and Build failures.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Updated test_report_summary to match new string with detailed
reason of build failure.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Extended the reason field in Twister report to include
more detailed information for 'Build failure' and
'CMake build failure'
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Since it was added, `arch.interrupt.gen_isr_table_local.arm_mainline`
filters on `CONFIG_ARMV6_M_ARMV8_M_BASELINE`. I'm not entirely sure whether
this was intentional, but this seems odd to me given a) the naming of the
test b) that the `platform_allow` is `qemu_cortex_m3` and c) that the
`arch.interrupt.gen_isr_table.arm_mainline` test it inherits part of its
config from filters on `CONFIG_ARMV7_M_ARMV8_M_MAINLINE`.
The current filtering setup also means that a command like
`west twister -c -T tests/kernel/gen_isr_table/` currently filters out all
of the `*gen_isr_table_local*` tests which was a surprise to me when
testing locally (no tests broke for a change I made as they were
all filtered out).
Assuming this is undesireable, change the filter to check against
`CONFIG_ARMV7_M_ARMV8_M_MAINLINE` to make it possible to run the tests
on the expected platform without needing to work around the filter.
Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
Added the test configuration for nRF54L20 for the following tests:
- adc_api
- adc_error_cases
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Introduce two new kconfig options in order
to be able to define custom named fatfs
mount points. If activated replace the static
FF_VOLUME_STRS approach with the runtime
generated VolumeStr array containing those
mount points.
Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
This adds a on target performance test for Settings SS. Using this test
performance of the Setting SS + NVS/ZMS backend can be benchmarked.
The test repeatedly write 128 settings entries. Each setting entry
has a size of 4 bytes, and path length of 16 bytes (excluding the
null-terminator).
The test has two variants, with and without Bluetooth scan running.
This is useful to benchmark performance along with some component
of BT subsystem activated.
The test could be enhanced in future to include or create combinations
of different functionalities running, when agreesive store operations
are happening.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
Some flash devices enable entering the 4-byte address mode
by setting BIT(7) in a special register via a write instruction 0x17.
The support for this method is indicated in BIT(3) of
Enter 4-Byte Addressing byte in 16th DWORD of the JEDEC Basic
Flash Parameter Table.
Infineon's S25FL512S is an example flash device with this feature.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
The SoC State Change Power Domain driver issues TURN_ON/
TURN_OFF actions to all devices registered with it for
certain power states that can be specified via device tree.
This test exercises the functionality of this driver.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This driver triggers the TURN_ON and TURN_OFF actions for certain
power states. These power states are specified via device tree.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This commit adds a missing default value for the `DCHACHE_LINE_SIZE` option
for the `qemu_xtensa/sample_controller32/mpu` platform. This is required
after 8b39d4a613 added a build assert
checking this value against `core-isa.h` from Xtensa HAL.
Fixes#85591.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Update the HW models module to:
5dc34b26662c6ec91edf1174d775d78590b1a05b
Including the following:
* 5dc34b2 CLOCK (52-54): Silly bugfix
* 4f622b7 CLOCK (52-54): Make TASK_*CLKSTOP instantaneous and clear
LFCLK.STAT
* 07b1bdb RADIO 54: Correct 2 comments related the CCM trigger
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Taking a look at the schematic shows that
tx-enable-gpios and dio2-tx-enable were directly connected.
This had the effect tx-enable-gpios was trying to pull the line down
while SX1262 is pulling the same line high. This increased
the power consumption.
Now only the SX1262 sets the antenna to tx via dio2-tx-enable.
Setting the antenna to rx is still done via the rx-enable-gpios.
The antenna defaults to rx if not in use.
Signed-off-by: Carlo Weidinger <carlo.weidinger@protonmail.com>
Enable wdt_error_cases test on nRF5340dk.
Define valid test configuration for that target
(reuse from nRF54H/nRF54L).
Add target to the platform_allow.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add UART test overlays for Nucleo N657x0-Q and STM32N6570 DK boards.
Remove non serial boot conf file since they are now unnecessary.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Due to the added demos, a memory pool of 49 KiB is no longer enough and
leads to crashes:
https://github.com/lvgl/lvgl/issues/7648
Increasing the memory pool to 57 KiB fixes the problem.
Signed-off-by: Detlev Zundel <dzu@member.fsf.org>
There were some compilation errors caused by unused functions.
Add proper #ifdef statements not to include unused functions.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
When TRDC permission fails to be obtained, it does not recycle to
access ELE core to prevent blocking problems. The current practice
only generates a log warning alarm.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
silabs_s2 uses simplicity_sdk hal library, which already have by default
a zero latency IRQs mechanism with a hardcoded value. In order to be
aligned with simplicity_sdk, we need to activate Zero Latency IRQ in
Zephyr by default. The level (2) depends on the hardcoded
value in simplicity_sdk (CORE_ATOMIC_BASE_PRIORITY_LEVEL). Without this
fix, if you use an IRQ with a priority of 0 or 1, irq_lock() and
irq_unlock() have no effect for this IRQ.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
In the current implementation, when `gpio_ra_pin_interrupt_configure`
is executed, the existing settings made by `gpio_ra_pin_configure`
are erased.
A read-modify-write method will be used to preserve the settings.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
@ithinuel will be continuing to help with reviews on
Arm and Arm64 arch/platform so adding him as collaborator.
Also adding me @wearyzen as collaborator for Arm64 to
help with reviews.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Building with clang warns:
drivers/sensor/st/ism330dhcx/ism330dhcx.c:107:19: error: unused function
'ism330dhcx_reboot' [-Werror,-Wunused-function]
static inline int ism330dhcx_reboot(const struct device *dev)
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/dma/dma_emul.c:73:20: error: unused function
'dma_emul_xfer_is_error_status' [-Werror,-Wunused-function]
static inline bool dma_emul_xfer_is_error_status(int status)
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This SoC has an external XCACHE controller for CPU0
instruction and data bus.
Add code to enable the data cache. Instruction cache
is already enabled by SystemInit.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
When using the interrupt UART API, it is expected that the driver will
call the callback function repeatedly while TX interrupt is enabled.
However that is not necessarily the case with the FIFO is enabled.
If the application calls uart_fifo_fill() each time with only one byte
of data, the TX interrupt will never trigger. This is because the 1/8 TX
interrupt trigger threshold is never reached. For this reason, the
callback function should be called multiple times from software as
needed.
Fixeszephyrproject-rtos/zephyr#85479
Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
Allow specifying the Kconfig file path in the environment (in practice
in the `conf.py` file), to allow the script to correctly find Kconfig
roots that aren't in the expected `"modules" / name / "Kconfig"`
location.
This is required since in the normal build system, the
`ZEPHYR_{name_var}_KCONFIG` cmake symbol can be constructed arbitrarily
in `modules.cmake`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This shield is compatible with all XIAO boards. Tested with 2 of them:
* xiao_ble
* xiao_esp32s3
Extend sample.yaml for integration testing with both, so there is coverage
across two very distinct SoC vendors and architectures.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Move 'tags' and 'modules' into common section in samples.yaml, so test
definitions are deduplicated a bit.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
When tested with xiao_esp32s3 + seeed_xiao_round_display main stack is
occupied with 3504 bytes (checked with 'kernel thread stacks' command).
Increase main stack size from 2k to 4k in order to make this sample work at
runtime.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Mark interfaces on XIAO header that are supported by each board. This
allows to filter by them (with depends_on) when running twister.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Change adds bsim tests with CONFIG_BT_LONG_WQ=n to ensure correct
behavior. Change uses host/gatt/ccc_store test.
Change also switches to using more unique simulation ID in the test
scripts.
Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
Change adds bsim tests with CONFIG_BT_LONG_WQ=n to ensure correct
behavior. Change uses host/security/ccc_update test.
Change also switches to using more unique simulation ID in the test
scripts.
Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
Change allows performing ECDH operations through system workq. This is
done to allow reducing memory consumption by disabling the long workq on
small SoCs.
Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
Update to support APP_CPU flash access.
- fix the map_rom_segment so it can be used in other context
- add IROM and DROM region size in Kconfig
- update the memory.h by using dts records
- fix the appcpu ld file to support flash
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Update and enable Wi-Fi/Bluetooth software coexistence management.
This improves package handling and is recommended to be used
in high traffic scenarios.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
I don't have time to review the LED area in Zephyr,
so I step aside to make room for someone else.
Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
Implement support for DNS Recursive Name option and use obtained
information to configure DNS resolver.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case interface is UP, the interface is added to WPA supplicant in the
iface_wq itself and the max stack size is 4264, so, increase the stack
size of the iface_wq.
If the interface is added via net_mgmt thread then it works fine.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fix compilation issues for SoftAP mode which were missed in the mode
specific code changes.
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
This commit adds initial support for the Adafruit MacroPad RP2040.
The board is based on the Raspberry Pi RP2040 microcontroller and
includes a 3x4 mechanical keyboard, 12 RGB NeoPixels, a rotary encoder
with push button, a 128x64 OLED display, and a small speaker for audio
feedback.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Make use of pm_device_driver_init to perform driver initialization.
Implement PM suspend and resume, which performs the following actions:
* Enables/disables the USART
* Gates the USART clock
* Configures USART pins
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Reuse the same peripheral init function between init and the
runtime configure API. Remove redundant enable calls, the init
function enables the USART internally.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Increase CONFIG_BT_BUF_CMD_TX_COUNT to avoid deadlock when running out
of buffers. See #77241 for the reference.
This fixes Mesh Provisioning Service tests (MESH/NODE/MPS).
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This commit adds HWINFO driver for MAX32 MCUs.
"z_impl_hwinfo_get_device_id" function is necessary for Zephyr USB
device stack.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Different test layers need different stack sizes for BTP CMD thread
and also AutoPTS might need to overwrite this config based on test
case.
Increase the stack size for mesh tests.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
There's nothing in RFC 2131 or RFC 8415 that would mandate the DHCP
server to reply with a source port set to the IANA assigned one, and
some servers seem to send responses with some arbitrary source port set.
Therefore, make Zephyr's DHCP client implementation more permissive,
accepting packets with a source port set to a different port than the
IANA assigned server port.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Implementation of chan_filter and chan_release allows to maintain
synchronization about DMA channel allocation between hal DMA driver and
zephyr DMA driver.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Update Cmake to include hal EMDRV header
It also adds dmadrv source when CONFIG_SOC_GECKO_LDMA is selected
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
The LED 4 is connected to the STMPS2151STR on the FAULT output pin which
is pulled low, automatically turning on the LED, in case of current
limit faults. Therefore, pin D4 should not be configured as a LED but
rather as an input to detect the fault condition.
Additionally, it should be noted that the board's silkscreen labels this
LED as "OC" (OverCurrent) rather than usr{1,2,3}, as is the case for the
other LEDs described in the DTS.
Fixes: cc5ae49133
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
This commit fixes the bug that the memory of the work request is
freed up in the work handler, before it is not needed anymore by the p4wq.
This is fixed now, by using the new done_handler in the p4wq
for freeing up that memory.
Signed-off-by: Florian Weber <Florian.Weber@live.de>
Add an optional handler to the p4wq to give the submitting code
(e.g. rtio workq) a possibility execute code after the work was
succesfully executed.
Signed-off-by: Florian Weber <Florian.Weber@live.de>
Added timer3 and pwmleds configuration to the nucleo_wba55cg board DTS
file. This includes setting the prescaler, enabling the pwm3 node with the
appropriate pin control settings, and configuring the pwmleds node with
green_pwm_led.
Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
The driver already read the speed flags (cfr. ospeed) and called
LL_GPIO_SetPinSpeed, but these flags could not be set yet.
Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
Fix to release aux context stored in node rx, and not in the
superior scan or sync context as the one in the superior scan
or sync context could be reset or have a different new aux
context when multiple advertising chain reception is used.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix assertion due to changes introduced to support multiple
advertising chain reception.
Auxiliary context association with the Periodic Sync context
was not cleared due to which when terminating a Periodic
Synchronization triggered an assertion check, under race
conditions, detecting that the auxiliary context was already
released.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.
This commit does not change any board or vendor specific
documentation, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.
This commit does not change any board or vendor specific
samples, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BLE acronym is not an official description of Bluetooth
LE, and the Bluetooth SIG only ever refers to it as Bluetooth
Low Energy or Bluetooth LE, so Zephyr should as well.
This commit does not change any board or vendor specific
documentation, and the term BLE may still be used in those.
It will be up to the vendors to update it if they want,
since many of them are using the term BLE in their
products.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fix missing sync_delay and transport_latency information in HCI
LE BIG Complete event.
Relates to commit 1a640e4711 ("Bluetooth: controller:
Included transport latency in LE_Big_Established").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
In ap enable cmd, channel set to 0 means ACS mode.
Remove hostapd AP macro for this case to make ACS mode
available for public usage.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
Prior to this change a wrap of the completion count (without SUBMIT_SEM)
would result in looping indefinitely waiting for completions.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Add a test for the behaviour of `rtio_submit` with
`CONFIG_RTIO_SUBMIT_SEM=n` when the `cq_count` variable overflows.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fix incorrect device address reported in the LE Periodic
Advertising Sync Established event when using Periodic
Advertiser List.
During Extended Scanning there can be an ADV_EXT_IND PDU
received between currently being received ADV_EXT_IND PDU
and AUX_ADV_IND PDU; if the one received between has an
address match then incorrectly the Periodic Synchronization
was established to the device whos AUX_ADV_IND PDU is being
received. Fix by storing the auxiliary context that has the
address match and compare with it when matching the SID in
SyncInfo of AUX_ADV_IND PDU being received prior to creating
the synchronization.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix BT_CTLR_LOW_LAT_ULL conditional compilation code by
decoupling it from BT_CTLR_LOW_LAT code.
BT_CTLR_LOW_LAT_ULL makes ULL execution context to tailchain
in comparison to continuously process in a while loop.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Since the PACS service is not part of the bt_bap API it should
not use the bt_bap prefix, and instead just be bt_pacs like the
rest of the PACS API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
When writing to a time resource, the logic was incorrect when validation
was enabled for the resource - when determining the actual underlying data
type we should compare against the data buffer length and not the
validation buffer length.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
If an IP address already exists when it is tried to be added to the
network interface, then just return it but update ref count if it was
not updated. This could happen if the address was added and then removed,
but for example an active connection was still using it and keeping the
ref count > 0. In this case we must update the ref count so that the IP
address is not removed if the connection is closed.
Fixes#85380
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Change default input format of the shield to RGB 565 to achieve
better frame rate performance.
Remove LV_Z_FLUSH_THREAD as temporary solution for flickering
screen issue when CPU go too high
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Decouple dependency of CONFIG_NXP_WIFI_SOFTAP_SUPPORT.
Add wifi defconfig to set default kconfig options when soft AP
enabled.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
Add support for wifi overrun count, beacon received and beacon missed
count.
Add support for wifi statistics clear.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
The mDNS probing is described in RFC 6762 chapter 8.1.
The code will send an unsolicited mDNS query to network and
will check if there are existing hosts with the same name.
If there are, then the mDNS responder will not respond to
queries it is configured to use.
Fixes#84333
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow user to specify the network interface where the query should
be sent, but only if the user has supplied the DNS servers in sockaddr
list. If user has specified a DNS servers in a string list, then the
possible network interface is taken from the string.
The reason for this is that it is not possible to add network interface
to the sockaddr list so an extra parameter is needed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow user to specify socket service struct and port number so
that DNS servers specified in Kconfig etc are not used. This way
we can send a DNS query to arbitrary address without it affecting
the system configuration.
This is used in mDNS probing so that that mDNS responder can send
probe message and not change / configure system global DNS config.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Introduce dns_resolve_name_internal() that allows resolving a name
and not use DNS cache if caching is enabled.
This is needed in mDNS probing (RFC 6762 chapter 8.1) which needs
to send a mDNS query and not get any results from cache.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Commit does the following changes:
* Use functionality from the `babbelkit` library for common functions
related to flags, test progression (failing, passing etc.) and
synchronization between two devices. Locally defined equivalents are
removed.
* Removes the files containing only functionality that is provided
by the `babblekit` library.
* Remove the `test_pre_init_f` and `test_tick_f` functions (commonly
implemented as `test_init` and `test_tick`) from the modified tests.
These functions are not needed as they were only used to fail the test
if a device didn't complete the test within a certain time frame. This
is already handled by the `sim_length` argument used in the test
scripts.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Adds a macro returning a string representation of a Bluetooth address.
This allows you to print multiple addresses in a single printk or
LOG... call.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
To use openocd rtt shell in a non-Windows environment,
you need to turn off ICANON and ECHO.
Refer to pyocd to enable a temporary terminal and configure
it correctly.
Signed-off-by: Findlay Feng <i@fengch.me>
The Max flash size of the stm32H5 serie depends on the mcu device
from 256 to 1024 KB, in two banks.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Added support for the nucleo_wba55cg board to the uart/single_wire example.
- Updated the overlay file to configure USART2 and LPUART1 for single-wire
mode.
- Modified sample.yaml to include nucleo_wba55cg in the list of supported
boards.
- Updated README.rst to provide generic, board-agnostic instructions for
building and running the application.
Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
Added the USART2 definition to the nucleo_wba55cg device tree source file.
This enables the use of USART2 on the nucleo_wba55cg board.
Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
Rename *write_protection functions to *cr_lock, because it is not
enabling real write protection. It only blocks changing register
by software accidentally.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Building with clang warns:
drivers/sensor/st/lis2dw12/lis2dw12.c:194:23: error: unused
function 'sensor_ms2_to_mg' [-Werror,-Wunused-function]
static inline int32_t sensor_ms2_to_mg(const struct sensor_value *ms2)
^
Move the function to include/zephyr/drivers/sensor.h with the other
sensor_ms2_to* functions.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
mimxrt1040_evk and twr_ke18f need board rework for trigger mode
so dts need changed to add gpio trigger
fixes: #85444
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
The code for checking for allocated BR/EDR PSMs was potentially resulting
in an integer overflow, due to doing a <= UINT16_MAX (0xffff) comparison
on a uint16_t variable. To avoid this, use a uint32_t variable internally.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Adds cyclic support, where a multi-block transfer is automatically
reloaded to the first block after the multi-block transfer completes.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Block_ts stores the number of transfers from DMA source, not the
transferred length in bytes.
Regression from 9c4cd3057d.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Added gpio expander pca6416 support on the board, it use i2c bus to
expand IO ports.
Added GPIO test case overlay for the board.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Added gpio expander pca6416 support on the board, it use i2c bus to
expand IO ports.
Added GPIO test case overlay for the board.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Building with clang warns:
subsys/net/lib/http/http_hpack.c:21:20: error: unused function
'http_hpack_key_is_dynamic' [-Werror,-Wunused-function]
static inline bool http_hpack_key_is_dynamic(uint32_t key)
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/sensor/st/iis2iclx/iis2iclx.c:68:19: error: unused function
'iis2iclx_reboot' [-Werror,-Wunused-function]
static inline int iis2iclx_reboot(const struct device *dev)
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/sensor/st/lsm9ds0_mfd/lsm9ds0_mfd.c:42:19: error: unused
function 'lsm9ds0_mfd_accel_set_odr_raw' [-Werror,-Wunused-function]
static inline int lsm9ds0_mfd_accel_set_odr_raw(const struct device *dev,
^
lsm9ds0_mfd_accel_set_odr_raw is only used by code that was guarded by
defined(CONFIG_LSM9DS0_MFD_ACCEL_SAMPLING_RATE_RUNTIME) in addition to
!defined(LSM9DS0_MFD_ACCEL_DISABLED).
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/sensor/st/lsm6dso/lsm6dso.c:89:19: error: unused function
'lsm6dso_reboot' [-Werror,-Wunused-function]
static inline int lsm6dso_reboot(const struct device *dev)
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/sensor/st/lsm6dso16is/lsm6dso16is.c:83:19: error: unused
function 'lsm6dso16is_reboot' [-Werror,-Wunused-function]
static inline int lsm6dso16is_reboot(const struct device *dev)
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
drivers/flash/spi_nor.c:306:20: error: unused function
'delay_until_exit_dpd_ok' [-Werror,-Wunused-function]
static inline void delay_until_exit_dpd_ok(const struct device *const dev)
^
delay_until_exit_dpd_ok is only used when ANY_INST_HAS_DPD is defined.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Rename the following properties in bindings and DTS:
-- freqs_mhz => freqs-mhz
-- cg_reg => cg-reg
-- pll_ctrl_reg => pll-ctrl-reg
Signed-off-by: James Roy <rruuaanng@outlook.com>
Remove the configuration for the new USB device stack, as there is now a
separate sample that demonstrates how to use it with Kconfig option
CONFIG_CDC_ACM_SERIAL_INITIALIZE_AT_BOOT.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add sample to shows how to use the CDC ACM UART provided by the new
experimental USB device stack as a serial backend for the console.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
There are some boards and samples in the tree that use the CDC ACM UART
as the default serial backend, just like a real UART controller would.
The new device stack requires more detailed configuration than the old
one. In order to use the CDC ACM UART as the serial backend with the new
device stack in the same way as with the legacy stack, we need to
provide a solution to initialise and enable the CDC ACM UART at boot
time. We cannot use snippets as they do not support Kconfig files or
source code. Shields would be an option, but they cannot be used for
virtual devices such as the CDC ACM UART. The remaining solution is to
put the code and Kconfig file for it in the subsys directory.
Allow CDC ACM UART instance and USB device stack to be initialized and
enabled at boot time and to use it as serial backend for logging or
shell.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Fix "warning: 'cdc_acm_send_notification' defined but not used"
when Kconfig option UART_USE_RUNTIME_CONFIGURE is not used and
properly handle enqueue error.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The i.MX 91 Evaluation Kit (MCIMX91-EVK board) is a platform designed
to display the most commonly used features of the i.MX 91 applications
processor. The MCIMX91-EVK board is an entry-level development board
with a small and low-cost package.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
The i.MX 91 SoC’s integrated EdgeLock® Secure Enclave provides
security features including lifecycle management, tamper detection,
secure boot and a simplified path to certifications. The i.MX 91
family features an Arm® Cortex®-A55 running at up to 1.4GHz,
support for modern LPDDR4 memory to enable platform longevity,
dual Gigabit Ethernet and dual USB ports, along with a rich set
of peripherals targeting medical, industrial and consumer IoT
market segments.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
This driver allow to use Zephyr native IP stack or the IP stack provided
by HAL / WiseConnect.
The WiseConnect implementation may take advantage of the specific
features provided by the 917 (power consumption, speed,
validation...).
Some notable features are not available with this interface:
- It seems Zephyr does not provide API to offload multicast membership
management. User should be to directly call WiseConnect APIs
- Support for ICMP frames is difficult. Note that WiseConnect
automatically answer to ping request. It is just not possible to
send ping requests and receive ping responses.
- Zephyr and WiseConnect both support TLS offloading. However this
patch does not implement it.
- Reentrancy in the WiseConnect side is uncertain.
This implementation has been tested with samples/net/wifi/ (which relies
on subsys/net/lib/shell).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Driver was tested with a custom application which enabled the BT_SHELL.
Basic functionalities were verified:
- Scanning
- Advertising
- Connecting
Configuration needed for the test:
- CONFIG_BT=y
- CONFIG_BT_PERIPHERAL=y
- CONFIG_BT_CENTRAL=y
- CONFIG_BT_SHELL=y
- CONFIG_SHELL=y
Co-authored-by: Tibor Laczko <tibor.laczko@silabs.com>
Signed-off-by: Tibor Laczko <tibor.laczko@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
A specific section of the flash on the SiWx917 is reserved for the
Network co-processor (NWP). This zone needs to be delimited in order to
not overwrite it. We then need to use "code-partition" to provide Zephyr
the application code flash location.
Co-authored-by: Martin Hoff <martin.hoff@silabs.com>
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Report DMA configuration in the board definitions.
Note the addresses of the DMA buffers are hardcoded in the HAL. So,
these areas have to be declared in the linker file.
Co-authored-by: Sai Santhosh Malae <santhosh.malae@silabs.com>
Signed-off-by: Sai Santhosh Malae <santhosh.malae@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Implement DMA driver for siwx917 using UDMA peripheral. For now,
Scatter/Gather DMA is not yet supported.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Support for random number generator is required for most of the
cryptographic operations, including support for WiFi and TLS.
This driver has been tested with tests/drivers/entropy:
*** Booting Zephyr OS build v3.7.0-4339-g1ec5ce05f9f8 ***
Running TESTSUITE entropy_api
===================================================================
START - test_entropy_get_entropy
random device is 0x8217298, name is rng@45090000
0x93
0x3e
0xf1
0x68
0xd4
0x22
0xbf
0x4d
0xad
PASS - test_entropy_get_entropy in 0.012 seconds
===================================================================
TESTSUITE entropy_api succeeded
------ TESTSUITE SUMMARY START ------
SUITE PASS - 100.00% [entropy_api]: pass = 1, fail = 0, skip = 0 ...
- PASS - [entropy_api.test_entropy_get_entropy] duration = 0.01 ...
------ TESTSUITE SUMMARY END ------
===================================================================
RunID: d1547c805699201af769cb01331efcce
PROJECT EXECUTION SUCCESSFUL
Co-authored-by: Tibor Laczko <tibor.laczko@silabs.com>
Signed-off-by: Tibor Laczko <tibor.laczko@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This device is included on Silabs SiWx91x series. The current driver is
able to manage "High Power" and "Ultra Low Power" pins.
Co-authored-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Introduce minimal support for Silicon Labs SiWx91x family. SiWx91x
provide many device and especially Bluetooth and Wifi connectivity. This
patch prepare Zephyr to receive further drivers.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This driver is mostly the initial seed for further implementation of a
real clock driver.
It doesn't allow the user to choose the clock source for the various
peripherals. The driver hardcodes some sane values.
Note that for now, the driver snps,designware-i2c does not support
"clocks" attribute. So this patch hardcode the clock configuration in
the init of the clock driver.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Currently, ns16550 allows the user to specify a clock attribute in the
Device Tree. This node is use to retrieve the internal frequency of the
hardware block.
However, ns16550 expects the clock is already initialised and it doesn't
try to enable it. Let's fix that issue.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Since I'm already a collaborator in the Mbed TLS and TF-M areas, I would
like to help also in the drivers/crypto one because this is quite
related to the aboves.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Added a new function, bt_conn_is_type, that returns whether
the provided conn object is of the provided type.
This check is then used to ensure that the conn objects
supplied to other bt_conn function are of the right type.
The right type has also been documented for these functions.
This is an initial commit for a larger change in the BT Host,
as similar checks should be added to the L2CAP, GATT, ISO,
Audio and possibly Mesh APIs.
The type check could have been implemented by using the
bt_conn_get_info function, but that requires additional
function calls as well as memory allocation and copy.
Since bt_conn_is_type is designed to be widely used, it
was suited for its own function.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Current DSA sample is initially for ip_k66f board with a switch PHY,
while it is expected as a common DSA sample for all DSA devices.
This patch does not change any function. It only reworks the sample
with new added CONFIG_NET_SAMPLE_DSA_LLDP for ip_k66f with 3 LAN
ports.
Ideally this should be common for all DSA devices, but for now, ip_k66f
is the only platform supporting it.
As there will be more DSA functions supported, better to allow each
function enablement via option to suit hardware or device driver support
status.
Also improved dsa_ll_addr_switch_cb return value with enum value instead
of plain value.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
This is to support handling pseudo MAC during initialization, but not
to support DSA master port. Current driver supports DSA with limitation
that only switch function is available without management via DSA master
port. DSA master port support is TODO work.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
NXP i.MX NETC is a TSN capable Ethernet IP. It may support
ENETC MACs, or/and multiple ports switch.
The ENETC MAC was handled by eth_nxp_imx_netc driver.
This DSA driver is to support NETC switch device.
Current driver supports DSA with limitation that only switch
function is available without management via DSA master port.
DSA master port support is TODO work.
Take i.MX RT1180 NETC hardware as an example.
+--------+ +--------+
| ENETC1 | | ENETC0 |
| | | |
| Pseudo | | 1G |
| MAC | | MAC |
+--------+ +--------+
| zero copy interface |
+-------------- +--------+----------------+ |
| | Pseudo | | |
| | MAC | | |
| | | | |
| | Port 4 | | |
| +--------+ | |
| SWITCH CORE | |
+--------+ +--------+ +--------+ +--------+ |
| Port 0 | | Port 1 | | Port 2 | | Port 3 | |
| | | | | | | | |
| 1G | | 1G | | 1G | | 1G | |
| MAC | | MAC | | MAC | | MAC | |
+--------+-+--------+-+--------+-+--------+ |
| | | | |
NETC External Interfaces (4 switch ports, 1 end-point port)
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Add the parameters crcaps and crhdly1 in to the i3c device descriptor.
Also, retrieve the values if they are available.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Commit removes the double cdb node entry storing
into the settings if device was reprovisioned over
nppi interface.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
The Discord channel name for LE Audio has been renamed to bt-audio
The Discord channel name for bluetooth-sig has been renamed to bt-sig
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
enable ctimer clock in board.c
set ctimer0 as ok for cm33_cpu0
set ctimer5 as ok for cm33_cpu1
test counter_basic_api case passed on cm33_cpu0/1
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
When GPD is enabled, the pinctrl driver enables pin retention if the
peripheral is in the FAST_ACTIVE1 domain. This seems to break CAN, so
make sure retention is not active.
Investigations on why this is needed are ongoing, however, this makes
CAN functional again with some minor changes.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This is necessary to suppress CMake build warning due to no source file
defined for drivers__serial.
Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
If BT_ISO_BROADCAST is enabled, then we shall support
at least 1 BIG and at most BT_EXT_ADV_MAX_ADV_SET since
each BIG requires its own advertising set.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The coap_client.h header won't build if included from c++ file:
error: expected primary-expression before ‘.’ token
.value[0] = coap_bytes_to_block_size(CONFIG_COAP_CLIENT_BLOCK_SIZE),
Therefore move the actual function implementation to the library C file
to prevent this.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Developer reports build error when he uses LOG_RAW in his code
and disables logging in prj.conf using CONFIG_LOG=n.
Add test case for above described scenario.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
The 'log_flush()' function is used to wait for all pending log messages
to be processed by the background thread. This is performed by polling
the 'log_data_pending()' function, which scans all available buffers.
The log core already provides a 'buffered_cnt' variable that keeps track
of the number of pending messages. This variable is updated atomically
and could be a more efficient implementation for that check.
This commit moves the 'buffered_cnt' decrement _after_ the message
processing and buffer release, to ensure that the variable reflects
the number of pending messages at any moment in time.
The 'log_data_pending()' function is then replaced with a direct check
of the 'buffered_cnt' variable.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Added new parameter "A" in wifi connect command to support
CA certificate used or CA certificate skipped for
EAP-TTLS-MSCHAPV2 and EAP-PEAP-MSCHAPV2.
Signed-off-by: Qingling Wu <qingling.wu@nxp.com>
Add new item ulps_control in binding. If the MIPI DSI on the SoC support
ULPS, and user set the bus to enter ULPS after transfer in mipi_dsi_msg,
driver will set the bus to enter ULPS.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Remove START_PENDING flag, and replace with
bt_mesh_adv_is_empty_by_tag
not only make adv_ext.c more readable, but also enhancement
In previous implementation, after proxy started, will check
this flag, and when the flag is true, will direct stop proxy
and re-enter schedule, but has one problem, this flag set true,
but buf will be empty, such as when sending mesh relay messages
will for-each every sets, until find not-active, but also set
previous set START_PENDING flags, so will cause proxy advertising
started->stop->started.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
The first why introduce ADV_FLAG_PROXY_START
see here(https://github.com/zephyrproject-rtos/zephyr/pull/58826)
The main core change is to mark ADV_FLAG_PROXY as moving to the last
enabled proxy instead of before.
But introducing the ADV_FLAG_PROXY_START flag seems meaningless.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Due to internal dependencies on other modules init priority
the 802.15.4 priority level must be increased. Former init
priority caused the module to be initialied before those
it depends on, so that lead to hard faults.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
option struct was uninitialized in insert_option() function
during encode_options() call when the while loop wasn't
executed before.
Signed-off-by: Jakub Witowski <jakub.witowski9302@gmail.com>
The hdr_len was uninitialized when none of if-else
conditions were met in decode_delta() function.
Signed-off-by: Jakub Witowski <jakub.witowski9302@gmail.com>
From the MQTT-SN spec:
6.5 Topic Name Registration Procedure
...
At any point in time a client may have only one
REGISTER message outstanding, i.e. it has to wait
for a REGACK message before it can register another
topic name.
...
6.9 Client’s Topic Subscribe/Un-subscribe Procedure
...
As for the REGISTER procedure, a client may have only
one SUBSCRIBE or one UNSUBCRIBE transaction open at a time.
...
Until now, the library did not comply with these requirements.
An additional "waiting" state for topics was introduced:
REGISTER, SUBSCRIBE and UNSUBSCRIBE as an extra step before
switching to REGISTERING, SUBSCRIBING and UNSUBSCRIBING. The
library now makes sure that only one topic can be REGISTERING
and only one topic can be in either SUBSCRIBING or UNSUBSCRIBING.
Additionally, requesting to UNSUBSCRIBE is now denied if the topic
is not yet SUBSCRIBED, to avoid weird race conditions.
Also, added two tests that verify this behavior.
This fixes#84644
Signed-off-by: Rene Beckmann <rene.bckmnn@gmail.com>
Add word 'by' to function names to clarify which is the thing that
is found and which is the thing that is searched for. For example,
mqtt_sn_topic_find_name was renamed to mqtt_sn_topic_find_by_name
because the function does not find the name but finds a topic by
its name.
Signed-off-by: Rene Beckmann <rene.bckmnn@gmail.com>
Currently the interrupt number of the ADC node is duplicated
with other node on several RA soc. This commit aim to
resolve this issue.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
USB stack does not check api->lock() and api->unlock() return value and
all UDC drivers block without timeout in its lock() and unlock() api
implementations. There is no realistic way to handle lock() and unlock()
errors without making USB device stack API unnecessarily complex.
Remove the return type from lock() and unlock() to make it clear that
the functions must not fail.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Adds support for the SENSOR_ATTR_SLOPE_TH and SENSOR_ATTR_SLOPE_DUR
attributes These set the sensitivity for the SENSOR_TRIG_DELTA trigger
which uses the sensor's wakeup feature.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
When HTTP 101 Switching Protocols response is received, force the HTTP
parser to ignore any potential message body payload (which should
already belong to the new protocol).
This is usually not an issue, as Switching Protocols reply should
contain headers only, however it's been observed that some servers
specify chunked transfer-encoding header which tricks the parser
to wait for payload event though it never arrives.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
With spinlock debugging enabled LLEXTs need additional symbols
exported by the kernel.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When building relocatable extensions, exported symbol names might end
up in a separate section (in my case ".rodata.str1.1") for which
storage address don't match section address. To access those names
addresses have to be relalculated.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When individual axis is retrieved, it does not require the other values.
Simplify one-shot decoder to follow this pattern.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
The video_stream_start/stop() APIs are counter-symetric and have
the same function signature. Also, the implementation logic for
those driver APIs is generally the same. Merge them to save memory
and code lines.
For the sake of simplicity, still keep the user APIs to preserve
backward compatibility with downstream applications.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
When stopping, the framework calls driver's stop callback then driver's
flush callback. Hence, driver's flush callback does not need to call
stop callback again.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Building bluetooth.shell.audio.only_gtbs with clang warns:
subsys/bluetooth/audio/tbs.c:1646:6: error: variable 'ret' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (param->gtbs) {
^~~~~~~~~~~
subsys/bluetooth/audio/tbs.c:1667:9: note: uninitialized use occurs here
return ret;
^~~
subsys/bluetooth/audio/tbs.c:1646:2: note: remove the 'if' if its
condition is always true
if (param->gtbs) {
^~~~~~~~~~~~~~~~~
subsys/bluetooth/audio/tbs.c:1626:9: note: initialize the variable 'ret'
to silence this warning
int ret;
^
= 0
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
We have previously fixed an issue with shifting and
assigning the value without a cast, but coverity
is still complaining about aa[1] and aa[0] with:
"Casting narrower unsigned aa[1] to wider signed type
int effectively tests its lower bound."
Using the common function, sys_get_le24, should fix this issue.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update documentation to indicate that DMA is available on Nucleo N657x0-Q
and STM32N6570 DK boards.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Map the timer register space using DEVICE_MMIO_NAMED_MAP so if the MMU
is enabled, the register space is mapped correctly in the virtual
memory.
Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
The infineon xmc4xxx series has two ways to access flash: one is the
cacheable address space at 0x8000000 which may return pre-fetched/cached
data to reduce flash access latency, the second is non-cached space
at 0xc000000 which is mainly used for write and erase operations.
Currently the LMA is set to the non-cachable address which is not
efficient for executing in place (XIP). Instead use the cacheable
address for the LMA.
Even though the cacheable address is used for the LMA, the J-Link
probe properly figures that it has to use non-cached space for erasing
and writing to flash.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
There is no point in including source .rst files in html-output.tar.xz
as it unnecessarily slows down the creation of html-output.tar.xz as well
as transfer to/decompression on S3. Same for Doxygen XML output which is
only useful at build time.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
For some target and optimization level combinations (aarch64 and -O2, for
example), GCC will over align _isr_list_sname instances. The local isr
declaration parser doesn't expect the extra padding that may be introduced
and will produce unexpected errors about bad IRQs (`error: IRQ 1903323438
(offset=0) exceeds the maximum of 42`, for example). Prevent this issue by
forcing the expected alignment of _isr_list_sname.
Fixes#81254
Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
Current test gpios conflict with I2C SCL and SDA lines. In order to run
both I2C and GPIO test on hardware, change pins used used in
gpio_basic_api test.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Explicitly cast Kconfig option value to avoid truncation issue reported
by Coverity.
Fixes#84697
Coverity-CID: 487737
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This commit checks that ATT MTU value returned by `bt_gatt_get_mtu` is
greater or equal to 3 to prevent integer overflow.
Fixes#84693
Coverity-CID: 487743
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Ensure that ~(link.rx.seg) & SEG_NVAL doesn't result in 0.
Fixes#84804
Coverity-CID: 393090
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Thread abort of essential threads had a buglet where the panic would
be signaled but, if caught by k_sys_fatal_error_handler(), the thread
would not actually be aborted. This test wasn't validating that the
thread was actually dead (in fac, it RELIED on the thread to signal a
semaphore after its "abort"!).
Make sure it's dead and that the panic is caught. Also add a case for
aborting _current which is a separate code path that needs coverage.
Signed-off-by: Andy Ross <andyross@google.com>
The essential thread check and panic happens at the top of
k_thread_abort(). This is arguably a performance bug: the system is
going to blow up anyway no matter where we put the test, we shouldn't
add instructions to the path taken by systems that DON'T blow up.
But really it's more of a testability/robustness glitch: if you have a
fatal error handler that wants to catch this panic (say, a test using
ztest_set_fault_valid()), then the current code will panic and
early-exit BEFORE THE THREAD IS DEAD. And so it won't actually die,
and will continue on causing mayhem when presumably the handler code
expected it to have been aborted.
It's sort of an unanswerable question as to what the "right" behavior
is here (the system is, after all, supposed to have panicked!). But
this seems preferable for definable practical reasons.
Kill the thread, then panic. Unless it's _current, in which case
panic as late as possible for maximum coverage of the abort path.
Fixes: #84460
Signed-off-by: Andy Ross <andyross@google.com>
Fixed the following issues:
1) Missing guard before accessing parameters
2) Fixed bad sizeof when resetting
3) Fixed several bad offsets when removing attributes
Added tests to verify that it works now.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
K_KERNEL_STACK_RESERVED can be 0 which can give a warning with
-Wtype-limits. Only perform the check if ARCH_KERNEL_STACK_RESERVED
is set. Also remove the the unncessary sets in arch.h where it's
manually set to 0, it defaults to 0 anyways.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Adds a variation of the test which tests swap using offset mode,
based on the swap using move test
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a variation of the test which tests swap using offset mode,
based on the swap using move test
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds details on how to select this new operating mode when using
and when not using sysbuild, also includes a note about a Kconfig
being deprecated and the name of the replacement symbol
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Deprecates the old Kconfig and adds a new one which lines up with
the name of the Kconfig used by MCUboot
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a new Kconfig for selecting swap using move in MCUboot which
aligns with the proper MCUboot symbol and allows for adding
additional mode Kconfigs
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Revise the sys_mm_drv_update_page_flags function to pass a cacheable
virtual address as the second parameter to the arch_mem_map function.
This approach aligns with the implementation of the sys_mm_drv_map_page
function.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Several downstream libraries need to specify that they work with c++ 17+
or 20+ and there's no easy way to do this without constantly updating
the Kconfig file and supporting different Kconfig versions for different
Zephyr versions (since I can't add a dependency on a new c++ standard
and have it backwards compatible.
Signed-off-by: Yuval Peress <peress@google.com>
Populate the build_info.yml created by sysbuild CMake with list of
images and write the build info file afterwards.
This allows users and external tools to examine which images was
included in the build even if one or more of those images fails CMake
configure or generate stage.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Add 'images' as valid list in build info schema.
This allow sysbuild and regular Zephyr images to populate build_info.yml
with images included in the build.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit introduce support for maps in a yaml list.
The yaml_set() function has been extended with the following signature:
> yaml_set(NAME <name> KEY <key>...
> [APPEND] LIST MAP <map1> MAP <map2> MAP ...
> )
where a `MAP <map>` has the form:
`MAP "<key1>: <value1>, <key2>: <value2>, ...`
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The schema for build info already contained a `board:path` sequence tag
definition, but boards.cmake did not populate this in the generated
build_info.yml.
Fix this by correctly populating the `board:path` with list of board
directories.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
When we receive a response from a server we do not have an
outstanding request with, we disconnect the connection
rather than just ignoring it.
The reason for this is that the remote server is
not ensuring correct ATT flow control, which means
that we cannot trust future responses from the
server.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The offset value in the PSA ITS non-volatile space is dedicated to
OpenThread key reference IDs. This offset must not overwrite any
other ranges already in use within the PSA ITS non-volatile space.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
"ca.der" contains an RSA key, but this file is now useless for this sample
as the sample is using EC keys. It's likely a leftover from some initial
development, so it can be removed.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add a section with a practical example on how to build the sample in
order to test it with:
- real device
- ethernet over USB
and test it with a Linux host system.
Fix also references to overlay files that must be enabled to build the
HTTPS version.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This commit also moves the TLS (overlay) configuration to a separate file
named "overlay-tls.conf". In this way the simple HTTP (without TLS) will
not enable Mbed TLS.
A new test case is added to sample.yaml to test HTTPS scenario.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
psa_crypto_init was bounded to CONFIG_BT_HOST_CRYPTO_PRNG and
used to be called under prng_init. Updating the ifdef condition
and appropriating the function name for crypto init.
Also it is better to make sure psa_crypto_init called by host.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
This fixes out of scope IRQ lock key by using SEGGER_RTT_Write
version that locks the IRQ by itself.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
The macros placing the DMA memory buffer in the appropriate
section in RAM was malformed. This PR fixes it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Many drivers use a wrong __ASSERT in the fetch API, where they just
use SENSOR_CHAN_ALL, while it is more common fetching the specific
sensor channel (i.e. SENSOR_CHAN_PRESS, SENSOR_CHAN_ACCEL_XYZ, ...).
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Print interface status information for "net iface" command.
This is useful information when debugging connectivity issues.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The Openthread communication with RCP via UART (with HDLC protocol) is
performed with serial driver using interrupts. As it was tested with
echo_client sample program, the
CONFIG_SHELL_BACKEND_SERIAL_API_INTERRUPT_DRIVEN is defined by default for
it. This config selects aforementioned UART_INTERRUPT_DRIVEN.
Problem starts when somebody wants to integrated the driver as a standalone
one (without echo_client) as a part of user application.
In this situation the UART_INTERRUPT_DRIVEN is not defined by default and
there is no serial communication between RCP and HOST devices.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
The Atmel sam4l have generic clock 5 enabled at 1024Hz. Update sam4l
sam_tc_input_freq_table index 0 to reflect right value.
signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Enable sam4l internal factory calibrated RC32K clock source. The RC32K
was used as source for Generic Clock 5 using 32 as divider. The output
is a 1024 Hz clock that can be used by GLOC and TC0 peripherals.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Include explicitly `logging/log_backend.h` header so that non POSIX
boards can build this test. For POSIX boards, this headers was indirectly
included through `ztest.h`->`ztest_assert.h`->`tc_util.h`->`log_ctrl.h`.
Fixes#85441
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Update the nrf70 Wi-Fi driver to use the mode specific
APIs (as a precursor to enable combining modes as required).
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Snippet that helps to build USB device samples with virtual device and
host controllers and USBIP support.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The server uses host support to export a USB device to a remote
USBIP client. It supports control and bulk transfers, interrupt
transfers may also work, but this depends on the host controller used.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Allow dynamic allocation of USB devices on connected event.
Add very basic USB device validation and configuration.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Handle them in separate contexts so that the request completion callback
cannot be blocked, such as when a device connection is detected and
requires configuration.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The transfers require enpoint MPS for proper transaction handling,
assign it in the common place during transfer allsocation so that it can
be reused.
Some users, such as USBIP, may need to keep a reference to private data,
add a parameter for completion callback data.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add an opaque pointer to store upper layer private data and initialize
it with the USB host context during controller initialization. Use the
pointer in event processing to get the correct context.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add interrupt and start frame parameters and schedule transaction at
specific frame. Implement for virtual driver only.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Address parameter/argument is no longer needed because we have a pointer
to the USB device. The Attrib parameter has never been used and will be
replaced by the interval and start-frame parameters in the future.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This will allow the controller driver to access information about the
device in the future.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
With the current implementation, NACK claims all resources and prevents
scheduling multiple transfers within a frame. Place a number of
available transfers in a list at the beginning of a frame, and process
the transfers in a limited number of slots.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Implement the dequeue function and remove the timeout parameter as it is
no longer necessary and can be handled in the upper layer. The dequeue
function is required for the USBIP implementation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Do not necessarily call k_timer_init() in the uhc_bus_resume()
implementation. Restart SOF timer after bus reset and in
uhc_sof_enable() implementation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add WPA2-PSK-SHA256 security type support for embedded supplicant.
Convert wifi key_mgmt to zephyr security type.
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Add the check if dev is NULL (when iface is NULL, dev is NULL) when
setting Wi-Fi CMD, in case Wi-Fi driver init fails and shell crashes.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Setting Wi-Fi cmd only when the net interface is up, avoid the case
that driver deinit and net interface is down, then the L2 APIs interact
with supplicant and driver, which may lead to CPU exception.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Validate that the connection timeout code path works as expected when
the command buffer pool is under stress.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add check that the command buffer claimed in `bt_le_create_conn_cancel`
is not `NULL`. Fixes a fault caused by providing the `NULL` buffer to
`bt_hci_cmd_state_set_init`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Building with clang warns:
subsys/net/ip/utils.c:600:24: error: unused function 'pkt_calc_chksum'
[-Werror,-Wunused-function]
static inline uint16_t pkt_calc_chksum(struct net_pkt *pkt, uint16_t sum)
^
pkt_calc_chksum is called by net_calc_chksum, which only exists when
CONFIG_NET_NATIVE_IP is defined.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This commit adds the `Enclustra Platforms` area of maintenance, and assigns
a maintainer and a collaborator to it.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Checkout code early, so files are downloaded and read from one single
place.
Check for job results, only run script on failures.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Adds API for Advertising Coding Selection.
Introduces two new advertising options to configure the advertiser's
requirement concerning coding scheme when LE Coded PHY is configured.
While the Bluetooth v6.0 specification makes a distinction betweeen
preferred and required advertising PHY options, a simplification is
made to only expose the required PHY options. Inline with how LE Coded
PHY is implemented; this API will set both the primary and secondary
advertising PHY's to the same coding scheme.
The support is enabled by CONFIG_BT_EXT_ADV_CODING_SELECTION, and requires
a controller that selects CONFIG_BT_CTLR_ADV_EXT_CODING_SELECTION_SUPPORT.
Signed-off-by: Thomas Deppe <thomas.deppe@nordicsemi.no>
Added a build assert to limit num_pins to a maximum allowable value to
prevent potential out-of-bounds access or infinite loops.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Encoding T3 allows for an offset of up to 12bits in size allowing for a
single instruction instead of 3.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
test_arm_user_interrupt and test_arm_null_pointer_exception currently
only print "Skipped" but reports as PASS in twister. This fixes that
misleading report.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
- mpu code in soc.c for 20829 platform was accidentally removed
in a recent PR. This is its reapplication
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
Building sample.bluetooth.tmap_central with clang warns:
subsys/bluetooth/host/iso.c:2194:6: error: variable 'rsp' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (!advanced) {
^~~~~~~~~
subsys/bluetooth/host/iso.c:2202:6: note: uninitialized use occurs here
if (rsp == NULL) {
^~~
subsys/bluetooth/host/iso.c:2194:2: note: remove the 'if' if its
condition is always true
if (!advanced) {
^~~~~~~~~~~~~~~
subsys/bluetooth/host/iso.c:2137:21: note: initialize the variable 'rsp'
to silence this warning
struct net_buf *rsp;
^
= NULL
subsys/bluetooth/host/iso.c:2295:6: error: variable 'rsp' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (!advanced) {
^~~~~~~~~
subsys/bluetooth/host/iso.c:2303:6: note: uninitialized use occurs here
if (rsp == NULL) {
^~~
subsys/bluetooth/host/iso.c:2295:2: note: remove the 'if' if its
condition is always true
if (!advanced) {
^~~~~~~~~~~~~~~
subsys/bluetooth/host/iso.c:2258:21: note: initialize the variable 'rsp'
to silence this warning
struct net_buf *rsp;
^
= NULL
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Regular label are exported in the object file and cause gdb to consider
them as function start. Local labels on the other hand are not exported.
For example, using `disassemble z_arm_pendsv` after this change will
disassemble the whole function rather than stop at the first branch.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Twister supports building with multiple toolchains in the same workflow
already, so there is no need for doing this in own workflow.
This will allow us to have a few targeted tests that are built with
multiple toolchains and frees up resources spent on duplicated builds in
a second workflow.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Introduce a new harness based on pytest that does basic shell command
handling. The harness is enabeld using:
harness: shell
and expects a file with parameters in the form:
test_shell_harness:
- command: "kernel version"
expected: "Zephyr version .*"
- ...
Multiple commands and their expected output can be tested.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The function may return a BT_GATT_ERR which is a negative
value that cannot be returned as uint8_t. Change the function
to use int instead and document the return values.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The encryption functions should document the expect byte order of
inputs and the byte order of the outputs.
The sef and sdf functions were also using an older, and incorrect,
description of the input, as it only takes the LTK as per CSIP 1.0.0
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Currently, file2hex.py supports conversion of binary data into hexadecimal
character list format only. The generated list can then be used to embed
the binary data by using the list to initialize an array. However, this
approach is highly inefficient for large binary files.
A close but considerably more efficient alternative is to use string
literals composed of hex characters (in escaped form) to initialize the
array, instead of an initializer list. Benchmarking (with GCC and clang)
indicates that compile time and host memory usage by the compiler can be
more than an order of magnitude less with string literal approach compared
to the initializer list form.
The only caveat is that string literals contain the null character as
terminator so where accurate length is required, the correct length must
be specified explicitly while defining the array.
Signed-off-by: Irfan Ahmad <irfan.ahmad@siemens.com>
When PM_POLICY_DEVICE_CONSTRAINTS is enabled, we create a list of
devices with the property “zephyr,disabling-power-states” and their
respective states to lock. However, if a device is declared but not
built (e.g., due to a Kconfig option), we have an undefined reference.
This PR changes the code to use the device name instead of the
reference. This increases lookup time (which could be cached at
runtime), and we still have an entry for a non-existent device.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Introduce new DAI driver used for NXP's PDM MICFIL IP.
This block implements required digital interface to provide
a 24-bits audio signal from a PDM microphone bitstream in a configurable
output sampling rate.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Fix test_flash_area_get_sectors test for platforms
with maximum number of sectors per image slot > 1024.
Increase the support value to 2048.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
When using --coverage-per-instance, collect the test names in lcov, and
add --show-details to the html report to display those test names.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Instead of capturing the coverage data twice with
--coverage-per-instance, just merge the lcov files in the aggregation
report.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Add icm42x70 device tree file, it includes the common properties
for icm42370-p, icm42670-p, and icm42670-s.
Add icm42370-p device tree files for SPI and I2C interface.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
To support icm42370-p sensor, we renamed icm42670 to icm42x70
as the driver is similar to ICM-42670-P/S in hal_tdk module.
Keep icm42670 source and header for dedicated code.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
Added device tree nodes in imx8mp_evk_mimx8ml8_a53.dts, and also
added board overlay in gpio_basic_api test case.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
The PCA6416A is a 16-bit general purpose I/O expander that provides
remote I/O expansion for most microcontroller families via the I2C-bus
interface.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
These shouldn't be in the board _defconfig since they cannot be overridden
then. Move them to Kconfig.defconfig instead.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This commit renames the KSO16 and KSO17 for consistency with the naming
convention used for other KSO pins.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
During experiments it was observed that workqueue uses a maximum of
3872 bytes, so, with cushion added set it to 4096.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
When connecting to a WPA3 connection, the max stack size observed was
5456, fix the SoF by increasing by 200bytes (cushion added).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
It might happen now after the commit 8519fa1627 ("net: socket service
resets its restart flag") that the event has disappeared before we
call the work, if that happens we must not bail out but restart
the service.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Added steps to analyze Twister reports and upload the results
if Twister build fails
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Added script to parse and analyse Twister reports.
Failed tests are grouped together by reason of failure,
Cmake and build errors are grouped using predefined patterns.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Just ignore any EALREADY error returned when trying to register a
DNS dispatcher. This could happen if trying to init things when the
interface comes up and we have already initialized the dispatcher.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The DNS_EAI_SYSTEM error value tells that the errno value
contains the actual system error value. So set the errno
properly when there is a system error.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The sample needs a bit more resources. The existing build
assert complains about this
error: static assertion failed: "CONFIG_ZVFS_POLL_MAX must be larger than
((1 + (2 + 0)) + (3 + 3) + 0)"
include/zephyr/net/dns_resolve.h:146:1: note: in expansion of macro
'BUILD_ASSERT'
146 | BUILD_ASSERT(CONFIG_ZVFS_POLL_MAX >= DNS_DISPATCHER_MAX_POLL,
| ^~~~~~~~~~~~
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
VLANs need to be initialized before the wait_for_network() call
so that VLAN interfaces are ready at the start.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Feed the dispatcher context to dispatcher callbacks instead of
resolver or responder context. The callback can then use the
proper context because the dispatcher context contains those
two context. This allows dispatcher callback to utilize all the
information (like interface etc) stored in dispatcher context.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
As the zsock_recv_dgram() is rather large, remove the inline
keyword from it and let compiler to decide what to do with it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print the socket descriptor and interface after bounding it
successfully in order to help to figure out what sockets are
bind to one specific interface.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Restore only the socket descriptor that we marked as -1 after running
the work related to that socket. Earlier we tried to restore the whole
global array of descriptors which could go wrong and is not needed
as we only support synchronous work.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This commit updates the SMP section documentation so that it reflects the
current status of SMP support in Zephyr for RISC-V, including pointing to
hardware-based platforms that as of date support SMP.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
1. The sys_clock_idle_exit function could be invoked multiple
times. Hence add code so that is counter is stopped and the
OS Timer is initialized once.
2. Reset the OS Timer when exiting low power modes where
the OS Timer loses its state
3. Improve the cycles conversion algorithm. Round to the nearest
microsecond when converting from ticks to microsecond rather
than always rounding up to the next highest value.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Currently, the llext-edk.cmake script requires a number of variables to
be passed in from the main CMakeLists.txt file as arguments to be able
to customize the generated files.
To improve this rigid approach, the script is modified to read in the
following files in the build directory:
* 'zephyr/.config', for the final set of Kconfig options used;
* 'build_info.yml', for the cmake-related variables.
This is more flexible and also easier to maintain, as it doesn't require
manual changes to the main CMakelists.txt file when new variables need
to be referenced.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit removes all CMake- or Makefile-specific variables from the
code and instead uses a single list for each type of flag. Where a
difference is needed between the two, a special marker is used.
These markers are replaced later in the target-specific area of the
write functions.
Escaping of problematic characters is also added to the write functions,
to ensure that quotes and backslashes in the flags are properly handled.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit refactors the code that generates the Makefile and CMake
EDK files into functions that accept the file type as an argument.
No functional changes are introduced in this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch enables support for genexes in the 'build_info()' function by
identifying when arguments contain them and passing the GENEX flag to
'yaml_set()'.
Genexes are not supported in tag lists; using them will immediately
trigger an error by the schema checks.
They are also not currently supported with PATH entries, because the
actual contents of the list (whose paths are to be converted) are not
known until after the CMake code has been processed.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Added warning to the BT_RECV_WORKQ_SYS description
to explain the dangers by using this option.
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
In order to check if the desired log file exists, the backend would open
the directory, then go through all the files seeing if one of them matches
the correct filename. Simplify to just `fs_stat` the file instead.
This has the added side effect of lowering the time spent checking if the
file exists after every log. Some quick testing revealed the time spent
checking went down from ~150-300ms to ~10ms (on my specific board, with a
nRF9160 writing to a LittleFS on external flash).
Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
In Completer mode SETUP data can always be received and therefore
endpoint 0 should only be enabled for OUT Data Stage and OUT Status
Stage.
In Buffer DMA mode, SETUP can only be received when endpoint is enabled
and therefore the software has to make sure that there is a buffer
available to receive SETUP data.
Rework the EP0 buffer feeding to adhere to DWC2 Programming Guide.
Synchronize the accesses with driver mutex to avoid interrupt related
race conditions.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The transfer is finished after ZLP is transmitted. Do not re-enable the
endpoint waiting for more data.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Control OUT buffers must be multiple of bMaxPacketSize0 in Buffer DMA
mode. While the transfer can be configured to smaller values, DMA will
write data past the buffer (and transfer size counter will underflow) if
the packet on the bus is larger or if there are multiple back-to-back
SETUP packets.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Use helper functions to check whether device is operating in Buffer DMA
or Completer mode. This allows compile time optimizations to remove DMA
handling code when DMA is disabled via KConfig symbol UDC_DWC2_DMA.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Limits the scope of includes to only include some files if they
are needed, which is when a Kconfig is set
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The previous behavior was to call `fs_sync` on the file after every log
item written. In many cases, log messages come in bursts, and `log_core`
already operates in batches, configurable using
`CONFIG_LOG_PROCESS_THREAD_SLEEP_MS` and
`CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD`. Once the batch is done, the
backends get notified with `LOG_BACKEND_EVT_PROCESS_THREAD_DONE` if any
logs were processed. This is a nice time to `fs_sync` the written changes.
This change both speeds up the time spent writing logs and reduces the
amount of block erases done on the flash, as the previous implementation
erased blocks after each individual log message.
Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
Convert testing of the logging backend for file-system to include the
full implementation.
Need to disable logging and just include the unit under test to make
this simpler.
The API functions for the backend can then be called on the backend
object.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add a function generate_uuid_registry that calls the gen-uuid-reg.py script
to generate the uuid-registry.h file. If signing an image without sof,
trigger the generation of the uuid-registry.h file.
Instruct the toml file preprocessor to also use the definitions from the
uuid-registry.h file. This will allow the values placed in the
uuid-registry to be used in toml files.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
clean up usage of usage "#ifdef STM32_SRC_SYSCLK"
and code under the "#else" from
test_stm32_clock_configuration_adc.c.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
clean up usage of usage "#ifdef STM32_SRC_SYSCLK"
and code under the "#else" from clock_stm32_ll_common.c.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
This fixes DNS resolve failure (CONFIG_DNS_RESOLVER) by enabling
CONFIG_WIFI_ESP_AT_CIPDINFO_USE (AT+CIPDINFO) automatically to get
peer ip-address and port, required by CONFIG_DNS_RESOLVER.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
This commit describes how to build and run applications using
the console. This documentation is added because it may
not be obvious how this is done. That is, sometimes a user
may believe that the terminal launching the application is the
the console which is not the case.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
This makes the bsim boards more similar to their corresponding DKs.
This makes it simpler to run samples and application requiring
the use of a console.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
There seems like there is no good reason for having it disabled.
For bsim boards CONFIG_SERIAL is disabled by default, there will
anyways not be any logging on the UART.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
The nRF54H and the nRF92 series do not support the RESET_SYSTEM reset
kind. Instead one must use RESET_HARD, which this patch now implements.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The current watchdog tests assume that watchdog can be configured once
it is running. This is a concept that do not work in practice becasue
most of watchdog once configured will be locked. The tests should take
that in consideration before enable another test. The other important
details is that even when a watchdog is running it should be disable in
some controllers to allow reconfigure.
This change was tested with SAM4L watchdog controller #83475 which
allows reconfigure the watchdog once it is enabled. To do the correct
configuration it is necessary execute the wdt_disable() call.
The change will validate if the watchdog can be disabled for those
cases were the controller is not locked and fallback the test on the
contrary.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Configure the Generic Clock Generator to be used as source to RTC.
The index 4 is now reserved to RTC.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add properties to differentiate the timer counter operating modes. This
properties are necessary to spetialize the driver to be used as a normal
16/32-bit counter or to provide the clock/calendar functions.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Coverity identified out-of-bounds access. A uint8_t being cast to
an enum is undefined in that the enum can be allocated 4bytes.
Change the internal function to use the base type of the variable,
uint8_t to avoid potential compiler size alignement problems.
Fixes#81927
Signed-off-by: David Leach <david.leach@nxp.com>
Based on review feedback on #83715, bring in changes to rust documentation
to generate for a vendor neutral platform (qemu). This also brings in a
small invalid link error that had somehow made it in.
Signed-off-by: David Brown <david.brown@linaro.org>
The routine k_thread_suspend() has a fast path for non-SMP when
suspending the current thread. When SMP is enabled, it is expected
that the compiler drop the entire fast path checks because the whole
expression would always evaluate to false. However, the compiler has
been observed to only drop whole fast path check when the
"!IS_ENABLED(CONFIG_SMP)" condition appears at the beginning of the
fast path check.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Building portability.posix.timers with clang warns:
tests/posix/timers/src/nanosleep.c:180:2: error: variable 'actual_ns' is
used uninitialized whenever switch default is taken
[-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
tests/posix/timers/src/nanosleep.c:197:15: note: uninitialized use
occurs here
zassert_true(actual_ns >= exp_ns, "actual: %llu expected: %llu",
^~~~~~~~~ actual_ns, exp_ns);
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:275:41: note:
^~ expanded from macro 'zassert_true'
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:194:14: note:
expanded from macro 'zassert'
_zassert_va(cond, default_msg, COND_CODE_1(__VA_OPT__(1),
^~~~ (__VA_ARGS__), (NULL)))
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:191:16: note:
expanded from macro '_zassert_va'
_zassert_base(cond, default_msg, msg, ##__VA_ARGS__)
^~~~
subsys/testsuite/ztest/include/zephyr/ztest_assert.h:180:14: note:
expanded from macro '_zassert_base'
z_zassert(cond, _msg ? ("(" default_msg ")") :
^~~~ (default_msg), __FILE__, \
tests/posix/timers/src/nanosleep.c:152:20: note: initialize the variable
'actual_ns' to silence this warning
uint64_t actual_ns;
^
= 0
Not really necessary since there is a zassert_unreachable(), but doesn't
hurt to initialize the variable.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Building with clang warns:
tests/net/socket/tcp/src/main.c:377:13: error: variable 'c_sock' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
} else if (family == AF_INET6) {
^~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:396:15: note: uninitialized use occurs here
test_connect(c_sock, s_saddr, addrlen);
^~~~~~
tests/net/socket/tcp/src/main.c:377:9: note: remove the 'if' if its
condition is always true
} else if (family == AF_INET6) {
^~~~~~~~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:360:12: note: initialize the variable
'c_sock' to silence this warning
int c_sock;
^
= 0
tests/net/socket/tcp/src/main.c:377:13: error: variable 's_sock' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
} else if (family == AF_INET6) {
^~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:387:12: note: uninitialized use occurs here
test_bind(s_sock, s_saddr, addrlen);
^~~~~~
tests/net/socket/tcp/src/main.c:377:9: note: remove the 'if' if its
condition is always true
} else if (family == AF_INET6) {
^~~~~~~~~~~~~~~~~~~~~~~~
tests/net/socket/tcp/src/main.c:361:12: note: initialize the variable
's_sock' to silence this warning
int s_sock;
^
= 0
Not really needed since we have zassert_unreachable(), but doesn't hurt
to initialize the variables.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
When building with clang it warns:
drivers/mfd/mfd_adp5585.c:59:6: error: variable 'reg_int_status' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
if (ret == 0) {
^~~~~~~~
drivers/mfd/mfd_adp5585.c:70:7: note: uninitialized use occurs here
if ((reg_int_status & ADP5585_INT_GPI)
^~~~~~~~~~~~~~ && device_is_ready(data->child.gpio_dev)) {
drivers/mfd/mfd_adp5585.c:59:2: note: remove the 'if' if its condition
is always true
if (ret == 0) {
^~~~~~~~~~~~~~
drivers/mfd/mfd_adp5585.c:54:24: note: initialize the variable
'reg_int_status' to silence this warning
uint8_t reg_int_status;
^
= '\0'
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
The LVGL OSAL also tries to set the name of threads. Adjust the function
signature accordingly. Also deal with the fact that the type
`lv_thread_prio_t` is not part of the private api and requires a
LV_USE_PRIVATE_API symbol to be enabled.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Starting in version 8.10f, Segger's JLink now supports the nRF54L15's
Cortex-M33 core natively, being able to flash it and debug it properly.
Use this new support in the Zephyr built-in board support.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Fix compliance check script.
Arduino nano BLE - connector.dtsi pin corrections
There were several pin mappings from Arduino pin to GPIO pin
which were not correct.
This includes Arduino pins: 7, 8, 18, 19, 21
Arduino NANO 33 BLE - init turn PWR LED on
default Power LED light on.
Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
PR #84651 introduced new shell commands that don't compile if
CONFIG_THREAD_MONITOR=n
Add THREAD_MONITOR to new shell commands.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Commit adds description of key representation incompatibility
for mesh images built with different crypto libraries.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
There was a bug in pa_decode_base that would would spent time
parsing incoming BASEs and also update the receive
states, which caused some tests to fail.
This commit adds a simply check to verify that the BASE is
different before spending parsing the content and updating
the receive states.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Userspace originally required bss to precede kobject_data, as
kobject_data size was not known until the final linking stage (#21747).
#33687 reserved space for kobject_data, allowing bss to now be after
kobject_data.
Placing bss/noinit at the end of the linker script reduces the size
of a "zephyr.bin" file, as the NOLOAD sections can be excluded. It
also keeps the code common between kernel/user mode
Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
The variable block_len in function coap_next_block_for_option()
can be used uninitialized in case of empty packet in
coap_packet_get_payload(). Mute the compiler warning with
default value of 0.
Signed-off-by: Dave Lacerte <lacerte.dave@hydroquebec.com>
Removing the message buffer and printing out the message directly.
Creating a message buffer with the size of CONFIG_BT_L2CAP_TX_MTU
creates a large empty buffer, which is expensive for the stack and
can lead to a stack overflow.
This way, the sample can be more easily integrated with
other Bluetooth functionalities, such as Bluetooth OTA.
Signed-off-by: Carlo Weidinger <carlo.weidinger@protonmail.com>
Follow-up on newly introduced USB MIDI2 support.
Prefix with usbd_, use midi2 consistently.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The RFC1122 section 3.3.6 says we SHOULD drop the packets if L2 address
is brodcast but L3 address is unicast, but we had seen some Wi-Fi access
points in the field not conforming to that, and DHCP offer is dropped
due to this and causes Wi-Fi connectivity issues.
As the RFC saus it's SHOULD and not a MUST, add a config option to allow
such packets, disabled by default.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
If the to-host data stage length is less than that requested by the
host, but equal to or a multiple of MPS, the device should send a ZLP,
not receive it.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Instead of forwarding pins to the network core during the
initialization, do it just before reseting the network core. With
this approach pins can be used by the application core as long as
network core is not started.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
After commit aaefaad, flashing of the FLPR and PPR cores in the nRF54H20
was broken due to those cores missing from the _get_core() function that
retrieves the core to program, triggering an exception. Fix it by
referencing those cores and mapping them to the application core.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Some boards may define LEDs but disable them by default due to conflicts
with other peripherals. In this case, the new sample code introduced in
a5fd92b ("samples: fade_led: use all available LEDs") fails to build
with a missing symbol error.
Fix this by checking if the PWM device (the parent of the LED alias) is
enabled before using it. This implicitly discards invalid aliases.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Tickless mode is refactored to use zvfs_eventfd,
but the Kconfig dependencies were not updated.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Coverity was unhappy that
`struct ll_conn_iso_stream *cis = NULL;` was never assigned to
a non-NULL value, which is due to the assignment being
guarded by `#if defined(CONFIG_BT_CTLR_CONN_ISO)`.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Make the alignment of the RTT control block configurable, defaulting to
16 bytes. The default is chosen as PyOCD fails to discover the control
block if the 16 byte ID array falls across a 32 byte boundary.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This adds the configuration used when running PTS tests with hci_ipc to
the testcase.yaml, so they are built on integration by CI, avoiding
regression.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
XIP may indicate that the program is executed either in local memory
or flash. However, the SPI node is only used as a flash fetch device
when the program is executed in flash.
Therefore, optimize the related checks to ensure that when XIP is
enabled but the program is executed in local memory, the qspi flash
node can still be used.
Signed-off-by: Kevin Wang <kevinwang821020@google.com>
ATCSPI hardware limits single transfer to 512 bytes, so when reading
data over 512 bytes, it needs to be split into multiple transfers
Signed-off-by: Kevin Wang <kevinwang821020@google.com>
Move the memory barrier to a function that commits option bytes.
This way the barrier doesn't have to be added before every call of the
commit_optb function.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Change the return value of the write_opt function. If returns 0 if a
change of option bytes was not needed.
It gives callers of the function an information a commit of the option
bytes is needed.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Enable DAC entry in device tree and pinctrl (PB13/PB14).
Update doc/yaml files to include ADC info.
Update the sample for sam4s_xplained.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Some stm32f4, like the sm32f411 mcu have clk 48M on the main PLL output q
Some stm32f4, like the sm32f412 mcu have clk 48M on the PLL I2S output q
This PR is for selecting the right one
Signed-off-by: Francois Ramu <francois.ramu@st.com>
CONFIG_ADSP_POWER_DOWN_HPSRAM may not be defined (when it's "n") so
update the code accordingly so that power_down() is called with
correct parameters.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The erase time varies between different SPI NOR flash chips.
Some have typical erase times in the 20-25ms range, at which point the
default 50ms poll interval means we get half the possible erase speed.
With slower memory, or larger erases, 50ms might not be a lot, but for
block erases, if we are unlucky we may end up polling just as the it's
about to finish erasing, and have to wait another poll interval.
Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
- add nucleo_c071rb overlay file to setup spi and dma nodes
- Add the nucleo_c071rb configuration file to reduce the size of
SPI_LARGE_BUFFER_SIZE to avoid RAM overflow and be able
to run the test.
- update testcase.yaml for CI integration
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- add overlays and kconfig files for nucleo_c071rb board.
- update testcase.yaml for CI integration.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
add the nucleo_C071rb overlay file and enable different types of timers
that support counters.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- add nucleo_c071rb overlay file to setup adc node
- The C0 serie has two HSI clock sources, HSI48 and HSI48USB.
To make it simpler and compatible with the existing clock driver,
HSI48 is renamed to HSI (node already present in the stm32c0.dtsi).
HSI48USB will correspond to HSI48.
With SYNC mode, we have an overrun on the ADC, so we configure it
in ASYNC mode.
- Update STM32 HSI macro according to changes
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
nucleo_C071rb overlay file contains all ADC node configurations
to be able to run the sample.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- Change SPI pin signals due to conflict with USB pins
(see UM3353, section 6.10).
- Add i2C2 node needed for I2C test driver.
- Add adc as supported peripheral in the board Yaml file.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add wsen_pads_2511020213301 driver with
the corrected name and compatibility with
the hal update as well as added new features.
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
This commit enable erase command for max32xxx/max78xxx boards.
Erase command shall be passed to west flash as below
west flash --erase
Console output will like:
......
[max32xxx.cpu] halted due to breakpoint, current mode: Thread
xPSR: 0x01000000 pc: 0x000001b4 msp: 0x20004000
max32xxx mass erase complete
wrote XXXX bytes from file YYYY
Enable debug to connect in low-power mode
shutdown command invoked
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Add a common openocd configuration files for MAX32 MCUs
to simplify maintanence of them.
After this update it will be easy to add/remove new command
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Rather than disabling -Wunused-value for the entire file, explicitly
mark variables that are unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of disabling the -Wunused-variable warning for the entire file,
we can explicitly mark the variables that are unused with __unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
What is the change?
- Use a macro that search for "zephyr, memory-attr" in only
those nodes that have the property "zephyr, memory-regions".
- Fixes#83448.
Why is this needed?
- Using `DT_REG_ADDR` inside `DT_FOREACH_STATUS_OKAY_NODE_VARGS` can
lead to compiler warnings if a devicetree node has an addresses
larger than 64bits. An example of such node is wm8904 i3c with 92
bit encoding addresses `audio_codec: wm8904@1a0000000000000000`.
We can avoid this warning since this is not applicable for nodes
that have the attribute "zephyr,memory-regions".
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Reorganize for easy reference from other boards.
- Reorganized PIO documentation, creating a dedicated
"PIO Based Features" section
- Updated "Debug Probe and Host Tools" to list supported
debug interfaces.
- Simplified and standardized flashing and debugging instructions.
- Removed redundant J-Link debugging commands in favor of `west debug`
usage.
- Ensured consistent use of OpenOCD and UF2 flashing descriptions.
- Added `:ref:` links for key components such as RP2040 SoC and
Infineon CYW43439.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The property descriptions contain a lot of unneeded and driver-
specific information. As such, make them shorter while removing
driver-specific information.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The socket service restarts whenever a new socket is registered.
This is triggered via zvfs_eventfd_write(ctx.events[0].fd, 1),
but the restart flag (ctx.events[0].revents) is not properly cleared,
causing unintended repeated restarts and skipped socket processing.
Detecting socket restart is done after the socket fd has processed its
data, so the socket doesn't lose its data. Ensure the socket service
clears its restart flag (ctx.events[0].revents = 0) immediately after
detecting a restart event, preventing unnecessary restarts.
Fixes#81813
Signed-off-by: Dominic Moffat <dom@illysky.com>
The current DNS caching logic is not aware of the IP address version.
If there is a cached address for a query, the caller of
dns_get_addr_info() will receive that address, even if it is not the
same version as the caller requested. For example:
- dns_get_addr_info() is called to resolve an IPv4 address
- the DNS client caches the IPv4 address that was received
- dns_get_addr_info() is called to resolve an IPv6 address
- the DNS client sees that there is a cached IPv4 address for the
given query
- the DNS client does not check that the cached address is of the
requested version (IPv6)
- the cached IPv4 address is returned from dns_get_addr_info()
This changes the DNS client to check IP address version when searching
cached addresses.
Signed-off-by: Noah Olson <noah@wavelynx.com>
The offset in post-write callback is incorrect for TLV format as
the first data block contain TLV header. This fix is replacing
reamaning for offset in opaque context struct and passing it to
post-write and validation callback.
The fix also corrects the offset in pull context as it was pointing
at the end of the block processed data and not on the block context
prior to processing.
Signed-off-by: Dave Lacerte <lacerte.dave@hydroquebec.com>
The ADC pin assignments for the Arduino Zero, MKR Zero and Nano 33 IoT
boards were missing in the device tree files, even though the boards
advertise ADC functionality. This was highlighted recently by commit
162f728 which made it a build error.
This patch fixes the issue by adding the detailed pinout assignments
for the analog pins on these boards.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Boards used for testing need to specify the available ram and
flash to be effectively filtered. If the entries are missing,
they default to 0, so any test which specifies minimum
ram or flash excludes them. This is especially an issue if
a board is specified as an integration platform.
Added entries for:
- qemu_cortex_a53
- qemu_xtensa_dc233c
- mps2_an385
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The LLEXT test suites are quite large, and should not be built
for "small" SoCs. Filter the tests based on RAM and ROM/flash
size. The following test sizes built for nrf52840 where used
to determine min sizes:
Name: Flash: RAM:
llext.loader_build 105 80
llext.readonly 105 79
llext.readonly_mpu 140 95
llext.readonly_mmu 106 145
llext.writable 123 125
llext.writable_relocatable 117 129
llext.writable_slid_linking 108 125
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The test case drivers.eeprom.emul.build requires around 48-58kB of
RAM and 95-119kB of ROM/flash, increase and add these requirenments
to the test case. Similarly add min flash requirenment to
drivers.eeprom.build
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The stepper driver test cases only specify integration
platforms, which whitelists every other board in tree
for full CI runs. This is not intended as some platforms
are too small to run the test cases.
Whitelist target platforms using platform_allow instead.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Several advertising data function could return -1 in case of
errors, which could mess up the advertising data since they are
intended to increment a counter.
Instead of returning an error we use bt_shell_error to inform
the user and then just return with no data changes, so that if
any of them fails, the failing data is just omitted rather
than causing major issues.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This acts in a similar way to nrfjprog's --qspiini parameter introduced
in 7eb364b, but works slightly differently in nrfutil: it requires a
config file in JSON format instead of .ini, and it is passed along to
the `execute-batch` command instead of providing it together with the
`program` command.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Both backends supported as runners for nRF ICs, nrfjprog and nrfutil,
support erasing external memory as part of the programming operation.
Before this patch, and when the firmware was detected to be partially or
fully placed in external flash by inspecting the .hex address range, the
runner would instruct the backend tool to fully erase the external
flash (but the nrfjprog runner would ignore that, always erasing only
the sectors required). Instead, correctly default to erasing only the
sectors that are required to program the new firmware image in both tools,
and erase it completely only when the --erase flag is provided by the user.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Previously, the Kconfig option CONFIG_STMEMSC_I3C_I2C_WRITE_BUFFER_SIZE
has been introduced to replace i2c_burst_write with i2c_write using a
buffer combining the address and data.
See commit 5f8da77ad3
Add missing buffer size config to stmemsc_i2c_write_incr to replace
fixed buffer size.
Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
Fix a runtime bug when both CONFIG_LIS3MDL_TRIGGER and CONFIG_ASSERT
are set. The correct assertion should verify that sensor channel is
either SENSOR_CHAN_ALL or SENSOR_CHAN_MAGN_XYZ.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Enforces bitness match of ARC compilers and linkers invoked
building LLEXT apps by inheriting -mcpu flag from Zephyr.
The ARC toolchain becomes confused without the -mcpu flag.
On qemu_hs5x we see GCC select elf32-littlearc64 for
linking an object previously compiled as elf64-littlearc64.
Fixes#80949
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
The TSL2591 driver fails to initialize because the sensor responds with a
NACK on the initial RESET. Although the datasheet from Adafruit claims that
this is operation should be valid (RESET is part of the CONTROL register),
other sample non-Zephyr drivers provided by Arduino don't explicitly reset
the sensor on initialization (see
https://github.com/adafruit/Adafruit_TSL2591_Library/blob/master/Adafruit_TSL2591.cpp).
Thus, the assumption is that when the sensor is reset via software, it
doesn't respond to an ACK.
After removing the check for this initial RESET, the driver initializes
successfully.
Signed-off-by: Mohammed Billoo <mab@mab-labs.com>
Fix incorrect event_count use in CIG events when the next
CIG interval's prepare overlaps with the current CIG event.
Use separate event_count_prepare variable in ULL and copy
the value in LLL event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect elapsed events value when event prepare are
aborted in the pipeline. This can caused premature
supervision timeouts.
Relates to commit 247037bd3e ("Bluetooth: Controller: Fix
incorrect elapsed events value").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Remove ESP heap from the sources. System heap is default heap.
Use heap adapter layer to configure used heap.
Use MEM_POOL memory request config to Wi-Fi and Bluetooth drivers.
Update the Wi-Fi and BLE memory needs.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Change the condition so that ESP32 SoCs are using `_heap_sentry` to
get actual run-time heap size.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Adds a check for Kconfig settings that are disallowed from being
used in defconfig files (because it is the complete wrong place
for them), with the default entry being PINCTRL
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
The Zaamo and Zalrsc Extension (Version v1.0.0, 2024-04-25; Ratified) split
the standard A extension into two subextensions. As of date, the `_zaamo`
and `_zlrsc` extension specifications are accepted by the upstream
in-development GCC through the `march` argument. This means that those
subextensions are not yet supported by GCC shipped with Zephyr SDK.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
For Nuclei ECLIC, the interrupt level (mintstatus.MIL) is restored from
the previous interrupt level (mcause.MPIL) only if mcause.interrupt is set.
This behavior is not defined in the RISC-V CLIC spec.
If an ISR causes a context switch and mcause.interrupt is not set in the
next context (e.g. the next context is yielded from ecall), interrupts will
be masked after MRET because the interrupt level is not restored.
Use SOC-specific context to set mcause.interrupt to ensure the interrupt
level is restored correctly.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
CLIC supports mintstatus.MIL (RO) and mcause.MPIL (RW) for the current
interrupt level and the previous interrut level before a trap. Each ISR
must execute MRET to set mcause.MPIL back to mintstatus.MIL.
This commit introduces CONFIG_CLIC_SUPPORT_INTERRUPT_LEVEL to handle
mcause.MPIL for interrupt preemption in nested ISR, and uses
CONFIG_RISCV_ALWAYS_SWITCH_THROUGH_ECALL to ensure ISR always switch out
with MRET.
e.g.
With CONFIG_RISCV_ALWAYS_SWITCH_THROUGH_ECALL=n, a context-switch in
ISR may skip MRET in this flow:
IRQ -> _isr_wrapper -> z_riscv_switch() -> retrun to arch_switch()
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
This function allows to not restart DMA engine for driver that gives
new buffer to the DMA engine while a transfer is ongoing.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Improve the silabs ldma driver to support P2M and M2P transfer. It also
adds signal binding to support source request binding in the dts.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
The Sample Output section is missing a blank line before the code block
markup, resulting in the sample output text showing up with an incorrect
format. Fixed by adding a blank line.
Signed-off-by: Irfan Ahmad <irfan.ahmad@siemens.com>
The gecko_uart.c driver supports both `silabs,gecko_uart` and
`silabs,gecko_usart` compat strings, however `PM_DEVICE_DT_INST_DEFINE()`
was missing when defining `uart` type instances. The
efm32wg_stk3800/efm32wg990f256 platform enables by default one
`gecko_uart` DT node and no `gecko_usart` nodes. This results in the
following build warning/error:
uart_gecko.c:673:12: warning: 'uart_gecko_pm_action' defined but not used
Add the missing call to `PM_DEVICE_DT_INST_DEFINE()`.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
In the current pipe_api test file we inadvertantly use VLA.
Toolchains are allowed by standard to allocate VLA on
heap for example. Therefore in my opinion we shouldn't
use VLA atleast in kernel+kernel tests.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Add verification of the parameter struct, so that it returns
-EINVAL if the values are invalid.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Instead of using the bt_conn struct directly, only
access the field via the public API. This ensures that
changes to the struct won't affect PACS, unless it also
affects the public API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
It seems ZTEST has been moved to ROM in
86cadf9 and this keeps linker generator
up to date. It is also causing some
issues with IAR toolchain where pbits
are being placed in RAM.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Adds additional documentation to the callbacks of uac2_ops
to describe if/when they are mandatory to register.
Additionally add asserts before calling them to help debugging
if the user did not register the required ones.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Since a separate CONFIG_NET_TC_RX_SKIP_FOR_HIGH_PRIO was introduced for
RX TC queues, CONFIG_NET_TC_SKIP_FOR_HIGH_PRIO became ambiguous,
rename it to CONFIG_NET_TC_TX_SKIP_FOR_HIGH_PRIO and deprecate the old
config.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The family and proto type was not set for the IPv4 autoconf ARP packets.
Since those should be set for all ARP packets, just move the code
outside of the if block.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Recent versions fixed issues for EXMIF and TDM pins as well as support
for dynamic placement of the ETR buffer.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
When the UDC buffer gets submitted it should no longer reside in the
endpoint queue. While this commit does not address the underlying issue
of not being able to start transfer for whatever reason, it prevents the
problem from cascading into buffer double completion (e.g. receive
buffer double free in UAC2).
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The main thread, if configured with coop priority (don't do that :D)
breaks gpd since it has a non yielding while loop (also don't do that)
Add an explicit yield() to allow other threads to run if main or other
threads use gpd with coop prio.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Tests use nordic specific comparator api which enable it's
runtime reconfiguration.
As there were no tests prepared when introducing this api,
PR adds some to extend test coverage.
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
DWC2 otg versions earlier than 5.00a are subject to randomly occurring
glitch on Hibernation Exit by Host Initiated Resume, Hibernation Exit by
Device Inititated Resume and Hibernation Exit by Host Initiated Reset.
When the glitch happens the device address is not correctly restored.
If the address is not correctly restored then the tokens addressed to
the device will timeout leading to host resetting the bus.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Programming Guide states that bit 17 on PCGCCTL writes should be set if
the controller was enumerated for High Speed operation. Add the missing
bit set to adhere to the Programming Guide.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add additional property to allow a configurable delay to the display
initialization to allow the st7789v to be ready to receive commands.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
Make clock init functions in SOC level weak and global so they can be
overriden by board/app level.
Ideally these should have been put at board level but for now just make
them weak so they can be overriden without breaking anything.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Update the Central and Peripheral GATT write command sample
to measure throughput across all supported connection PHYs.
Cover the sample in BabbleSIM CI testing to validate the 2M
PHY throughput after all supported PHYs have been changed
once.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Workaround HCTO calculation for BabbleSIM due to need of
addition timeout value required to have anchor point sync.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect peripheral drift compensation when connection
events are overlapping and a PHY update causes the currently
used PHY to change.
Incorrect preamble to address that is calculated using
updated PHY was used causing supervision timeout.
Fixed by storing the PHY used in the current connection
event and using that for drift compensation calculation.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix connection event busy check when peripheral role is
using minimal time reservation.
Peripheral and Central have a anchor point sync if the
Peripheral has successfully transmitted once to the Central.
Fixes commit cadef5a64f ("Bluetooth: Controller: Introduce
BT_CTLR_PERIPHERAL_RESERVE_MAX")'.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit fix the pin function configuration for mii and rmii
setting of Renesas RA8 ethernet driver
Correct pin function setting for mii is
PFENET = (uint8_t)(0x1 << R_PMISC_PFENET_PHYMODE0_Pos);
and rmii is:
R_PMISC->PFENET = (uint8_t)(0x0 << R_PMISC_PFENET_PHYMODE0_Pos);
Change code to intialize ping in driver init function, change
method of getting and checking via enum index of device tree.
Add build assert for invalid phy type.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Building kernel.threads.apis with clang warns:
tests/kernel/threads/thread_apis/src/main.c:362:6: error: variable 'ret'
is used uninitialized whenever 'if' condition is true
[-Werror,-Wsometimes-uninitialized]
if (m == ISR_ALREADY_EXIT || m == ISR_RUNNING) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/kernel/threads/thread_apis/src/main.c:380:6: note: uninitialized
use occurs here
if (ret != 0) {
^~~
tests/kernel/threads/thread_apis/src/main.c:362:2: note: remove the 'if'
if its condition is always false
if (m == ISR_ALREADY_EXIT || m == ISR_RUNNING) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/kernel/threads/thread_apis/src/main.c:362:6: error: variable 'ret'
is used uninitialized whenever '||' condition is true
[-Werror,-Wsometimes-uninitialized]
if (m == ISR_ALREADY_EXIT || m == ISR_RUNNING) {
^~~~~~~~~~~~~~~~~~~~~
tests/kernel/threads/thread_apis/src/main.c:380:6: note: uninitialized
use occurs here
if (ret != 0) {
^~~
tests/kernel/threads/thread_apis/src/main.c:362:6: note: remove the '||'
if its condition is always false
if (m == ISR_ALREADY_EXIT || m == ISR_RUNNING) {
^~~~~~~~~~~~~~~~~~~~~~~~
tests/kernel/threads/thread_apis/src/main.c:329:9: note: initialize the
variable 'ret' to silence this warning
int ret;
^
= 0
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
As the C language treats 'cases' similar to 'labels' the following
error can also occur when using switch statements when it encounters
a declaration immediately after a label:
drivers/sensor/maxim/ds3231/ds3231.c:77:3: error: a label can only
be part of a statement and a declaration is not a statement
77 | const uint16_t raw_temp = data->raw_temp;
| ^~~~~
Signed-off-by: Stephan Linz <linz@li-pro.net>
Because of wrong integer type syntax following error occurred:
drivers/rtc/rtc_ds3231.c:361:76: error: unknown type name 'u'
361 | static int rtc_ds3231_alarm_get_supported_fields(
| const struct device *dev, u int16_t id,
| ^
Signed-off-by: Stephan Linz <linz@li-pro.net>
Compile warnings occurred in common standard use case
w/o RTC alarm and update.
Warning was:
drivers/rtc/rtc_ds3231.c: In function 'rtc_ds3231_init':
drivers/rtc/rtc_ds3231.c:808:33: warning: unused variable 'data'
[-Wunused-variable]
808 | struct rtc_ds3231_data *data = dev->data;
| ^~~~
drivers/rtc/rtc_ds3231.c: At top level:
drivers/rtc/rtc_ds3231.c:195:12:
warning: 'rtc_ds3231_get_ctrl_sts' defined but not used
[-Wunused-function]
195 | static int rtc_ds3231_get_ctrl_sts(const struct device *dev,
| uint8_t *buf)
| ^~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stephan Linz <linz@li-pro.net>
The Nordic nRF52 series have a peculiarity that is not shared with any
other Nordic families of SoCs: the reset pin can be reconfigured as a
regular GPIO. This has an unintended consequence: if the user has
reconfigured the pin in Devicetree to be a GPIO, `west flash` will
override that and configure the IC to use it as a reset pin, and the
firmware at boot won't be able to switch it back to GPIO, because that
requires a UICR erase. This behavior is very confusing to users, because
the GPIO does not work at all, since it is now just a reset line.
With this patch, `west flash` defaults to using soft reset instead of
pin reset for the nRF52 family of devices, to avoid overwriting the
reset pin configuration that the user includes in the image.
In order to be able to continue to use pin reset for users that so
desire it, a new option `--pinreset` is added that forces the use of pin
reset. The existing `--softreset` option is left exactly as it was, but
it is now applicable only to families other than the nRF52.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Abrobot esp32c3 oled only works with sh1106_compatible display driver.
It does not support 1306 display driver commands.
Its screen resolution is 72x40.
Its screen start position is 30, 12.
Signed-off-by: Rick Cai <wwhheerree@hotmail.com>
Changes the type of both the tm_message_sent and tm_message_received
arrays from 'unsigned long' to 'unsigned int'. The test expects those
arrays to be 16 bytes long. This was a problem on 64-bit platforms
as 'unsigned long' is 8 bytes, which made the arrays 32 bytes long.
On both our supported 32-bit and 64-bit platforms, 'unsigned int'
works out to be 4 bytes long, thereby giving us the requisite 16
byte buffer.
Although a case could be made for using 'uint32_t', this was not
chosen simply to keep the structure as close as practical to the
original thread_metric implementation.
Fixes#83864
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The update callback remains enabled after the test finishes, leaving the
RTC in a modified state. This change ensures the callback is properly
disabled, restoring the RTC to its original condition.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
Include the Epson RX8130CE RTC driver in the RTC build tests to ensure it
compiles correctly and remains free of build regressions.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
This commit introduces a driver for the Epson RX8130CE rtc.
The driver provides the following functionalities:
- Time setting and retrieval
- Periodic update interrupt support (1Hz)
- Alarm setting and retrieval (minute, hour, day)
- Frequency output control (32.768kHz, 1.024kHz, 1Hz, off)
- Power management (automatic power switching & battery charging)
- Calibration setting and retrieval
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
Move overlays and conf from boards to socs in following samples :
- samples/drivers/adc/adc_dt
- samples/drivers/counter/alarm
- samples/drivers/dac
- samples/subsys/settings
Signed-off-by: Marek Matej <marek.matej@espressif.com>
add more samples
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Allow sending empty messages - with size 0 or
msg data NULL.
In some cases these kind of messages are just an ack
(for example, in openamp_rsc_table sample).
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Fast PWM120 prevents GPIO from driving pin with low/high
state when PWM duty is 0% or 100%. In such case, regular
PWM signal generation needs to be used.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The current code is enabling the IRQ before calling the GPT_Init()
function which (beside being incorrect by design) opens the door to a
spurious irq to cause the isr function call before the init. This
corner case can be easily observed for example when running the code
inside a hypervisor/jailhouse where restarting the cell without
previous proper exit (device deinit) can cause a crash (null pointer
dereference) when an IRQ is triggered before the init.
Signed-off-by: Aziz Sellami <aziz.sellami@nxp.com>
The current code is enabling the IRQ before calling the TPM_Init()
function which (beside being incorrect by design) opens the door to a
spurious irq to cause the isr function call before the init. This
corner case can be easily observed for example when running the code
inside a hypervisor/jailhouse where restarting the cell without
previous proper exit (device deinit) can cause a crash (null pointer
dereference) when an IRQ is triggered before the init.
Signed-off-by: Marouen Ghodhbane <marouen.ghodhbane@nxp.com>
Recently I have had to debug issues with PSA and having
the returns values from PSA is very useful in order to
find the root cause of the issue.
Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
Fix correct use of serif_type if the driver is compiled with both SPI
and I2C enabled by storing it in device config.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
Reconfigure the manifest action to use a manifest specific DNM label, so
that the "DNM" one can be used by humans.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Commit dc7d8bb introduced the requirement to provide the erase kind when
executing the corresponding op, but it was forgotten in this particular
spot.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
For backends that do not autostart themselves, initialize
& enable them on `log backend <log_backend_*> go`, so
that they function properly.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
The `id` is basically a compile-time constant. Setting it every
time the backend is enabled is unnecessary. Instead, set it on
`z_log_init()` regardless of whether or not it requires to be
`autostart`ed.
Fixes an issue where the `filter_get`/`filter_set`
accessed the wrong index and displayed the wrong log level when
user accesses the status of an uninitialized backend via:
`log backend <uninitialized_backend> status`.
Also fixes an issue when user tries to list the backends via:
`log list_backends`, where all uninitialized backends will have
ID = 0.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves mqueue into a singular
testsuite at tests/posix/message_passing app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
The intention of the test is to have a meta-IRQ preempt a cooperative
thread, then ensure the same cooperative thread is resumed back to instead
of a higher priority thread. Thus, the test needs to assert that the lower
priority cooperative thread is not yet complete when it makes the higher
priority thread ready to run.
This change reveals bugs like #80574, where the meta-IRQ is unable to
preempt a cooperative thread.
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
This reverts commit 42036cdbca.
Architecture specific code should not do preemption checking before context
switch. This is already handled by the scheduler, so duplicating it would
be redundant and error prone. These checks used to be necessary, but the
scheduler has been rewritten since then and the checks were removed in
3a0cb2d35d (kernel: Remove legacy preemption checking, 2018-05-23).
The check this reverts was also incorrect, as it didn't take scheduler
locking nor meta-IRQs into account.
Fixes#80574
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
The way the instructions were formulated, it was possible for someone to
get the impression that only a specific name of the workspace is allowable.
Clarify that the name and location can be freely chosen.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This commit extends the shell command functionality by
adding three new operations for thread management.
kernel thread suspend <thread_id>:
Suspends any thread based on its identifier.
kernel thread resume <thread_id>:
Resumes the thread that was previously suspended.
kernel thread kill <thread_id>:
Terminates any thread based on its identifier
These extended commands are useful for controlling
any threads through Zephyr Shell.
Signed-off-by: S Swetha <s.swetha@intel.com>
Add support for pinctrl to cc23x0 SoC. Like for other TI SoCs,
a node approach is implemented (no grouping approach).
Signed-off-by: Lars Thalian Morstad <l-morstad@ti.com>
Signed-off-by: Vebjorn Myklebust <v.myklebust@ti.com>
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Add support for flash to cc23x0 SoC. The driver interacts with VIMS
(Versatile Instruction Memory System) internal bus standing before NVM.
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
Signed-off-by: Julien Panis <jpanis@baylibre.com>
The sample defines an image that uses RAMdisk and also provides an
option to enable USB DFU flash backend for the "slot-1" flash partition.
Assuming the user runs this sample from the slot-0 partition, uploading
to flash should work fine for evaluation purposes.
If the sample is built with CONFIG_BOOTLOADER_MCUBOOT=y, the sample will
mark the image in slot 1 as pending after an image download.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add a simpler flash backend, similar to what we have in the legacy USB
DFU implementation. Support slot-0 and slot-1 flash partitions, but
allow them to be enabled/disabled via Kconfig options.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This new implementation is written from scratch and is not tied to the
image manager and MCUboot. It allows the user to define their own
backend and use a simple macro to instantiate an image. On the USB side
this is represented by an interface. The number of possible images is
configurable using the Kconfig option, and is a fairly inexpensive
approach since it only changes the size of the pointer array. The number
of images is only limited by the number of possible interfaces in a
configuration. The class implementation does not support multiple
instances, as there is no real use for it. However, it does provide two
class instances, one for runtime mode and one for DFU mode. The switch
from runtime to DFU mode can only be performed by the user application,
i.e. the application receives a notification when the host wants to
switch to DFU mode, and then the application can disable the runtime
configuration and enable the DFU configuration. This implementation does
not support switching to the DFU mode by bus reset issued by the
host.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
In the usbd_register_all_classes(), we may need to skip some instances
as they may have very specific function like USB DFU "DFU mode" which
should not be available by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
After recent kernel changes there's some thread scheduling race when
running tests, therefore add k_yield() at the end of the test to make
sure the network stack has a chance to run in between tests.
Make sure CONFIG_NET_TCP_TIME_WAIT_DELAY is set to 0 so that TCP
connections are released immediately.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
After recent kernel changes there's some thread scheduling race when
running tests, therefore add k_yield() at the end of each test to make
sure the server thread has a chance to run and do the cleanup.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Propagate device tree configuration for the power amplifier to
the HAL configuration header.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
When the SiSDK HAL was introduced, a corresponding Kconfig option
was not. Update Series 2 SoCs to use the new option.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Enable support for warm reboot for x86 arch as per the Reset Control
Register description.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Add a DEVICE_DT_GET_BY_IDX macro to get a struct device reference for a
phandles node. This can be used directly as an argument of macros such
as DT_INST_FOREACH_PROP_ELEM_SEP.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
nRF boards have a ROM crunch esp. with combined with Matter/networking
features, as the advanced features are not essential for typical Wi-Fi
operation, disable them by default. Individual samples can choose to
enable it.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
yasinustunerg is an ADI employee and has contributed several PRs in ADI
areas, add him as a collaborator.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Explicitly add default trigger mode as none in the kconfig trigger
template for better readability.
Signed-off-by: Mayank Narang <narang.may77@gmail.com>
For the CPU-based drivers, delete the old MCUX based RTIO driver and use
the default RTIO submit implementation instead.
Rationale:
- 300 LOC -> 1 LOC to maintain.
- MCUX SDK based driver cannot control the chip select for the transfer
properly, but the new spi_nxp_lpspi.c driver can. So this fixes the
bug with the PCS when using RTIO.
Also enable the default RTIO implementation for DMA based driver.
In the future a DMA based RTIO driver with custom implementation can be
designed, but for CPU based transfer, which is already not optimal
performance, code maintenance is more important. Only requirement is
asynchronous submit, which is accomplished by p4wq in rtio workq.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Generate a proper Cmake warning when signing tool isn't available.
This also allows not to fail in Github CI.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Update stm32n6 based boards documentation to reflect addition
of new sb variant and how it could be used for twister tests automation.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
On STM32N6 based series, there is no flash available and tests
are performed using load and run in RAM.
From twister point of view, we should consider a flash is available
with the same size as RAM.
(We may tune these values later as the RAM will actually be shared
between code and variables).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
When flashing STM32N6 in USB-DFU mode, as required when running test
automation using twister, it is first required to power-off/power-on the
board to set board ready for USB-DFU (thanks to specific BootROM
configuration).
Provide a script that performs this operation using STM32CubeProgrammer.
This scipt could be provided in twister map.yaml file on 'pre_script'
property of board entry.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Implement possibility to specify options for --start and --download
arguments.
These options are implemented as lists to better fit STM32CubeProgrammer
programming model.
This options are required to enable the programming of STM32N6 in USB-DFU
mode, which requires "-d my.bin 0x1 -s noack" arguments list.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Allocate only one 'struct sockaddr_storage', instead of two separate
'struct sockaddr_in' and 'struct sockaddr_in6'. This saves some space in
case both IPv4 and IPv6 are used. Additionally it reduced preprocessor
ifdef statements, resulting in more readable code.
This also solves '-Warray-bounds=' GCC warning (reproducible with
'native_sim' and GCC version 14.2.1 on Arch Linux):
In function ‘create_socket’,
inlined from ‘smp_udp_receive_thread’ at \
subsys/mgmt/mcumgr/transport/src/smp_udp.c:242:7:
subsys/mgmt/mcumgr/transport/src/smp_udp.c:205:37: warning: \
array subscript ‘struct sockaddr[0]’ is partly outside array \
bounds of ‘struct sockaddr_in[1]’ [-Warray-bounds=]
205 | tmp_sock = zsock_socket(addr->sa_family, SOCK_DGRAM, \
| ~~~~^~~~~~~~~~~
IPPROTO_UDP);
subsys/mgmt/mcumgr/transport/src/smp_udp.c: In function \
‘smp_udp_receive_thread’:
subsys/mgmt/mcumgr/transport/src/smp_udp.c:170:28: note: \
object ‘addr4’ of size 8
170 | struct sockaddr_in addr4;
| ^~~~~
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
If a blob checksum does not match what is recorded in the
associated module.yml file, `west blobs fetch` should
(eventually) fail.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add "DNM (manifest)" to the "do not merge" labels. This is meant to be a
DNM controlled by the manifest action specific, so that the normal one
can be used by humans and the two are not going to fight with each
other.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add support for xg24_rb4187c to the ADC sample app. Configure two
channels, one measuring the AVDD supply against the 1.21V bandgap
reference, and one measuring pin PB1 (wired to button 0) against
the AVDD (VDDX) reference.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add overlays for xg24_dk2601b and xg27_dk2602a for the accuracy test.
Update the api test to use named macros for readability.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Make use of ABUS support in the pinctrl driver to allocate
analog buses, rather than hard-coding bus 0 in the ADC driver.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
z_reschedule() already has a check to determine if it is called from
the context of an ISR--no need to duplicate it in k_wakeup().
Furthermore, if the target thread is not sleeping, there is no need
to reschedule and we can do a fast return.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
1. Fixes a performance issue in k_msgq_put() to allow for a fast return
path when handling a poll event does nothing.
2. Allows for a fast return path in k_msgq_purge() when no threads were
awakened.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Updates the queue code to both allow for a fast return path in a
few routines when the operation did not wake or signal another
thread.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
When doing a condition variable broadcast, a full reschedule
is only needed if at least one thread was awakened.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Propagates the return value from z_handle_obj_poll_events()
within the message queue, pipes, queue and semaphore objects.
This allows the kernel object code to determine whether it
needs to perform a full reschedule, or if it can perform a
more optimized exit strategy.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Changes the return type of z_handle_obj_poll_events() so that it
returns true if there were polling events to handle (false
otherwise).
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
In the function `bt_l2cap_br_server_register()`, the PSM cannot be
dynamic allocated. And only pre-set PSM is supported.
Improve the function `bt_l2cap_br_server_register()` to support the
dynamic PSM allocation if the passed PSM is zero.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If GPIO_DISCONNECTED is requested with gpio_pin_configure,
it will return -ENOTSUP since rpi_pico does not support it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
There is no need to if-def away the net-stats function since there is a
shim available now.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
The `erase` command was being used but there was no "backend"
implementation for it in nrfutil nor nrfjprog. Simplify the syntax and
implement it for both tools.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
These are used to detect if the firmware image contains any values
inside the UICR for additional handling.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This is no longer necessary, because thanks to sysbuild we no longer
invoke a runner with a .hex file that is the result of merging builds
for more than one core.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Assert that the size provided to `clock_sync_serialize_device_time` is
sufficient, instead of returning an error code. The condition is already
enforced by the calling code, and returning an error code is incorrect
when the return code is unconditionally being used to increment the
buffer offset by callers.
Fixes#84720.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Do not reconfigure the SHPHLD button behavior by writing to the sticky
register in drivers: mfd, regulator: npm2100. This is removed to avoid
unexpected behaviors during or after the ship or hibernation modes.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Extend mfd_npm2100_hibernate function with pass_through argument,
which is used to differentiate between hibernate and hibernate_pt
modes.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Setting pins P0.09 and P0.10 as IO no longer as NFC
rak4631 uses these pins as IO and not as NFC.
See wise block schematics.
Changing the UICR inside the overlay to achieve this.
Signed-off-by: Carlo Weidinger <carlo.weidinger@protonmail.com>
User can assign callback functions to nrfs ipc backend
to be notified when connection is actually established.
Callbacks register needs to be done before nrfs is
initialized.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
- Add a condition to check the clock supplying the CPU to match with
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
- Correct CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC for EK-RA4W1
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
Add minimal support for Renesas EK-RA4M1 board with
basic gpio, pinctrl, uart, clock control and counter
drivers"
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
- Add device tree support for Renesas r7fa4m1ab3cfp with basic
gpio, clock control, sci, counter drivers, adc
- Add clock-frequency in renesas,ra-cgc-pclk binding to use the
clock frequency for iclk
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
- Remove redundant node adc1 on ra4-cm4-common due to unsupported
- Update interrupt number for spi1
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
According to the quick start guide of the FRDM-MCXC242 board, PTE0/PTE1
should be used for lpuart1. Enable and configure it in board dts.
Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
Fixes calling the registered callbacks for image being confirmed
if the confirmation was not successful
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Added area_is_subregion() to validate offset and size within bounds.
Ensured read, write, and erase operations check for valid memory regions.
Added null buffer check in read and write functions to prevent errors.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Under the documentation generation sections, the path to the docs folder
and the zephyr path is inconsistent with the getting started pages.
Update to match
Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
Test was staring a TX transfer and aborting it after 300 us from
the timer handler. Test was assuming that ongoing transfer will
not finish in those 300 us. This might not be true for higher
baudrates. Instead of using fixed timeout, a value is calculated
from the baudrate and targets to abort the transfer after approx.
20 bytes of 95 byte long transfer.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Fast instance in nrf54h (uart120) can generate a spurious RXTO event
some time after RXTO event that indicates that RX path is disabled.
The time when event is generated depends on baudrate and when slower
baudrates are used peripheral is disabled on time to not notice it
in the test but with higher baudates issue become visible. In order
to avoid spurious interrupt, RXTO interrupt is disabled during RXTO
event handling and enabled when RX is enabled. This workaround is
applied only for fast instance to avoid unnecessary register
accesses for slower instances.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
nrf54x devices have UARTE instance capable of using baudrate higher
than 1M. Higher baudrates does not have predefined values for
BAUDRATE register. A formula can be used to calculate BAUDRATE
value that shall be used for desired baudrate. Add UARTE_ANY_HIGH_SPEED
macro which is set when high speed is enabled (uart00 in nrf54lx or
uart120 in nrf54h20). For high speed instance use formula for getting
value that shall be written to BAUDRATE register.
When runtime configuration is not used then same formula is used to
calculate fixed BAUDRATE value.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Rename UARTE_ANY_FAST to UARTE_ANY_FAST_PD. There are 2 types of
'fast' UARTE instances. In nrf54h20 instance uart120 is in fast
power domain that requires additional power and clock management
of that domain. In nrf54lx fast uart00 instance does not require
that. Add _PD to indicate fast power domain.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add build test configurations for the silabs_acmp comparator. Enable this
build testing on all series 2 silabs boards that currently support the
comparator driver.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
Add board overlays to execute the comparator gpio_loopback testsuite on
xg24_dk2601b and xg29_rb4412a. The testsuite was executed and was seen
to pass on both boards locally with twister.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
The xg24_dk2601b, xg24_ek2703a, xg27_dk2602a, xg23_rb4210a,
xg24_rb4187c and xg29_rb4412a board yaml files were updated
to support the comparator driver. Documentation hardware
support was updated for each of these boards as well to
mention support for the ACMP hardware block and comparator
driver.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
This implements the comparator driver for silabs acmp peripherals
using the silabs,acmp compatible binding.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
Defines an acmp node for xg21, xg23, xg24, xg27 and xg29
parts, which are all compatible with the silabs,acmp
binding.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
Defines bindings that are compatible with silabs acmp.
`input-positive` and `input-negative` are required
properties to be configured by an application.
It is recommended to use the bindings generated in
`include/zephyr/dt-bindings/comparator/silabs_acmp.h`
and reference your part's design book when configuring
values for these properties.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
Generates bindings that define acmp inputs. These bindings can be
used in devicetree sources to configure the acmp's
input-positive and input-negative properties. Depending on the
part, some inputs may not be available as positive and/or
negative inputs to the ACMP, therefore always reference your
part's design book when selecting these inputs.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
This enables silabs series 2 hal source files for the silabs
acmp module to be compiled when the SOC_SILABS_ACMP
configuration is selected.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
The ACMP module is enabled with this change in the gecko
and simplicity_sdk hal libraries for development on silabs
devices. This is a pre-requisite for implementing the
comparator driver that is compatible with silabs acmp
peripherals.
Signed-off-by: Christian Galante <christian.galante@silabs.com>
Update the irq_enable macro to use the DT_INST_IRQN_BY_IDX helper.
This ensures proper handling of IRQ numbers in systems with multi-level
interrupt configurations.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Mark the XSI_REALTIME Option Group as supported, such that the
_XOPEN_REALTIME feature test macro may be tested.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a POSIX Option Group called XSI_REALTIME (with Kconfig
option CONFIG_XSI_REALTIME).
When XSI_REALTIME is selected (or when required POSIX Options
are enabled), define _XOPEN_REALTIME to be something other
than -1 (_XOPEN_VERSION seemed appropriate).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Since XSI is composed of several distinct POSIX Option Groups
split Kconfig.xsi into separate files - one for each Option
Group.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
For the REALTIME_MINIMAL Application Environment Profile, uncomment
the POSIX_MEMLOCK, POSIX_MEMLOCK_RANGE, POSIX_MEMORY_PROTECTION,
POSIX_MAPPED_FILES, and POSIX_SHARED_MEMORY_OBJECTS options.
These should have been uncommented back when Kconfig options for
those features were added, so this can probably be called a
Kconfig bug.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove arduino_gpio from supported features on pan1781_evb and
pan1782_evb boards due to them expsosing only a "reduced" Arduino header
see compatible panasonic,reduced-arduino-header
Fixes test failures in weekly CI run.
west twister -p pan1782_evb/nrf52833 -s drivers.gpio.st_2pin_arduino
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add pre-devicetree CMake configuration for SAMR34 Xplained Pro board to
suppress SPI bus bridge warnings promoted to errors in weekly CI run.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
the adc0 node is now disabled by default in the soc
enable it so that adc test passes for this board
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add an if clause to the CheckPatch Class that checks for windows os.
If windows os, check for perl installation.
If no perl installation present. Fail the check.
Without this change, CheckPatch can fail silently on windows,
as windows does not have a way to run perl scripts.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Document a C preprocessor limitation that prevents "nested" use of
for-each style devicetree macros in the way users sometimes expect.
Put this in the devicetree.h header where it will show up in the
detailed doxygen description in our HTML documentation, in addition to
being in the sources themselves for people who prefer to look for
docstrings there.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
Fixed a typo in BUILD_ASSERT macro causing driver to effectively fail to
compile as seen in:
west twister -p sam_v71_xult/samv71q21b -s drivers.dac.api
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Based on few tests, it was observed that WPA supplicant's maximum usage
for connection and disconnection is 4360.
This would save ~4K which is huge as we have a crunch for RAM.
This was missed when hostap was upstreamed from NCS.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The current soc clock_init only configures the FlexSPI1 interface and
not the FlexSPI2.
This Commit adds the clock configuration for the second FlexSPI
in case one boots from the FlexSPI2.
Signed-off-by: Felix Schramek <felix.schramek@gmail.com>
lwm2m_gw_handle_req() function logic expects that at least one URI
option was found, therefore add an extra check to return the function
early if that isn't the case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Implement the HAL callback function `HAL_PCD_ISOINIncompleteCallback` in
which the endpoint write semaphore is given back, thus allowing subsequent
writes to the endpoint after an isochronous transfer has been incompleted
(not read by the host).
This approach was chosen because it is similar to what is done in the
already implemented HAL callback `HAL_PCD_DataInStageCallback` which also
gives the write semaphore back but also calls the endpoint callback
function.
The reason for not also calling the endpoint callback function is because I
do not see any appropriate cb_status (`enum usb_dc_ep_cb_status_code`) to
pass. If passing `USB_DC_EP_DATA_IN` is okay even though "In transaction
done on this EP" is not completely true, then this should also be added.
This has been tested by setting up an isochronous endpoint, writing to it,
and verify that `HAL_PCD_DataInStageCallback` is called and subsequent
writes are possible.
Signed-off-by: Algot Axelzon <algot.axelzon@satcube.com>
Add a sample application that demonstrates how to use the new USB-MIDI 2.0
device class. This shows how to set up the device tree, how to exchange
MIDI data with the host, and how to use the data accessors provided by
the new API.
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
This adds a new USB device class (based on usb/device_next) that implements
revision 2.0 of the MIDIStreaming interface, a sub-class of the USB audio
device class. In practice, the MIDI interface is much more simple and has
little in common with Audio, so it makes sense to have it as a separate
class driver.
MIDI inputs and outputs are configured through the device tree, under a
node `compatible = "zephyr,usb-midi"`. As per the USB-MIDI2.0 spec,
a single usb-midi interface can convey up to 16 Universal MIDI groups,
comprising 16 channels each. Data is carried from/to the host via
so-called Group Terminals, that are organized in Group Terminal Blocks.
They are represented as children of the usb-midi interface in the device
tree.
From the Zephyr application programmer perspective, MIDI data is exchanged
with the host through the device associated with the `zephyr,usb-midi`
interface, using the following API:
* Send a Universal MIDI Packet to the host: `usb_midi_send(device, pkt)`
* Universal MIDI Packets from the host are delivered to the function passed
in `usb_midi_set_ops(device, &{.rx_packet_cb = handler})`
Compliant USB-MIDI 2.0 devices are required to expose a USB-MIDI1.0
interface as alt setting 0, and the 2.0 interface on alt setting 1.
To avoid the extra complexity of generating backward compatible USB
descriptors and translating Universal MIDI Packets from/to the old
USB-MIDI1.0 format, this driver generates an empty MIDI1.0 interface
(without any input/output); and therefore will only be able to exchange
MIDI data when the host has explicitely enabled MIDI2.0 (alt setting 1).
This implementation is based on the following documents, which are referred
to in the inline comments:
* `midi20`:
Universal Serial Bus Device Class Definition for MIDI Devices
Release 2.0
https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf
* `ump112`:
Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol
With MIDI 1.0 Protocol in UMP Format
Document Version 1.1.2
https://midi.org/universal-midi-packet-ump-and-midi-2-0-protocol-specification
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
Make sure the tests work if VLAN count is set to 0. This means
that only priority tagged (tag 0) VLAN frames can be received.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If VLAN count is set to 0, then only priority tagged VLAN frames
that have tag value 0 can be received. Also this means that VLAN
interfaces are not created which can save memory if you do not need
to receive any other VLAN frames than those tagged with value 0.
Fixes#84023
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Remove the LL_RCC_PLLI2S_ConfigDomain_48M for the stm32f4
w/o Q divider on the PLLI2S to configure the PLL48CK
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Check that the plli2s has a DIV-Q output or not. That depends
on the PLLi2S of some stm32F4xx devices
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Due to a copy-paste error, it duplicated `ttgo_lora32/esp32/procpu`.
Also, remove the `lora` tag, as it seems to be omitted from devicetree.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Consolidate all style guidelines into one place, moving cmake style
guidelines under the contribute section.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Give a more detailed explanation of the expectations towards a handler
registered with the NET_L3_REGISTER-facilities.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Ensure that all packets are no longer used by ethernet_recv after it was
consumed by the l3-handler.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
`lwm2m_send_message_async` returns critical errors which are not handled in
many cases. The function can return -ENOMEM, -EPERM or other error codes
from functions called.
Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
The pixel format was set to PANEL_PIXEL_FORMAT_RGB_888 which resulted
in horizontal lines of wrong color ... with PANEL_PIXEL_FORMAT_RGB_565
everything looks good.
Signed-off-by: Michael Kaplan <m.kaplan@evva.com>
Similar to how we have a button in code samples' READMEs,
this helps direcly taking the reader to the board's sources
on GitHub
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When pytest is executed, it only writes logging messages to the twister
harness, and does not include information about any test assertion
failures. This information is printed to stdout, so simply write
the contents stdout to the harness log.
Remove the log file arguments previously passed to pytest, as these are
no longer needed.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
The sample app draws rectangles in the corner of the display.
On devices with the SCREEN_INFO_X_ALIGNMENT_WIDTH capability,
each draw needs to transmit a complete line. Make the sample
work on such displays (e.g. the `ls0xx` driver) by making the
rectangles take up the full width of the display.
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Fixes a multitude of Kconfigs that wrongly appear on devices
where support is literally impossible
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Introduce `UDC_STM32_CLOCK_CHECK` Kconfig option since
`USB_DC_STM32_CLOCK_CHECK` was intended for use with `usb_dc_stm32.c`,
which is mutually exclusive with `udc_stm32.c`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Add a configuration option to skip the rx-queues for high priority packets
analogously to the tx-side.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Add a Kconfig option which can be used to enable vendor HCI extensions for
Silicon Labs EFR32 devices.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
nRF70 can only choose a single security method due to limiting memory,
so, add individual tests to ensure build.
This is based on tests/net/wifi/configs test.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Updated list of partition tables generated using the following schemes:
- 'default' for most single core applications,
- 'amp' for the multi core applications using AMP.
The allocation rate for PROCPU and APPCPU usage is 3:1.
Added partitions for low-power (LP) cores to allow updates.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
In case channel_setup is called with a new attenuation
config, make sure previous calibration scheme is deleted properly.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Remove ADC2 support (identified as adc1 entry)
for additional ESP32-C3 based board targets.
Other boards have those instances already deleted.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This file defines some of the most important properties in the
devicetree, including core concepts like 'compatible', 'reg', and
'interrupts'. For some reason, we've never prioritized writing up
proper descriptions that indicate their importance or show where the
user can get more information about them in the specs or elsewhere.
Give this file a once-over to improve the situation.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
Although it's quite unlikely that we will see shared memory
objects in practice that are greater than 2GiB, there is a
possibility of integer overflow when comparing intptr_t and
size_t, since the former is signed and the latter is unsigned.
Explicitly check to ensure that the addend is less than
INTPTR_MAX before subtraction.
This fixes CID 487734
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The nsem_list_unlock() static inline function looks as though it
was designed to always ignore the return value of
k_mutex_unlock(), presumably for performance reasons.
A quick audit of the code looks as though the call should
always succeed.
Prepend (void) to the call to avoid the coverity defect in the
future.
CID 444386
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
To avoid starvation of a traffic class by another, limit the maximum amount
of packets, that can sit in a single traffic-class-fifo to a fraction of
the maximum amount of available packets. In the tx-case also reserve
packets for direct sending, in the case, where
CONFIG_NET_TC_SKIP_FOR_HIGH_PRIO is enabled.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Without this patch the hdlc_iface_init() function assigns to
ot_hdlc_rcp_context structure pointer (*ctx) value of 0, as in the
NET_DEVICE_DT_INST_DEFINE() preprocessor macro the 'data' field is
set to NULL.
Afterwards, the ctx->iface is set to iface address passed to the function
(as well as the ctx->ot_context is set).
Writing those values to address 0x0 is catastrophic to for example
mimxrt1020, which uses ITCM memory (mapped from 0x0) to store flash
handling functions, as those are used to XIP code directly from
SPI NOR memory (as mximxrt1020 doesn't have internal flash).
In this particular case - the flash_flexspi_nor_erase() function is mapped
(i.e. relocated) to ITCM's 0x0 address. Overwriting first 8 bytes of it
causes the SoC to enter "Precise data bus error" exception.
The fix is to define the static instance of struct ot_hdlc_rcp_context
and pass its address to the NET_DEVICE_DT_INST_DEFINE() macro. As a result
its storage is now in RAM, not ITCM.
This issue has been discovered on UART based HDLC RCP communication, but as
it also may be problematic on the NXP driver, this patch fixes it too.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
To fix the native hardware chip select, we need to rewrite this driver
to not use the MCUX SDK handle abstraction, which does not fit the
zephyr use case.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add functions to get remaining length in the transfer. Refactor a bit to
avoid duplicate code for the for loop that is the same as in the total
length function.
The difference between the total length and left length function is that
the current buffer total length is counted in the former and the current
buffer remaining length is counted in the latter.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add properties for describing RX and TX fifo sizes.
Also reformat some descriptions and fix the description of the
transfer-delay property which was incorrect. Since zephyr spi bufs are
not continuous, every possible Zephyr LPSPI driver must use
continuous transfer mode, for which the meaning of this delay has
nothing to do with the chip select.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is no such thing as associating a compatible to a child binding
so remove this from the nxp,dmic binding definition and devicetree files
that incorrectly set one.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The GPIO peripheral on Silabs Series 2 devices is responsible for
allocating analog buses to analog peripherals. Enable support for
this in the pinctrl driver. Since these bus allocations are not
digital pins, introduce a new property silabs,analog-bus for this
purpose.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The event monitor did not handled IPv4 multicast address
addition or deletion information.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
To simplify debugging what event code is missing from the
events shell module, print also event id for the for unknown
events. This way it is a bit easier to figure out what the
unknown event is.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print Ethernet carrier on/off and VLAN tag enabled/disabled
status when monitoring events.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Node properties are not created for all properties defined
by the node's binding (Binding.prop2specs),
only for those that actually have a value.
Signed-off-by: Christophe Dufaza <chris@openmarl.org>
PropertySpec.path does NOT tell "the file where the property
was last modified", but instead the binding file specifying
the devicetree node of which this is a property.
See: #65135
Signed-off-by: Christophe Dufaza <chris@openmarl.org>
In `--coverage-per-instance` mode for 'gcovr' merge individual
coverage.json reports into the aggregate code coverage report
instead of processing .gcda data files again.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
With this change, the coverage data (GCOV dump) is extracted from the
test log files after each of the test instance parallel execution,
instead of post processing all the logs at the end of the Twister run.
The new `--coverage-per-instance` mode extends Twister coverage operations
to report coverage statistics on each test instance execution individually
in addition to the default reporting mode which aggregates data to one
report with all the test instances in the current scope of the Twister run.
The split mode allows to identify precisely what amount of code coverage
each test suite provides and to analyze its contribution to the overall
test plan's coverage. Each test configuration's output directory will have
its own coverage report and data files, so the overall disk space and
the total execution time increase.
Another new `--disable-coverage-aggregation` option allows to execute
only the `--coverage-per-instance` mode when the aggregate coverage
report for the whole Twister run scope is not needed.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Group Twister code coverage command line arguments for better usability.
Add more details in descriptions.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
When reprinting the shell command buffer with long user inputs, the
reprinted buffer may cross a line boundary, and require a newline to be
printed. For these cases, print the command buffer character by
character, inserting newlines as appropriate.
Fixes#82155
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
nRF5340 SoC supports retained_mem driver, which can be
utilized for RAM retention in System OFF sleep mode.
Add sample configuration confirming this.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Code is now incorporated into SystemInit() function of MDK 8.69.1,
which is integrated within nrfx 3.10.0.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Makes the esp_console_init() calling during hardware initialization
conditioned to CONFIG_ESP_CONSOLE
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
Cast sector_count and sector_size to uint64_t to prevent potential
integer overflow when calculating total device size in
disk_access_device_size().
Fixes Coverity issue CID-322647
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
properly check return code from i2c_reg_write_byte_dt effectively
making it possible for gpio_npm2100_port_set_masked_raw to error out since:
if (ret != 0U) {
return ret;
}
was dead code before this fix.
Fixes CID-444376
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a check to ensure the frame size does not exceed the video buffer
size defined by `CONFIG_VIDEO_BUFFER_POOL_SZ_MAX`. Even if the sensor
supports the resolution, the frame size could overflow the buffer.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Ensure the DCMI video buffer is released only after the DCMI
has been fully stopped. This prevents potential access to the
buffer while the DCMI is still active, avoiding undefined behavior.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
One of the collaborators of Networking: OpenThread is not active
anymore and was replaced by another one.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
MCUboot's imgtool requirement has been moved directly to MCUboot
which can be installed using west packages if needed, remove it
from Zephyr's requirements
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The commit marks stream_flash_erase_page as deprecated.
After the function is removed users will have to rely on stream
flash to erase space it needs prior to write.
The stream_flash_erase_page has several issues like using non-relative
offset for erases, allowing to destroy data already written or even
erase out of area available for stream flash.
This fixes#67407
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Keep on testing the function but fix logic where applicable
and remove last_erased_page_start_offset which has been replaced
with erased_up_to in stream_flash_ctx.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Switches flash_sync to use stream_flash_erase_to_append
instead of stream_flash_erase_page in preparation of deprecating
the later and reming control on erase from API user.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add tests to the YAML suite for generator expressions. The test checks
that generator expressions are handled as expected at different stages:
- immediately after yaml_save(), the file must contain only non-genex
entries;
- at a later time, after the target has been built, the file must
contain all the expanded genex values.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit adds support for generator expressions in values and lists
to the yaml module.
Generator expressions can only be expanded by CMake after all
configuration code has been executed and the final values of the project
properties are defined. This means that contexts that contain generator
expressions are written twice:
- immediately, during the 'yaml_save()' call, a comment with the raw
unexpanded string is saved instead of the key that uses generator
expressions in the YAML file;
- after the configuration step, a custom command updates the YAML file
contents with the fully expanded values.
This two-step process also allows to overcome the issue of lists that
are extracted from generator expressions, whose elements would be
expanded into a single string if written directly to the YAML file.
Instead, the lists are stored in their CMake string format with a
special marker, expanded by CMake into a temporary JSON file, and the
conversion to a proper list is performed during the build step.
If the saved YAML file for context <name> is needed by further build
steps in this project, the target '<name>_yaml_saved' must be added as a
dependency to ensure the final contents are ready.
Note that when generator expressions are used in the context, the GENEX
keyword must be provided to yaml_set(). This is necessary to avoid
storing the genexes as raw strings in the YAML.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
To verify proper functionality, the YAML module test suite is now run
twice: once in the regular CMake project mode and once in the CMake
script mode.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This introductory commit removes the ignored 'actual' variable from the
'yaml_set()' calls in the tests to make the code cleaner. Also, a badly
indented block is fixed in the 'message()' macro.
No functional change is introduced by this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This introductory commit refactors the `yaml_set` function separating
the bodies of list operations into internal functions while preserving
their original behavior.
The conditions that cause the value to be interpreted as a list are also
verified only once, avoiding multiple checks.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The strcpy is unsafe so use strncpy and pass the ssid length
as a maximum amount of chars to copy.
Fixes#81917
Coverity-CID: 434719
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The wifi_scan_result struct needs to be initialized to 0 so that
the ssid gets properly null terminated.
Fixes#81971
Coverity-CID: 434570
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The recvmsg() function should not modify the buffer configuration
provided in struct msghdr, such behavior is not specified in the POSIX
function description, nor is it consistent with well-known behavior of
this function in Linux.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure that buffer configuration and buffer lengths provided in
struct msghdr are left intact after being processed by recvmsg().
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure that buffer configuration and buffer lengths provided in
struct msghdr are left intact after being processed by recvmsg().
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The usbd_uac2_send function sometimes took ownership of the
provided buffer in error cases, and sometimes not.
The commit modifies the function so that ownership is never
taken in case a non-0 return value.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
As the CoAP library was refactored to handle response
messages as stated by RFC, the LwM2M message handling was
untouched.
LwM2M Notify handling is relying on response callback
to be called, but as per CoAP RFC an empty Ack is not
actually a response and the callback was not called anymore.
Fix the issue by calling the response callback when
we receive an empty ack for any confirmable response
messages.
This should not affect any handling of CoAP requests.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
If BLE has already been enabled, `bt_enable` returns immediately
and does not call passed callback function.
In this case, call `bt_conn_cb_register` to ensure that callbacks
are registered correctly.
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Modify the BAP Broadcast source sample to use the next USB stack.
For simplicity, the changes are minimum and will still do the
same downsampling, and thus use a fixed 48KHz audio input.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update the HW models module back to the main branch,
2570f4a697ce2d860ff39ec34afd91749bd66d3
leaving behind zephyr_2025_01_22
* 68df9ed Force build of cracen hal even if HAL is not 3.10
As the nordic HAL has been updated to be this version, we do not need
this hack in the HW models anymore to be able to build the CRACEN HW
models for the nrf54l15.
This update includes the following new commit in main:
* 2570f4a docs: Do not list the RTC as included for the 54L15
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This is a follow-up to commit 12eee61533.
Explicitly enable "PSA_WANT_ALG_ECB_NO_PADDING" to select the AES ECB
mode that it is used in CMAC operation.
This is done because CMAC uses AES-ECB, so both AES and ECB must
be explicitly enabled. Previously it worked because Mbed TLS is
not currently performing any check internally on this and it's
just enabling ECB automatically.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
The goal of this test is to ensure that setting the device name by
writing to the GAP 'Device Name' characteristic work as expected.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
The function used to write the value of the GAP Device Name
characteristic now ensure that the string passed to `bt_set_name` is
null terminated.
Also fix a wrong offset calculation.
The function used to write the value of the GAP Device Name
characteristic was returning an error when the offset + the length of
data to write was superior **or equal** to the maximum size of the
device name.
This caused the actual maximum device name size to be reduced by 1 byte.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
State that the name given to `bt_set_name` must be null terminated.
If not, the behavior of the function may be wrong as it's using `strlen`
to get the length of the given name and `strcmp` to compare it to the
current device name. Both of those functions expect null terminated string.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
PR #77335 intended to remove sensor
specific samples and missed a readme file.
This commit removes that file and empty directory.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
In situations where a test won't be run because there is a gap
in the hardware support, add the gap information to the "reason"
field to aid in debugging test cases.
With this change, the reason field for the error in test case
will show the gap:
e.g. reason field now updated with gaps
"No hardware support {'usbd'} but is one of the integration platforms"
Signed-off-by: David Leach <david.leach@nxp.com>
I was a devicetree maintainer for several years, but had to step away
from the role for various reasons. I've received approval to resume
this work at my current employer. Add myself to the maintainers list
and restore the 'maintained' status of the subsystem.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
Add an example of using Twister for an 'out-of-tree' application's
code coverage report generation with `--coverage-basedir` option,
and a note about `gcovr` tool possible problems with symlinks.
Fixes: #83764
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
The user of the ft8xx driver can register a callback function called
on a touch detection interrupt event. This function is extended to
include a user-defined pointer. The user-defined pointer helps to share
a callback with multiple driver instances.
Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
Improve the FT8xx display driver to support multiple driver instances.
The ft8xx_reference_api.h still follows the FT8xx programming guides,
limiting the usage of the driver to one instance.
Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
The station-mode channel scan method is currently set to WIFI_FAST_SCAN
which ignores the signal strength and connects to the first channel found
which may result in poor WiFi bandwidth.
Change the scan mode to scan all channels and connect to the channel with
the highest RSSI.
Fixes#84488
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
i2/3c_burst_write comes with a warning where this combined write
synthesized by thsi API may not be supported by all I2/3C
devices. Replace with i2c_write instead with a buffer combining
the address and data.
The Kconfig STMEMSC_I2C_WRITE_BUFFER_SIZE was added to set the
size of the buffer pushed to the stack.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The current tests should fail because the DMA controller now is disabled
by default in the devicetree. This add specific configuration to enable
the DMA controller and decalre the amount of bytes to be transfered to
allow small devices not fail in the link phase.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
The #83556 fixes an error related to DMA initialization which resets
the DMA CRC part. However, the samd/e5x do not have this module inside
DMA controller which causes a compile error. This fixes the issue
checking if the DMAC_CTRL_CRCENABLE macro is defined.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
There's no point building the sample for platforms that do not support
networking, hence add netif dependency to reduce the CI execution
scope.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The conversion from IPv4 string presentation to numeric value
did not check if the individual address value was between 0 and 255
inclusive.
Add also test case for this.
Fixes#84593
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It was possible that allocation was continuously attempting to find
space. It could happen if allocation interrupted consuming a packet
(which is marked as busy) and there is not enough space to allocate
requested packet but there would be if busy packet was freed.
Algorithm in that case was continuously going through the buffer
in search for packets that can be dropped to find space for the
new packet.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Adds support for the primary m4 core to configure the boot address and
start the clock for the secondary risc-v core. Unlike the msdk which
defers this function to applications and requires users to copy/paste
code from an msdk example application into their own application, in
zephyr it is implemented in the common soc init routine of the primary
core. It can be enabled/disabled and configured with Kconfig symbols and
a devicetree chosen node, allowing applications to override board-level
defaults if desired using overlays instead of modifying zephyr code.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Refactors the max32 soc family configuration to allow socs with cores
other than arm cortex-m4. This will make it possible to add support for
the secondary risc-v core that exists on some max32 variants.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
- Update the overlapping irq number between port_irq4 and spi1
- Remove irq number for sci9 as it exceeds the limit (32 irq numbers)
Now users will define the irq numbers themselves
Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
In CMake, unless explicitly disabled, the 'add_library()' and
'add_executable()' functions add their result to the ALL target.
This is undesirable for 'add_llext_target()', since it causes the source
files for all defined extensions to be compiled even when the extension
is not otherwise used by the build process.
Add 'EXCLUDE_FROM_ALL' where appropriate so that the object files are
only built when the extension is actually used by the project.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Adds support for testing sensor shell streaming
on the vmu_rt1170 with RTIO.
Co-Authored-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Makes driver actually build again.
Fixes scaling, q32 encoding, bit shifts, and register mappings.
Also enables High Resolution mode (a unique and beneficial
feature of the chip when used with streaming).
Co-authored-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
In commit 6e9e839195, an indirection via
the new `options` dictionary was missed in the SUIT handling.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The PACS flags were incorrectly defined without
ATOMIC_DEFINE and then it treated the atomit_t as an
array with the atomic functions.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
test_main can call ztest_run_all multiple times. For example
tests/bluetooth/host/keys/bt_keys_get_addr/src/main.c does so. If the
first call skips some tests and then they run in the second call,
everything is fine. However if they passed or failed in the first run
and skipped in the second run, then the test output (json, xml, and
printed summary) show the test as skipped even though it ran.
The solution is to not clear the test stats.
__ztest_init_unit_test_result_for_suite was added in commit
996c8457d7 by nashif.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
There is a HW bug in nPM1300 LDO which causes the LDO output voltage to
reach its target very slowly in specific cases. This is worked around by
performing an additional i2c read shortly after an LDO is enabled.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
As our implementations do not meet all of the requirements of a
POSIX.1-conforming implementation.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Add a config structure and move few pointers that don't need to change
into it, save few bytes of SRAM.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix a void* to k_thread_entry_t conversion (that is silent in GCC but
not so in some other tools) in _is_valid_prio()
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
The scan events are always enabled which means if another software
component requests a scan, then the WiFi shell scan printouts will
also be sent to the shell.
Only enable the network management scan events when a user has
requested a scan.
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
Hello world from the tests is no longer what it once was, a simple
hello_world function that prints. The sample was here to let people
explore and learn about how LLEXT and ELFs work.
Moving the sample extension code to the shell loader sample disconnects
the two and lets the sample remain simpler.
We use the new CONFIG_LLEXT_IMPORT_ALL_GLOBALS to show how to build
an extension with and without the Zephyr build system.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The new CONFIG_LLEXT_IMPORT_ALL_GLOBALS option allows all global symbols
from extensions to be used by the main application. This is useful to
load basic extensions that have been compiled without the full Zephyr
EDK.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Make sure the buffer used to load the hex file is aligned to a sensible
value; at least word size is assumed by the LLEXT APIs.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The shell command 'llext list_symbols' currently iterates over the
'sym_tab' table. This is valid only inside 'llext_load' and is freed
before returning, so it will always be empty in shell context.
Fix it to display 'exp_tab', which is the one used at runtime by LLEXT
to provide symbols to the main application.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Some NXP socs use USBFS0 macro as base address for accessing the USB
registers, rather than USB0.
It generates compile-time errors, since USB0 is not defined.
Fix by defining USB0 if USB0 is not defined and USBFS0 is.
Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
Similar to e770128c2. Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
does. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Similar to 923d4fbad8. Prevent overrunning the irq vector table.
This is not happening today in tree, but coverity thinks it
does. Checking for it to prevent it is not a bad idea
anyhow, so let's do it.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Similar to 66a4fe32ce. Prevent overrunning the irq vector table
in posix_irq_priority_set. This is not happening today in tree,
but coverity thinks it may. Checking for it to prevent it is not
a bad idea anyhow, so let's do it.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Currently altitude is only provided above MSL. Adding
geoid seperation allows for ellipsoidal height to be
determined.
Signed-off-by: Maxmillion McLaughlin <max@sorcerer.earth>
The `nrf7002dk` board has a WiFi chipset supported by in-tree drivers.
Mark it as a supported feature so that `twister` filters are matched.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Added board support for MIMXRT1060-EVKB board. These hardware
connections and build also pass the test on the EVKC revision.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Added rak3172 breakout board which is base on stm32wle5cc chip.
Testd with:
- `samples/hello_world`
- `samples/subsys/shell/shell_module`
Flashed samples via pyOCD:
- west flash
Signed-off-by: Kenneth Lu <kuohsianglu@gmail.com>
This reverts commit b1a27a77a2.
as it's part of a series of commits causing issues on Windows
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit f24f5288f3.
as it's part of a series of commits causing issues on Windows
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit 034c36cfad.
as it's part of a series of commits causing issues on Windows
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit f67939bf7e.
as it's part of a series of commits causing issues on Windows
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit 8f48758836.
as it's part of a series of commits causing issues on Windows
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Plus refactored the structure of the overlay files.
The wiring of the new test is the same as the existing spi tests
for rpi-pico.
The speed of the fast test has to be reduced to ensure signal integrity.
Setting CONFIG_SPI_ASYNC will trigger a hard fault. Seems to be a bug in
the driver.
Signed-off-by: Terry Geng <terry@terriex.com>
Initialize the cyhal_sdio_config, such that the init
function won't do the pin configuration.
The gpios are setup using the zephyr pinctrl driver already.
Before the latest hal update the values were ignored and
the gpio configuration completely skipped.
But this is no longer the case and this commit
fixes that by setting the gpio pins to nc,
Also, explicitly set sdio_config.clock to NULL, to make
it clearer that the driver will check for that.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
The driver should use resource type SDHC not SDIODEV.
In a older HAL version the value was not used as parameter
for clock initialization so it didn't matter, but breaks
the initialization of the driver with the latest hal.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
This PR adds support for BQ32002 RTC chip.
Supported functionalities:
* Time setting/reading
* Alarm setting/reading
* Calibration setting/reading
* IRQ frequency configuration
Tested on nRF52833-DK board.
Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
Some peripherals (e.g. ethernet) have remaps only on some of the pins.
Pins without remaps do not conflict and must be ignored to correctly
process the remaps.
Signed-off-by: Vegard Storheil Eriksen <zyp@jvnv.net>
Change the "c" variable type from char to uint8_t in get_glyph_ptr() and
draw_char_vtmono() to fix issues with the range check of the "c" value.
The easiest way to print localized text with Zephyr is
to ask GCC for compile-time conversion:
INCLUDE(${ZEPHYR_BASE}/cmake/cfb.cmake NO_POLICY_SCOPE)
GENERATE_CFB_FONT_FOR_TARGET(app
"${CMAKE_CURRENT_SOURCE_DIR}/fonts/koi8-u.png"
"${ZEPHYR_BINARY_DIR}/include/generated/cfb_font_dice.h"
8 16 --first 0 --last 255)
TARGET_COMPILE_OPTIONS(app PRIVATE
-finput-charset=UTF-8
-fexec-charset=KOI8-U)
Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
Add shell device filtering using the existing sensor_device_check to all
remaining sensor shell commands.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Check if NET_DHCPV4_SERVER_OPTION_DNS_ADDRESS is set before using it to
set the DNS option in DHCP responses. This avoids sending a client a DNS
server of 0.0.0.0.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a Kconfig option to skip the router DHCP server option. This can be
useful to avoid having the client trying to forward all its traffic to
the embedded device.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Modifying MAC address is allowed only when the interface is not
administratively UP, as it typically involves conveying the MAC address
to the chip firmware, and accepting the MAC address when interface is
administratively UP will not reflect in the actual usage.
So, modify the check to reject MAC address change if the interface is
administratively UP.
Fixes#81486.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This allows us to use the testusb Linux kernel tool again. All tests
involving control and bulk transfers should pass. Additionally, add a
shell command that allows the user to manually enqueue bulk transfers.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Actually using the error count before clearing it
would probably be more useful.
ExecutionCounter's error count was set to 0
before being used to lower the done count properly.
This should fix in-progress overcounting,
where Twister claimed to execute more tests than planned.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Since _POSIX_SHARED_MEMORY_OBJECTS is a POSIX Option, the anchor
should be named consistently with other POSIX Option anchors.
A "deprecated" anchor is left, because otherwise there would be
a broken link in the 3.7 release notes.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The exception fault handler function is named _Fault which is inconsistent
with all other arch-specific functions present in Zephyr. This patch
replaces the name with z_riscv_fault.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The exception fault handler function is named _Fault which is inconsistent
with all other arch-specific functions present in Zephyr. This patch
replaces the name with z_nios2_fault.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
An existing comment references a function "irq_oflload()", which should be
written "irq_offload()".
This issue was detecte by the GitHub CI compliance check.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The exception fault handler function is named _Fault which is inconsistent
with all other arch-specific functions present in Zephyr. This patch
replaces the name with z_mips_fault.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The exception fault handler function is named _Fault which is inconsistent
with all other arch-specific functions present in Zephyr. This patch
replaces the name with z_arc_fault.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Skim down the release notes file, clarify what goes there and more
importantly what doesn't.
Add auto-generated lists of new boards/samples/drivers.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
The STM32 DCMI capture seems to stop when the pixel clock is
disabled during horizontal blank. This patch switches pixel
clock to free-running, which shouldn't have any effect on other
capture devices.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Add the missing stream_start and stream_stop API functions
(the driver doesn't work without them) and implement video
controls for horizontal mirror (hmirror) and vertical flip.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
If we have received data to the accepted socket, then release
those before removing the accepted socket. This is a rare event
as it requires that we get multiple simultaneous connections
and there is a failure before the socket accept is called by
the application.
For example one such scenario is when HTTP server receives multiple
connection attempts at the same time, and the server poll fails
before socket accept is called. This leads to buffer leak as the
socket close is not called for the accepted socket because the
accepted is not yet created from application point of view.
The solution is to flush the received queue of the accepted socket
before removing the actual accepted socket.
Fixes#84538
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Fix some missing/erroneous docs and metadata for a few
boards post v4.0.0 so that they make the most of the
new zephyr-board Sphinx directive & role.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
After a recent change for the imx gpr binding, the i2s driver was
changed to reflect the new names of the cells, but apparently also the
sai node can refer to itself with a phandle and need cells names to
match also.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Increasing the stack size for header_reserved test.
This avoids stack overflow in various boards.
Fixes#84620
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
A few updates:
- Add all orphaned nxp files to the areas
- Make new NXP wireless area to house all wireless related things for
now like wifi, bluetooth, ieee802154
- Add axelnxp to wireless area
- Add kw41z ieee802154 to wireless area (previously orphaned)
- Add kw24 usb board to NXP USB area (previously orphaned)
- Add hexiwear board to NXP MCU area (previously orphaned)
- Add common NXP files previously orphaned to NXP platform area
- Create new robotic product area and move all robotic boards to that
area, move bperseghetti and PetervdPerk-NXP to this area.
- Add rddrone_fmuk66 to robotic area (previously orphaned)
- Add layerscape board to NXP MPU area (previously orphaned)
- Remove yvanderv (inactive collaborator)
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add the option to flash a bin file if one is available from the board's
cmake configuration.
Use of elf has prio over this, and bin has prio over hex which remains
the default option.
Also add a parameter to stm32cubeprogrammer runner to specify the download
address.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add documentation showing how to use the _detail parameter when
registering an HTTP service to provide a default resource handling any
unknown path. Also update the 4.1 release migration guide.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
A _res_fallback parameter to HTTP_SERVICE_DEFINE is added to optionally
specify a fallback resource detail, which will be served if no other
resource matches the URL.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Adds a note about the timeout_lock to aid future developers
in following the rules to help prevent deadlocks involving the
timeout and scheduler spinlocks.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The check for an active timeout in z_is_thread_ready() was originally
added to cover the case of a sleeping thread. However, since there is
now a bit in the thread state that indicates if the thread is sleeping
we can drop that superfluous check.
Making this change necessitates moving k_wakeup()'s call to
z_abort_thread_timeout() so that it is within the locked
_sched_spinlock section to ensure that we do not end up with
a stray thread timeout in the timeout list.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Added support for vin supply which seems to be needed for the radio
boards in order to power on the sensor.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
On USB HS, the previous lower limit of 64 is too small, the value
160 has been chosen apparently through trial and error.
See 1204aa25 for the original implementation in the old device driver.
Signed-off-by: Tobias Pisani <mail@topisani.dev>
This fixes usbd_caps_speed(), which is used in sample_usbd_init, and the
documentation. Without it, no high speed configuration would be added.
Signed-off-by: Tobias Pisani <mail@topisani.dev>
All HAL callback handling is offloaded to a separate thread, as they
involve non isr-compatible operations such as mutexes.
Fixes#61464
Signed-off-by: Tobias Pisani <mail@topisani.dev>
This issue is seen by at least gcc 11.4.0
samples/net/sockets/http_get/src/http_get.c:44:40: warning:
format ‘%d’ expects argument of type ‘int’, but argument 2
has type ‘ssize_t’ {aka ‘long int’} [-Wformat=]
44 | #define CHECK(r) { if (r < 0) {
| printf("Error: %d\n", r); exit(1); } }
| ^~~~~~~~~~~~~
samples/net/sockets/http_get/src/http_get.c:44:49: note: format string is
defined here
44 | #define CHECK(r) { if (r < 0) {
printf("Error: %d\n", r); exit(1); } }
| ~^
| |
| int
| %ld
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Commit 57723cf405 ("dts: arm: st: Refactor DTSI files to use macro"),
which replaced raw hex codes by using STM32_CLOCK macro, causes
regression in the case of the CAN device where the previous raw value
contained more than one bit set to 1. The macro is in fact correct only
for values with a single bit set. In all other cases, raw values must
continue to be used.
Tested on STM32F429I-DISC1 board
Fixes: 57723cf405
Co-authored-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
As the test coverage keeps growing, the test suite no longer fits into
smaller devices, hence add min_flash requirement for the test suite to
filter them out.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Currently, `CONFIG_OPENTHREAD_LOG_LEVEL` is used to set log level
in OT and register log modules in Zephyr. OpenThread allows 5
levels, causing issues when `OPENTHREAD_LOG_LEVEL_DEBG` is
selected ad we are trying to register modules with unknown lvl.
This commit adds `CONFIG_OPENTHREAD_MODULE_LOG_LEVEL` which is
aligned for Zephyr's log levels.
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Increasing the stack size for variable_buf_size test. This avoids
stack overflow in various boards.
Fixes#84489
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update flashing instructions using built-in bootloader to use latest
version of tool for packaging and uploading images.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Update flashing instructions using built-in bootloader to use latest
version of tool for packaging and uploading images.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
The src-module argument can be used to select the module in which west
patch searches for patch definitions. This commit also allows the use of
module names instead of the path.
Signed-off-by: Gerhard Jörges <joerges@metratec.com>
Enables forcing use of sysbuild to build nrf5340dk/nrf9160dk
non-secure board targets when using twister
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Do not free the slot when cred buf is NULL.
If the TLS credential storage backend does not have a buffer pointer
to the TLS credential, then the buffer pointer can be NULL.
This may happen with an out-of-tree TLS credential storage backend.
In this case where credential buffer is NULL find_ref_slot retrieves
a new slot, and then tries to free it, causing a crash.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add overlays for nrf54h20dk_nrf54h20_cpuppr. Moved common configuration
for nrf54h20dk to nrf54h20dk_nrf54h20_common.dtsi. Add configuration
for vpr_launcher on nrf54h20dk_nrf54h20_cpuapp.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add overlays for nrf54h20dk_nrf54h20_cpuppr. Moved common configuration
for nrf54h20dk to nrf54h20dk_nrf54h20_common.dtsi. Add configuration
for vpr_launcher on nrf54h20dk_nrf54h20_cpuapp.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add overlays for nrf54h20dk_nrf54h20_cpuppr. Moved common configuration
for nrf54h20dk to nrf54h20dk_nrf54h20_common.dtsi. Add configuration
for vpr_launcher on nrf54h20dk_nrf54h20_cpuapp.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
ARM has deprecated usage of non-shareable device memory.
K_MEM_CACHE_NONE flag used by devices to map physical memory translates
to MT_DEVICE but no MATTR_SHARED attribute is set in such a request.
This results in mapping device memory that is non-shareable.
Depending on the memory interconnect of a SoC, mapping the device memory
as non-shareable can prevent access to the device. Such behavior has
been observed on the TI AM3358 SoC.
To comply with the ARM deprecation notice and prevent access issues to
device memory, all device memory is mapped as shareable.
Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
Correct the comment that tells how long it takes to get
random numbers. The old comment was too optimistic.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Instead of reserving a static (possibly unaligned) buffer for DCMI,
this patch reserves and holds one of the video buffers to use as the
main DCMI buffer. This buffer will be aligned (using the alignment
specified in the config) and will either be allocated from `video_common`
pool or a shared multi-heap (if enabled).
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Read and convert binary data in chunks of 1024 bytes, instead of 8 bytes.
This significantly reduces the conversion time. The improvement increases
with increasing file sizes but saturates to around 60-61% as file size
approaches 64MiB, and beyond.
The existing generated output format of eight byte-values per line is still
preserved.
Signed-off-by: Irfan Ahmad <irfan.ahmad@siemens.com>
When using synthesized low frequency clock, HFXO should be running
to ensure correct frequency.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
In previous implementions, when there is no buffers in TX queue in a TX
callback context, TX will be stopped immediately. It is not correct
because there may still TX blocks in DMA TX transfer queue.
TX should only be stopped when DMA queue is empty and no more in I2S TX
queue.
Another modification is to set correct TX water FIFO level.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Use TX and RX blocks on SAI for i2s speed test, by this way we can avoid
HW reworking.
Update Readme file and DMA channel configuration in overlay file to avoid
DMA channel conflict with other peripherals like UART.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Added initial CCP client implementation that simply
does discovery of TBS on a remote CCP server.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Removes an unnecessary clearing of the current CPU's swap_ok field
in do_swap() as that clearing is already done at the end of next_up()
which was just called by z_swap_next_thread() a little earlier.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
SMP does not need to mark the current thread as queued in
k_yield() as that will naturally get done in do_swap().
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
- Add overlay to support test app pwm_api for voice_ra4e1
- Add support test app pwm_loopback for fpb_ra4e1 and
voice_ra4e1 boards
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Get build error when using a gpio port that has port_irq_names
property isn't defined. This commit aim to fix this bug.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `lib` directory.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Jump straight to the exit portion of the function in the case that
psa_destroy_key() failed and we set err to a non-zero value. This also
fixes Coverity CID 487701 "Code maintainability issues (UNUSED_VALUE)".
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
nxp_nbu_init extern definition is under CONFIG_NXP_RW6XX_BOOT_HEADER
and this produces an implicite definition warning when
the Kconfig is disabled. This is the case when both BLE Kconfig
and MCUboot bootloader Kconfig are enabled.
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
The clock source for LPUART0 for the MCXC family is already
initialized in the corresponding soc.c -> clock_init().
Initialization for LPUART1 is missing. This is however
necessary if a user wants to configure LPUART1 as the default
console output.
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
In the device that has `DT_DRV_COMPAT` equal to `st_stm32_usb`,
its behavior differs from `st_stm32_otghs` and `st_stm32_otgfs`
due to the underlying `HAL_PCD_IRQHandler`.
As a result, calling `usbd_ctrl_feed_dout` for the DOUT stage is not
compatible with the `st_stm32_usb` device.
Instead of calling `usbd_ctrl_feed_dout`, we still require flushing
the TX FIFO to the host.
This is achieved by calling `HAL_PCD_EP_Receive` with `len` = `0`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Currently, the SPI pinctrl is incorrect for the spi0 node.
In this PR (#77850), we changed the pinctrl number for SPI
from spi0 to spi1, but we forgot to update the node name
to spi1.
This commit aims to:
- Correct the spi node in test app spi_loopback for ek_ra8d1
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Currently, the SPI pinctrl is incorrect for the spi0 node.
In this PR (#77850), we changed the pinctrl number for SPI
from spi0 to spi1, but we forgot to update the node name
to spi1.
This commit aims to fix:
- Correct the pinctrl name for spi
- Correct the spi node on ek_ra8d1.dts
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
-Adding explicit include for mbedtls/platform_util.h to get acces
to mbedtls_platform_zeroize in ITS. Somehow not visibile in Zephyr but
it caused build issues in nRF Connect SDK.
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
Instead of pre-generating the JSON batch to then execute it, use
command-line arguments and --x-append-batch to generate the JSON file
tht will then be passed to x-execute-batch.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Adjust the PIO assemble for the UART RX to wait for the line
to initially be high before starting the wrap loop and wait
for a low start bit.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
A problem was discovered during development: the
electrical characteristics of the pins were not
set according to the device tree settings.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
This header file provides the public API of the UDC driver,
however it also contains inline function definitions.
Unfortunately these definitions contain implicit pointer conversions,
which are one of the cases where valid C syntax is invalid C++ syntax,
meaning that any C++ source code that intends to use the UDC API
cannot be compiled error-free (or warning-free, if using -fpermissive).
Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
Energy efficient mode is the feature of the DM8806 described in the
EEE 802.3az Energy Efficient for reducing power consumption. For unknown
reason it seams to not working correctly with all endpoints and sometimes
the network randomly fails when this mode is on. Thus it is now possible to
turn off it in compile time by KConfig option:
PHY_DM8806_ENERGY_EFFICIENT_MODE if in case of network problems
Signed-off-by: Robert Slawinski <robert.slawinski.ext@indurad.com>
Bring the change that was already in place for the qemu_cortex_m3 board
to all the other ones, since also nrf52840 had a similar problem
(see issue #82812).
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
-Mbed TLS requires common.h to build. The sample provides common.h
in sample folder level but included the path to zephyr_interface.
This commit changes the include to be sample-specific
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
The current nxp_mcxc141.dtsi sets the SRAMs base address
to 0x1FFF_F000. This leads to the mcxc141 faulting during
initialization when the first write to SRAM occurs:
z_prep_c -> z_bss_zero -> z_early_memset -> memset
The correct base address is 0x1FFF_F800. This information
is not obvious in the "MCX C24X Sub-Family Reference Manual,
Rev. 1, 07/2024". The address was taken from an MCUXpresso
IDE sample project.
Link: https://www.nxp.com/webapp/Download?colCode=MCXC24XP64M48RM
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
The directory doesn't (anymore) belong only to JWT.
Assign the headers in this directory to their areas on a per-file basis.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
This change initializes was_valid_access in the case that
CONFIG_X86_KPTI is selected. Previously, the variable was
causing an uninitialized variable warning that would be
escalated to an error when run with twister.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Make sure MTU is validated to avoid reading pass command buffer.
Also make more explicit check in response length validation.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This may cause some compiler warnings due to flexible array being
used in btp_hdr. Simply avoid it and do explicit pointer type cast
where needed.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
ADC2 is no longer supported on ESP32C3 due to HW limitations.
Check silicon errata on Espressif website for more details.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Clang run for code formatting and calibrationc control for
repeated calls at channel_setup().
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Add clocks property to CPUs. nRF54Lx series is using hfpll as clock
source for CPU (and fast peripherals). CPU clock frequency can be
derived from frequency of the source clock so clock-frequency property
is removed from cpu as it is redundant.
nrfx/MDK expects that NRF_CONFIG_CPU_FREQ_MHZ define is set to correct
CPU frequency. Modified nrfx CMakeLists.txt to use clock frequency of
hfpll instead of CPU clock-frequency property.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
We need to call `bt_le_adv_start()` again to make sure the device remains
connectable after a disconnection event. The appropriate place to do it is
in the `recycled()` callback.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The code shouldn't be checking for HCI command support anymore, rather in
the case of debug keys we can just start immediately using them.
Fixes commit 09e86f3b69.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
When the PM subsystem is enabled, the idle thread locks the scheduler for
the duration the system is suspended. If a meta-IRQ preempts the idle
thread in this state, the idle thread is tracked in `metairq_preempted`.
However, when returning from the preemption, the idle thread is not removed
from `metairq_preempted`, unlike all the other threads. As a result, the
scheduler keeps running the idle thread even if there are higher priority
threads ready to run.
This change treats the idle thread the same way as all other threads when
returning from a meta-IRQ preemption.
Fixes#64705
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
-liblc3 added a library-internal path to zephyr_interface containing
a file that collides with common.h required e.g. by Mbed TLS
This commit fixes build-issues by making this include-folder
PRIVATE to the named library liblc3
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
Make sure to submit a change of option bytes and wait for the end of
the operation. It is done by checking the OPT_BUSY bit.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
The RDP level is set with the FLASH_OPTSR_PRG register and read with the
FLASH_OPTSR_CUR register, not FLASH_OPTCR.
Fix that to realy change and read RDP.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
As SD partition tables, GPT or MBT, is positioned at
the beginning of a device, it is enough to wipe first 64 sectors,
of 512 bytes. Wipe of entire SD card is very slow and unnecessary.
fixes: #84428
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
New events from nrfx_clock driver are not utilized for now
by the clock_control, so should be ignored to avoid assertion.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Within the K_THREAD_DEFINE macro, a nested set of macros is expanded to
populate the values of a global _static_thread_data structure.
The K_THREAD_DEFINE macro expands to statements including the
Z_THREAD_COMMON_DEFINE macro, which expands to statements including the
Z_THREAD_INITIALIZER macro, which expands to an initialization expression
of a _static_thread_data struct. The init_delay member of that struct is
then initialized with the Z_THREAD_INIT_DELAY_INITIALIZER macro, which
expands to an expression including the SYS_TIMEOUT_MS macro which
converts a number of milliseconds to a number of ticks.
For example, take the following macro:
K_THREAD_DEFINE(
thread_X,
STACKSIZE,
thread_X_entry_point, NULL, NULL, NULL,
PRIORITY,
0,
0);
In abbreviated form, it expands as follows:
typedef struct {
int ticks;
} k_timeout_t;
struct _static_thread_data {
/* ... */
k_timeout_t init_delay;
};
struct _static_thread_data _k_thread_data_thread_X = {
/* ... */
.init_delay = (k_timeout_t){ .ticks = 0 }
};
However, in GCC versions before 5.1, the code fails to compile with the
error "initializer element is not constant", when compiled with the
following options:
gcc -std=gnu99 -c test.c
In the above code, the error can be corrected by replacing...
.init_delay = (k_timeout_t){ .ticks = 0 }
...with...
.init_delay = { .ticks = 0 }
...i.e. removing initialization with a compound literal.
In order to achieve this, this patch reworks the system of macros.
The Z_TIMEOUT_TICKS(t) macro is refactored into Z_TIMEOUT_TICKS_INIT(t)
which defines the initializer part: { .ticks = t }, and Z_TIMEOUT_TICKS(t)
which is defined as ((k_timeout_t) Z_TIMEOUT_TICKS_INIT(t)) .
For symmetry, Z_TIMEOUT_NO_WAIT_INIT is split out of Z_TIMEOUT_NO_WAIT.
Similarly, SYS_TIMEOUT_MS_INIT(ms) is split out of SYS_TIMEOUT_MS(ms) so
that the Z_THREAD_INIT_DELAY_INITIALIZER(ms) macro can use
SYS_TIMEOUT_MS_INIT(ms) which expands Z_TIMEOUT_TICKS_INIT(t) to initialize
init_delay without using a compound literal.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
__SIZEOF_INT__ is required by zephyr_stdint.h, however the __SIZEOF_*__
macros were only introduced in GCC 4.3.
This patch adds a work-around similar to that present in picolibc's
_default_types.h which attempts to guess the correct value of the
definition based on the value of __INT_MAX__ or from INT_MAX from
POSIX <limits.h> .
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Support for __builtin_unreachable() was added to GCC in the 4.5.0 release.
This patch adds a fallback to __builtin_trap() for older compilers which
do not have this built-in available.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
GCC versions starting from 4.3.0 until 12.4.0 stored the limits.h header in
a directory named include-fixed/ . Before 4.3.0 and after 12.4.0 i.e. from
13.1.0 onward, the header is stored in a directory named include/ .
Previously, target.cmake would only detect if the GCC version was 13.1.0 or
newer. This patch adds a check to also check if it is older than 4.3.0.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
GCC versions before 4.5 do not have the -fno-lto flag and give an error if
it is used. The flag may also be unavailable on various other non-GCC
compilers.
Previously, the picolibc CMakeList.txt script assumed that the flag was
available, and hard-coded it as an addition to the compiler flags.
This patch improves compatibility by making use of the already existing
"prohibit_lto" CMake target compiler property, which is set to the
appropriate flag to disable LTO support, or unset if the compiler lacks
such an option.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
A legacy build of GNU ld emits the following version string:
GNU ld version 2.17.50.0.9 20070103
This patch fixes the regex parsing so that the version number is correctly
extracted from the string.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
GCC versions before 7.1.0 do not have the -fno-printf-return-value flag and
give an error if it is used. This patch improves compatibility with older
compilers by making CMake check for the flag's availability before using.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The -fdiagnostics-color flag is only on GCC versions 4.9.0 and newer.
Previously, CMake only checked that the compiler was not the XCC compiler
before using the flag.
However, given that the flag us unavailable on compilers other than XCC,
e.g. old versions of GCC, this patch replaces the previous logic with a
flag-check using the check_set_compiler_property() CMake function.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Populate the build_info.yml created by sysbuild CMake with list of
images and write the build info file afterwards.
This allows users and external tools to examine which images was
included in the build even if one or more of those images fails CMake
configure or generate stage.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Add 'images' as valid list in build info schema.
This allow sysbuild and regular Zephyr images to populate build_info.yml
with images included in the build.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit introduce support for maps in a yaml list.
The yaml_set() function has been extended with the following signature:
> yaml_set(NAME <name> KEY <key>...
> [APPEND] LIST MAP <map1> MAP <map2> MAP ...
> )
where a `MAP <map>` has the form:
`MAP "<key1>: <value1>, <key2>: <value2>, ...`
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The schema for build info already contained a `board:path` sequence tag
definition, but boards.cmake did not populate this in the generated
build_info.yml.
Fix this by correctly populating the `board:path` with list of board
directories.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The BT Host module also uses import/export PSA functions alongside the
generate one, so these PSA_WANT should be added as well.
Previously it happened to work only because Mbed TLS is enabling
IMPORT/EXPORT internally whenever GENERATE/DERIVE is set. However the
same might not be true for all PSA Crypto providers.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the BT_LONG_WQ_STACK stack size for peripheral_sc_only sample,
and the SYSTEM_WORKQUEUE stack size for ibeacon sample.
Signed-off-by: Jasen Liu <jasen.liu@nxp.com>
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the BT_LONG_WQ_STACK stack size for peripheral_sc_only sample,
and the SYSTEM_WORKQUEUE stack size for ibeacon sample.
Signed-off-by: Jasen Liu <jasen.liu@nxp.com>
This allows to configure a GPIO pin as a CS line, in order to perform
spi transfers to a particular device in the bus.
Example usage for using GPIO1.12 with GPIO_ACTIVE_LOW:
`spi cs gpio1 12 0x01`
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Implement the hj_response api for STM32 I3C. This also implements
the PM calls for enabling and disabling runtime PM. For HJ to work
the device must be powered on and be receiving a clock.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Make a pointer to data that is specific to a certain type of LPSPI
driver, instead of having all of it in the struct whether it is used
or not.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add DT property to configure the LPSPI instance to use tristated output
instead of retained output when PCS is negated.
Turn on the config on a couple boards for test coverage.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add a new section to the llext documentation that explains how to debug
extensions and how to address the issues that may arise when doing so.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
LLEXT-related files are currently scattered in multiple locations in the
build directory. For easier access, this patch groups the outputs in a
subdirectory named 'llext' at the root of the build binaries, alongside
the 'zephyr' directory. This directory will thus contain the generated
debug ELF and the final .llext file for each compiled extension.
Note that this does not affect out-of-tree projects that use LLEXT,
since they already pass the full LLEXT file path to add_llext_target().
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The ELF format allows for multiple string and symbol tables with
complex references between them. This is especially evident when
debugging information is included.
This patch fixes the issues that have been identified with multiple
string tables to allow LLEXT to properly parse those files:
* The symbol table used by LLEXT (LLEXT_MEM_SYMTAB) is now chosen
depending on the loaded file type, and other tables are ignored.
This change is also applied to the SLID injection script.
* The LLEXT string table (LLEXT_MEM_SYMTAB) is now correctly identified
by the symbol table reference, instead of picking the first one.
* VMA range checks only make sense for allocated sections.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch adds a debug log message to display the addresses of the
sections in a format that can be used with the gdb 'add-symbol-file'
command to properly inform the debugger about the final addresses for
the loaded sections.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
When building an ELF file with debugging information, the compiler
places this data in sections that do not need to be loaded in memory for
the program to run. These sections are marked as "not allocated" in the
ELF section header, and can be safely ignored when loading the file.
This patch adds a check to the relocation processing code to skip
relocations acting on those non-allocated sections, allowing to load ELF
files with debugging information.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch changes the way extensions are built to allow for debugging
information to be collected. Debug flags are now used when compiling and
linking the extension source code, generating a debuggable ELF file.
The final .llext file is then stripped of unneeded symbols, including
all debugging information, at packaging time.
The debugging flag is still removed from the EDK-exported flags.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This flag is used by LLEXT to strip all unreferenced symbols and
debugging information from a binary.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
SRAM0 is dedicated to IBUS and caching, whereas SRAM1 is assigned to
DBUS.
This change corrects an incorrect SRAM usage that previously triggered
the following assertion due to invalid heap size calculations:
Despite of invalid SRAM usage, that triggered following assertion due
to invalid heap size calucaltions:
ASSERTION FAIL [bytes / 8U <= 0x7fffU] @ .../zephyr/lib/heap/heap.c:491
"heap size is too big"
Signed-off-by: Raphael Zimmerer <killekulla@rdrz.de>
commit c94328f3671a671ac215885c6986b0359a6a37b8
Author: David Brown <david.brown@linaro.org>
Date: Fri Jan 24 23:32:21 2025 -0700
samples: Properly filter samples by supported Rust targets
A few new samples in the Rust module were added, but missed the proper
filter and platform list, resulting in the daily twister run trying to
build these.
Signed-off-by: David Brown <david.brown@linaro.org>
Add missing bluetooth/hci.h and hci_types.h include to fix the build
error and warnings of the infineon h4 ble driver.
The driver is using bt_hci_cmd_create() and bt_hci_cmd_send_sync()
from bluetooth/hci.h, and BT_HCI_OP_RESET from bluetooth/hci_types.h
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Example for creating ICM42688 dt node uses old dt option names.
Fix by changing to newest dt option names.
Signed-off-by: Nikola Petrovic <nikolaptr6@gmail.com>
Move to the latest version:
commit f82407c13059528e88bfcc892a488504e9caa80c
Author: David Brown <david.brown@linaro.org>
Date: Thu Jan 16 17:05:59 2025 -0700
This brings in numerous features to the rust support including:
- Simple logging through Zephyr's logging
- Mutex/Condvar (k_mutex, k_condvar), Semaphores (k_sem), and Queue
(k_queue)
- A rust interface to timers, both waiting for events and callback based
- A SpinMutex that protects data in a rust safe way using a spinlock
- Some documentation for the rust support. Documentation is generated,
per-pr, on the module to allow preview
- A dining philosopher sample that implements using several different
mechanism.
- Basic device support. The device tree is imported into Rust, with a
yaml file describing the association between DT nodes and devices.
- Basic interface to GPIO and flash devices.
Signed-off-by: David Brown <david.brown@linaro.org>
Improve the documentation of the IOMUXC GPR binding so that it is
clear what the cells in the specifier space of "pinmux" space mean. And
change the names of the cells to be more appropriate. "offset" instead
of "pin" and "mask" instead of "function" describes more precisely what
the cells in the specifier mean.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The Atmel SAM is currently disabled from watchdog tests due to missing
SAM4L driver. However, the tests do not implement wdt_disable, which is
mandatory for SAM4L to work correctly. This disable the SAM4L platform
until the watchdog API tests are fixed.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Introduce sam4l watchdog configuration. This entry is necessary to
select proper watchdog configuration at board init due to #83429.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
- remove calculation of pinmux value for stm32 in device tree binding
documentation.
- stm32-pinctrl.yaml contains wrong calculation as can be compared to
#define STM32_PINMUX in stm32-pinctrl.h.
- stm32f1-pinctrl.yaml also contains different wrong calculation
compared to #define STM32F1_PINMUX in stm32f1-pinctrl.h.
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
The commit exports control of MBEDTLS_ASN1_PARSE_C, in mbedTLS
module, via Kconfig.
This allows applications to use ASN1 parser independently from
other functions.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
delete already defined storage_partition node in board DTS, in order to
be able to build test with included overlay
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Add wsen_tids_2521020222501 driver with
the corrected name and compatibility with
the hal update as well as added new features.
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
What is changed?
- This reverts commit 1c596b8b77.
Why is this change needed?
- This commit was added as a temporary fix for #81656.
Since the previous commit (part of #83360) fixes the issue,
we don't need this anymore.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is changed?
- Use the updated TF-M that is compatible with the Zephyr's
latest Ethos-U driver repo.
- Change the default behavior of TF-M builds to use Ethos driver
locally fetched by Zephyr, using west update, instead of
downloading it from external repo.
Why is this change required?
- This is to be inline with Zephyr's rules to not fetch code from
external repo.
Fixes#81656
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
The stm32l4r9i_disco has a 2nd LED (Orange) which can be controlled
via the mfx gpio controller.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Initial commit for a STM32L152 based GPIO expansion chip.
The mfxstm32l152 driver offers GPIO controller fonctions.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This is necessary for the I3C device type check, tested with:
west build -p -b nucleo_h563zi samples/subsys/shell/shell_module
-DCONFIG_I2C=y -DCONFIG_I2C_SHELL=y -DCONFIG_I3C=y
and
west build -p -b nucleo_h563zi samples/subsys/shell/shell_module
-DCONFIG_I2C=y -DCONFIG_I2C_SHELL=y -DCONFIG_I3C=n
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Macro was missing a break when single argument with non 32 bit
word argument was detect. Because of that, there were two
logging messages created for a single log entry.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Added a length check in the spi write incr routine to handle both
single and multi byte write operations properly.
Signed-off-by: Mayank Narang <narang.may77@gmail.com>
The lis2de12 sensor driver spi interface was calling spi read api.
This leads to a single byte operation on reading acceleration data
which is a multi byte operation. Fix it by adding a call to spi read
incr api instead. Added a length check to handle both single and multi
byte read properly.
Signed-off-by: Mayank Narang <narang.may77@gmail.com>
Updated the reference to the ADI Developer Portal Solution Center with
URL. The Solution Center provides more resources than the product
information. Users can still find the product information from the new
portal link.
Signed-off-by: Janel Kratky <janel.kratky@analog.com>
Updated the reference to the ADI Developer Portal Solution Center with
URL. The Solution Center provides more resources than the product
information. Users can still find the product information from the new
portal link.
Signed-off-by: Janel Kratky <janel.kratky@analog.com>
Updated the reference to the ADI Developer Portal Solution Center with
URL. The Solution Center provides more resources than the product
information. Users can still find the product information from the new
portal link.
Signed-off-by: Janel Kratky <janel.kratky@analog.com>
The dfu sample filter seems not to work. It should select only boards
when slot0_partition and slot1_partition are define.
filter:
dt_label_with_parent_compat_enabled("slot0_partition",
"fixed-partitions")
and dt_label_with_parent_compat_enabled("slot1_partition",
"fixed-partitions")
and dt_chosen_enabled("zephyr,flash-controller")
and CONFIG_FLASH_HAS_DRIVER_ENABLED
This means that sam4l_ek, same54_xpro and samr21_xpro should never be
selected because the final devicetree is defined without those
partitions. See below fragment from same54_xpro:
nvmctrl: nvmctrl@41004000 {
compatible = "atmel,sam0-nvmctrl";
reg = < 0x41004000 0x22 >;
interrupts = < 0x1d 0x0 >, < 0x1e 0x0 >;
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
lock-regions = < 0x20 >;
flash0: flash@0 {
compatible = "soc-nv-flash";
write-block-size = < 0x8 >;
reg = < 0x0 0x100000 >;
partitions {
compatible = "fixed-partitions";
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
storage_partition: partition@fc000 {
label = "storage";
reg = < 0xfc000 0x4000 >;
};
};
};
};
This excludes same54_xpro and samr21_xpro to avoid ci issues until ci
filter is fixed.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Commit 8d6d4de removed the hint that this platform supports coverage
resulting in zero coverage collection using ARM in our workflows.
Fixes#84444
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
If DMA-based transaction fails, usually due to a timeout, DMA channels
may need to be explicitly stopped otherwise further calls to transceive
function will immediately return due to DMA constantly being busy.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Hardware chip select is originally handled by the HAL driver. However, a
finer grained control is needed to keep CS asserted between requests and
deassert it after last request is completed. Workaround this problem by
handling hardware chip select in Zephyr driver.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
To prevent duplication of include lines across tests, move DMA binding
include into max32655.dtsi.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Updated the code to use the font_color property, which
is the correct attribute for setting the text color in
recent versions of xlsxwriter (3.2.1).
Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
Some time ago three Kconfigs dedicated for the child timeouts
configuration were added, but changing them does not apply when
using OpenThread libraries. Added setting these values using
openthread API on openthread start.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
Test test_timer_remaining is comparing time captured by k_busy_wait and
k_timer_remaining_ticks. Test was accepting 1 tick difference between
those two. If system clock frequency is low (e.g. 100 Hz) 1 tick is a
long time but if system clock is high then 1 tick may not cover for
processing latency. Instead of using fixed 1 tick test is now converting
100 us to ticks (ceiling) to cover for cases where system clock is high.
100 us processing latency time is an arbitrary value.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
`NRF70_SYSTEM_WITH_RAW_MODES` is more accurately described as an
additional option on top of `NRF70_SYSTEM_MODE`, not as a unique
choice of `NRF70_OPER_MODES`.
This allows the elimination of multiple `NRF70_SYSTEM_MODE ||
NRF70_SYSTEM_WITH_RAW_MODES` dependencies.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The previous commit introduces video_bits_per_pixel() and converts
all invocation relying on video_pix_fmt_bpp(), 3rd-party users will
need to do the same on their code, and this is not a 100% drop-in API,
so better document it on the release notes.
Signed-off-by: Josuah Demangeon <me@josuah.net>
This was present in the form of video_pix_fmt_bpp() inside ST and NXP
drivers, and was returning the number of bytes, which does not allow
support for 10-bits, 4-bits or non-byte aligned video formats.
The helper leverages the VIDEO_PIX_FMT_*_BITS macros.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Rename video_fourcc() to VIDEO_FOURCC(), differing from the Linux
implementation, but more compliant with the coding style.
Also introduce a VIDEO_FOURCC_FROM_STR() to generate a FOURCC format
code out of a 4-characters string.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce a new text documentation of the video formats, describing
every bit, gives the position of the most significant bit, outline how
it is cut in bytes, and show the pixel segmentation.
Extra care is taken for the RGB565 which requies paying attention to the
bit endianess as well as the byte endianess.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Power management routine is initialized from the soc_early_init_hook,
but this was not enabled previously.
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Add a interface-name string for the CDC-ACM node, this allow setting a
string that is then set as iInterface, which can then be used downstream
in an udev rule such as:
SUBSYSTEM=="tty", ACTION=="add",
ATTRS{interface}=="my interface descriptor",
SYMLINK+="tty-my-device"
To create known aliases for these ports.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Selects CLOCK_CONTROL config whenever nRF 802.15.4 Radio Driver
is enabled.
The driver requires HFCLK api available under the config switch.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
Changes introduced in 293b9a16ca didn't
verify correct behaviour when running `TIMER1` with `TIMER0` is paused,
and was reporting the wrong tick counter being incremented. Correct this
and extend the testing to verify correct behaviour.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add the possibility to activate the XBARB driver
Update NXP HAL revision to include support for xbarb
Signed-off-by: Mathias Landolt <mathias.landolt@loepfe.com>
Signed-off-by: Adrian Bieri <adrian.bieri@loepfe.com>
The commit fixes issue where flash_area_flatten has been used where
code was only supposed to erase devices by hardware requirement prior
to write, by replacing the call with flash_area_erase and supporting
logic to select proper path.
There have been following Kconfig options added:
- CONFIG_BT_MESH_BLOB_IO_FLASH_WITHOUT_ERASE
- CONFIG_BT_MESH_BLOB_IO_FLASH_WITH_ERASE
that are available for user depending on devices in the system and allow
to turn off paths that are not used by BLOB IO; for example if user
never writes to device with erase CONFIG_BT_MESH_BLOB_IO_FLASH_WITH_ERASE
will disable the path.
Both Kconfig options are y by default and enable all paths.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
When using the SMF for a project discovered that events would sometimes
not propagate to parent states correctly. Could not create a minimum
reproducable test case for this, but it was found that these changes fixed
the bug. This commit creates a new function to reset internal state,
which is called on entry to smf_set_initial() and smf_set_state().
Closes#81300.
Signed-off-by: Geoffrey Hunter <gbmhunter@gmail.com>
The exit latency and min residency is handled by sl_power_manager.
This improve power consumption by letting the device sleep longer.
Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
sl_power_manager_sleep() doesn't expect the PRIMASK to be set when called.
Setting BASEPRI to 0 was moved to sl_power_manager_is_ok_to_sleep(),
this function is called after sl_power_manager_sleep() has set the PRIMASK.
Added sli_power_manager_on_wakeup() to force a clock restore before the
interrupt are handled. Added a call to retrieve the startup measurements,
reducing the early wakeup time.
Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
k_cpu_idle() and sl_power_manager_sleep() call WFI.
Remove the call to k_cpu_idle() and add back its tracing and
hook functions.
Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
Refactor Reporting to use custom ReportingJSONEncoder and encode
all pathlib.Path derived instances there which are possible
e.g. in 'environment.options' received from command line.
Fixes: #83823
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
In linker-defs.h, lnkr_pinned_rodata_[start/end] are declared as
extern char. However, in linker/utils.h:linker_is_in_rodata(),
they are declared as extern const char. So remove the const in
linker_is_in_rodata() to align both declarations.
Fixes#83461
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
It's a design decision that the west workspace "topdir"
(that is, the top level directory containing the .west directory), is
not itself a git repository. This exists to give us some breathing
room to make changes to the workspace which would otherwise
potentially cause breakage if the entire workspace is in .git.
While this has always been the case, I'm documenting this now because
I reviewed a PR today that flipped my bit from "this is a question to
answer on a case by case basis" to "this is a frequently enough asked
question that I want to be able to link people to the answer":
https://github.com/zephyrproject-rtos/zephyr/pull/84305
We can debate the wisdom of this design decision (and, informally,
I've always tried to avoid breaking these setups), but IMO it's too
late to try to change this in west. Make it explicit in the docs that
you're on your own if you try this.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
To request heap statistics, a pointer to a heap structure is required.
This is straightforward for a user-defined heap. However, such a pointer
is not known for heaps created by other components or libraries, like
libc. Therefore, it is not possible to calculate the total heap memory.
The proposed solution is to use an array of pointers, which is filled in
on every sys_heap_init() call. One can then iterate through it to sum up
the total memory allocated for all heaps.
The array size is configurable. The default array size is zero,
which means the feature is disabled. Any other integer greater then zero
defines the array size and enables the feature.
A list of pointers instead of an array could be another approach,
but it requeres a heap, which is not always available.
Signed-off-by: Ivan Pankratov <ivan.pankratov@silabs.com>
TI Platform drivers are named according to coresponding
names in Linux kernel, thus add the legacy drivers (DaVinci,
OMAP) also under TI K3 platforms.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Add TI OMAP interprocessor mailbox nodes for AM62X A53,
the user ID assignment is as per thec corresponding mailbox
interrupt assignment for the core. Also while at it update the
supported feature list in corresponding boards.
More details can be found in the device TRM Mailbox section:
https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Add TI OMAP interprocessor mailbox nodes for AM62X M4,
the user ID assignment is as per thec corresponding mailbox
interrupt assignment for the core.
More details can be found in the device TRM Mailbox section:
https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
TI OMAP mailbox is the inter-processor mailbox IP found in TI
K3 devices (AM62X, AM64X, J721E .etc). The mailbox hardware uses
a queued mailbox interrupt mechanism that provides a communication
channel between processors through a set of registers and their
associated interrupt signals by sending and receiving messages.
The interrupt/bank associated with each processor entity is found
through the usr_id property from device tree.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
The models include enough of the CRACEN to run the same
nrfx drivers as in Zephyr. So let's add it to the list.
Also let's remove the RTC from the list as the hal does not
expose it anymore for this platform as the GRTC is to be used
instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
net_pkt_get_len() was commonly used yet not documented, move the
function out of the doxygen-ignored section of the header and add
a doxygen API description for the function so that it's rendered in
the documentation properly.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The exception stack frame type `z_arch_esf_t` had been deprecated
since #73593 for 2 releases, it is not used in the kernel since, and
applications/drivers should have been updated to use the
`struct arch_esf` now, remove it.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
`CONFIG_LEGACY_MULTI_LEVEL_TABLE_GENERATION` had been deprecated since
#66877 for 2 releases, interrupt controller drivers should have been
updated to use the new `IRQ_PARENT_ENTRY_DEFINE()` macro. Remove it.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
`CONFIG_ARM64_ENABLE_FRAME_POINTER` had been deprecated since #72646
for 2 releases and served not functional effect, it's now time to
say goodbye.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This is a follow-up to commit 8cfad44852.
Replace the deprecated BT_LE_ADV_CONN macro with BT_LE_ADV_CONN_FAST_2.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
The `BT_DRV_RX_STACK_SIZE` config is used by HCI drivers to determine a
suitable stack size for their RX thread. These threads handle the HCI
transport and pass HCI messages to the Bluetooth host via `bt_hci_recv()`.
Previously, the default stack size was 256 bytes, but it seems to be too
small currently.
Measuring the peak stack usage of `bt_hci_recv()` in different scenarios
indicates that the function needs over 300 bytes of stack. Thus, an RX
thread stack size of 512 should cover that and leave some margin.
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
It seems that this change was solely added to address issues with old
TCP stack, which blindly queued packets intended for TX for potential
further retransmission, expecting that the packet would remain intact
during transmission.
I think this assumption was wrong, as it's natural that lower layers
append respective headers to the packet, and this "header stripping"
behavior was specific for Ethernet L2 only. If an upper layer expects
that the packet would need to be retransmitted at some point, it should
clone it instead.
Therefore, remove the L2 header stripping from the Ethernet L2 to avoid
any potential issues in zero-copy case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add new Ethernet driver config option,
ETHERNET_CONFIG_TYPE_EXTRA_TX_PKT_HEADROOM, which allows Ethernet
drivers to inform L2 about the extra net_pkt headroom they need to be
allocated.
This is only supported when CONFIG_NET_L2_ETHERNET_RESERVE_HEADER is
enabled, so that it's possible to fit entire packet into a single
net_buf, which is needed for zero-copy transmission.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The size calculation for the first buffer, in case extra headroom is
requested, had a bug which could result in a size variable underflow
followed by net_buf exhaustion.
In case the net_buf size was larger than requested size, but smaller
than requested size + headroom, the whole buffer size was subtracted
from the requested size. This however did not take the extra headroom
into account and in effect could result in underflow.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The EUSART peripheral must always be enabled in configure(), as
its enable state gets cleared when the state machine is unretained
in deep sleep. The rest of the config registers are retained,
so they can continue to not be repainted on every configure() if
the context is the same as last time.
Remove unnecessary duplicated enable at the end of configure(),
the SPIInit HAL function already performs enable.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Fixes the the node value of zephyr,sram for the following boards:
- esp32s2_devkitcc
- esp32s2_saola
- esp32s2_franzininho
- esp32s2_lolin_mini
- ttgo_t7v1_5_esp32
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
Fixes an issue where the shell API could block indefinitely when called
from threads other than the shell's processing thread, especially when
the transport (e.g. USB CDC ACM) was unavailable or inactive.
Replaced `k_mutex_lock` calls with an indefinite timeout (`K_FOREVER`)
by using a fixed timeout (`K_MSEC(SHELL_TX_MTX_TIMEOUT_MS)`) in shell
API functions to prevent indefinite blocking.
Link: https://github.com/zephyrproject-rtos/zephyr/issues/84274
Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
Introduced a new Kconfig option `SHELL_PRINTF_AUTOFLUSH` to allow
configuring the autoflush behavior of shell printing functions.
Updated `Z_SHELL_FPRINTF_DEFINE` to use the
`CONFIG_SHELL_PRINTF_AUTOFLUSH` setting instead of hardcoding
the autoflush behavior to `true`.
Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
Update the HW models to the provisional branch zephyr_2025_01_22
which enables the use the not yet released CRACEN RNG & CM HAL
while enabling the latest nrf HAL 3.10
Including the following:
4aac556 Support latest nrf HAL 3.10 / MDK 8.69.1 for 54L15 builds
2e75940 UART: Correct UART names printed out to the users
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Reverts the change made in d4d53010f0
(The changes was moved to another file in a restructuring)
The commit incorrectly assumed that no blocking would be allowed in
the syswq. This has caused issues observed among others
in #77241 and #80167
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Mention the removed prompt for BT_ECC in the migration guide, and also add
a note about the removed HCI emulation layer to the release notes.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This option only exposes internal APIs, so there should be no need to allow
applications to set an explicit value. Instead, users of the API should
select it through Kconfig.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Remove the HCI command & event emulation layer for ECDH commands and
events. This means that we always do the necessary operations in the host.
The existing BT_ECC Kconfig option stays, but now gets automatically
enabled when necessary (e.g. based on the BT_SMP option), which is why this
commit removes so many explicit assignments in prj.conf files.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This hides the deprecation warning when UART_NRFX_UARTE_LEGACY_SHIM is
false because UART is not used.
Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
Only lookup for i3c devices if I3C=y, fixes a build error:
zephyr/drivers/i2c/i2c_shell.c:
In function 'device_is_i2c':
zephyr/drivers/i2c/i2c_shell.c:341:43:
error: array type has incomplete element type 'struct i3c_driver_api'
341 | return DEVICE_API_IS(i2c, dev) || DEVICE_API_IS(i3c, dev);
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix regression in Coded PHY S2 reception to any other PHY Tx
in the s/w switch implementation.
Regression in commit 55b7dba8ec ("Bluetooth: Controller:
Refactor sw_switch hal interface use").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Test `tracing.transport.uart.async.test` was working only due sheer
serendipity: one of the tracing strings checked,
sys_trace_k_mutex_lock_exit, was never being registered on the tracing
buffer. However, the check never got to check this string, so the test
was passing.
Why wasn't it being registered? Tracing buffer size was a bit small for the
flurry of messages - increasing it solves the problem, and is what this
patch does.
Why did the check never got to the missing string? Tracing thread has a
lower priority, so when the k_sleep of test thread expired, it was
preempted. Indeed, if the sleep was changed by any number of ticks, the
test would fail. Even changing order - and thus number - of instructions
executed could make this test fail.
While at it, fixed some typos and an imprecise commentary on code.
Fixes: #84169
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Originally, when the POSIX_SHARED_MEMORY_OBJECTS option was
added, the O_TRUNC flag was not consistently available.
Now that it is consistently available, ensure it is used
within the shm_open() function.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
For usbser.sys driver, which is the default USB host driver for CDC
devices in windows, it is expected that USB device always indicate
completion of transmission by short packet. In case where the last
packet length is multiple of max packet size of the BULK IN endpoint,
the USB device shall indicate completion of transmission by sending a
zero length packet. This commit adds the sending of the short packet
termination mentioned above, ensuring condition of short packet
terminate is fulfilled.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
Z_GENERIC_SECTION() uses STRINGIFY() to convert its argument to a
string, therefore the argument shouldn't contain additional quotes.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The SystemCoreClock variable must be placed in the '.shared' section for
the MAX78000 and MAX78002 because the ARM core is responsible for changing
the System Clock and updating the SystemCoreClock variable, and the
RISC-V core knows what the System Clock frequency is through the
shared variable.
Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
On SMP systems, threads going through k_thread_abort() may still
be running while the test moves on to the next one. This creates
some interferences and may result in the next test failing. So
after each test, we need to do k_thread_join() on those threads
to make sure they are no longer active.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Reviewer expectation was burried under contributor section, it deserves
to be on the same level and highlighted.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The text in this note is not accurate and should already be covered by
the license agreement, no need to say what the license already covers in
non-legal terms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This test is overly sensitive to the relative timing of the devices
and/or their random number generation.
Due to this the test failed with its current setup when chanding the
random generation for the nrf54.
Let's work around it by offsetting a bit one of the devices.
This is a provisional workaround until the underlying issue is
addressed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use the new entropy driver for 54L devices and therefore
claim BT_CTLR_ENTROPY_SUPPORT is always supported
(note 54H remains unsuported)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Switch the default entropy driver for 54L05/10/15 devices to the new
CRACEN based one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Let's default to this new driver.
And therefore change the conditions in the BT controller kconfig
which were selecting the native_posix fake entropy driver
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add support for the new nrf hal CRACEN CTR DRBG driver including a new
kconfig option to enable it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models to the provisional branch zephyr_2025_01_14
which enables the use the not yet released CRACEN RNG & CM HAL
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models module to:
1069743a7fc06362e8f8d7f57225b8c7940da9f0
Including the following:
1069743 Fix in cracen hal conditional compile condition
3bbd3bd Enable build of hal/nrf_cracen_*.c
506da1f hal cracen_cm: Add const to prototype
b02d927 BLECrypt_if: For new aes_ecb scramble data if no libCrypto
e41f101 RRAMC nrf hal: Add replacements for new incoming RRAM APIs
4e933cf UART: Do not warn on invalid/unconfigured framesize
716b20c hal cracen_cm: Add replacements for new cracen_cm hal
fc597a4 CRACEN: Add CryptoMaster & CM AES (ECB only)
129f16c CRACEN RNG HAL: Remove senseless static inline
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Increase the size of the main stack for BLE applications to avoid
stack overflow on STM32WB0x series. Beacon sample was considered as
a reference for the size increase.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Added option to set the PACS Characteristics through the bap API,
making PACS configuration runtime available. Source and Sink PAC, as
well as Source/Sink PAC Location is can be set through a register
function in the PACS api.
Signed-off-by: Fredrik Danebjer <frdn@demant.com>
DT_SPEC related macro tests (ADC_DT_SPEC_GET_BY_NAME, MBOX_DT_SPEC_GET)
should not appear in this test because the configuration does not turn
on any devices
Move DP_SPEC-related tests to api_ext and enable the related device in the
configuration
fix#77205
Signed-off-by: Wenbin Zhang <freey7955@gmail.com>
This new option allows to export devices using identifiers generated
from the hash of the devicetree node path, instead of the device's
ordinal number. Identifiers generated this way are stable across
rebuilds.
Add new test cases to test this new option.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add a new set of macros that allow customizing the symbol name when
exporting symbols. This is useful when the symbol name that extensions
need to look up is different from the identifier used in the base image.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add a new "hash" attribute to all Devicetree EDT nodes. The hash is
calculated on the full path of the node; this means that its value
remains stable across rebuilds.
The hash is checked for uniqueness among nodes in the same EDT.
This computed token is then added to `devicetree_generated.h` and made
accessible to Zephyr code via a new DT_NODE_HASH(node_id) macro.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Fixes#84198.
If a '?' character is used as part of a wildcard resource, do not treat
this as the end of the string when comparing with a path from the HTTP
request. Only the path from the HTTP request may be terminated by '?'
(in the case of a request with query parameters).
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
This test uses the bellboard interrupts for the application
and the radio core builds on nRF54H20 and nRF9280.
Since it uses the bellboard interrupts it makes sense to ensure
that bellboard is disabled in device tree to avoid runtime issues.
This is preparation work, bellboard is planned to be enabled
by default later and this makes sure that the test will
continue to work.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
With our builds for Arm M7 we are selecting FPU_SHARING and
MPU_STACK_GUARD. For that setup, we have
ARM_MPU_REGION_MIN_ALIGN_AND_SIZE=64 and
MPU_STACK_GUARD_MIN_SIZE_FLOAT=128. So worst case scenario,
we are going to have stack that is 64-byte aligned and
128-byte guard at the bottom of the buffer.
Fixes: #83714
Signed-off-by: Maciej Kusio <rysiof@gmail.com>
Make sure we are able to receive VLAN tag 0 packet, and
verify that reply packet is sent correctly.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Packets are forwarded to the native interface or in other words,
the vlan header is simply stripped and ignored. This feature is called
'priority tagging'.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update the iterable numeric RAM/ROM tests to include a numeric value with
5 numeric characters.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The headroom was not taken into account for variable size data
buffers when CONFIG_NET_L2_ETHERNET_RESERVE_HEADER was enabled.
Add a test case for it to make sure the reserve allocation works
properly.
Fixes#84053
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Clean up after automatic merge. Some test configurations got removed
and multiple lines enabling test for nrf54l09pdk/nrf54l09/cpuapp
target remained at the bottom of the file.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
uart120 requires device runtime to be enable. Enable it for nrf54h20dk.
When device runtime PM is used for interrupt driven and polling API
then UART device is initially suspended. It means that RX is disabled.
In order to enable RX device must be explicitly resumed using PM API.
Test is enabling UART RX (uart_rx_enable) from counter callback
(interrupt handler context). For fast instance on nrf54h20dk (uart120)
it is not allowed because PM resume can only be called from the thread
context. Because of that, test is skipped for uart120 and asynchronous
API.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Move enabling of counter to the test instead of test setup. Test may be
skipped in some configurations and in that case counter shall not be
started so by moving setup to the test code allows skipping test before
counter is started.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The function prototype / extern declaration for
z_x86_kpti_is_access_ok() in x86_mmu.h was missing a semicolon.
Add it to avoid being surprised by compile errors in certain
circumstances.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Fix compiler warning when optional property reset-gpios
is not supplied in the ti,tcan4x5x-compatible device tree
node
Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
Rename the voltage_reference and power_down_mode
properties to voltage-reference and power-down-mode
in the devicetree and bindings of the DAC subsystem.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Change the property names in the bindings and overlay
to use hyphens(-) for separation instead of underscores(_).
Signed-off-by: James Roy <rruuaanng@outlook.com>
Add support for TRNG peripherals that lack interrupt lines in the STM32
entropy driver.
This enables usage of the TRNG of STM32WB05/06/07 SoCs with the driver.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add a new binding for STM32 RNG instances without interrupt lines,
such as the one present in the STM32WB05/06/07 SoCs.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Change the name of the mimxrt1060_evk conf file (mimxrt1060_evk.conf) to
the correct name, "mimxrt1060_evk_mimxrt1062_qspi.conf". This change
causes net related code to be placed into ITCM on mimxrt1060_evk boards
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
The enet2 node in nxp_rt1060.dtsi incorrectly references &enet_ptp_clock
for its nxp,ptp-clock property. This commit updates the reference to
&enet2_ptp_clock.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Update the `nrf_wifi` repository so that git ignores binary blobs
fetched by `west blobs fetch nrf_wifi`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Allow DSA_TAG_SIZE to be set based on the size determined by Kconfig
and the enabled switch hardware.
This fixes support for the KSZ8863 which also has a tail tag of
one byte.
Signed-off-by: Bas van Loon <s.r.vanloon@ziggo.nl>
Add `#address-cells = <0>;` to interrupt provider nodes in
the NXP S32 device tree to resolve warnings: e.g.
Warning (interrupt_provider): /soc/interrupt-controller@47800000: Missing
Warning (interrupt_provider): /soc/siul2@40520000/eirq0@40520010: Missing
This ensures compliance with device tree specifications and
eliminates build warnings.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
The default partition file included in the board definition is for 4MB
flash. However, this board has 16MB flash.
Signed-off-by: Rahul Arasikere <arasikere.rahul@gmail.com>
Drop few redundant device_is_ready for functions that are only used as
argument to shell_device_filter, as shell_device_filter checks for that
alrady.
Suggested-by: Yishai Jaffe <yishai1999@gmail.com>
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit replaces a bunch of ifdefs and bindings with a single
extensible binding, and makes all standard mtime system timers consistent.
Signed-off-by: Camille BAUD <mail@massdriver.space>
The compiler complains that:
```
zephyr/kernel/include/kernel_internal.h:121:29:
error: 'reader' may be used uninitialized [-Werror=maybe-uninitialized]
121 | thread->swap_retval = value;
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~
zephyr/kernel/pipe.c: In function 'copy_to_pending_readers':
zephyr/kernel/pipe.c:92:26: note: 'reader' was declared here
92 | struct k_thread *reader;
| ^~~~~~
```
The static analyzer fails to see through the `LOCK_SCHED_SPINLOCK`
construct that the `reader` pointer is always initialized.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Systems that enabled this option don't have their stacks in coherent
memory. Given our pipe_buf_spec is stored on the stack, and readers may
also have their destination buffer on their stack too, it is not worth
going to the trouble of supporting direct-to-readers copy with them.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
We are waking up threads but failed to let them run if they are
higher priority. Add missing calls to z_reschedule().
Also wake up all pending writers as we don't know how many there might
be. It is more efficient to wake them all when the ring buffer is full
before reading from it rather than waking them one by one whenever there is
more room in it.
Thanks to Peter Mitsis for noticing those issues.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
If there are pending readers, it is best to perform a single data copy
directly into their final destination buffer rather than doing one copy
into the ring buffer just to immediately copy the same data out of it.
Incidentally, this allows for supporting pipes with no ring buffer at all.
The pipe implementation being deprecated has a similar capability so better
have it here too.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Dispense with the call to sys_timepoint_expired() by leveraging
swap_retval to distinguish between notifications and timeouts when
z_pend_curr() returns.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Simplify the logic, avoid repeated conditionals, avoid superfluous
scheduler calls, make the code more efficient and easier to read.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Change:
commit cc6317d7ac
Author: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Date: Fri Nov 1 14:03:32 2019 +0200
kernel: poll: Allow 0 event input
Allows `k_poll` to be user with 0 events, which is useful for allowing just
a sleep without having to create artificial events.
Allow the same for `k_work_submit_to_queue()` and `k_work_submit()`.
Signed-off-by: David Brown <david.brown@linaro.org>
add migration guide for following renamed variables
- ``en_spreadcycle`` to ``en-spreadcycle``
- ``i_scale_analog`` to ``i-scale-analog``
- ``index_optw``to ``index-otpw```
- ``ìndex_step`` to ``index-step``
- ``internal_rsense`` to ``internal-rsense``
- ``lock_gconf`` to ``lock-gconf``
- ``mstep_reg_select`` to ``mstep-reg-select``
- ``pdn_disable`` to ``pdn-disable``
- ``poscmp_enable`` to ``poscmp-enable``
- ``test_mode`` to ``test-mode``
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The actual manifest is 1024 bytes, but we previously had padding bytes
due to the implementation of SECTION_FUNC(). The manifest is not
executable code so SECTION_VAR() is appropriate and produces a section of
the appropriate size.
Fixes: #82822
Signed-off-by: Shawn Nematbakhsh <shawn@rivosinc.com>
Currently various zbus functions silently change the timeout
to zero when inside an ISR. If a developer is not aware
of this it could lead to unexpected behaviour or a
publish/read failing.
Also in the zbus docs it states to only use a timeout of
zero when inside a ISR multiple times.
Signed-off-by: Brandon Allen <brandon.allen@exacttechnology.com>
Empty code was incorrectly matched as a request, fix that.
Align coap_handle_request_len() function to behave as documented in the
API documentation - in case of invalid request code (which is also the
case for empty code) -ENOTSUP Should be returned.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The algorithm for matching request with response was incorrect, which
could lead to false matches (for example if request had a token, and
piggybacked reply had no token but matching message ID only, that would
still be counted as a match).
This commit fixes it. The request/reply matching is implemented based on
RFC now, with separate conditions for piggybacked/separate responses.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add test case for matching pending replies with received responses.
Cover corner cases that are failing with the current implementation.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Remove the build assert from NET_L3_REGISTER() macro as that
is causing an issue with llvm. Add runtime check of the handler
pointer value.
subsys/net/l2/ethernet/arp.c:1044:1: error: static_assert expression
is not an integral constant expression
ETH_NET_L3_REGISTER(ARP, NET_ETH_PTYPE_ARP, arp_recv);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/zephyr/net/ethernet.h:1272:2: note: expanded from
macro 'ETH_NET_L3_REGISTER'
NET_L3_REGISTER(&NET_L2_GET_NAME(ETHERNET), name, ptype, handler)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/zephyr/net/net_core.h:190:2: note: expanded from
macro 'NET_L3_REGISTER'
BUILD_ASSERT((_handler) != NULL, "Handler is not defined")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/zephyr/toolchain/gcc.h:87:51: note: expanded from
macro 'BUILD_ASSERT'
define BUILD_ASSERT(EXPR, MSG...) _Static_assert((EXPR), "" MSG)
^~~~~~
subsys/net/l2/ethernet/arp.c:1044:1: note: cast from 'void *' is not
allowed in a constant expression
include/zephyr/net/ethernet.h:1272:2: note: expanded from
macro 'ETH_NET_L3_REGISTER'
NET_L3_REGISTER(&NET_L2_GET_NAME(ETHERNET), name, ptype, handler)
^
include/zephyr/net/net_core.h:190:29: note: expanded from
macro 'NET_L3_REGISTER'
BUILD_ASSERT((_handler) != NULL, "Handler is not defined")
^
/usr/lib/llvm-14/lib/clang/14.0.0/include/stddef.h:89:16: note: expanded
from macro 'NULL'
define NULL ((void*)0)
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Trust that the protocol type is set correctly by functions
called before this one. We should not set the protocol type
blindly in this generic function.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The ARP code has set the protocol type of the packet to
0x806, so do not change it when preparing to send to 0x800
which is the IP protocol type. Lets trust the previously
called functions to set the ptype correctly and do not set
it here.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It was incorrectly introduced earlier and not really needed
because the test will pass without it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print more data / debug information for ARP messages.
Also remove unnecessary "&" when printing IPv4 address.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The work in Ethernet send in commit 2f10d7d816
("net: ethernet: Set the ptype by the caller in send")
introduced a bug because we could try to do ARP resolving
for ARP packets too. This is clearly a wrong thing to do.
So before trying to do ARP resolving, make sure the the
packet type is IP packet.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Fix reset of drift_skip count when an anchor point sync was
missed so that drift compensation is applied on the next
successful anchor point sync. This will improve connection
stability for short overlapping radio event intervals.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
In order to allow a custom disk name same as with the standard
sdmmc driver an additional device-tree property was introduced.
Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
Split the USART driver into separate implementations for Silabs Series 2
and Series 0/1 boards. This change improves maintainability (especially
with the support of pin-ctrl and clock-ctrl on series 2 boards).
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Add the nucleo_wba55cg board, which implements continuous transfer
with GPDMA and a linked list.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Currently, when disabling CONFIG_MODBUS_FP_EXTENSIONS,return variable
'err' is not initialized (at least not for debug builds) but later on
checked.
Signed-off-by: Stephan Gatzka <stephan.gatzka@gmail.com>
uart_irq_callback_user_data_set return non-zero if the callback function
can't be set. This might happen if you forgot to enable
CONFIG_UART_INTERRUPT_DRIVEN.
Signed-off-by: Stephan Gatzka <stephan.gatzka@gmail.com>
Updated the README for the LoRaWAN Class A example to explain limitations
when running multiple times. Provided guidance to resolve the issue.
Signed-off-by: Flavio Felder <felf@zhaw.ch>
Sets LinkServer as the default runner for the mimxrt1180-evk board,
as the board is configured for CMSIS-DAP by default.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
DMA transfers are supposed to write to buffer tail. Use the proper
pointer to make multipart DMA transfers actually write the data to the
intended location.
The issue was observed on control write transfers where the OUT Data
Stage was at least 128 bytes (because endpoint 0 transfer width is
limited to 7 bits).
The issue is unlikely to happen on non-control transfers because the
transfer size width is at least 11 bits (at most 19 bits) and packet
size counter is at least 4 bits (at most: 10 bits) which means that
at least 2048 byte transfer spanning at least 15 packets (or at least
524288 byte spanning 1023 packets for 19 bits transfer size counter
and 10 bits packet counter) is required to necessitate multipart DMA.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Prepare buffer to receive SETUP data on OUT endpoint 0 after endpoint
halt. This solves the issue where the device would no longer process any
control transfers after the first failed transfer with too large OUT
Data Stage (when processing failed due to data stage buffer allocation
failure).
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The DOEPTSIZ0 XferSize field is 7 bits long, meaning that maximum single
transfer can be 127 bytes long. Configure the control write (OUT)
transfers considering the XferSize field size to support transfers with
data stage larger than 127 bytes.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Since some platforms may have some lpuart that are wrapped in lpflexcomm
and some that are not, then change the init code to determine how to
connect the interrupt on an instance basis.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Determine if lpflexcomm wrapped lpi2c by instance and connect
irq differently dependending on that to support platforms with
both flexcomm wrapped and unwrapped lpi2c's.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Determine proper irq setup depending whether the spi is wrapped in an
lpflexcomm or not on an instance basis since some platforms have some
wrapped and some not.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The tests for settings will not work properly with just provided config
file for mimxrt1020:
west build -p always -b mimxrt1020_evk samples/subsys/settings
as there the settings_save_one() would return -2 (-ENOENT) as by default
the CONFIG_SETTINGS_NONE is defined for mimxrt1020 configuration.
For proper operation (i.e. to have a memory medium to store settings
values) the NVS backend needs to be enabled.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Add support for the `--erase` option on `west flash`, for boards that
specify at least one `--cmd-erase` option.
Signed-off-by: Jordan Yates <jordan@embeint.com>
CONFIG_UDC_BUF_FORCE_NOCACHE depend on NOCACHE_MEMORY && DCACHE in Kconfig,
so it can only be true when the platform supports cache.
The controller driver can imply the value of CONFIG_UDC_BUF_FORCE_NOCACHE,
like UDC_NXP_EHCI. If CONFIG_UDC_BUF_FORCE_NOCACHE is true, then all the
usb transfer buffer should be in noncache section.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
In order to show how to use OpenThread and CoAP, add an application.
This example could be build to run a client or server.
The server could expose LEDs and buttons and client could get their
state and set the LEDs state.
The network is created automatically using the network key predefined
in the config. The goal is to make the example simple by removing
the commisionning and joinning process.
If a client application has a button, it could use it to toggle the first
LED on any boards running the server application.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
- insert various additional information content
- use tabs to distinguish board versions
- west flash is now usable for flashing
- show steps for using USB-console
- move images to img subfolder
Signed-off-by: Bernhard Krämer <bdkrae@gmail.com>
The on-board S26HS512T 512M-bit HyperFlash memory is connected to
the QSPI controller port A1.
This board configuration selects it as the default flash controller.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Add support HyperFlash memory devices on a NXP S32 QSPI bus.
This driver uses a fixed LUT configuration that defined in HAL RTD
HyperFlash driver.
Driver allows to read, write and erase HyperFlash devices.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Create common source code to use for supporting HyperFlash.
Rename 'FLASH_NXP_S32_QSPI_NOR_SFDP_RUNTIME' to
'FLASH_NXP_S32_QSPI_SFDP_RUNTIME' as a common kconfig.
Add the 'max-program-buffer-size' property to use for
setting memory pageSize, instead of using
'CONFIG_FLASH_NXP_S32_QSPI_LAYOUT_PAGE_SIZE' for setting.
Add the 'write-block-size' propertyto use for setting
the number of bytes used in write operations, it also
uses to instead of the 'memory-alignment' property.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Following the commit f98fde07b3, DT_REG_ADDR now expands with a 'U'
suffix as an unsigned value. However, for compatibility with IS_EQ,
a raw value without any suffix is required. Therefore, this update is
necessary.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
The TMP435 is a remote temperature sensor monitor
with a built-in local temperature sensor.
Signed-off-by: Jaakko Rautiainen <jaakko.rautiainen@bittium.com>
Set ctrl9_xl.device_conf bit to 1 in ism330dhcx_init_chip()
prior to start device configuration, as stated in paragraph
9.20 of the datasheet.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
cmake: Added "-" support to EXTRAVERSION.
Added to the regex and update the documentation.
Also updated the examples in the documentation.
Signed-off-by: Nick Brook <nrbrook@gmail.com>
cmake: Allow semver style EXTRAVERSION
Semver versions are commonly in the form X.X.X-a.1, X.X.X-beta.2, etc.
However, currently EXTRAVERSION cannot include ".". This change allows it.
Signed-off-by: Nick Brook <nrbrook@gmail.com>
The connection event at the connection update instant was
skipped due to previous ticker node in use that is being
stopped was registering a relative occupied time that
overlapped with the new ticker node being started for
scheduling the connection with new interval.
Added mock interface for ticker_stop_abs() hence needed by
the Controller unit testing.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a test validating that Zephyr can compile with the 3 underlying
filesystems enabled with only `CONFIG_FILE_SYSTEM_LIB_LINK` enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Update the Kconfig configuration to allow enabling the underlying
filesystems (e.g. exFAT), with only `FILE_SYSTEM_LIB_LINK` enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The compiler is unaware of the `block_size > 0` precondition, so it
outputs warnings of uninitialized `reclen`. Explicitly initialize the
variable to suppress this.
Signed-off-by: Jordan Yates <jordan@embeint.com>
SMI bus error check mechanism is preventing the host SMI bus to be
interferred by noise on board level. Current implementation is checking
if data which is writing to/reading from the PHY has correct CRC sum.
If not, then writing/rading process is repeated by the number of
attempts defined in the KConfig. If repeating transmission will fail
by the numbers of ettemps defined in KConfing, drivers returns an
error.
Signed-off-by: Robert Slawinski <robert.slawinski1@gmail.com>
For GIC multiple views feature support, all GIC Re-distributor's
GICR_TYPER.last will be set. Because configuration view-0 can
assign non-contiguous CPUs to views other than 0, in this case
the GIC Redistributors' registers won't seem contiguous.
So the GIC driver should cope with multiple sets of redistributors
like multi-chip scenarios. In this patch we add multiple GIC
redistributor regions support in GIC redistributor iteration.
For more information, refer to the Multi view subsection
in the GIC Technical Reference Manual.
For example:
https://developer.arm.com/documentation/101516/0400/Operation-of-GIC-700/Multi-view
Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Certain HCI events, like advertising reports, are of less importance than
others. This takes the discardable buffer pool into use for such events.
When the system is flooded with advertising reports, discarding some of
them ensures that the system can still handle other events.
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
The BT Link Layer needs to get runtime in a timely manner to keep
connections alive and handle other time-critical tasks. This is achieved by
adding a separate thread for it with a meta-IRQ priority, which means it
can preempt other threads. The driver also has an RX thread that passes HCI
messages from the controller to the host stack. This can be a lower
priority cooperative thread, as it doesn't have strict timing requirements.
Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
Only reserve L2 header for TX case when allocating net buffer,
as for RX case, all the received headers are already in linear
buffer when the driver receives the data, and reserve extra L2
header for RX case may exceed the default buffer size.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
bt_gatt_find_by_uuid used bt_gatt_attr_value_handle but that
function only works to get the value handle of a characteristic
declaration, i.e. if the UUID is not BT_UUID_GATT_CHRC then it
would always return handle = 0. This meant that
bt_gatt_find_by_uuid would always use handle = 0 as the starting
handle for non-BT_UUID_GATT_CHRC attributes, instead of the handle
of the provided attr.
This was not an issue for any UUIDs that may only exist once on a
GATT server, which is most UUIDs, but for UUIDs like the
BT_UUID_TBS_* UUIDs that may be multiple instances of, it would
always return the first attribute rather than the one starting
from the provided start attr.
This commit also ensures that we do not overflow the `end_handle`
when adding 2 uint16_t values.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Changes the priority of imgtool so that the preferred version is
the one inside of the MCUboot directory
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
When using asynchronous API, transfer will fail if the source buffer is
located in a region that cannot be accessed by DMA. This could happen
when a buffer is declared const, and placed in flash memory, for
example.
Workaround this problem by loading the data into a set of temporary
caches before passing them to DMA.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
This commit adds asynchronous mode support to MAX32 UART driver. Each
direction uses a single DMA channel that is assigned in devicetree
configuration.
Asynchronous mode also depends on interrupts to refresh receive
timeouts.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Application won't wakeup without external trigger in
the analog comparator wakeup configuration.
Therefore removing post-wakeup lines from sample regex as they are not
expected to occur in default testing scenario (without external triggers).
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
In the application, after the sysjump, the RX interrupt might remain
enabled. During initialization, once the IRQ is enabled, the RX
interrupt could be triggered if there is any traffic on the RX line,
potentially causing an interrupt storm.
This change disables the UART RX interrupt at the driver initialization
to prevent this issue from occurring.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
The MAX22017 is a two-channel industrial-grade software-configurable
analog output device that can be used in either voltage or current output
mode.
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
Add comment to DTS file about SRAM partitions similar to the RTXXX
series has comments.
Add also a doc section to the frdm_rw612 about this.
Also fix the section hierarchy of the frdm_rw612 doc, the header levels
were wrong since the wifi and bluetooth, and reference sections were
under the debugging section.
Group all the wireless connectivity info together.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The broadcast assistant will now validate the content of the
received receive states.
Some modifications were done to the tests to properly
pass these new validations.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Main changes since v2.4:
* libRandv2: New API to fill buffers & Wextra warning fixes
* libCryptov1: Add new AES-ECB API
Note: Like before, bsim remains fully backwards compatible
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Write-back cache after copying VPR's code and data to the destination
memory. It allows VPRs to run from RAM regions cacheable by its host.
It allows to use FLPR in nRF54H20.
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
This is a follow up to commit 770482a45a.
Add initialization of the `ok` variable to prevent the "may be
uninitialized" warning when `CONFIG_BOOTLOADER_MCUBOOT` is not
defined.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Have the application enable this feature explicitcly, so that
simple applications do not need to disable this to get the
expected behavior.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Otherwise with its default configuration (25-Hz, 32-level FIFO),
getting individual samples could be up to 1-second old.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
The following fixes have been applied to this decoder:
- The Q-scale factor was fixed, both for full-scale and non
full-scale modes.
- The data-type decoded is struct sensor_three_axis_data, as
it should for read/decode API.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
These tests are quite sensitive to the exact random sequence.
After a change of the native_sim entropy generation 2 of them
started failing. Let's set a random seed which avoids the failure.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fix the native_posix fake entropy driver for more than 3 byte requests,
and specially for native_sim//64 builds.
The host random() provides a number between 0 and 2**31-1 (INT_MAX),
so bit 32 was always 0.
So when filling a buffer with more than 3 bytes we would be filling
each 4th byte with a byte which always had its MSbit as 0.
For LP64 native_sim//64 builds, this was even worse, as the driver had
another bug where we assumed random() returned the whole long filled,
and therefore all 4 upper bytes would be 0.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add support for the Antmicro's Myra SiP Baseboard. The board uses
Antmicro's Myra SiP which integrates STM32G491XX MCU and its SoC
configuration.
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Fix so the compiler does not throw a warning thinking that those
buffers may be used unitialized inside k_pipe_write/read().
Note clang does not the array size being of a variable size and
initialized as it throws a
"error: variable length array folded to constant array as an extension"
The issue was discovered with with gcc 14.2
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fix byteorder handling in csip sef crypto function.
On big-endian system we also need to convert the k array from
little-endian to big-endian. The Bluetooth protocol is always using
little-endian ordering.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
P1.7 used for led 0 was not passing gpio_api_1pin test (probably
shortened with another pin in the test setup. Use different pin
that passes the gpio_api_1pin test. At current stage this PDK is
'virtual' so this pin is not attached to any LED and it can be
changed.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
534916c225 moved some defines from CMakeLists.txt to nrfx_kconfig.h
but those defines are used by MDK which does not include nrfx_kconfig.h
and that broke some nrf platforms (e.g. nrf54l20). Moving those
defines back to CMakeLists.txt.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
When RISCV_SOC_HAS_ISR_STACKING is used, it may
be needed to initialize custom hw stacked esf members.
Some initial values may need to be aligned with
hw stacking mechanism to avoid any side effects.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
When building with clang and -Wno-gnu it complains about the missing
equals:
tests/lib/smf/src/test_lib_hierarchical_5_ancestor_smf.c:415:8: error:
use of GNU 'missing =' extension in designator
[-Werror,-Wgnu-designator]
[P05] SMF_CREATE_STATE(p05_entry, p05_run, p05_exit, NULL, NULL),
^
=
tests/lib/smf/src/test_lib_hierarchical_5_ancestor_smf.c:416:8: error:
use of GNU 'missing =' extension in designator
[-Werror,-Wgnu-designator]
[P04] SMF_CREATE_STATE(p04_entry, p04_run, p04_exit, &test_states[P05],
^ NULL),
=
tests/lib/smf/src/test_lib_hierarchical_5_ancestor_smf.c:417:8: error:
use of GNU 'missing =' extension in designator
[-Werror,-Wgnu-designator]
[P03] SMF_CREATE_STATE(p03_entry, p03_run, p03_exit, &test_states[P04],
^ NULL),
=
tests/lib/smf/src/test_lib_hierarchical_5_ancestor_smf.c:418:8: error:
use of GNU 'missing =' extension in designator
[-Werror,-Wgnu-designator]
[P02] SMF_CREATE_STATE(p02_entry, p02_run, p02_exit, &test_states[P03],
^ NULL),
=
tests/lib/smf/src/test_lib_hierarchical_5_ancestor_smf.c:419:8: error:
use of GNU 'missing =' extension in designator
[-Werror,-Wgnu-designator]
[P01] SMF_CREATE_STATE(p01_entry, p01_run, p01_exit, &test_states[P02],
^ NULL),
=
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of using rs=1,2,3 and 4 we make it 10, 20, 30, 40 as the
other values could cause some connection issues.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Most specs require the use of extended advertising, and most
tests used legacy advertising.
Implement a common function to create and start an extended
advertising set to reduce code duplication.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add Nordic platforms and rename the defines
to avoid redefining a nrf driver internal symbols
Signed-off-by: Piotr Krzyzanowski <piotr.krzyzanowski@nordicsemi.no>
Add a gh-fetch subcommand to the west patch extension to download a patch
file from Github and generate the patch meta data.
The patch info is appended to the patches.yml file.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This sample is expected to hit google.com so that the reply
(a redirect) is minimal and can easily be visualized. This is also
what sample.yaml expects to see (checks for "The document has
moved").
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
tfm_regression_test depends on the tf-m-tests
tfm_psa_test depends on the psa-arch-tests
This commit set module dependencies to correct values
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Add an array with the states names and use it while logging an error
messages.
Additionally unify the error message format. Do not add
"UART HOST CMD ERROR", because the LOG_ERR macro already informs that
it is an error message.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
- Adds a flash runner configuration for mimxrt1189,
used for sysbuild multi-image projects.
- Avoid unwanted multiple erases and resets.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
When defined both CONFIG_NET_BUF_POOL_USAGE and
CONFIG_MEM_SLAB_TRACE_MAX_UTILIZATION, support using 'net mem' cmd
to get the maximum count of used buffers and net packets.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add support for the pinnacle_100_dvk and mg100.
With these boards, wait to get on the network before trying
to connect to AWS.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
Add overlay and small adjustments for using the hl7800 modem.
Works out of the box with pinnacle_100_dvk and mg100.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
When sleep modes are used, sockets are restored from NV after boot.
If the network changes IP addresses, restore sockets maintain old network
info in the HL7800 firmware.
On boot, restored sockets should be closed to ensure new sockets
are created with updated network info.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
Update AT command API to return a response.
Add param to set the timeout when waiting for a response.
If the user does not desire a response, the response buffer can
be NULL.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
All other APIs that need to reset the modem do so in an async way.
Make the rest API async as well.
This fixes issues where modem events related to the reset
were not generated properly.
Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
Add an overlay for hl7800 modem configuration.
Adjust the client to wait until the network is ready before
trying to connect to the lwm2m server.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
Ensure the proper byte order is used for the network socket in the stack.
When sending the AT commands, the port needs to be converted to
host endianess.
TLS handshakes check that the remote address and port match
what is expected.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
Added a support for new mps2 board an386 to enable testing with ARM FVP.
Qualifier to build/run application with board is mps2/an386.
Signed-off-by: Samuel Chee <samche01@arm.com>
In case connection fails, the driver should raise a connect result event
to notify the user.
Signed-off-by: Toon Stegen <toon@toostsolutions.be>
Signed-off-by: Bart De Vos <bart.devos@verhaert.com>
Allow user to specify protocol extensions when receiving data
from Ethernet network. This means that user can register L3
protocol handler using NET_L3_REGISTER() with the desired
protocol type. Ethernet code will then call the handler if
such a protocol type packet is received. This is currently
only implemented for Ethernet. The original IPv4 and IPv6
handling is left intact even if they can be considered to
be L3 layer protocol. This could be changed in the future
if needed so that IPv4 and IPv6 handling could be made
pluggable protocols.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Makes 802.15.4 use the API under CONFIG_CLOCK_CONTROL_NRF2
in nrf_clock_control.h to request/release HFCLK.
Previous HFCLK requesting/releasing on nRF54H20 was more
of a workaround and could produce issues when
comes to sharing the resources.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
Add support to wake up from sleep mode by START condition when i2c
is configured to target mode.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
Add `smb-wui` property to support wake-up from sleep mode by START
condition when i2c is configured to target mode.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
SBUS parser discards portion of the received data, this is a result
of SBUS parser intermediate variable overflow. Fix by changing said
variable type to uint32_t.
Signed-off-by: Nikola Petrovic <nikolaptr6@gmail.com>
Using NET_TCP_MAX_SEND_WINDOW_SIZE and NET_TCP_MAX_RECV_WINDOW_SIZE
for TCP case.
Reduce net_buf count to save memory.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The elfconvert_flag_lma_adjust property is required when using
CONFIG_BUILD_OUTPUT_ADJUST_LMA, but was missing for LLVM.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The motivation for this patch was to improve the script's performance,
but some stylistic changes and cleanups are included as well.
The main optimization concerns the use of PyYAML, as it offers multiple
functions for interpreting YAML. The commonly used `load`/`safe_load`
converts a YAML stream to a dictionary. There are also `scan`, `parse`,
and `compose`, which return intermediate representations, the last one
being a graph. [1]
Since `gen_driver_kconfig_dts` scans DT bindings for compatible strings,
it only needs to look through top level keys in YAML. The intermediate
PyYAML graph is sufficient for this, and using it reduces the script's
execution time by about 30%, without making the code too complicated.
[1] - https://pyyaml.org/wiki/PyYAMLDocumentation
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
With assert condition set to true, assertion never happens.
Change __ASSERT(true) to __ASSERT(false).
Signed-off-by: Dmitry Lukyantsev <dmitrylu@meta.com>
Workaround by using `-start_offset` to ensure that the ACL
established does not overlap the sink being established.
The behavior between nrf52_bsim and nrf54l15bsim is
different where in the two device are starting to
advertising at the same time in nrf54l15bsim where as
there is an offset already in nrf52_bsim test.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Align DDPI usage with nRF54L series power domains and
available DDPI configurations.
Use indices below 4 when needing to bridge with GPIO,
use indices below 8 when needing to bridge with MCU domain
like CCM and AAR; and use indices above 7 to bridge with
Peripheral domain.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Replace use of HAL_RADIO_RECV_TIMEOUT_CANCEL_PPI with
HAL_TRIGGER_CRYPT_PPI; they have same value but use the
correctly named HAL_TRIGGER_CRYPT_PPI define now.
Fix conditional compile to correctly exclude reference of
NRF_CCM when CONFIG_BT_CTLR_PRIVACY=n.
Fix missing reference to CCM_TASKS_CRYPT_DELAY_BITS when
CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER=y.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update ISO Peripheral for single timer use support required
for nRF54L Series SoCs.
As the timer is reset on every radio end, use the
radio_tmr_hcto_configure_abs() function to set the header
complete timeout correctly when using single timer for s/w
switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update ISO Central for single timer use support required
for nRF54L Series SoCs.
As the timer is reset on every radio end, use the
radio_tmr_hcto_configure_abs() function to set the header
complete timeout correctly when using single timer for s/w
switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update ISO Sync Receiver for single timer use support
required for nRF54L Series SoCs.
As the timer is reset on every radio end, use the
radio_tmr_hcto_configure_abs() function to set the header
complete timeout correctly when using single timer for s/w
switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update Periodic Advertising Sync implementation for single
timer use support required for nRF54L Series SoCs.
As the timer is reset on every radio end, use the
radio_tmr_hcto_configure_abs() function to set the header
complete timeout correctly when using single timer for s/w
switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update advanced non-overlapping Central Connection Creation
scheduling for single timer use support required for nRF54L
Series SoCs.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update Extended Scanning for single timer use support
required for nRF54L Series SoCs.
As the timer is reset on every radio end, use the
radio_tmr_hcto_configure_abs() function to set the header
complete timeout correctly when using single timer for s/w
switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update Extended Advertising for single timer use support
required for nRF54L Series SoCs.
As the timer is reset on every radio end, add implementation
to accumulate the last_pdu_end_us.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This reverts commit a7fff7445c.
The next commit will re-add back the fix to primary
advertising channel plus auxiliary advertising channel too.
This will help keep the fix together regarding use of
single timer for software tIFS switching implementation.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Restrict the jitter considered in the PDU reception in the
subevents of ISO Sync Receiver.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix nRF5 radio and event timer abstractions for some that
where hard coded compared to use of the ones defined in the
resources header file.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add radio_sim_nrf54l.h file, which for now a copy of the
SoC radio_nrf54lx.h file. This is added for having separate
simulation model dependent timing values and specific
implementation details.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix single timer s/w switch when using DPPI on nRF53/54L
where the previous compare register index is incorrect when
the base index is a odd numbered DPPI used.
The issue is discovered as failing ISO Receiver sample with
Coded PHY and single timer use, where the compare base is
configured to use the DPPI 3 (instead of 4).
Upstream samples do not use single timer for s/w switch, the
issue is discovered when adding support for nRF54L which has
to use single timer due to the radio only having a single
timer.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit addresses two bugs in use of single timer s/w
switch implementation, incorrect aux_offset in subsequent
ADV_EXT_IND and ISO receiver failing to receive second or
greater BIS subevents.
Fix radio_tmr_start_now implementation to consider the
initial latency in starting the event timer in single timer
use mode. This fixes the incorrect aux_offset in ADV_EXT_IND
PDUs.
Fix radio_tmr_start_us implementation for single timer use,
as the timer is reset on every radio end, and hence the
requested start_us has to be adjusted for the accumulated
last_end_pdu_us value. This fixes the BIS subevent
receptions.
Also, fix the maximum radio ISR latency value used in
radio_tmr_start_us to consider the maximum Rx chain delay
and maximum radio ramp up delays. 80 us + ~30 us + ~40 us
should be able to meet the 150 us tIFS duration.
Relates to commit bcd28e0a86 ("Bluetooth: Controller: Fix
sw switch single timer for spurious TXEN/RXEN").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add inverted flag to bindings, as pwms field is supposed
to be used by application only.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Include condition to block pwm_set operation when the same timer
is shared but a different frequency is requested. First set
operation will take precedence.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Cleanup and functions organization. Clock source selection added
to init to allow proper setting of default level when signal is
inverted.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Disable PWM output for duty 0% or 100%, to allow using max timers
resolution. Move timer reset to init function in order to ensure
smooth frequency transitions.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
At driver init channels frequency are unknown, thus timer config
may take place only at set_cycles(). To avoid phase shifts,
timers are only reconfigured if a new frequency is requested.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Set pwm init state to value defined in flags field.
Furthermore 100 percent is now actually 100 percent and not 99.
Signed-off-by: Armin Kessler <ake@espros.com>
This PR enables the PWM to be inverted by making use of the
`PWM_POLARITY_INVERTED` flag.
It also fixes an overflow bug when setting duty-cycle to 100 percent.
Signed-off-by: Armin Kessler <ake@espros.com>
Move some of the historical safety related language and
enforcement strategy re coding guidelines to the safety section.
The coding guidelines are and have been in effect for a while now,
but it seems this introduction text is confusing contributors.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add support PWM eMIOS for s32z2xxdc2 board. There is no LED
on-board dedicated for PWM, so no sample is supported. Only
enabling some pwm tests
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
This adds support PWM EMIOS for NXP S32Z SoC, both PWM pulse
generate and pulse capture are supported
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Removing period, duty and polarity configuration from
channel devicetree. At boot time, only minimal setup like
pinctrl, prescaler, etc should be initialized. PWM signal
is produced by using pwm_set* API
Also after this change, PWM period, duty are changed at the
next counter period boundary
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Added private channels for metadata associated with
distance measurement according to datasheet and API manual.
Signed-off-by: Michal Piekos <michal.piekos@wp.pl>
The function fxls8974_get_temp_data always returns zero, indicating
success.Therefore, the error checking if condition is unnecessary and
can be removed.
Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io>
Fix `arch_timing_cycles_get()` to prevent overflow on 32bit cycles
rollover. Also make `arch_timing_counter_get()` to work 64bit when
`CONFIG_TIMER_HAS_64BIT_CYCLE_COUNTER` is set.
The issue was observable, for example when `tests/benchmarks/wait_queues`
or `tests/benchmarks/sched_queues` were executed on qemu for `mps2/an385`
and the benchmark has its iterations large enough as the default
BENCHMARK_NUM_ITERATIONS=1000.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
The reset pulse is currently fixed at 1 µs, the minimum required for
the chip. However, a long reset pin trace can increases rise time, making
1 µs potentially insufficient for reliable detection of a reset signal.
Increase the pulse duration to 2 µs
Signed-off-by: Igor Knippenberg <igor.knippenberg@gmail.com>
Replaced the k_pipe-based implementation in sockpair with ring_buffer
based implementation instead.
The move to ring_buffer is done to avoid overhead of k_pipe and to align
with the new k_pipe API.
This does not pose any added risk to concurrency as the read and write
functions are protected by semaphores for both spairs.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
The smp_shell module uses k_fifo, but does not include the kernel header
file that defines it. This commit adds the missing include.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
The struct ring_buf is renamed to struct ring_buffer to be able to coexist
with the sys/ring_buffer.h header file.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
The struct ring_buf is renamed to struct ring_buffer to be able to coexist
with the sys/ring_buffer.h header file.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
This commit adds new test cases for the pipe API rework.
* basic.c: Sanity check for pipe operations.
* concurrency.c: Test pipe operations with multiple threads.
* stress.c: Test pipe operations under stress conditions.
And moves the old pipe test cases to the deprecated folder.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
This commit adds polling support to the newly rewritten k_pipe interface.
Changes include:
* Removed ifdef CONFIG_POLL from kernel/poll.c to let both implementations
coexist.
* Added the needed datastructures to the new k_pipe struct.
* k_pipe_write(..) now notifies the poll subsystem that data is available.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
This commit updates the k_pipe documentation to reflect the rewritten
interface.
Changes include:
* Detailed explanations of k_pipe concepts, initialization, and usage.
* Examples for defining, writing to, reading from, flushing,
and closing a pipe.
* Clarified behavior in edge cases and introduced enhanced error-handling
details.
Updated suggested use cases and API references.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
The `k_pipe_*` API has been reworked to provide a more consistent and
intuitive interface. The new API aims to provide a simple to use byte
stream interface that is more in line with the POSIX pipe API.
The previous API has been deprecated and will be removed in a future
release.
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
Clarify and extend some of the PR and contribution guidelines so that
they cover practices that have been effectively enforced by maintainers,
but were never properly documented.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Since the ospi@ node does not exist anymore for the stm32u5 device
there is no more need for this pre_dt_board.cmake file.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fixes the CMake Warning on build/zephyr/zephyr.dts:
Warning (spi_bus_bridge): /soc/xspi@47001400: node name
for SPI buses should be 'spi'
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fixes the CMake Warning on build/zephyr/zephyr.dts:
Warning (spi_bus_bridge): /soc/octospi@52005000: node name
for SPI buses should be 'spi'
<stdout>: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fixes the CMake Warning on build/zephyr/zephyr.dts:
Warning (spi_bus_bridge): /soc/octospi@52005000: node name
for SPI buses should be 'spi'
<stdout>: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add test that checks reset cause reported by HWINFO.
Check that hwinfo_get_supported_reset_cause() returns
expected value.
Check that hwinfo_get_reset_cause() correctly detects:
- RESET_PIN,
- RESET_SOFTWARE,
- RESET_WATCHDOG.
Check that reset cause can be cleared
with hwinfo_clear_reset_cause().
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Introduce sysbuild-specific variants of existing Kconfig checks:
* SysbuildKconfig
* SysbuildKconfigBasic
* SysbuildKconfigBasicNoModules
This involves a few additions to the base `KconfigCheck` class:
* Supporting a variable symbol prefix, to handle `SB_CONFIG_`.
* Generating extra files, including `Kconfig.sysbuild.modules`.
Although these are never sourced outside of sysbuild Kconfig,
they're still generated for every regular Zephyr build, so it's
natural to let all Kconfig checks follow this behavior.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The KCONFIG_BINARY_DIR/{boards,soc,arch}/ directories are only relevant
for `KconfigCheck.get_v2_model()`, so generate them within this method.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
HWMv1-specific Kconfig checks were meant to be removed before HWMv2 was
merged into `main` (see `collab-hwm` history), but some traces remained.
Do another round of cleanup.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
So far, the behavior of different Kconfig checks has been parametrized
using the `run()` method, and every new check has introduced with it a
new argument to that method.
It's possible to replace each `run()` argument by way of overriding
different class methods and making better use of inheritance:
free=False Stub check_no_undef_outside_kconfig()
no_modules=True Stub get_modules()
filename Introduce class member FILENAME
hwm (unused)
This should establish a more scalable and straightforward pattern for
adding future Kconfig checks. It also favors composability, which will
come in handy when implementing checks for sysbuild Kconfig.
Additionally, avoid duplicating `doc` and `path_hint` in every subclass.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Add missing quotes around string values, so that they won't be
interpreted as undefined symbol names.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Device adapter strips all whitespace from output lines causing test
failures when matching default shell prompt "uart:~$ " with trailing
space. Update _handle_device_output to only strip line endings (\r\n)
while preserving whitespace required for prompt detection.
A testcase sample.pytest.shell.no_vt100 was added to verify prompt
matching works with CONFIG_SHELL_VT100_COLORS disabled.
Signed-off-by: Thomas Günther <thomas.guenther@limatica.com>
Add endian specific buffer convert and copy functions.
This is helpful when you want to convert arbitrary data lengths
but only swapping byte order when needed.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
On the nucleo_g071rb , nucleo_g070rb and nucleo_g0b1re boards,
the CN7 MORPHO_L_9 to 11 pin are not correctly defined
in the st_morpho_connector.dtsi. This PR is fixing this.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fix bug in modem_socket where an unallocated object can be returned
for file descriptor zero before the object has been used one time.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Modem socket does not build with NET_SOCKETS enabled.
Referencing socket_data in struct net_context.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
In current implementation, the `accept` cannot be identified if the
same one `accept` callback is passed by the upper layer.
Similar with `accept` of `bt_l2cap_server.accept`, add a parameter
`server` to the `bt_rfcomm_server.accept` callback.
Add a argument `server` to function bt_hfp_hf_accept() to avoid
building issue for HFP_HF.
Add a argument `server` to function rfcomm_accept() to avoid building
issue for shell/rfcomm.c.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In the function `bt_rfcomm_server_register()`, the channel cannot be
dynamic allocated. And only pre-set channel is supported.
Improve the function `bt_rfcomm_server_register()` to support the
dynamic channel allocation if the passed channel is zero.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This commit deals mainly with bsim tests which have `common.c/h` files.
It does the following changes:
* Use functionality from the `babbelkit` library for common functions
related to flags, test progression (failing, passing etc.) and
synchronization between two devices. Locally defined equivalents are
removed.
* Remove the `common.c/h` containing only functionality that is provided
by the `babblekit` library.
* Remove the `test_pre_init_f` and `test_tick_f` functions (commonly
implemented as `test_init` and `test_tick`) from the modified tests.
These functions are not needed as they were only used to fail the test
if a device didn't complete the test within a certain time frame. This
is already handled by the `sim_length` argument used in the test
scripts.
* Changes use of `atol` to `strtol` as the prior is against Zephyr
coding guidelines.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Print the register address, mask and value as hexadecimal to be more
intuitive and also print out the actual value from the register to have
some insights.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Previously, if there was no `zephyr,code-partition` chosen DT node, then
enabling CONFIG_USE_DT_CODE_PARTITION would make all of flash available
to the linker, with no immediate indication of that to the user.
To avoid this discrepancy, make the USE_DT_CODE_PARTITION Kconfig symbol
depend on that chosen node being present. For the sake of verbosity, add
a dedicated symbol to describe this: HAS_DT_CODE_PARTITION.
An additional benefit is that certain platforms or applications can now
use `select USE_DT_CODE_PARTITION` to signal `zephyr,code-partition` as
a hard requirement, by failing the build whenever the node is missing.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
This commit removes the TF-M support for the `xtools` toolchain variant,
which has been deprecated since Zephyr v3.3.0 and now removed.
Note that `zephyr` toolchain variant must be used instead of `xtools` when
building with Zephyr SDK.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit removes all references to the `xtools` toolchain variant in the
twister scripts.
Note that the `xtools` toolchain variant has been deprecated since Zephyr
v3.3.0 and now removed.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit removes all references to the `xtools` toolchain variant in the
board YAML files.
Note that the `xtools` toolchain variant has been deprecated since Zephyr
v3.3.0 and now removed.
The removal process was automated using the following command line:
git grep -l xtools -- boards/*.{yml,yaml} | \
xargs -n 1 -P $(nproc) \
yq -i 'del(.toolchain[] | select(. == "xtools"))'
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The `xtools` toolchain variant, which was originally introduced to be used
with the Crosstool-NG-based Zephyr SDK toolchains and has been replaced by
the `zephyr` toolchain variant, has been marked as deprecated since Zephyr
v3.3.0.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
With ACE3 the logging is skipped in dai_ssp_start(), move the code under
the same if cases to preserve them.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Increase the MAX_THREAD_BYTES from 5->6 to accomodate
for devices with an increased number of threads in the
tests schedule_api and dynamic_thread_stack.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
The buffer `BT_RFCOMM_BUF_SIZE` is used to define the TX buffer size of
TX pool.
In current implementation, the TX buffer size of RFCOMM cannot be
calculated due to the macro `BT_RFCOMM_BUF_SIZE` is defined in internal
header file `rfcomm_internal.h`.
Move the macro `BT_RFCOMM_BUF_SIZE` form internal header file
`rfcomm_internal.h` to interface `rfcomm.h`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Segger started to support MAX78002 with JLink version V8.12. So,
MAX78002EVKIT board has JLink support.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Log_level command is a duplicate of 'log enable' command from
the logging command set (enabled by CONFIG_LOG_CMDS=y). Adding
warning about deprecation as 'log enable' is recommended since
it has more features (e.g. autocompletion).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
BASE is now parsed on-the-fly on sink sync, removing
unnecessary restriction in intermediate parsed storage
and without requiring an excessive amount of memory.
Signed-off-by: Lars Knudsen <LAKD@demant.com>
nrf54l20pdk and nrf54l09pdk must use 64 MHz for now. So far it was
done by using SOC_NRF54LX_SKIP_CLOCK_CONFIG Kconfig option which was
skipping oscillator configuration so that it was running the default
frequency (which is 64 MHz). This approach was a bit cryptic because
DT was indicating that CPU was running 128 MHz when actual frequency
was different (and it was relying on assumption that default frequency
is 64 MHz).
After adding hfpll as clock source for CPU Kconfig option can
be replaced with DT setting where actual frequency is correctly
indicated. Since hfpll is a clock source for fast peripherals (e.g.
TIMER00) it is possible to have single source of information
regarding frequency.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add clock source to timers which indicates maximum frequency of
the timer instance.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Do not delete clocks for the bsim target. Clocks are referenced
by peripherals and it can be used to get frequency that clocks
the peripheral.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
add flash_img_get_upload_slot() to get current
upload slot.
when CONFIG_MCUBOOT_BOOTLOADER_MODE_RAM_LOAD
is enabled, it is not based on the DT.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Fix this warning:
zephyr/logging/log_core.h:356:21: \
warning: variable 'mode' set but not used [-Wunused-but-set-variable]
356 | int mode; \
| ^~~~
Use the same approach as in Z_LOG2().
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Support setting WPA3 enterprise security mode in scan result, i.e.,
Suite-B, Sute-B-192 and WPA3 enterprise only mode.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
i2s driver have not suooprt frdm_mcxn947 pll clk set.
so add macro CONFIG_I2S_HAS_PLL_SETTING to control pll init.
Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
The commit 16183f665e ("samples: subsys: fs: create common fs sample")
renames the sample name for FAT fs from 'fat_fs' to 'fs_sample'.
To avoid this kind of errors, ":zephyr:code-sample:`xxx`" is introduced.
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
In lvgl_transform_buffer() the pixel map buffer start address is
modified to skip the library color palette header but the memcpy size
argument was not modified accordingly thus causing writes beyond buffer
reserved space.
Signed-off-by: Johan Lafon <johan.lafon@syslinbit.com>
Content-Range functionality added in recent commits has been propagated
to http_client module. If "Content-Range" string is detected on header
field, Content-Range are returned via http_response structure.
Signed-off-by: Piotr Radecki <piotr.radecki@jrdltd.co.uk>
Three tests has been added for Content-Range functionality in http
parser:
- test_content_range_supplied: Checks if parser handles range correctly.
- test_content_range_asterisk_total: Checks if parser interprets
astersk as no total size supplied.
- test_double_content_range_error: Checks if parser rejects header with
repeated Content-Range field.
Signed-off-by: Piotr Radecki <piotr.radecki@jrdltd.co.uk>
Content-Range hasn't been supported in zephyr. This change adds
Content-Range header parsing to http_parser module. Range start,
range end, and total size are supported. All units are currently
interpreted as bytes.
This is much needed change, because many applications responsible
for http data download are based on Content-Range approach.
Signed-off-by: Piotr Radecki <piotr.radecki@jrdltd.co.uk>
As the connection was removed from the list, we now own its reference.
Keep this reference and return it to the TX processor.
Signed-off-by: Ahmed Ahmed <ahmed.ahmed@dewinelabs.com>
Assert that the previous connection in the list and the tmp element
in the loop are different to the current connection.
Otherwise, if the same connection was somehow added twice it
could result in an infinite loop.
Signed-off-by: Ahmed Ahmed <ahmed.ahmed@dewinelabs.com>
Iterate over the list of connections to find a connection
that is able to send data, instead of returning NULL if
the first connection can't send data.
This solves the problem with starvation of other connections.
Signed-off-by: Ahmed Ahmed <ahmed.ahmed@dewinelabs.com>
- Remove PLCA paramaters from lan865x SPI device description.
- Add MDIO and internal PHY device description along with PLCA
parameters in the PHY node.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Implement lan865x mdio driver to provide interface between lan865x MAC
driver and internal PHY driver phy_microchip_t1s.c. This driver is needed
to support the driver architecture followed.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Implement c22/c45 registers mdio read/write APIs for the lan865x mdio
driver to provide interface to the lan865x internal PHY driver.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Fix the style formatting of oa_tc6.c and oa_tc6.h files using
clang-format utility.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Remove internal PHY initialization part as the phy_microchip_t1s.c
driver will do the internal PHY initialization.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Fix the style formatting of eth_lan865x.c and eth_lan865x_priv.h files
using clang-format utility.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Add support for LAN8670/1/2 Rev.C2 as per the latest configuration note
AN1699 released (Revision E (DS60001699F - June 2024)) for Rev.C1 is also
applicable for Rev.C2. Refer hardware revisions list in the latest AN1699
Revision E (DS60001699F - June 2024).
https://www.microchip.com/en-us/application-notes/an1699
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Add support for LAN8650/1 Rev.B1. As per the latest configuration note
AN1760 released (Revision F (DS60001760G - June 2024)) for Rev.B0 is also
applicable for Rev.B1. Refer hardware revisions list in the latest AN1760
Revision F (DS60001760G - June 2024).
https://www.microchip.com/en-us/application-notes/an1760
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
10BASE-T1S PHYs can operate in either CSMA/CD or PLCA mode. PLCA mode
needs some set of parameters like node id, node count, max burst count,
burst timer and TO (Transmit Oppertunity) timer to be configured. OPEN
Alliance TC14 specification defined a set of PLCA registers to configure
PLCA mode. The below APIs are implemented for PLCA mode.
genphy_set_plca_cfg() - to configure PLCA settings.
genphy_get_plca_cfg() - to get the configured PLCA settings.
genphy_get_plca_sts() - to get the PLCA status like active or inactive.
These APIs are implemented as generic library so that all 10BASE-T1S
PHYs can use these APIs to configure/access PLCA settings to avoid
duplication of code.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Some devices like Microchip's LAN8650/1 has direct clause 45 register
access where clause 22 indirect access is not needed to read/write
clause 45 registers. PHY drivers can implement read_c45/write_c45
functions using mdio_read_c45/mdio_write_c45 if direct access is
supported OR mdio_read/mdio_write indirect approach to access clause 45
registers indirectly.
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Sort the list of CAN driver subsystem files and split them into common and
driver-specific sections.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Removed similar prj.conf files and added overlays instead to avoid
duplicate code.
Renamed some test files for consistency.
Signed-off-by: Stine Akredalen <stine.akredalen@nordicsemi.no>
Use a config, instead of hardcode, to set timeout value.
It says how much time UART backend should wait for entire message sent
in chunks.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
`adc_read_async` is documented as supporting the `async` signal as NULL.
Update the emulator to no longer block until completion when
`adc_read_async` is called in this situation.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Test test_one_tick_timer_train was failing due not being able to
execute enough 1 tick timeouts. Decrease system ticks frequency
to make the test pass.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Although many platforms may have an unmapped address in common,
this address will not be the same for all platforms. This commit
makes such an address configurable to get better coverage.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Refactor and merge the SoC support files for the Atmel SAM E70 and SAM V71
product series. These SoCs are part of a larger product family (SAM
E70/S70/V70/V71) and share a common set of peripherals.
Support for the two remaining product series (SAM S70/V70) is not part of
this refactoring as these will require further additions to the Atmel HAL.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Removes the use of the debug.conf file when building the
tests for the nRF5340, as that will also enable logs and will
log every message between the two cores, making the logs very
verbose.
Copy the lines from debug.conf that we do want to keep
into the bsim specific conf file, and stop using the debug.conf
file.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Extentd 'benchmark.thread_metric' (tests/benchmarks/thread_metric)
test suite to collect benchmark measurements in Twister reports
as recordings parsed from the test's output: time period values
as well as errors.
Additionally, each test is executed until it makes at least 3
measurements to estimate variance.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Adjust testcase.yaml files to changes in Twister schema which
now allows multiple recording patterns ('record: regex:').
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Extend Twister Harness 'recording' feature to allow multiple
regular expression patterns to extract different types of records
from test output.
Add 'merge' recording mode to collect all extracted data fields
into a single record object of the test instance.
Export to CSV file now takes all field names occurred in the collected
records, sort it alphabetically, and then use it for columns instead of
using only the first record's fields. This is done to address possible
situation when records have different set of fields.
Adjust Twister documentation and test suite to the above changes.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Add a DTS binding for the MediaTek Audio Front End device, and
definitions for the in-tree devices.
These .dts files were auto-generated from pre-existing SOF code (that
defined the devices as C structs) using a tool currently being
submitted in the SOF tree, thus are included here as separate files.
The expectation is that future variants will be authored in this
format directly. Longer term we can move them directly into the core
board DTS.
Signed-off-by: Andy Ross <andyross@google.com>
Add zephyr,bt-hci-uart binding to the CYW43xxx device tree example to
properly implement Zephyr's HCI UART abstraction layer.
Signed-off-by: Benjamin Geiger <BenjaminGeiger1@gmail.com>
Use the 192.0.2/24 address space reserved for documentation.
No functional changes by this commit.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of setting the upper protocol type in ethernet_send()
by checking the protocol type bits, use the ptype that is already
set by the caller. This allows new protocol types to be supported
and makes the system extensible.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The lis2dh driver has the ability to enable the hp filter.
However it was only possible to set the first 2 bits of the hp register.
These bits indicate wether the hp filter is enabled for the interrupts.
This commit moves lis2dh_acc_hp_filter_set to lis2dh.
It also removes the mask so that all bits are able to be set.
Signed-off-by: Maarten Nieuwenhuize <maarten.nieuwenhuize@picoo.nl>
sample_fetch function has quite a high cyclomatic complexity, this
refactoring aims to reduce cyclomatic complexity by refactoring.
- introduce fetch current on pin function
- introduce fetch voltage on pin function
- introduce fetch temperature on pin
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit replaces a hack where is_busy status of adltc2990 was
checked by fetching SENSOR_CHAN_ALL with a dedicated function
expose adltc2990_trigger_measurement function to public api
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Add wsen_pdus_25131308XXXXX driver with
the corrected name and compatibility with
the hal update as well as added new features..
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
Template string for HTTP 1.0 500 response expects content length as a %d
but was getting passed a 'long unsigned int' instead of an 'int'.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
If the file is added to the index, but not committed yet, the 'git'
command will return an empty string. This patch checks for this case and
treats it as if the file was not tracked at all.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add tests cases verifying that the server replies with HTTP 500 Internal
Server Error reply in case of processing error.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add tests cases verifying that the server replies with HTTP 405 Method
Not Allowed reply in case the client tries to access the resource with a
method it does not allow.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case of errors during HTTP2 request processing (or after the HTTP1
upgrade response was sent), send 500 Internal Server Error response
before shutting down the connection.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Since there is a helper function to generate/send headers frame, the
flag can be set there instead of being set separately in various places.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case of internal server errors during HTTP1 request processing,
send 500 Internal Server Error response before shutting down the
connection.
Make sure http1_headers_sent is set whenever sever starts replying, to
avoid duplicate response in case of errors, as that would be protocol
violation.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Reply with 405 Method not allowed not only for static FS resource types,
but also for others. Also, the method checking for for static resources
was messed up - those resource types only support GET by design, so no
need to compare resource method bitmask - it should be checked that the
request was actually GET instead.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
fix coverity issue about deadcode, there is no code path which would
lead to the code that is being deleted with this commit
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The tp register has been remove from the common RISC-V stack frame so
remove it from the VPR specific variant declared via
SOC_ISR_STACKING_ESF_DECLARE. This saves 4 bytes and allows removing a
lot of padding to get the 16B aligned size.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
Resolving the target for a zephyr:board role when using Interpshinx
needs to account for the fact that a board object might be in the
domain (it's part of the catalog), and yet not have any actual docname
associated with it for there's no page in the "local" docs
that defines a ..zephyr:board:: documentation for it.
Handle that case so that ZephyrDomain#resolve_xref yields to Intersphinx
that will eventually find the target in the inventory for
docs.zephyrproject.org.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/83737
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Many of the exception.h files from various arch directories have a typo in
the header gate e.g. ZEPHYR_INCLUDE_ARCH_MIPS_EXPCEPTION_H_ .
This patch corrects the issue by substituting EXPCEPTION for EXCEPTION.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
10/100 ENET and gigabit ENET1G are supported on the EVKB revision.
Correcting the Supported Features table.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Remove unused family variable from receive function in ethernet layer 2.
It is checked only once under such conditions, that do not allow the
variable to be different.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
We can't use 0xff to compare with an int8_t since it'll trigger compiler
warnings/errors:
subsys/bluetooth/host/classic/br.c:397:11: error: result of comparison of
constant 255 with expression of type 'int8_t' (aka 'signed char') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
if (rssi == 0xff) {
~~ ^ ~~
1 error generated.
Use 127 instead for situations where we don't know the RSSI value, like
when processing remote name events. This is fine since from a spec
perspective only -127 - +20 are valid values for the parameter.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Found while building with clang and -Wtautological-compare:
samples/modules/lvgl/screen_transparency/src/main.c:47:45: error:
bitwise or with non-zero value always evaluates to true
[-Werror,-Wtautological-bitwise-compare]
if (!(display_caps.supported_pixel_formats | PIXEL_FORMAT_ARGB_8888)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Remove the #ifdef guard around a function prototype. This was causing a
compile error when CONFIG_FLASH_NPCX_FIU_DRA_V2 was disabled.
Signed-off-by: Keith Short <keithshort@google.com>
Pull libmctp module update implementing fix for
"No SOURCES given to Zephyr library: modules_mctp"
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The CM33 has a XCACHE controller to manage the External
cache. Remove unused Kconfigs as we can use Zephyr API's
to manage the CM33 cache,
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Allow the user to disable the P256-M driver in case their version of
Mbed TLS does not support this driver.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Explicitly enable "PSA_WANT_ALG_ECB_NO_PADDING" to select the AES ECB
mode that it is used in CMAC operation.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
MBEDTLS_AES_ROM_TABLES let Mbed TLS use precomputed AES tables instead
of generating them at runtime and placing in RAM. It clearly helps
reducing the RAM footprint, but at the same time it increases the ROM
one. In order to let the final user decide which kind of optimization
they prefer, we change the "select" statement with "imply".
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
According to MshDFUv1.0, section 6.2.3.5, the Firmware Distribution
Receivers List message is not limited by the size of the receivers list:
```
The number of selected entries shall be limited by the following:
- The number of entries shall not exceed the value of the Entries Limit
field from the Firmware Distribution Receivers Get message.
- The number of entries shall not cause the message payload to exceed
the maximum Access PDU size.
```
Thus, this assertion is incorrect as it doesn't allow to have the
receivers list bigger than number of maximal Access PDU size.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Add check for status okay for dut2. Compilation was failing if dut2
existed but was disabled.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Zephyr introduced postive feature flags to make advanced features
conditional but the upstream has followed a negative feature flag
for advanced features, and during upmerge these two weren't reconciled.
Fix the build in case advanced features are disabled.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Change the property names in the bindings and DTS
to use hyphens(-) for separation instead of underscores(_).
Signed-off-by: James Roy <rruuaanng@outlook.com>
The data size is set using a burst length, the data size for 8/16/32 is
always 1 in those cases.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The internal chip selects are limited to 4, however when using GPIOS
does not pose this limitation.
Also set internal channel to 0 if GPIOS are used.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Defined default values for baudrate, parity, stop bits, and data bits.
This removes complexity and obfuscation from the code.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
This commit adds support for these multicore samples:
- samples/drivers/mbox
- samples/drivers/mbox_data
- samples/subsys/ipc/ipc_service/static_vrings
- samples/subsys/ipc/openamp
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit adds multicore support for MCXN947.
It enables the secondary core CPU1 to boot from flash.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit adds MBOX device tree entry for MCXN947.
Adds support for MCXN in NXP ipm and mbox drivers.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
Instead of having 2 separate and non-equal checks for
capabilities in ASCS and the Broadcast Sink, there is now
a single function in pacs.c that performs the
check.
This reduces code size and makes it easier to maintain.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This examples shows how to use the AD4114 ADC on a
stm32f3_disco board.
As the AD4114 is a 24bits ADC resolution we need to be able
to pass 32bits buffer to get the samples.
CONFIG_SEQUENCE_RESOLUTION is set to 12 instead of 24, and the
gain zephyr,vref-mv is adapted to avoid overflows using the
exisiting adc_raw_to_millivolts function.
Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
The AD4114 is a low power, low noise, 24-bit, sigma-delta ADC.
This driver allows to use it with the Zephyr ADC API. It uses
the continuous acquisition ADC feature.
This ADC allows many configutations, but this driver uses it as the
most generic way :
- each can channel can be enable or disable using the device
tree configuration
- configure two setups (one for unipolar inputs, one for bipolar inputs)
- use an external clock
Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
1. Temperature Interface
According to BMI08x datasheet, temperature reading
requires both MSB and LSB bytes to be read and
processed correctly.
Temp data processing should follow the formula:
Temp in °C = (temp_msb * 8) + (temp_lsb / 32)
This patch implements the correct reading
sequence and calculation method as specified
in the datasheet.
2. Trigger Setting
Previously we set handler and then trigger struct.
However under some situation, as long as we set
the handler, we get into ISR immediately and never
set trigger struct.
I simply changed the sequence.
Testing:
- Verified temperature readings match datasheet
- Tested on stm32f407igh board with BMI08x sensor
Fixes: #82375
Signed-off-by: Wenxi Xu <xuwenxi0517@gmail.com>
`sensor_sample_fetch` is documented as blocking until the fetch
operation is complete. Update the implementation so that this is true.
Since the fetch operation now blocks, there is no need for the data
ready trigger.
Signed-off-by: Jordan Yates <jordan@embeint.com>
When configuring the device to run in one-shot mode, the AS6212 requires
the sleep mode bit to be set. From the datasheet:
```
The sleep mode is activated by setting the bit SM in the configuration
register to 1. This shuts the device down immediately and reduces the
power consumption to a minimum value.
Entering the sleep mode will take some time (120 ms maximum) and the
first conversion after the sleep mode has been entered takes longer than
the values specified in Figure 7. It is therefore recommended when
entering sleep mode to trigger a single shot conversion at the same
time. After 150 ms (max), the device has then entered the sleep mode and
subsequent conversion times are as specified in Figure 7.
```
Signed-off-by: Jordan Yates <jordan@embeint.com>
Use the common `sensor_value_*` helper functions instead of implementing
the conversions again in the driver.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This commit introduces a new Sensor Clock API, enabling the retrieval
of cycle counts and conversion to nanoseconds based on the system or
external clock. The API includes:
- `sensor_clock_get_cycles()` to get the current cycle count from the
sensor clock.
- `sensor_clock_cycles_to_ns()` to convert cycles to nanoseconds using
the clock's frequency.
The implementation supports both system clocks and external clocks
defined in the device tree, making the sensor clock integration more
flexible for various sensor use cases.
Signed-off-by: Mark Chen <mark.chen@cienet.com>
Added more APIs for ARM SCMI clock management protocol.
- scmi_clock_rate_set
- scmi_clock_parent_get
- scmi_clock_parent_set
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Adds a two bullet points explaining the change of the velocity based API
towards an step interval one.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Migrates the peripherals documentation to the new step interval based APi
instead of the velocity one.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Change the stepper API to instead of changing the stepper speed based on
the velocity in microsteps per second to use the delay in usec between
successive steps. Also remove the velocity from the `stepper_run` function
as typical API usage is enable -> set step interval -> run.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Make scripts with an interpreter line executable so that they can be
invoked directly.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
The address sanitizer in llvm adds padding (redzones) after data.
But for those structures we are re-grouping using the linker script
and for which we iterate over we cannot have that extra padding.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Test was using interrupt lines which does not exist on nRF VPR
targets. nRF54Lx FLPR has interrupts >= 16 and nRF54Hx PPR does
not have interrupt 17. Added configuration which works for
nrf54h20_cpuppr and nrf54lx_flpr.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
STM32WB0 series was missed when SoC initialization code was migrated
from SYS_INIT routines to the new soc_early_init_hook method
(c.f. commit c6a03606c2)
Update that series' initialization code to align it with all others.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Use hardware clock frequency to calculate watchdog expire ticks
instead of kernel's "ticks".
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
Enabling `CONFIG_INPUT_FT5336_INTERRUPT` if the ft5336 node in DT
has `int-gpios` property.
As a result of this change, some boards can eliminate lines that
explicitly configure `CONFIG_INPUT_FT5336_INTERRUPT`.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add `VECTOR_TABLE_SIZE` Kconfig option to define the number of interrupt
and exception vectors based on the actual hardware specification.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
The CH32V003 belongs to the CH32V0 series. To improve code organization
and maintainability, all related files should be grouped together in a
dedicated subdirectory.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
Transitioning maintainership of Arm from @ithinuel to @wearyzen.
Many thanks to @ithinuel for your contributions and
dedication to this area.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the main stack size for common samples, but also the shell
stack size for samples calling bt API from the shell thread like the
bt shell.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the main stack size for common samples, but also the shell
stack size for samples calling bt API from the shell thread like the
bt shell.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Rename the pclk_pol and data_cmd-gpios propertys
to pclk-pol and data-cmd-gpios in the devicetree
and bindings of the display subsystem.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Unify property names in bindings and overlay, using
hyphens (-) instead of underscores (_) as separators.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Fix incorrect nbytes_to_read calculation in ext2_inode_read() function.
Previously nbytes_to_read was decremented by read value which caused
incorrect calculation of bytes to read in subsequent iterations.
Now nbytes_to_read is decremented by to_read value which represents
the actual number of bytes read in current iteration.
This fixes potential data corruption issues when reading files from
ext2 filesystem.
Signed-off-by: Chen Shu <751541594@qq.com>
Ensure all pending log messages are processed by the log processing
thread when log_flush is called, blocking the caller until done.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
This function is getting quite involved and it also gained more callers
lately. This is not performance critical so Uninline it to save on
binary size.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
M33 early init for GPIO for secure access configuration,
so that driver can operate pins.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Chunlei Xu <chunlei.xu@nxp.com>
The SAM0 ADC has an internal register to divide the accumulated results
of oversampling the ADC by the amount of samples collected. This value
has to be set by the driver and was missing.
Signed-off-by: Patrick Günzel <patrick.guenzel@kinexon.com>
Move the contents of Kconfig.iso to the common Kconfig
file.
The main reason for this is that the Kconfig.iso filename
has caused issues for some, due to the .iso filename extension.
The contents have been moved to right after the Kconfig options
for BT_CONN which are quite similar.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add support to run unit tests directly from `west build`, for
environments where `west build -t run-test` (which runs the binary under
valgrind) is inappropriate or unavailable (WSL).
`west build -t run` also has the muscle-memory advantage of being the
same target name as the `native_sim` boards.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The commit 2c3165d187 ("drivers: spi: add opaque type to encode SPI
operation flags") introduces new type for operation flag, since it is
16/32-bit depending on CONFIG_SPI_EXTENDED_MODES.
Use the new type for safe, if the function 'spi_stm32_shift_frames' may
use extended operation flag later.
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Move all initialisation of the data struct to the init function to avoid
creating the very large `struct sd_card` in `.bss`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
In the dma loop_transfer test (test_loop_repeated_start_stop()), the
order of calls is dma_config() -> dma_stop() -> dma_start(). This
currently does not work on xmc4xxx because after calling dma_stop(), the
dma would be in a suspended state. Fix this by leaving the suspended state
before exiting dma_stop().
Also don't clear the context (dma_channel->dlr_line and dma_channel->cb)
that was setup by dma_config().
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
When quering the DMA status we need to return the number of pending bytes
left in the transfer. Currently this is inferred by calling
XMC_DMA_CH_GetTransferredData(). However, this function actually returns
the number of items read from the source peripheral (via CTL.BLOCK_TS).
It doesn't guarantee that the last item was fully transferred to the
destination.
When using the ADDR_ADJ_INCREMENT/DECREMENT options it is better to use
DAR register to infer the number of transferred bytes. This points to the
memory address where the next data will be written. It only increments
after the ongoing transfer from source to destination is completed.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
libmctp provides interfaces for wiring up a MCTP bus it calls bus
bindings. The bindings provided in libmctp however are not directly
useful to Zephyr without some work. Provide an initial uart binding that
directly uses Zephyr's async uart interface.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Some ADCs (e.g. SAM0) can only convert one channel at a time
and therefore need to be reconfigured for every voltage
divider prior to startin the conversion
Signed-off-by: Patrick Günzel <patrick.guenzel@kinexon.com>
Move the Atmel SAM E70/V71 DMA PERIDs header file to
include/zephyr/dt-bindings/dma and unify it for use with the entire product
family (SAM E70/S70/V70/V71).
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Synchronize the Atmel SAM E70/V71 DMA Peripheral Hardware Requests HW
Interface Numbers and adjust them to match those listed in the SAM
E70/S70/V70/V71 datasheet.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
JLink refuses new RTT telnet connections for a few moments after a socket
closes. This causes an issue when using `nc` as the telnet viewer, since
JLink would deny the connection. To resolve this, keep the "ping" socket
we use to determine if the RTT viewer is active connected, and use that
socket for RTT communication.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
end frame is used to supply clock pulses so that data goes to last
LED in the chain. Thus, it depends on the number of LEDs in the chain.
Previously, the number of ones sent into the end frame was
hard-coded and limited the usage of the driver to 64 LEDs in the
strip.
Signed-off-by: Cyril Fougeray <cyril.fougeray@toolsforhumanity.com>
Move the SAM V71 register name fixup from the SoC code into the PWM driver
next to the other PWM driver fixup.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Sort the Atmel SAMx7x periheral devicetree nodes according to their address
in the memory map.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add the PWM LED to Nucleo-WB07CC board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add the PWM LED to Nucleo-WB05KZ board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add the PWM LED to Nucleo-WB09KE board and mark as compatible with PWM.
Also mark counters as supported (but don't enable by default).
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
This commit adds support for the STM32WB0 series to
the existing STM32 timer-based counters driver.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Update infineon assets
- abstraction-rtos to 1.8.1.41337
- core-lib to 1.4.2.41337
- mtb-hal-cat1 to 2.6.2.44607
- mtb-pdl-cat1 to 3.12.1.37059
- mtb-template-cat1 to 1.3.0.35366
- serial-flash to 1.4.2.35289
SHA: 468e955eb49b8a731474ff194ca17b6e6a08c2d9
Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
The Atmel SAM0 SoC enable peripherals clocks in distinct places: PM and
MCLK. The old devices had defined the peripheral clock enable bit at PM.
On the newer devices this was extracted on a dedicated memory section
called Master Clock (MCLK). This change excludes the dedicated bindings
in favor of a generic approach that cover all cases.
Now the clocks properties is complemented by the atmel,assigned-clocks
property. It gives the liberty to user to customize the clock source
from a generic clock or configure the direct connections.
All peripherals drivers were reworked with the newer solution.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Some platforms require special clock selection options. This could be
made using the already defined assigned-clocks from Linux clocks.
See 93ee800895/dtschema/schemas/clock/clock.yaml (L24)
This introduces the vendor atmel,assigned-clocks and
atmel,assigned-clock-names properties to generalize those conditions
in Zephyr for Atmel sam0 SoC series.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add new SENSOR_CHAN_FREQUENCY constant to allow implement sensors that
output frequency values in Hertz.
Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
This commit adds two properties. One is used to set size of the low
flash device and the other is used to select the low flash device. Then,
the eSPI TAF request can access between two flash devices base on this
setting.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
Add support for the I2C_MSG_RESTART flag to be able to use a
repeated start in between chained transactions.
The driver now uses the stop/restart flags set in the i2c_msg,
instead of starting and stopping for each transaction in the chain.
Signed-off-by: Lorenz Clijnen <github@lorc.be>
The number of mpu regions that can be configured is less than four cases.
Therefore, only remove this case on cm33 cores, failed log show below:
"num_parts of 4 exceeds maximum allowable partitions (3)"
samples: kernel: mem_protect: userspace: remove mimxrt700_evk cm33 cores
The maximum number of partitions is less than the number of partitions
currently required, causing case to be unable to apply for or delete
excess regions.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
update gpio driver to adapt rt7xx gpio model:
1. There is no PORT_Type on RT7xx,so set PORT_Type as void
2. Add port_no parameter in gpio_mcux_config to adapt IOPCTL driver
3. Add gpio-port-offest parameter in blinding, it will help map the
relation between index n and gpio port when some soc have domain
access attribution.
3. Splite gpio_mcux_configure function into two functions(
gpio_mcux_iopctl_configure and gpio_mcux_port_configure)
according to CONFIG_PINCTRL_NXP_IOCON macro
4. Add code to adapt RT700 GPIO attribute configuration
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Define iocon array to store iocon base address
add index parameter support to support multi iocon instances
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
The LLEXT Extension Development Kit, mostly implemented in
'cmake/llext-edk.cmake', is already part of the 'llext' area of the
MAINTAINERS file, but its test is currently unowned.
Add the missing directory to the 'llext' area.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Recently, the "Generated zephyr.dts" message started being shown twice,
because of some now redundant code that was left behind by commit
fe3287a9ac.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Marked the irq-gpios property as "required: true" in the yaml file.
This ensures that the property is always defined in the device tree,
preventing the driver from crashing when irq-gpios is missing.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Currently the timer_behavior test uses fabs.
Since the C library functions being used in the kernel
is restricted in Rule A.4 in the Coding Standard
We should probably not use these functions in tests either.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
What is the change?
- Fixes#83660 allowing device to now enter suspend mode even if
CONFIG_DEBUG_THREAD_INFO is enabled.
Why is this needed?
- z_sys_post_kernel was cleared as part of #d778d5c
to "allow debuggers to display the correct thread state after
the first 3 instructions have run".
This is not required while resuming from suspend and
it prevents the device from entering suspend so,
move it out of resume path.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
The DMA-based path of the lpspi driver is basically
almost a driver of it's own, move it to it's own file.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is (almost) a whole separate driver for RTIO,
move this code to its own file and move shared code
and definitions to a common file.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Move this driver to its own subfolder to organize it
since there will be new files added for this hardware.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Fixup payload_index to be uint16_t to avoid index overflow.
Do not remember why ptc is 4 bits, where as it must be 5 bit
value similar to nse; added an assertion check until it is
fixed.
Fix ISO Broadcaster and ISO Sync Receiver for PTO > 1 and
use of Pre-Transmission Group Counts.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add back the implementation in the Controller that tries to
enable pre-transmissions to improve time diversity to aid a
remote ISO Sync Receiver role device.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
For pre-transmission groups > 1, the broadcaster link layer would fetch
incorrect payloads from the TX node queue.
Update payload index calculation to reference correct TX payload. Fix
PTO FIXMEs and range checks.
Signed-off-by: Morten Priess <mtpr@oticon.com>
MESH PTS tests require different number of keys, as an example; only
one netkey requires 8 key slots and there are test cases that use at
least two netkeys which consume the default 16 slots, so it is better
to have enough slots all times. Setting slot count to 32.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
* Move all KConfig configuration from CMake to `nrfx_kconfig.h`
* Move macro utils from `nrfx_kconfig.h` to `nrfx_zephyr_utils.h`
* Move GRTC channels allocation from `nrfx_kconfig.h` to
`nrfx_reserved_resources.h`
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
There is no reason to duplicate `nrfx_config_*.h` files.
Use configuration files from `hal_nordic/nrfx/templates`.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
Add SPIRAM noinit output sections on related targets so the user can
allocate variables with macros EXT_RAM_BSS_ATTR and EXT_RAM_NOINIT_ATTR.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Without this fix I get an MPU fault in samples/net/openthread/shell/
with CONFIG_IEEE802154_DRIVER_LOG_LEVEL_DBG=y.
Related commit: a7224830ce
Signed-off-by: Martin Jäger <martin@libre.solar>
Add hwinfo driver for Silicon Labs Series 2 devices. The driver
is separate from the Series 0/1 Gecko driver because the available
reset causes are completely different.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Relocate the `power-states` node from under the `soc` node to
the `cpus` node, making it consistent with other STM32 SoC series.
This resolves the device-tree warning:
(simple_bus_reg): /soc/power-states: missing or empty reg/ranges property.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This PR fixes the issue that building the driver with either
CONFIG_RTC_CALIBRATION=y or CONFIG_RTC_ALARM=y and without
'int-gpios' used will cause
'undefined reference to `rv8803_write_reg8'' error.
Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
Rename the primary_source, secondary_source,
filter_count and filter_period property to
primary-source, secondary-source, filter-count
and filter-period in the devicetree and bindings
of the counter subsystem.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Rename the following properties in binding and overlay:
-- primary_source => primary-source
-- secondary_source => secondary-source
-- filter_count => filter-count
-- filter_period => filter-period
Signed-off-by: James Roy <rruuaanng@outlook.com>
Commit:
- adds dependency of the mbedtls psa usage on secure storage
- removes PSA ITS emulator and enables usage of
the secure storage in ble mesh bsim tests
- enables secure storage in all ble mesh and related samples
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Some time ago a new shim for nRF UARTE was added (uart_nrfx_uarte2.c)
which used nrfx_uarte.c driver underneath. It was supposed to support
nrf54x platforms. However, later on legacy driver (uart_nrfx_uarte.c)
was extended to support nrf54x platforms and it takes less code size,
has better performance and more features. Shim uart_nrfx_uarte2 will
no longer be supported. As new shim is the default and there is a
Kconfig to pick the legacy shim (CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y)
it cannot be deprecated in the normal way. Additional Kconfig option
is created (DEPRECATED_UART_NRFX_UARTE_LEGACY_SHIM) which is enabled
if CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=n and it selects DEPRECATED.
A warning was also added to the CMakeLists.txt.
Patch removes use CONFIG_UART_NRFX_UARTE_LEGACY_SHIM in tests.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit removes the `ctx_shell` declaration from the Bluetooth shell,
marking a milestone in eliminating this dependency.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This change aims to eliminate the dependency on `ctx_shell` in
the Bluetooth `classic/shell/*`, making the code more maintainable.
Replaced `shell_*` functions that depended on `ctx_shell` with
the appropriate `bt_shell_*` functions.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This change aims to eliminate the dependency on `ctx_shell` in
the Bluetooth `mesh/shell/*`, making the code more maintainable.
Replaced `shell_*` functions that depended on `ctx_shell` with
the appropriate `bt_shell_*` functions.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This change aims to eliminate the dependency on `ctx_shell` in
the Bluetooth `audio/shell/*`, making the code more maintainable.
Replaced `shell_*` functions that depended on `ctx_shell` with
the appropriate `bt_shell_*` functions.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Relocated `bt_shell_private.c` to the `common` folder to enable
independent use between `BT_SHELL` and `BT_MESH_SHELL`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Pass the report buffer originally provided in hid_device_submit_report()
as a parameter to input_report_done() callback. Example use case is to
enable HID report multi buffering which is easiest achieved by
allocating report buffer before submitting it and then releasing the
buffer after it has been sent.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
'wifi status' CMD shows wrong security information when STA connects to
Ext-AP with WIFI_SECURITY_TYPE_SAE_HNP, after connection using
WIFI_SECURITY_TYPE_SAE_AUTO. Setting sae_pwe for all the WPA3 SAE types
can fix this issue.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
In order to ensure that watchdog channels are freed in proper
driver state, synchronization in form of simple loop needs
to be added after stopping. In no irq variant, it is already done
on nrfx level. NRFY function can be replaced by NRFX one in
the future.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Simplifies GPIO reset logic in `phy_mc_ksz8081_reset()` by introducing
a dedicated function, `phy_ksz8081_reset_gpio`. If this function returns
`-ENODEV`, it will fall back to using a command-based reset instead.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Simplifies error handling in `phy_mc_ksz8081_get_link()` by
centralizing mutex unlocking with a `done` label.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Link layer needs some fixing before hci driver can be minimally configured
and hence must revert conditional inclusion of core functionalities untill
new link layer is available.
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
Several driver setting were as defines in driver file which made hard to
change by application programmers. Fixed by adding
silicon labs specific Kconfig file for bluetooth driver configurations.
Also some cleaning for handling Kconfig conditional to conform
preferred style.
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
This sample is designed specifically for the STM32 family.
With this filter, tests on other vendors' platforms will
be skipped.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add new fields to the `esp_image_load_header_t`
* provide IROM and DROM fields to fix debugging features
* extend the header to up to 96 Bytes for future use
Signed-off-by: Marek Matej <marek.matej@espressif.com>
By using `SETTINGS_STATIC_HANDLER_DEFINE_WITH_CPRIO` we can ensure that
BT subsystems always get loaded after BT, and BT Mesh after both of
them.
This solves the host having to register a GATT service in a delayed
manner, as we are sure to now register the GATT service after sc_commit
sets `SC_LOAD`.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Extending existing provisioning test code to use PB-GATT and adding
test cases for provisioning over PB-GATT. Test names are changed to
represent both provisioning brearers. Enabled required kconfigs for
PB-GATT and GATT proxy features in overlay_gatt.conf. Test argument
prov-bearer is added to provisioning tests to select bearer.
Following tests are renamed and extended to use PB-GATT
- pb_adv_multi
- pb_adv_no_oob
- pb_adv_oob_auth_ib_pk
- pb_adv_oob_auth_ignore_oob_pk
- pb_adv_oob_auth_oob_pk
- pb_adv_reprovision
PB-GATT test cases will run only with PSA encryption since tinycrypt
is to be deprecated.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
uuid needs to be keept in pb_gatt_cli server context until the client
is connected to server, otherwise, since we only kept the pointer from
the net_buffer, any incoming unprovisioned beacon before the connection
is established may overwrite uuid.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
Add new target to the following tests:
- uart_elementary
- uart_async_api
- uart_mix_fifo_poll
- uart_pm
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The _POSIX2_VERSION feature test macro should be either -1 or
left undefined on systems that do not have a POSIX-conformant
shell or utilities. Otherwise, it should be defined to the
value _POSIX_VERSION.
Since Zephyr has neither a conformant shell nor utilities, leave
_POSIX2_VERSION undefined.
Similarly, the _POSIX2_C_DEV macro should be either -1 or left
undefined if the implementation does not support the c99, lex,
and yacc shell utilities. Otherwise it should be defined to the
value _POSIX_VERSION.
Although _POSIX2_C_BIND appears to be related to the _POSIX2
family of feature test macros, all it conveys is that the
implementation supports POSIX C Language bindings, which is
always the case if the implementation uses the C programming
language, even if the implementation does not support a
conformant shell and utilities. _POSIX2_C_BIND should be
defined to the same value as _POSIX_VERSION.
Define _POSIX2_C_BIND as _POSIX_VERSION since Zephyr's
implementation of the POSIX API supports C language bindings.
The information above comes from the "unistd.h" page in the
spec and also through word search of the term "C-Language
Development Utilities".
https://pubs.opengroup.org/onlinepubs/9699919799/index.html
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The net_pkt_clone() did not cloned all needed fields.
Added what was missing from the clone.
Fixes#83157
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
RTIO correctly declares tx buffers as const, however, the
existing I2C API and NRFX (SDK) drivers don't. Therefor cast the
const buf to non-const when passing the tx buf to the twim driver
from the RTIO call to avoid the const warning.
The tx buffer is being treated as const data naturally in the
NRFX driver, its just not declared as such since we reuse the
buffer for both RX and TX data.
Alternatively the SDK and "shim" drivers built on top of it need
to be updated, which is quite a bit of work :)
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
When serving a static file to the HTTP client, we need to supply also
content length field so that the connection can be closed immediately
when the file is fully sent.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Disable vt100 commands too in websocket console, not only the coloring.
This allows to prevent printing artifacts in websocket shell backend
logging.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case websocket logger is disabled, the websocket shell backend should
still build, fix that.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case websocket logging is enabled, the websocket shell should not be
configured as a logger backend, otherwise logs are duplicated.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The debug printing feature seems to be broken by design - not only in a
default configuration it would trigger endless logging loop (as printk
is piped through logging subsys), it also doesn't work well with
deferred logging (additional artifacts in the output).
Since similar effect can be achieved by enabling any other logger
backend, which should receive the same data as the websocket one, simply
remove it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case the log message length exceeded the websocket buffer size, the
backend would drop the overflowing character, instead of sending it as a
part of the next message.
Rework the ws_console_out() logic a bit to prevent that.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The log output function registered for the logger backend is expected to
return the number of bytes processed, but currently it returns the TX
retry count. This commit fixes it. In case data could only partially be
sent, respective bytes count is returned. In case of TX error, the bytes
are assumed dropped to prevent busy looping in the logger.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Wrong symbol was used for log level when registering logger instance for
websocket shell, causing misconfiguration and in result unexpected
crashes.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
If the CoAP server receives a message that doesn't fit into the receive
buffer, we should stop processing the message and respond to the client
with 4.13 "Request Entity too large".
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add an argument `--esp-encrypt` to flash an ESP32 series chip with
encrypted flash.
The content of the binary is encrypted on the fly by the chip. It is
not required to know the encryption key. However, the fuses that
disable encrypted flash download must be kept enabled for this to work.
Signed-off-by: Martin Jäger <martin@libre.solar>
* The `bt_dev.le.conn_ready` list is accessed by the tx_processor
which runs in a workqueue, but `bt_conn_data_ready` can be called
from different threads so we need to make sure that nothing will
trigger a context switch while we are manipulating the list since
sys_slist_*() functions are not thread safe.
* This only happens if call to `bt_conn_data_ready` is performed
from a preemptive task which can happen depending on the
application.
Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
fixes the following:
- If a read SQE generates a CQE with an error before a buffer
has been allocated,
the flags of the sqe are not correctly translated into cqe flags.
- rtio_cqe_get_mempool_buffer(...) sets the *buff
to a non-zero value, even if no buffer is assigned
Signed-off-by: Florian Weber <Florian.Weber@live.de>
Due to cm7 on RT1180 is secondary core, and dtcm have been used
as sram directly, so there is no need to define zephyr,dtcm node.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Add pinctrl and dma channel/mux information for lpspi3 on cm33/cm7 cores.
Set dma4 status is OK.
Add pinctrl for lpuart3
tests: driver: spi: support spi_loopback case on MIMXRT1180_EVK
Add .config/.overlay files for cm33/cm7 cores
Link to ocram1 as RAM region on cm7 core
Link to dtcm as RAM region on cm33 core
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
add lpspi clock enablement code
DMA3/4 access different domain is controlled by TRDC, release all
the domain access permission for DMA3/4, and add privilege and secure
information in dma access request signal by DAC module
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Multi channels share one IRQ, add channels-shared-irq-mask on RT1180
attribution to describe the channel shared status, and add code
implementation to register the handler function for each channel
in different interrupts.
Fix legacy building warning issue
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Boot time initialization functions and data used there must be
available at boot. With demand paging, these may not exist in
memory when they are being used, resulting in page faults.
So pin these functions and data in linker sections to make
sure they are in memory at boot time.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Allowed toolchains was not set in 'board' metadata causing those to not
build and get filtered.
Fixes#83792
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Rename the Infineon XMC4xxx CAN node devicetree property clock_div8 to
clock-div8 (prefering hyphens over underscores to separate devicetree
property names).
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Enables the fractional-N (FRACN) setting for PLL1 in the STM32H5XX
clock driver.
This feature allows achieving a system clock frequency of 250 MHz from
an 8 MHz `clk_hse`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Exit the init earlier when XSPI is in memory map mode. Avoid
unnecessary checks and prevent pin reconfiguration that might
cause line spikes. Clock check beforehand is preserved.
Remove '\n' from the LOG_DBG string.
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
Exit the init earlier when OSPI is in memory map mode. Avoid
unnecessary checks and prevent pin reconfiguration that might
cause line spikes. Clock check beforehand is preserved.
Remove '\n' from the LOG_DBG string.
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
We add a serial UART driver for Microchip MEC5 HAL based chips.
The driver supports polling, interrupts, and runtime configuration
features. Power management will be implemented in a future PR.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Includes a RTC attribute as counter value to demonstrate
data being kept in memory after deep sleep reset.
This is only valid when MCUboot is enabled.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This PR includes changes in all Espressif's SoCs to enable
keeping data in RTC memory after deep-sleep.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This macro is defined in a few places which leads to macro redefinition
error e.g. when compiling prometheus network sample for NPCX boards.
Provide one definition of IS_BIT_SET() in util_macro.h to fix the
problem.
Signed-off-by: Patryk Duda <patrykd@google.com>
Check whether the length of buf is consistent with the valid data
received for op code BT_BAP_BASS_OP_ADD_SRC and BT_BAP_BASS_OP_MOD_SRC.
If the length of buf is inconsistent with the valid data received, the
response is error code BT_ATT_ERR_WRITE_REQ_REJECTED instead of other
errors.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
All immediates in RISC-V are encoded as two's complement. This commit
adds a test for relocating jumps that utilize the full range of the
immediate, in both positive and negative direction.
To this end, the test uses the compressed b-type (CB) instruction to
branch to its maximum negative (-256) and maximum positive (+254)
targets.
In case of test failure, expect relocating the corresponding llext to
fail.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
The RISC-V architecture-specific relocations need to check whether
each required relocation can fit into the modified instruction's
immediate. All immediates in RISC-V are encoded as two's complement.
The current truncation check has an off-by-one error for checking
the maximum negative distance, as two's complement encoding can
represent a negative value that is the maximum positive value plus
one, causing LLEXT to refuse loading valid code.
This commit adds an additional condition to the check that fixes
the aforementioned issue.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Move the instance pointer, which is a constant value, into a dedicated
config structure. At the same time, remove the type casting macros as
this pattern has been removed from the tree for some years now.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The STM32 IWDG is a single channel watchdog, and therefore should be
returning `-ENOMEM` when a user attempt to install additional timeouts,
instead of overwriting previous values.
Signed-off-by: Jordan Yates <jordan@embeint.com>
the following implementations are added:
- set cyclic variable to handle circular/normal mode :
enable dest/source_reload_en variable to set CIRC bit to 1 for RX or TX.
- DMA_STATUS_COMPLETE(0), DMA_STATUS_BLOCK(1) macros to handle half
and full irq
- add ASYNC_UART_STATUS_TIMEOUT(3) macro to work with default mode
- add status input in uart_stm32_dma_rx_flush function to handle
async events depending on the mode we are in.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
co-authored-by: Cyril Fougeray <cyril.fougeray@worldcoin.org>
This macro will help us to enable the 5th bit CIRC on the DMA_CCRx
register for all stm32 series having this configuration.
Thus the DMA will be able to handle the circular buffers.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
co-authored-by: Cyril Fougeray <cyril.fougeray@worldcoin.org>
The LLEXT EDK test works by packaging an EDK and then testing its
functionality to build the extension in an external CMake build step.
That CMakelists.txt file currently references the required tools using
the ZEPHYR_SDK_INSTALL_DIR environment variable, which must be manually
set by the user.
This change modifies the test to read the newly added 'build_info.yml'
file, generated by Zephyr during the first build step. This allows to
set the ZEPHYR_SDK_INSTALL_DIR environment variable automatically based
on the (possibly auto-discovered) SDK path.
A few minor compliance cleanups are also included.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Allows having CMake variables inside of this Kconfig to e.g. use a
value that can specify a board directory or path relative to a
CMake file location variable
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
nrfx_config is setting NRFX_SPIM_EXTENDED_ENABLED based on presence of
a DT property. However, there are test cases when it is expected that
extended SPIM features will be disabled on a target that supports
extended features. Allow that by not setting the value if it is already
defined.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Repeated references to _current won't produce a different result as the
executing thread instance is always the same. Use the const attribute to
let the compiler know it may reuse a previously obtained value. This offset
the penalty for moving z_smp_current_get() out of line and provides yet
more binary size reduction.
This change is isolated in its own commit to ease bisecting in case some
unexpected misbehavior is eventually observed.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Define the generic _current directly and get rid of the generic
arch_current_get().
The SMP default implementation is now known as z_smp_current_get().
It is no longer inlined which saves significant binary size (about 10%
for some random test case I checked).
Introduce z_current_thread_set() and use it in place of
arch_current_thread_set() for updating the current thread pointer
given this is not necessarily an architecture specific operation.
The architecture specific optimization, when enabled, should only care
about its own things and not have to also update the generic
_current_cpu->current copy.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Mostly a revert of commit b1def7145f ("arch: deprecate `_current`").
This commit was part of PR #80716 whose initial purpose was about providing
an architecture specific optimization for _current. The actual deprecation
was sneaked in later on without proper discussion.
The Zephyr core always used _current before and that was fine. It is quite
prevalent as well and the alternative is proving rather verbose.
Furthermore, as a concept, the "current thread" is not something that is
necessarily architecture specific. Therefore the primary abstraction
should not carry the arch_ prefix.
Hence this revert.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Add support for the open hardware CANbardo Universal Serial Bus (USB) to
Controller Area Network (CAN) adapter board.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add check that should enable MFP when connect to WPA3 network,
as MFP required is mandatory for WPA3 network.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Support printing WPA3 enterprise type in scan result for more
accurate display, including the suiteb, suiteb-192 and WPA3
enterprise only.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
For 'wifi status' and 'wifi ap status' cmd of the hostap case,
originally only support getting 'EAP-TLS' for the enterprise
mode, which is not correct. Now support getting the specific
enterprise mode, including the WPA3 enterprise mode and
the EAP method type.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Change Wi-Fi suiteb type into WPA3 enterprise security type, it
includes suiteB, suiteB-192 and WPA3 enterprise only mode.
Support setting WPA3 enterprise only mode, which should use
cipher_config->key_mgmt as WPA-EAP-SHA256, and the AKM in RSN
IE will show 00-0F-AC:5.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Remove EAP TLS SHA256 security, as it was added to support the AKM
of 00-0F-AC:5 in RSN IE, but actually this AKM is used by WPA3
enterprise only mode.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The check combination of "is zero" and then "less than zero" leaves open
the theoretical possibility of a positive return value, which would
continue on with an uinitialized 'sym'.
Checking for "not zero" has the same effect and covers all situations.
Commit 56fd85442 did the same thing for 'rela' a few lines above, but
missed this instance. No other places in the llext code have this issue.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Previously, filesystems could not be mounted at '/' because
mount points were restricted to being at least 2 characters.
Since '/' corresponds to the standard POSIX root filesystem
location, reduce the minimum length of a mount point to
1 character.
With that, we can mount a POSIX root filesystem.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
not force host variant if environment is setting something different in
the case of posix arch.
Fixes#83766
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The Espressif branch of OpenOCD uses the version string "v0.12.0" instead
of "0.12.0" causing the version regex match to fail.
Add an optional 'v' prefix to avoid the failure.
Fixes: #83373
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
The bus recovery feature utilizing bit-bang operations, which sends
SCL clock pulses to recover the bus and checks if the line is down.
Upon recovery, it disables the system test register before resuming
the transactions.
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
The OMAP I2C provides support for I2C serial interface on TI K3 series.
It is compatible with Philips I2C physical layer.
The commit includes:
Zephyr i2c api implementation
Polling Mode
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
The dma callback functions were written in a very confusing way, clean
them up, and this change also saves some bytes of ROM.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
move copy pasted code into common spot for when there is an invalid
configuration passed to the config function
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There's no need to put an if before i2s_purge_stream_buffers,
because this is handled already by the boolean values entered to the
function
Also remove the inline of the function, which allowed the compiler to
make optimizations and save some bytes.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Put DT_DRV_COMPAT at top of file by custom
Consolidate logging macros
Clean up checks and use build assert
Remove header file which was not necessary
Remove unnecessary forward declarations
Fix the type of the stream state to be more precise, it is used as the
enum i2s_state type. This requires handling all the enum cases in switch
statements
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
In order to be functional and avoid linker errors, use a
default setting for BACKING_STORE_CHOICE that is something other
than "this is not implemented".
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The Xtensa linker scripts seem to be injecting syntax errors when
MMU is enabled. Disable the implication in Kconfig.mem for Xtensa
until linker issues are resolved.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add possibility to set channel in diag mode by implementing
`platformRadioChannelSet` API.
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Fix platform radio state machine to be compliant with one shown in
OpenThread's `include/openthread/platform/radio.h`
Align twister tests to verify proper behavior of the
state machine.
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Both the TMAP kconfig file and public header file defined
which roles were supported.
The Kconfig file options were recently added and were more
up to date (and correct), and allows for other Kconfig files
to use these values, thus allowing for more flexibility when
implementing applications.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change entries of the form:
"Proper Name <proper@email.xx> <proper@email.xx>"
to:
"Proper Name <proper@email.xx>"
This makes it clearer that no e-mail address mapping takes place in these
entries, only the "Proper Name" is mapped based on "<proper@email.xx>".
Normalize all e-mail mapping entries to:
"Proper Name <proper@email.xx> <other@email.xx>"
This makes it clearer which e-mail address is being mapped and follows the
formats listed in the gitmailmap documentation.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Ensure that HTTP resources can only be served to a client connected on
the specific service(s) that the resource was registered against using
the HTTP_RESOURCE_DEFINE macro.
This allows different resources to be registered to different services,
for example to make some resources only available via an HTTPS service
and not via unencrypted HTTP.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
add CONFIG_HAWKBIT_SAVE_PROGRESS_INTERVAL, to
be able to set a interval, how often the progress is saved.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Previously, there were two separate Kconfig definitions
of ARM_MPU located at:
- arch/arm/core/mpu/Kconfig
- arch/arm64/core/cortex_r/Kconfig
This lead to incomplete default settings and unexpected
missing configurations.
This commit combines the two into a single unified definition
now located at arch/common/Kconfig to prevent this.
Signed-off-by: Samuel Chee <samche01@arm.com>
TIM8 was missing from the dts board file. This is one of the
advandaced-control timers on the STM32H562xx/STM32H563xx processors.
Signed-off-by: Omeed Baboli <omeedbaboli@gmail.com>
Move the cmake file of OSAL to it's own repo and build as a standalone
library, this is porting friendly.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Add sample to read from up to 10 FIFO streaming devices, using the
sensor_stream() API and the RTIO framework:
https://docs.zephyrproject.org/latest/services/rtio/index.html
The devices has to be aliased as streamN (0 <= N <= 9) in DT, and
will be instantiated using SENSOR_DT_STREAM_IODEV() macro.
Currently the sample gets/prints data on SENSOR_TRIG_FIFO_WATERMARK
trigger basis for the following sensor channels:
- SENSOR_CHAN_ACCEL_XYZ
- SENSOR_CHAN_GYRO_XYZ
- SENSOR_CHAN_DIE_TEMP
- SENSOR_CHAN_GAME_ROTATION_VECTOR
- SENSOR_CHAN_GRAVITY_VECTOR
- SENSOR_CHAN_GBIAS_XYZ
Signed-off-by: Armando Visconti <armando.visconti@st.com>
The "nm_bsp_reset" is used to apply a hard reset to the WINC board by
setting CHIP_EN and RESET_N signals low,then after specific delay
the function will put CHIP_EN high then RESET_N high.
reset-gpio is however defined as active low , causing this function
to hold the wifi module in reset.
Signed-off-by: Andreas Ålgård <aal@ixys.no>
When CAN is used, HSFLL frequency must >= AUXPLL frequency. Make sure to
send a request to the HSFLL clock instance.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This test cannot tolerate any loss of precision, including the one
caused by the compiler contracting floating points operations together,
like in fused multiply-add (FMA). Some toolchains enable FP contraction
by default, so disable it for the specific test and let the user decide
themselves whether precision or performance is needed for their
specific application.
Co-authored-by: Jordan Yates <jordan@embeint.com>
Co-authored-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Loop through all of the channels and make sure that each
channel has an output.
Changes in patch originally present in #72972.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Instead of assuming that an individual axis must contain all
data-values. Additionally, for determining that there's XYZ data, all
three channels must be present in the header.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
For the supported channels, instead of just allowing 3-axis data being
printed out, allow individual channels to be processed (e.g: accel_x,
gyro_y, etc).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Wait until the typical time that the sample would be ready before
starting to poll the status register.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The lookahead buffer is a bitmap containing info on free blocks and does
not have a minimum size or an alignment requirement.
This fixes the arbitrary 4 * block_size requirement for block devices
and fixes Kconfig documentation to remove a reference to nonexistent
8 byte alignment requirement.
Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
Instead of picking a set of safe block multiple sized values for caches,
round down to the nearest block multiple, increasing static buffer usage
determined by Kconfig variables.
Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
Moves the LV_DRAW_DMA2D_HAL_INCLUDE to the soc instead of the development
kit since the hal include is the same across all boards using the soc.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
With assert condition set to true, assertion never happens.
Change __ASSERT(true) to __ASSERT(false).
Signed-off-by: Dmitry Lukyantsev <dmitrylu@meta.com>
Update HTTP server documentation and migration guide to account for
added request_ctx parameter to the http_resource_websocket_cb_t
callback.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Passing HTTP upgrade request context to the user callback allows the
user to decide whether to accept or reject the websocket connection
based on the HTTP headers in the request. The primary reason for this is
to enable authentication of the websocket connection (e.g. via cookies
or Authorization header).
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Rename _XFR_.*BITS and _WRITE_ONLY_ABSENT according to MISRA-C standard
rules 21.1 and 21.2 (Zephyr rules 121 and 122). For details see Zephyr
coding guidelines in table "Main rules".
Signed-off-by: Stephan Linz <linz@li-pro.net>
Use a string for the xfr-min-bits property over an integer value, as this
significantly improves the readability of the MIPI DBI SPI device binding.
Signed-off-by: Stephan Linz <linz@li-pro.net>
Add a series of unit tests which try to cover somewhat systematically
the possible inputs and what we finally get at the exit
of the Binding constructor.
Running the assumption that any (valid) YAML binding file is
something we can make a Binding instance with:
- check which properties are defined at which level (binding,
child-binding, grandchild-binding, etc) and their specifications
once the binding is initialized
- check how including bindings are permitted to specialize
the specifications of inherited properties
- check the rules applied when overwriting a binding's description
or compatible string (at the binding, child-binding, etc, levels)
Some tests covering known issues are disabled by default:
- this permits to document these issues
- while not causing CI errors (when running the python-devicetree
unit tests)
- enabling these tests without causing errors should allow us
to consider the related issues are fixed
Signed-off-by: Christophe Dufaza <chris@openmarl.org>
Updated various device definition macros to use the DT_INST variants for
consistency and improved readability.
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Instead of extending list of unsupported platforms use filter that
will exclude or current and next ARM cores from platforms with HAL
that does not support C++98.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Enable device runtime PM for nrf54h20dk/nrf54h20/cpuapp where
fast UARTE (uart120) is tested.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Request fast global domain to run at 320 MHz during fast UARTE
activity. As request is asynchronous it cannot be called from
an ISR. Due to complexity to handle that without device runtime
power management a requirement is added so that if fast UARTE
is used device runtime PM must be enabled. Clock is request
and released in PM resume and suspended actions which in case
of fast UARTE are only called from thread context.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add requesting for global HFSLL when fast instance TIMER (e.g.
TIMER120 in nrf54h20) is used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
- Add Flash HP support for ra6-cm4, ra6-cm33, ra4-cm33 (except
r7fa4w1ad2cng)
- Add config to set the minimal size of data which can be written
for RA4E2, RA4M2, RA4M3, RA6E1, RA6E2, RA6M1, RA6M2, RA6M3, RA6M4,
RA6M5
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
- Bring macro defined of RA8 in flash_hp_ra.h to device tree
- Change to use irq_lock instead of semaphore for code flash
- Modify and add conditions to check and make decision to perform
action at last block.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
Add an example for the `runners` section in the zephyr/module.yml file,
and a paragraph to the west "flash and debug runners" section.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add runners entry to the module schema and import the file specified.
Every class that inherits from ZephyrBinaryRunner will be discovered and
added to runners list.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This implements to generate the MAC address of the device UUID.
The UUID is hashed to reduce the size to 3 bytes.
Ideas taken from eth_nxp_enet.c
Adding dependencies on: HWInfo and CRC
Signed-off-by: Adib Taraben <theadib@gmail.com>
Clarify the impact of the various non-Apache-2.0 licensed files in the
tree.
Clean up the formatting to improve readability and better match the other
parts of the project documentation.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This change adds support for segger rtt, similar to other supported
soc's. This was lacking when evaluating tracing.
Without this addition the system fails to build, indicating that
HAS_SEGGER_RTT is missing. Adding CONFIG_HAS_SEGGER_RTT in prj.conf is
not allowed.
Signed-off-by: Bart De Vos <bart.devos@verhaert.com>
Added integration_toolchains to allow building/testing with multiple
toolchains available in the environment.
This changes the output structure and adds another level in the path
under twister_out signifying the toolchain used. The toolchain used
(variant) is also part of the json output now.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a new extension config value so that repo URL is not hardcoded in
the extension code.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Some comprehensive lists were hard to read, improve the code a bit so
that things make more sense.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Modify the extension so that multiple Doxygen projects can be
referenced. While not required in upstream Zephyr, other users
downstream may require support for this feature.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Modify the extension so that multiple Doxygen projects can be added.
While not required in upstream Zephyr, other users downstream may
require support for this feature.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The extension had a some major design flaws, mainly:
- Ignored the `api_overview_doxygen_xml_dir` setting, instead it
"sniffed" doxyrunner properties, so violating environment boundaries
- Computation of Doxygen HTML path worked because of the hardcoded URL
in relative form found in doc/conf.py
This patch moves most code to the actual directive, so that context can
be obtained from the document being parsed. Also, the only config
required now is the Doxygen output dir, obtained from doxyrunner at
conf.py level.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
By default OpenThread uses storage API to store configuration options.
On for example mimxrt1020_evk the enabled by default is
CONFIG_SETTINGS_NONE when CONFIG_SETTINGS is enabled. Fix this problem by
using the CONFIG_SETTINGS_NVS=y.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Enable execution of i2c driver tests by adding i2c entry to
the list of supported peripherals.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Fixes issue introduced in #76460
The previous code attempted to detect whether TMAG5273 or TMAG3001 was
connected based on DEVICE ID register. This doesn't work as the bits that
denote the version on one part are undefined on the other part, and cannot
be relied on to be zero.
This commit adds a TMAG3001 compatible which (for now) is just derived from
the TMAG5273 compatible. This allows TMAG3001 to be specified directly in
the DT. The driver code is updated to support both compatibles.
Signed-off-by: Yiding Jia <yiding.jia@gmail.com>
The three sensor channels listed below were recently added by the commit
9471df95a5:
- SENSOR_CHAN_GAME_ROTATION_VECTOR
- SENSOR_CHAN_GRAVITY_VECTOR
- SENSOR_CHAN_GBIAS_XYZ
Theses channel names are missing and causes a system crash if the
SENSOR_LOG_LEVEL is set to DEBUG.
Also, the two sensor attributes SENSOR_ATTR_GAIN and SENSOR_ATTR_RESOLUTION
were added by the commit f849140de7.
This adds these missing channel and attribute to the list of names in the
sensor shell.
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Update the driver to take the "vrefint-cal-resolution" property into
account when performing the calculations.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
After updating the "st,stm32-vref" binding with a new property containing
the calibration data resolution ("vrefint-cal-resolution"), update the
corresponding nodes in SoC DTSI files with the proper value.
Note that the property is not set on SoCs with resolution of 12, as it is
the default value specified for the property in the binding.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add a property holding calibration resolution, similar to what already
exists in the st,stm32-temp-cal-common binding.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The CCP API for the Call Control Profile works on top of the
TBS API, and will eventually replace parts of the TBS API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The previous re-organization has the zephyr-keep-sorted defines
missing. Add them for the I2C drivers and targets. Also
moved lines to fix out-of-order violations.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Remove v3.6 from the list of supported releases. Zephyr v3.6.0 reached
end-of-life on 2024-11-29.
Fixes: ea8bd5a09a
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Since "JLink.exe" is also an executable distributed with JDK's, do an
explicit search on the standard SEGGER install directories for a JTAG
"JLink.exe" before falling back to whatever is first on PATH.
Fixes#51825.
Signed-off-by: Jordan Yates <jordan@embeint.com>
After writing option bytes, force them to be loaded. Failing to perform
this step means the values are never applied and not actually written
to non-volatile memory.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fixes issue #83555, where UART transmit operations fail in Zephyr
sysbuild projects using MCUboot and the asynchronous UART API
(`CONFIG_UART_ASYNC_API=y`) on SAM0 devices such as the
ATSAMC21G18A.
The issue occurs because the DMA controller is not reset during
initialization, causing `BASEADDR` and `WRBADDR` registers to retain
MCUboot's configuration. This prevents the application from reconfiguring
these registers to its own RAM addresses, leading to UART transmit
timeouts and triggering the `UART_TX_ABORTED` callback.
This patch resolves the issue by resetting the DMA controller during
initialization in `dma_sam0.c`. The following actions are performed:
- Disables the DMA and CRC modules.
- Applies a software reset to ensure a clean state for reconfiguration.
With this change, UART transmit operations work as expected, improving
stability and compatibility between MCUboot and the application.
Signed-off-by: Tristen Pierson <tpierson@electrohire.com>
Refactor the devicetree files for the Atmel SAM E70 and SAM V71 product
series. These SoCs are part of a larger product family (SAM
E70/S70/V70/V71) and share a common set of peripherals.
Introduce a base samx7x.dtsi for all members of the family, containing the
union of all supported peripherals. Specific product series can use
/delete-node/ in their DTSI (e.g. same70.dtsi) for removing peripherals not
present in that product series.
Replace pin-count-specific DTSI files (e.g. same70q19b.dtsi) with
pin-count-agnostic DTSI files (e.g. same70x19b.dtsi) as the pin-count is
not taken into account in these anyways, and adjust the relevant board
devicetrees accordingly.
As part of this refactoring, introduce support for the missing flash memory
density variants of the SAM E70 product series.
Support for the two remaining product series (SAM S70/V70) is not part of
this refactoring as these will require further changes to the SoC support
code (soc/atmel/sam/).
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
qemu_x86/atom was failing tests/posix/fs in
test_fs_readdir_threadsafe for some reason and only for that
platform.
All other platforms pass the testsuite properly with the dirent
declared on the stack.
Declare the dirent object statically so that qemu_x86/atom will
pass test cases.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
DIR is a POSIX type defined via the dirent.h header.
In Zephyr, we define it as `typedef void DIR`, since it is only
ever described via a pointer (much like `FILE`).
However, in checkpatch.pl, functions that return DIR* or accept
a DIR* argument are met with an error of the form below:
```
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
```
Examples that trigger this false positive are, for example
```cpp
int dirfd(DIR *dirp);
DIR *fdopendir(int fd);
```
Include `DIR` as a class of specific POSIX types that should be
matched as types rather than other tokens.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Declare _POSIX_C_SOURCE in a consistent way for both the
posix/options library as well as the tests/posix/fs
testsuite.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The heap and stack are now consistent with other ESP32-C3 boards in
tree. This is necessary for Bluetooth to not crash on boot.
Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
This is a squash of all the groundwork needed to
get a functioning driver for the DS3231 with the RTC API.
Signed-off-by: Gergo Vari <work@gergovari.com>
If a time-intensive task (like coredump storage over logging interface)
is run in the task watchdog callback, the hardware watchdog might
reset the system before the task finishes.
Increasing the delay from 1s to 10s, which should be sufficient for any
use case.
Signed-off-by: Martin Jäger <martin@libre.solar>
Add CONFIG_SECOND_CORE_MCUX_LAUNCHER. This Kconfig is only enabled when
using sysbuild targeting the Cortex-M4 core on the RT11xx series, and
results in loading a minimal application to the Cortex-M7 core that
boots the Cortex-M4 core. This makes developing on the M4 core simpler,
as the user can now simply target the core with sysbuild enabled and
flashing the application will work as expected.
Signed-off-by: Daniel DeGrasse <daniel@degrasse.com>
OCRAM region in Cortex-M4 memory map at 0x2020_0000 is simply an alias
to the M4 TCM at 0x1FFE_0000, which the zephyr,flash node was previously
set to. Using this base address for OCRAM allows the base address to
match the one used in the M7 memory map, which simplifies loading the M4
image from flash into RAM in the M7 init routine
Signed-off-by: Daniel DeGrasse <daniel@degrasse.com>
Since commit bda8ae8c3f ("drivers: clock_control: silabs: Add clock
control driver"), clock configuration is defined in Device Tree.
We can drop now unused configurations existing in board definitions.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Silabs Series-2 (all the EFR32xg2x chips) use the new clock driver
introduced in commit bda8ae8c3f ("drivers: clock_control: silabs: Add
clock control driver"). This driver get all the configuration from the
Device Tree.
The CMU (Clock Management Unit) options (CMU_HFXO_FREQ, CMU_HFRCO_FREQ,
CMU_NEED_LFXO, CMU_HFCLK_HFXO, etc...) are now only used for Series-0
and Series-1. It does not make sense to bother the users with them.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Although I/DCACHE aren't included under cm33 architecture,
NXP design and integrate Code Cache/Sys Cache for cm33 to
speed up the core execution efficiency.
For the convenience of developers, we believe that software
developers can directly use Code/Sys Cache as arm's I/D Cache.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Gives a hint to the compiler that the bail-out paths in both
k_thread_suspend() and k_thread_resume() are unlikely events.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Even though calculating the priority queue index in the priority
multiq is quick, caching it allows us to extract an extra 2% in
terms of performance as measured by the thread_metric cooperative
benchmark.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds customized yield implementations based upon the selected
scheduler (dumb, multiq or scalable). Although each follows the
same broad outline, some of them allow for additional tweaking
to extract maximal performance. For example, the multiq variant
improves the performance of k_yield() by about 20%.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Dequeuing from a doubly linked list is similar to removing an item
except that it does not re-initialize the dequeued node.
This comes in handy when sorting a doubly linked list (where the
node gets removed and re-added). In that circumstance, re-initializing
the node is required. Furthermore, the compiler does not always
'understand' this. Thus, when performance is critical, dequeuing
may be preferred to removing.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Minor cleanups include ...
1. Eliminating unnecessary if-defs and forward declarations
2. Co-locating routines of the same queue type
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
If no PCI device with DSP capability is reported, also try to
find compatible devices using PCI_CLASS=40300. This is mostly
useful on preproduction systems where incorrect PCI class data
is reported.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
first check if the chip has a hosh module to futher filter MAC addresses
if not then enabling the pass through for all multicast protocols
Signed-off-by: Adib Taraben <theadib@gmail.com>
I will be working on non-bluetooth topics, so removing myself as a
maintainer for the bluetooth groups
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
The commit changes requirements for stream_flash_init, where size
can no longer be 0 and has to be explicitly set, to avoid situation
where size autodetection, invoked by size == 0, would miss changes in
layout and silently allow overflow of Stream Flash into other partitions.
There has also been new Kconfig option CONFIG_STREAM_FLASH_INSPECT,
set to y by default to keep legacy behaviour, that can be used to turn
off stream_flash_ctx vs device inspection, allowing user to shed
inspection code once it is not useful anymore.
Fixes: #71042
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add new test sample.sensor.thermometer_i3c, can't assign the same
platform with i2c, and i3c at the same time.
Support the shield on FRDM_MCXN236 board by I2C and I3C way.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Replaced incorrect rst link references in the description
of traversing ancestor nodes, along with some conflicting
descriptions.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Add the cmake files for running static code analysis with the Polyspace
tools in the west build. The analysis leverages the compilation database.
Options for the analysis are documented in doc/develop/sca/polyspace.rst.
Analysis results are printed as command line output and provided as CSV.
Manually tested on v4.0.0 with various sample applications.
Signed-off-by: Martin Becker <mbecker@mathworks.com>
When looking at git author in a commit range using git log, explicitly
indicate we don't want to use the mailmap file (default git client
behavior is to use it), so that the "actual" author info from the commit
is used to perform the compliance check, and not whatever identity the
author may have mapped to in the mailmap file (ex. their "main" email
address might be different from the one they used to commit).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some nodes in nRF54H20 DT files did not have a `reg` entry matching the
node address. While not used in practice, this aligns with the DT spec.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Fixes misassignment of cpuflpr_vevif label to cpuppr_vevif_tx node by
instead assigning to cpuflpr_vevif_tx node.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Use the same Kconfig for all drivers to configure if the FCS bytes
(checksum) should be included in the packets passed to L2.
The description is slightly reworded to make clear that it does not
only affect the length, but the packet content itself.
Signed-off-by: Martin Jäger <martin@libre.solar>
We should use CONFIG_SOC_COMPATIBLE_NRF54L15 whenever possible.
With the current bsim model of 54L these files do not yet compile,
but that can be added separately.
Compilation warning:
```
/nrfx_interconnect_dppic_ppib.c:158:36:
warning: implicit declaration of function ‘nrf_address_bus_get’
[-Wimplicit-function-declaration]
158 | uint8_t bus_address_area =
nrf_address_bus_get(addr, p_dppic->apb_size);
| ^~~~~~~~~~~~~~~~~~~
```
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Improve platform filtering of common platforms, replace extra_args
with extra_configs, where applicable and add little comment on why
certain options are used.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The parameter provided to the `BIT()` macro must be checked so that
the shift operation does not overflow the variable.
Fixes#81990
Signed-off-by: Martin Jäger <martin@libre.solar>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves clock, sleep, nanosleep and timer
into a singular testsuite at tests/posix/timer app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
A broadcast tests with various BASEs that use a vendor
specific (VS) codec. This tests that we support
non-LC3 codecs on both broadcast sources and sinks
in various configurations.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Split the default broadcast source test so that the reconfigure and
metadata update is not done in the generic test. This makes
the test simpler and easier to modify.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adds a dependency to `power.yaml`, as already exists for SPI and I2C
devices.
Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
The commit moves Settigns initialization out of stream_flash
initialization function into: stream_flash_progress_clear
stream_flash_progress_load and stream_flash_progress_save.
This slightly increases code size (~56 bytes on Arm) but allows
to initialize Stream Flash even if Settings subsystem fails
to initialize and continue providing its basic functionality.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
What is changed?
- Replaced printk with printf in the sample
Why do we need this change?
- Running the sample with fvp just prints the below output and not
the complete logs that we expect:
`sender 0: Sending inference`
We get the expected output with CONFIG_LOG_IMMEDIATE=y but,
its not ideal. printf works without the config and plus it
looks a better fit in the current sample than printk.
This change is validate using `mps3/corstone300/fvp`.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is changed?
- Updated the board qualifier for MPS3 to `mps3/corstone300/fvp`
Why do we need this change?
- To validate the sample with FVP by default since QEMU doesn't
model the NPU.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is changed?
Added config for Ethos-U85 and, the module `hal_ethos_u` now points
to the latest revision which has support for Arm Ethos-U85 NPU.
Why do we need this change?
This will help in validating the NPU when we add support for FVP
testing for Ethos-U85.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
The osal apis spinlock - take, release and bus qspi sleep
are trying to use ops after deinit. So removing osal deinit
for temporary workaround.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Add variable network configuration control into the driver to optimize
RAM usage by default. The pool sizes are default, and tuning is left to
the applications or samples.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
The cleanup pass (336c7da) to address long lines accidentally
removed a needed comma in the jlink runner.
Fixes#83605
Signed-off-by: David Leach <david.leach@nxp.com>
Added a test for disabled logging and for diabled testing
to ensure that the shell builds without error when those
are disbaled.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
If logging (CONFIG_LOGGING) was disabled, then the shell
could not build. Ideally the (test) functions should not
depend on logging, but rather only CONFIG_BT_TESTING.
The shell commands were also properly guarded.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Enable CONFIG_GIC_SAFE_CONFIG by default for Cortex-A Core platforms
as the most targets are to run multiple OSes together with Zephyr on
different Cortex-A Cores.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
The PL011 driver has already implemented supporting reset device
behavior.
However, the support is incomplete because the `arm,pl011.yaml`,
does not contain a `reset-device.yaml`.
Add include directive to `arm,pl011.yaml` to including
`reset-device.yaml` to complete the support for reset device.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add a CLI argument for specifying individual files to be added to the
parsing. This is useful for downstream users that wish to import files
such as `bindings/spi/spi-device.yaml`, without also pulling in all the
associated SPI controllers.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add NRF_PERIPH_GET_FREQUENCY() that returns the frequency of clock
that is used for the node.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Update the context state parameters when the context is already locked.
This allows changing the callback information for asynchronous
operations while the context is locked.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add configuration for UARTE120 fast instance. Use multi-instance capability
of the test to run same test on UARTE120 and slow UARTE peripheral.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Do not use CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=n because this option
is going to be deprecated and this option does not support all uart
instances (e.g. uart120). Limit testing of configuration with
CONFIG_UART_0_ENHANCED_POLL_OUT=y to legacy platforms. nrf54x
platforms have ENDTX-STOPTX short so this feature is not supported
and needed there.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
gpio_loopback fixture is used for single pair of shortened pins. For
this test 2 pairs are needed (cts-rts + tx-rx) so gpio_loopback does
not describe it correctly.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Do not unlock CR at the end of initialization.
The lock mechanism is to protect unwanted registers modifications due to
software bugs. There is no point in leaving the registers unlock once
the driver is initialized.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Currently, the uart_wch driver only supports the polling API.
This patch introduces bindings for the interrupt-driven API.
Signed-off-by: Paul Wedeck <paulwedeck@gmail.com>
This ensures that the system clock is correctly updated when the first
timeout is aborted, preventing unexpected early wake-up by the system clock
programmed previously.
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
With the changes made in PR #76061, only on the F429ZI platform, in
the test_write_abort test,the number of received data (2) is not equal
to the number of sent data (1). It looks like uart_tx_abort is done very
quickly, and the callback doesn't have enough time to deal with it.
Adding a small delay solves the problem and doesn't affect results on
other platforms.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Test cases on F746ZG work with USERSPACE config not enabled.
PR #80944 forces the use of the TEST_ENABLE_USERSPACE config with
the "select" statement instead of "imply," which is more restrictive
for test case dependencies.This leads to the error
"Memory region 0x2004d180 (size 8) write access denied" on boards.
By setting CONFIG_TEST_USERSPACE=n, the TEST_ENABLE_USERSPACE config will
not be enabled.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
When attaching a device, it should look up if the dynamic addr is
already attached only, and not by the static addr.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add the SDR Error Code to be written in to the payload following
section 5.1.10.2 of the I3C v1.1.1 specification.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
For ENTDAA, BCR and DCR is always transmitted back up to the controller.
When `i3c_bus_init` is done, it does the ENTDAA then it would get the
basic info would get the BCR and DCR again. This was rather reduntant.
This now splits it up so there is a function called
`i3c_device_adv_info_get` which gets the mrl, mwl, getcaps, and the
mxds. `i3c_device_basic_info_get` now only just gets the bcr and dcr.
There is also an inline function called `i3c_device_info_get` which
will get everything.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The two interrupt controller registers on 818x got spoonerized, oops.
Hilariously it actually worked (mostly) becuase the interrupt would
still be delivered, the controller isn't involved in the ACK/clear
process on thsi device, the and the set of pending interrupts was
masked against enabled ones. Found it by accident when I moved things
around and caught a "spurious" interrupt.
Also the 8195 DRAM region was all packed in a single block that doesn't
honor the two regions defined in the host devicetree. That's benign
from Zephyr (the memory in the hole actually is usable) but dangerous
for SOF as the second region is used by the host driver to allocate
DMA buffers and we can't touch it except as directed. Honor the
scheme used by the other devices.
Signed-off-by: Andy Ross <andyross@google.com>
For the same reason that this script can't zero the SRAM region (it
spontaneously reboots my 8186 device) we can't scan the SRAM for the
winstream header. It's never there anyway, it lives in .rodata.
This is likely a hardware bug, but as it's an older platform and this
is test code it's probably best to just keep it as a workaround.
Signed-off-by: Andy Ross <andyross@google.com>
Enable a winstream console via the new "STATIC" platform API, and add
code to the loader script to read it (largely cribbed with
modifications from the same feature in cavstool.py, we have nowhere to
share code like this, alas).
The older logging feature is still present as an "oldlog" mode to the
script. We can leave it for a bit as a failsafe (e.g. for debugging
issues with winstream) and remove it later.
Signed-off-by: Andy Ross <andyross@google.com>
The winstream code itself is reasonably generic, but the console
integration was written to the intel_adsp memory window driver only,
as that was the only consumer.
Add an alternative that allows the winstream to be pointed to by a
linker symbol instead. The platform layer is responsible for putting
it where it needs to go.
Also includes a 20-byte "descriptor" recodr (with a very large magic
number) in the binary that points to the winstream, for the benefit of
external tooling that needs to find it at runtime.
Signed-off-by: Andy Ross <andyross@google.com>
These devices have non-standard cache lines (128 bytes), and were
inheriting an incorrect setting for this kconfig.
Also clean up some related feature kconfigs which were being ignored
and not set =y.
Signed-off-by: Andy Ross <andyross@google.com>
This is a pre-existing (but rarely used) Zephyr linker tag. Support
it instead of reinventing something similar.
Signed-off-by: Andy Ross <andyross@google.com>
Xtensa cache line sizes aren't an obtuse area of pedantry like they
are in x86. Different cores already in Zephyr are already using
variant cache line sizes (64 and 128 bytes are both common).
And I tripped over this by using the wrong value because the kconfig
was being inherited (incorrectly) from a default somewhere.
Xtensa exposes the correct value in core-isa.h (well, unless the
toolchain/hal gets messed up). Add a check to make sure that our
platform kconfig gets it right.
Note that qemu/dc233c was already getting this wrong, leaving the
value at the kconfig default of zero. That was benign (qemu doesn't
provide any cache emulation for incoherent DMA), but needs to be
fixed.
Signed-off-by: Andy Ross <andyross@google.com>
The Linux SOF driver owns this space, but puts buffers here which the
DSP is expected to read and write. Give it a space in the default MPU
mapping.
Note that this assumes that the DMA region is numerically above the
linkable DRAM region in the address space. That's true for existing
devices, but likely to be broken in the future.
Signed-off-by: Andy Ross <andyross@google.com>
The SOF source code is confusing. On some hardware these devices have
distinct IRQs assigned, and on others they seem to share an ISR for
all. Leave the existing assignments in place for SOF-compatibility,
but union all the devices into a single ISR path that will poll each
(there are only two). This will work in all configurations, and we
can figure out the proper architecture at leisure.
Signed-off-by: Andy Ross <andyross@google.com>
SOF needs this information for rimage to work, it contains data needed
by the kernel loader and not firmware per se. Note that contra other
SOF platforms, this leaves the data in the live firmware image so it
can be inspected at runtime. That's not needed by core SOF code, but
is handy for debugging. And these devices have a ton of DRAM space
available.
Signed-off-by: Andy Ross <andyross@google.com>
The CMD_BLANK_CHECK can return errors when the flash is readable, and
should only be used after programming, not in is_area_readable(). From
the LPC55S69 datasheet: "As cells age and lose charge, a correctly
programmed address will fail this check, while still being able to be
read successfully for the remaining duration of the data retention time."
Signed-off-by: Derek Snell <derek.snell@nxp.com>
There are 4 Kconfig names about the "Draw Buffer". Rename 'VBD' to 'VDB'
in Kconfig option 'LV_Z_*VBD*_CUSTOM_SECTION' to make name consistent.
config LV_Z_VDB_ALIGN
int "Rending buffer alignment"
config LV_Z_VBD_CUSTOM_SECTION
bool "Link rendering buffers to custom section"
config LV_Z_DOUBLE_VDB
bool "Use two rendering buffers"
config LV_Z_VDB_SIZE
int "Rendering buffer size"
default 100 if LV_Z_FULL_REFRESH
And the draw buffer definition is now:
static uint8_t buf0[BUFFER_SIZE]
#ifdef CONFIG_LV_Z_VDB_CUSTOM_SECTION
Z_GENERIC_SECTION(.lvgl_buf)
#endif
__aligned(CONFIG_LV_Z_VDB_ALIGN);
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Fix arch_timing_cycles_get() to prevent overflow on the clock rollover.
The issue is observable on tests/benchmarks/wait_queues and
tests/benchmarks/sched_queues with BENCHMARK_NUM_ITERATIONS is large
enough, e.g. default 1000.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Add support for STM32H757 SoC, which shares its design
with STM32H747 with added cryptography peripherals.
Signed-off-by: Grzegorz Runc <g.runc@grinn-global.com>
The stm32l562e_dk board uses a ft6x06 i2c controller for the touchscreen.
The zephyr driver ft5336 can control it.
Signed-off-by: Luc BEAUFILS <luc.beaufils@savoirfairelinux.com>
Add the overlay file to run tests/drivers/watchdog/wdt_basic_api
on the nucleo_h7s3l8 and stm32h7s78_dk target boards
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Cleans up the doxygen comments in the stepper api header. Includes:
- documentation for MICRO_STEP_RES_INDEX
- constistent use of microsteps instead of micro_steps or micro steps
- fix for previously renamed set_target_position refrence
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This introduces the pro micro nrf52840 board type,
commonly available as the cheapest nrf52840 development board,
and is based on the Nice!Nano
Signed-off-by: Camille BAUD <mail@massdriver.space>
Add a non-configurable option which drivers can select to indicate that
they do not support callbacks on watchdog expiry.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Check if the spinlock is held before attempting to wait by
taking the semaphore, as that would cause a context switch which
isn't allowed and will trigger an assertion error when
`CONFIG_SPIN_VALIDATE` is enabled.
Logging in spinlock-held context when the log buffer is full can lead
to an infinite assertion error loop, as the logging subsys attempts to
allocate buffer when there's none available, it will try to wait for
one and thus triggers the assertion error, the error message will be
printed through the logging sybsys but there's no buffer available,
so it will try to wait for one and triggers another assertion error..
This loop just goes on and on forever, and nothing gets printed to
the terminal.
Added a test to validate the fix.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Signed-off-by: Maxim Adelman <imax@meta.com>
This board contains both an NTC sensor dependings on a specific SPI ADC and
a TMP116 containing both a sensor and an EEPROM.
Align these driver initialization priorities with the devicetree
dependencies to avoid build failures with CONFIG_CHECK_INIT_PRIORITIES=y.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Previously, if a file object is was re-used, it could
inherit the offset field of the previously closed file object,
making reading from the beginning of the file impossible
until the offset was manually zero'ed.
The offset should *always* be zero when a file is ready to be
used.
The issue really only presents itself when implementing a
vtable backend.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The `zvfs_finalize_typed_fd()` function notifies some backends
via `ioctl()` with `ZFD_IOCTL_SET_LOCK`. However, support for
this method and functionality is optional.
In backends that do not support locking, this benign failure can
set `errno` to 95 (`EOPNOTSUPP`) in many circumstances where a
change in `errno` (indicating some kind of failure) is not
appropriate.
Prevent errno poisoning by backing-up and restoring `errno`.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, in libc-hooks.c, the signature of `_open()` was as
shown below.
```cpp
int _open(const char *name, int mode);
```
This conflicted with the signature of `_open()` from newlib,
which is
```cpp
int _open(const char *name, int flags, ...);
```
Moreover, the mode and flags field were reversed, but only for
the Xtensa architecture due to the `_open_r()` hook that is
present in `libc-hooks.c`.
This manifested itself via a call to `fopen(file, "w+")`, where
the expected flags should include `O_CREAT | O_TRUNC`, or
`0x200 | 0x400`. Instead, the unexpected flags passed to the
underlying `zvfs_open()` call were `0x1b6`.
This change corrects the function signature and order of the
arguments.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The sample did not properly handle ending the broadcast and setting
it up for a new broadcast, due to missing wait for sem_big_term and
a bad check in iso_disconnected.
Furthermore if any did not work when setting up the BIG,
the error handling did not properly clean up for a retry.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Removes the LV_COLOR_SCREEN_TRANSP Kconfig option as its not part of the
modules Kconfig anymore and renames the functions according to the new v9.2
API.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adjust the Kconfig symbols of the capture to lvgl sample. LV_MEM_CUSTOM has
been removed in v9.0 and LV_USE_IMG has been changed to LV_USE_IMAGE.
Fix the changed fields for the image descriptor struct.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds support for the NXP PXP engine. LVGL changed
the Kconfig symbol from LV_USE_GPU_NXP_PXP to
LV_USE_PXP, but hal_nxp still relies on
LV_USE_GPU_NXP_PXP, so add a temporary symbol for it.
Additionally the drawing engines need to invalidate
ranges in the dcache, the method needs to be provided
via a lvgl_support.h file.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch adds the OSAL implementation of dynamic thread creation, mutex
and thread syncronization primitive (semaphore) enabling the use of the
parallel rendering architecture provided with LVGL 9.0. To use it, set
`CONFIG_LV_Z_USE_OSAL` and your preferred dynamic thread stack allocation
method (pool or heap).
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch updates the module gluecode to be compatible with LVGL version
9.2. This includes changes done to display and input driver initialization
and draw buffer handling.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch changes the functions unsed in the subsys demo that are part of
the api map to anticipate their deprecation.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch changes the usage of LVGL functions which are typedefed in the
api map to their new version to anticipate their deprecation.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch fixes the style size setter usage in the accelerometer_chart
demo since it now expects two dimensions. Also the newly named functions
which are typedefed by the api_map in LVGL are updated to anticipate their
deprecation.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
With the update to v9.2.0 several Kconfig symbols were renamed or removed.
Adjust the test accordingly. Also several constants were renamed, rename
those also.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Two functions have parameters in the wrong order in the function
description, fix them to the correct order
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The network log backend had the POSIX_C_LANG_SUPPORT_R
dependency added in a previous commit, but the dependency was
never added to the sample.
Add the dpeendency of LOG_BACKEND_NET to the
samples/net/syslog_net/prj.conf
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Do not set TC_PROVIDES_POSIX_C_LANG_SUPPORT_R as the default in
lib/posix/options/Kconfig.c_lang_r . TC_PROVIDES options are
only intended to be set by C libraries that implement parts of
the POSIX standard.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The return value of the system_off call is overwritten by the the call to
pm_s2ram_mark_check_and_clear. As arch_pm_s2ram_suspend needs to specify
why system_off failed, we need to make sure the rv of system_off is moved
to a safe register before calling pm_s2ram_mark_check_and_clear and moved
to r0 als rv of arch_pm_s2ram_suspend when the suspend call exits.
Signed-off-by: Hessel van der Molen <hvandermolen@dexels.com>
Using `west patch` with the `--patch-base`, `--patch-yaml` or
`--west-workspace` option results in an unhandled AttributeError in
filter_args() because the function expects these args to be of type
path. Adding the type to the argument definition forces argparse to
create variables of type path.
Signed-off-by: Gerhard Jörges <joerges@metratec.com>
RFC6455 section 5.1 specifies that "A server MUST NOT mask any frames
that it sends to the client". Implement this for websocket write calls
via ZVFS, by storing in the websocket_context whether a socket is acting
in the client or server role, and using this to determine if sent data
should be masked.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
The non-raw API has been removed from the nRF 802.15.4 Radio Driver.
There is no need to set NRF_802154_USE_RAW_API macro anymore in
CMakeLists.txt that integrates the driver.
Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
This commit updates revision of hal_nordic to bring the latest changes
in the nRF IEEE 802.15.4 driver.
Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
When using this snippet with Zperf a boot warning is seen, fix the
warning by increasing the sockets.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Add settings to get peak throughputs for nRF7002DK, this relies on the
overlay-wifi-nm-hostap.conf.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The Atmel counter driver requires a valid pinctrl list to initialize.
This relax this condition since the timer can be used as general purpose
timer, which may not require a pin associated with the timer unit.
Fixes#83509
Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
Adds a new error code that can be used to signify that a query was
valid but the response was not valid
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This sample works without increasing ZVFS_OPEN_MAX and ZVFS_POLL_MAX to
some arbitrary number. This also removes a duplicate entry for
ZVFS_OPEN_MAX.
ZVFS_OPEN_MAX already defaults to a reasonably large value of 16 if
POSIX_API is enabled, which is the case for the echo_service sample.
Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
Oddly, even though CI passed when the file_system_r change was
merged, now CI has encountered a build error because MIN() was
not defined.
Include `<zephyr/sys/util.h>` to pull in the definition.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
A copy-paste error propogated this typo to a few different
Kconfig files.
Correct 'informnation' to 'information'.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add the Sensor Fusion Low Power (SFLP) FIFO streaming capability,
using RTIO. The decode function is now aware of parsing following FIFO
tags:
- LSM6DSV16X_SFLP_GAME_ROTATION_VECTOR_TAG
- LSM6DSV16X_SFLP_GYROSCOPE_BIAS_TAG
- LSM6DSV16X_SFLP_GRAVITY_VECTOR_TAG
To activate SFLP the user should put in DT the proper configuration.
For example, to activate a 60Hz SFLP FIFO batching rate of game rotation
vector, gravity vector and gbias components, the user should add in DT
the following:
sflp-odr = <LSM6DSV16X_DT_SFLP_ODR_AT_60Hz>;
sflp-fifo-enable = <LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GRAVITY_GBIAS>;
Signed-off-by: Armando Visconti <armando.visconti@st.com>
In case I3C IBI interrupt is not used do not skip reading the status
register, otherwise the interrupt event will not get cleared.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add three new channels and relative data:
- SENSOR_CHAN_GAME_ROTATION_VECTOR
The "game rotation vector" reports the four components x/y/z/w
(quaternions) of the unit vector representing a 3D spatial
rotation or orientation.
- SENSOR_CHAN_GRAVITY_VECTOR
The "gravity vector" reports the three axis x/y/z of the gravity
vector separated from the linear acceleration components.
The measurement unit is m/s^2.
- SENSOR_CHAN_GBIAS_XYZ
The "gbias" reports the gyroscope offset x/y/z components.
The measurement unit is radians/s.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Low power mode for non-asynchronous API case is only available when
RX is not used (RX pin is not defined). In that case TX starting
function was using uarte_enable_locked() which tracks if UARTE is
used by TX or RX and TXSTOPPED interrupt was disabling UARTE
unconditionally. Because of that following attempt to TX start
was assuming that UARTE is already enabled when it was disabled.
Fixing it by using uarte_disable_locked function in TXSTOPPED
handling.
Code reordering was required to make uarte_disable_locked()
available earlier.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The DHCPv4 options always assigns the DNS address if the router
provides one through the DHCP callback. There are times a developer
may not always want to assign the server from the router, but only
manually assign them. Adding a Kconfig option for assigning the DNS
address and defaulting to true to not interfere with previously
expected functionality.
Signed-off-by: Kris Wolff <kwolff@wavelynx.com>
Despite having higher log buffer sizes the log messages are being
dropped due to high rate (and longer messages) as hostap debugging is
very verbose, so, use "immediate" logging by default. As hostap is only
for control path this will not have impact on timing.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
As kernel heap is used for hostap, which replaced libc heap, then no
need to consider the MBEDTLS_ENABLE_HEAP case. For enterprise case,
mbedtls will use MBEDTLS_HEAP or libc heap to allocate memory, instead
of the kernel heap.
Modify the heap size for enterprise case to have necessary memory.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Latest supplicant uses 1K buffer size for sending control message via
socketpair, so reducing the NET_SOCKETPAIR_BUFFER_SIZE to save memory
footprint. There are 4 socketpairs for supplicant only case, and 6
socketpairs for hostapd case, update the heap size correspondingly.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add the stm32f413h_disco target to the boards/st
Add the PLLi2S when needed by the USB or SDMMC or RNG.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The simple path and naming wasn't really right, there are no other tests
and the test suite has become quite automated and extensable to cover
most things we'd like to test with llext. Building, loading, and linking
of course.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Move the functionality of POSIX_FILE_SYSTEM_R to its own
compilation unit and remove the unnecessary dependency on
POSIX_FILE_SYSTEM.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The default stack size was causing qemu_arc/qemu_arc_em and
qemu_arc/qemu_arc_hs to fail when a dirent object was
stack-allocated.
Increase the default stack size to accomodate for additional
usage.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, a NULL pointer was passed as the second argument to
readdir_r(). This is incorrect. The passed pointer should be
to a valid, externally-allocated struct direct.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The get_frame_count() API must return the number of frames in FIFO
for a given channel type, and not the total number of generic FIFO
frames. This API may be also re-used in the decoder routine when
the timestamp baseline is adjusted.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Address issue where the timing source is not stopped upon step completion
and not adjusting the actual position after performing a step.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds a fallback for the dual-edge-step property in the step dir common
code. Without this drivers using the common code would have to declare the
dual-edge-step property so it can default to false when not set, even if
the IC does not support adjusting it.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
BSIM tests that enabled CONFIG_BT_CTLR_TEST=y now require
-RealEncryption to pass the Controller's in-system unit test
of ECB module.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Refactor the NRF_ECB isr_ecb function to reduce redundant
common code.
Updated the unit tests to use Bluetooth Specification
defined test vectors.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The it8801 template is helpful but in the current state it does not
allow changing the device address as that is in the template itself. Fix
that by moving the template content down a level in the hierarchy, so
that it extends the mfd device itself rather than than instantiate it,
then the base instance can have any address, now the only limitation is
that only one instance is possible, but that is probably alright for
now.
Alternatives would be to use a define for the address, or even a
template per address, but this feels like a better compromise for now.
This may also use
https://github.com/zephyrproject-rtos/zephyr/pull/82825 in the future if
that ever becomes a thing.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
It is not sufficient to check if the given node_id has the requested
property in GPIO_DT_SPEC_GET_BY_IDX_OR(), the index also needs to valid.
Change the logic to test for a valid index (which, in turn, also checks if
the property is valid), otherwise return the default value provided by the
caller.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
scripts/checkpatch.pl was written originally for the Linux kernel, and
its code reflects the kernel's coding style. In particular, it has
checks for unneeded braces around single-statement if/else/for/while
conditions. In Zephyr however, braces are always required, and so the
checks needed modifying to verify the opposite condition.
In order to enable the now-compatible checks, we also remove the
--ignore BRACES statement in .checkpatch.conf.
Limitations: the current code works well if there are not conditional
statements (e.g. #if, #ifdef or #endif) next to the if/else/for/while
conditions. This is rarely the case, but triggers with the Bluetooth
controller in code like this:
```
#if defined(CONFIG_BT_PERIPHERAL)
if (!lll->is_hdcd)
#endif /* CONFIG_BT_PERIPHERAL */
{
```
```
} else
#endif /* CONFIG_BT_CTLR_PRIVACY */
{
```
```
#if defined(CONFIG_BT_CTLR_DF_ADV_CTE_TX)
if (lll->cte_started) {
radio_switch_complete(phy_s, 0, phy_s, 0);
} else
#endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
{
```
```
#ifdef DUAL_BANK
while ((FLASH_STM32_REGS(dev)->SR1 & FLASH_SR_QW) ||
(FLASH_STM32_REGS(dev)->SR2 & FLASH_SR_QW))
#else
while (FLASH_STM32_REGS(dev)->SR1 & FLASH_SR_QW)
#endif
{
```
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The status variable stores the return value of `net_recv_data`, which
is an `int` and may be negative.
Signed-off-by: Martin Jäger <martin@libre.solar>
Pull the register variable into the private scope that ARCH_EXCEPT
creates so that the macro can be used multiple times in the same caller
scope. This can happen via k_panic(), e.g. in subsys/fs/ext2/ext2_impl.c.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
J-Link firmware images for silabs boards are not distributed by
SEGGER, fw update should be done with Simplicity Studio instead.
Signed-off-by: Daniel Fuchs <software@sagacioussuricata.com>
Based on board files for DK2601B. The EFR32xG24 Explorer Kit
(xG24-EK2703A) is similar to the DK2601B but does not have any
sensors onboard.
Signed-off-by: Daniel Fuchs <software@sagacioussuricata.com>
The EFR32MG24B210F1536IM48 has 4 more GPIOs than the
EFR32MG24B310F1536IM48, and does not support the high accuracy
mode for the IADC.
Signed-off-by: Daniel Fuchs <software@sagacioussuricata.com>
Add support for .cold and .coldrodata sections, used to implement
a cold module. Assigning code and read-only data to those sections
makes them suitable for use in a cold module, stored and executed in
slow memory.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add a manifest for a "cold" module, that will be executed in DRAM
without copying it to SRAM for the whole duration of the firmware
life-time.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Before copying modules to SRAM, check whether they're built for it,
skip modules, that aren't.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Due to adding subgroup count and streams per subgroup
arguments to the broadcast_source test, fix the sink
test that was not ported due to being merged for change
in a different PR.
Relates to commit 01e8d0e3e0 ("tests: Bluetooth: BAP:
Add subgroup and stream args to broadcast_source").
Fixes commit 303d0b786f ("tests: Bluetooth: BAP: Add
test to test invalid bcode").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Adds the counter property to the tmc2209 node to ensure counter dependant
step-dir code is build by CI.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Enables use of the counter dts property which allows to configure a counter
device as the timing source for the stepping.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds a timing source api which is used by the step-dir stepper common code.
This allows the reusable common code to configure different timing sources,
since the initial delayable work implementation was inacurate for higher
maximum velocities.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Use the shell_device_filter utils method and leverage the new api classing
to only suggest stepper devices via tab-complete within the shell.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
The LIS2DUXS12 is a smart, digital, 3-axis linear accelerometer whose
MEMS and ASIC have been expressly designed to combine the lowest current
consumption possible with features such as always-on antialiasing
filtering, a finite state machine (FSM) and machine learning core (MLC)
with adaptive self-configuration (ASC), and an analog hub / Qvar sensing
channel.
(https://www.st.com/en/mems-and-sensors/lis2duxs12.html)
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Prepare the driver to be able to handle other DUX software compatible
devices. Currently the driver handles the st_lis2dux12 compatible only.
Do following major changes:
1. Introduce the lis2dux12_chip_api structure filled with device specific
APIs. At the moment define following callback:
- api_lis2dux12_set_odr_raw()
- api_lis2dux12_set_range()
- api_lis2dux12_sample_fetch_accel()
- api_lis2dux12_sample_fetch_temp()
- api_lis2dux12_handle_interrupt()
- api_lis2dux12_init_interrupt()
2. Prepare specific APIs for st_lis2dux12 device.
3. Make DT instantiation on inst + name basis, and not only by inst. This
commit only use "name = DT_DRV_COMPAT = st_lis2dux12".
Signed-off-by: Armando Visconti <armando.visconti@st.com>
The cdc-acm workqueue thread name is set before initializing it right
now, which results in an empty thread name as apparently it gets cleared
by k_work_queue_init. Fix it by moving the thread name setting after the
workqueu is initialized and started.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add additional data to the logs and only send the event once we have
receive a successful SDU.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The functions did not verify the provided parameters before
sending it as a control point operation.
This also fixes a bug where BT_BAP_BIS_SYNC_NO_PREF was not
allowed when pa_sync=0.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add 4 new tests for BAP broadcast:
1) One subgroup with one stream per subgroup
2) One subgroup with two streams per subgroup
3) Two subgroups with one stream per subgroup
4) Two subgroup with two streams per subgroup
To support these, the number of broadcast streams and data paths
was updated to be up to 4.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The range of BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT should be relative to
BT_BAP_BASS_MAX_SUBGROUPS. The broadcast sink depends on the scan
delegator, and thus it does not make sense for the broadcast sink
to support more subgroups than what the scan delegator supports.
Since this no longer relates to the number of streams, there
may be new runtime errors if applications attempt
to sync to more subgroups than the number of ISO channels
supported.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add subgroup count and streams per subgroup arguments to the
broadcast_source test. This will allow us to run multiple
test setups using the same build and test case.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Prevents sysbuild from being used as this adds a local snippet root
which should only be used (and tested) by application
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds support for sysbuild loading snippets, these can be included
by using e.g.: cmake ... -DSB_SNIPPET=blah for sysbuild
directly or can be used with an application and sysbuild using
-DSNIPPET. Snippets for sysbuild can use SB_EXTRA_CONF_FILE in the
snippet file to specify an extra Kconfig fragment for sysbuild
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Regardless of the argument specified, it always references the
property of the 0th, so it was corrected to reference the instance
specified by the argument.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fixes build failure, correct the variable is using for
k_sem_take in function test_sink_encrypted_incorrect_code
Fixes#83388
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Re-run the zephyr_get() testsuite in script mode after the project
mode testsuite has been executed. This is to ensure that the
zephyr_get() function works correctly in script mode as well.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Targets are not available in script mode.
To support the Zephyr scoping feature used by snippets and yaml module
then this commit moves from using custom targets to use GLOBAL
properties for scopes.
A scope property is prefixed with `<scope>:<property>` to avoid naming
collisions.
A `scope:<scope-name>` global property is used to track created scopes.
Tracking valid scopes ensure that properties are only set on known
scopes and thus catches typos / naming errors.
Add zephyr_scope_exists() and zephyr_get_scoped() to abstract the
implementation details of the scoped property retrieval and refactor
current code to use them.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
For a 16-bit data bus, "DT_INST_PROP_LEN(n, data_gpios)" returns 16
which is equals "MIPI_DBI_MAX_DATA_BUS_WIDTH(16)".
As a result, the assertion will always be triggered.
Use a "<=" condition for the assertion instead.
Signed-off-by: Hua Zheng <writeforever@foxmail.com>
For TFM example, MBEDTLS_PSA_CRYPTO_C has some dependencies and may not
be enabled, so use 'imply' instead of 'select' here for hostap
MBEDTLS_PSA case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Make sure not to accidentally enable WP by uninitialized variable during
FLASH_STM32_EX_OP_SECTOR_WP call.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Update the HW models module to:
71bcaa88c97977647d387217dab99f7d6f026815
Including the following:
71bcaa8 hal/nrf_cracen_rng.c: Disable until released
69e9037 hal cracen_rng: Add replacements for proposed cracen_rng hal
71c2507 CRACEN RNG: Corrected one comment
dfbc93a 54 ECB: Corrected behaviour with premature end of input joblist
a46101f 54 AAR, ECB, CCM: Correct a few notes and ECB ERRORSTATUS
74aa2de 54L15: Correct IRQ 261 name
e12ab9c Add CRACEN RNG model
91066e7 docs: UART add PTY backend to shortlist of backends
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Put most relevant links at the top. More users are interested in the
list of supported boards then the contributing guidelines.
Signed-off-by: Toon Stegen <toon@toostsolutions.be>
Fixes two isolated instances of implicit void pointer casting in spi.h.
While this is legal in C, it causes a compiler error in C++.
Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
It will be have a relative high probability to get continuous memory
for the next enterprise conenction, if free station certs memory
during disconnect, thus sys_heap need less memory for big size
EAP-TLS server cert packet, otherwise more memory space needed.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
Command "waitms 50" on ChromeBook EC console, then it will crash EC.
Because arch_busy_wait() is re-entried by two different tasks,
the second calling will reset the timer and may cause the first
calling to fail to reach the waiting destination
(if the first calling's wait time is longer enough).
Verified by follow test pattern:
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_api
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_error_case
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_monotonic
west build -p auto -b it8xxx2_evb tests/kernel/timer/starve
west build -p auto -b it8xxx2_evb tests/kernel/context
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
Add overlay property node and configs to support tests/subsys/fs/ext2,
tests/fs/fat_fs_api and tests/subsys/sd on RA8 boards
Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
These are never meant to be run, so make sure it's explicitly specified
through the build_only property.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add Silabs boards to the newly added test cases which exercise the
CONFIG_BUILD_ONLY_NO_BLOBS configuration option. Also fix the namespace to
be "peripheral" for the peripheral sample app.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add empty function stubs to support building with the newly introduced
CONFIG_BUILD_ONLY_NO_BLOBS option.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Build is failing due to wrong calls to appcpu
stall and clock gating. This fixes it
by using proper registers.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Updating release notes to include the recently added Adafruit QT Py
ESP32-S3 both with and without its PSRAM version.
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
The address passed in to the function was incorrect causing
failures when porting to RT1180.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Check that the GATT settings added when bonding to a peer and
subscribing to a CCC are correctly deleted when calling `bt_unpair`.
Testing hooks have been added in the Bluetooth settings abstraction
layer to know which key are being added/deleted.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
`bt_gatt_clear_cf` was calling `bt_settings_delete_ccc` instead of
`bt_settings_delete_cf`. This was causing some settings to be left over.
Fix the issue by using the correct function.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
For waking up the poll() use eventfd() instead of socketpair()
so we save some buffer space and one file descriptor.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
For the lists of properties passed as a pointer to the get_props and
set_props functions, there is no reason to not make the pointer const as
the called functions will not and should not alter the pointed-to data.
In practice, not having the pointers const can cause compilation errors
if trying to pass in a const array of properties.
Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
The fuel_gauge_get_props and fuel_gauge_set_prop functions were missing
casts for the device struct which causes compiler warnings when using
the -fpermissive compiler flag.
Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
In the fuel_gauge_get_props and fuel_gauge_set_props functions, an array
len is passed as a size_t but compared against an int, which leads to
C++ compiler warnings when using -Werror=sign-compare. The fix is to use
a size_t for the loop counter.
Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@escolifesciences.com>
Use uint64_t instead of uint32_t for the FLASH_STM32_EX_OP_SECTOR_WP
extended operation.
Some chips have two banks, more than 16 sectors each e.g. stm32h7a3xx
chips, so more than 32 bits are required.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
The `lock` arg is used multiple times in the function, making the
`ARG_UNUSED(lock);` redundant, remove it.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Expand test_sink_encrypted_incorrect_code to retry the sync with
the correct broadcast code after failing the initial sync
with the incorrect broadcast code.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In smaller projects and organizations, forking Zephyr is usually
a tenable solution for development continuity, in the case that
bug-fixes or enhancements need to be applied to Zephyr to
unblock development.
In larger organizations, perhaps in the absence of healthy patch
management, technical debt management, and open-source policies,
forking and in-tree changes can quickly get out of hand.
In other organizations, it may simply be preferable to have a
zero-forking / upstream-first policy.
Regardless of the reason, this change adds a `west patch`
command that enables users to manage patches locally in their
modules, under version control, with complete transparence.
The format of the YAML file (detailed in a previous comit)
includes fields for filename, checksum, author, email, dates,
along with pr and issue links. There are fields indicating
whether the patch is upstreamble or whether it has been merged
upstream already. There is a custom field that is not validated
and can be used for any purpose.
Workflows can be created to notify maintainers when a merged
patch may be discarded after a version or a commit bump.
In Zephyr modules, the file resides conventionally under
`zephyr/patches.yml`, and patch files reside under
`zephyr/patches/`.
Sample usage applying patches (the `-v` argument for additional
detail):
```shell
west -v patch apply
reading patch file zephyr/run-tests-with-rtt-console.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/twister-rtt-support.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/multiple_icntl.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/move-bss-to-end.patch
checking patch integrity... OK
patching zephyr... OK
4 patches applied successfully \o/
```
Cleaning previously applied patches
```shell
west patch clean
```
After manually corrupting a patch file (the `-r` option will
automatically roll-back all changes if one patch fails)
```shell
west -v patch apply -r
reading patch file zephyr/run-tests-with-rtt-console.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/twister-rtt-support.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/multiple_icntl.patch
checking patch integrity... OK
patching zephyr... OK
reading patch file zephyr/move-bss-to-end.patch
checking patch integrity... FAIL
ERROR: sha256 mismatch for zephyr/move-bss-to-end.patch:
expect: 00e42e5d89f68f8b07e355821cfcf492faa2f96b506bbe87a9b35a823fd719cb
actual: b9900e0c9472a0aaae975370b478bb26945c068497fa63ff409b21d677e5b89f
Cleaning zephyr
FATAL ERROR: failed to apply patch zephyr/move-bss-to-end.patch
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Setting a deadline is not a schedule point. This makes it a
perfect place to verify the behavior of the new k_reschedule()
routine at both thread and ISR level.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The routine k_reschedule() allows an application to manually force
a schedule point. Although similar to k_yield(), it has different
properties. The most significant difference is that k_yield() if
invoked from a cooperative thread will voluntarily give up execution
control to the next thread of equal or higher priority while
k_reschedule() will not.
Applications that play with EDF deadlines via k_thread_deadline_set()
may need to use k_reschedule() to force a reschedule.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
For the shell RFCOMM case, these is a stack overflow problem when do
disconnect, so need to increase the CONFIG_BT_RFCOMM_DLC_STACK_SIZE.
Set CONFIG_BT_RFCOMM_DLC_STACK_SIZE default 512.
Signed-off-by: Make Shi <make.shi@nxp.com>
Fixed bug calculating offset of registers after unused space in the ADC
register space for the SZ package parts.
Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>
The RP2350's PWM peripheral is largely unchanged from the RP2040's, but
the higher clock frequency means the long blink delay must be lower.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Increase test coverage for Raspberry Pi's SoCs. Use the `socs` folder
rather than `boards` to enable these tests to run on any boards with the
same SoCs.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Avoid referring to Pico 2 (the name of a board). In this context,
RPI_PICO is used to refer to the (Zephyr) `SOC_FAMILY` rather than the
Pico 1 board. This clarifies common numerical values between the RP2040
and RP2350 SoC series, and enables existing DTS files to be used with
RP2350-based boards with fewer changes.
Remove the use of Zehpyr's `CONFIG_` macros from the device tree files,
and replace them with `SOC_SERIES`-specific files. Update the driver
implementation to conditionally include the correct file. Update
documentation and samples to match.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add initial support for the RP2350's DMA peripheral, allow tests
under drivers/dma/loop_transfer to run on on the Raspberry Pi Pico 2,
and update the board's documentation.
Signed-off-by: Manuel Aebischer <manuel.aebischer@belden.com>
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add initial support for the RP2350's PIO peripherals, extend the
existing example under samples/boards/raspberrypi/rpi_pico/uart_pio to
demonstrate this on the Raspberry Pi Pico 2, and update the board's
documentation.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Manuel Aebischer <manuel.aebischer@belden.com>
Extend gpio_api_1pin so that tests can require a test fixture to provide
an external pulldown resistor to the board under test. Use the new
test-gpio-external-pulldown device tree binding to define where that
GPIO is, and, finally, add a device tree overlay for the Raspberry Pi
Pico 2 board that defines where the pulldown provided by the fixture
will be.
Tested locally using `--fixture gpio_external_pull_down` when running
Twister on the command line, or by creating and using a Hardware Map
file, in combination with a modified Pico 2.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add OpenOCD debugger support.
For now we will need Raspberry Pi'a forked version of OpenOCD from
https://github.com/raspberrypi/openocd .
The default adapter speed is set to match Raspberry Pi's documentation.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
For these tests' needs, the RP2350 on the Pico 2 is compatible with the
RP2040 on the Pico 1. #include the latter's overlay in preference to
duplicating the content.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
The Raspberry Pi Pico 2's device is compatible with the existing Pico 1.
The build system requires a `<board>.overlay` file, but these use the
pre-processing to #include the sibling rpi_pico.overlay files rather
than duplicating the contents as an attempt to keep things DRY.
Tested locally.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Add UF2 Family ID for Raspberry Pi 2350 and build
UF2 image by default for Pico 2 board
Signed-off-by: Ryan Grachek <grachek@gmail.com>
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
The Raspberry Pi Pico 2 is Raspberry Pi's first board fitted with their
RP2350A SoC.
This adds a minimal board definition, sufficient to build and run
`samples/hello_world` and `samples/basic/blinky` on the board. Images
can be run on the target using OpenOCD. Raspberry Pi's `picotool` can
create a UF2 binary, which ensures that errata RP2350-E10 is avoided
e.g.
```
> picotool uf2 convert build\rpi_pico2\hello_world\zephyr\zephyr.elf \
build\rpi_pico2\hello_world\zephyr\zephyr.uf2 \
--family rp2350-arm-s --abs-block`
```
Raspberry Pi Pico 2 is a low-cost, high-performance microcontroller
board with flexible digital interfaces. Key features include:
- RP2350A microcontroller chip designed by Raspberry Pi in the United
Kingdom
- Dual Cortex-M33 or Hazard3 processors at up to 150MHz
- 520KB of SRAM, and 4MB of on-board flash memory
- USB 1.1 with device and host support
- Low-power sleep and dormant modes
- Drag-and-drop programming using mass storage over USB
- 26x multi-function GPIO pins including 3 that can be used for ADC
- 2x SPI, 2x I2C, 2x UART, 3x 12-bit 500ksps Analogue to Digital
Converter (ADC), 24x controllable PWM channels
- 2x Timer with 4 alarms, 1x AON Timer
- Temperature sensor
- 3x Programmable IO (PIO) blocks, 12 state machines total for custom
peripheral support
- Flexible, user-programmable high-speed IO
- Can emulate interfaces such as SD Card and VGA
The Raspberry Pi Pico 2 comes as a castellated module which allows
soldering direct to carrier boards.
Only enable timer 0 for now. Timer 1 won't work correctly until the
rpi_pico HAL has picked up the fix for `hardware_alarm_irq_handler`. See
https://github.com/raspberrypi/pico-sdk/pull/1949 .
Added some documentation for the board itself (mostly aiming to refer to
canonical sources of information rather duplicate). Add entries in the
release notes where applicable.
boards/raspberrypi/rpi_pico2/doc/img/rpi_pico2.webp is a cropped and
compressed version of https://www.raspberrypi.com/documentation/microcontrollers/images/pico-2.png
which is released under the CC-BY-SA-4.0 license. See https://github.com/raspberrypi/documentation/blob/develop/LICENSE.md
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A significant amount of the pin muxing is duplicated between the RP2040,
the RP2350A, and RP2350B. Reflect this in the file structure, with a
`-common` suffix used to to indicate this.
Macros are defined in ascending order of the function index in the
relevant table in the datasheet. SoC/SoC-series specific macros are
defined in their respective tables. Functions that are not currently
used (e.g. the new HSTX) are intentionally not defined here as they do
not (currently) have any use in the Zephyr tree (i.e. there's no drivers
that make use of this functionality).
clang-format has been run over the existing definitions to reduce the
noise generated by CI. These are cosmetic changes; I've tried to retain
attribution to the relevant authors where applicable.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
The RP2350 SoC series contain two timer peripherals. Extend the driver
to support using the second timer (`TIMER1`).
N.b. this requires a fix from the Pico SDK to be patched into
hal_rpi_pico. See https://github.com/raspberrypi/pico-sdk/pull/1949 .
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
The watchdog register configuration of RP2350 differs from that
of RP2040, so we make fit that.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Unlike the RP2040, the RP2350 has multiple tick generators that need to
be started. Start TIMER0 and TIMER1 tick generators during
clock_control_init.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Extend the existing driver to add some initial support for the new SoC,
whilst maintaining compatibility with the RP2040.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
RP2350 is Raspberry Pi's newest SoC. From the datasheet:
"RP2350 is a new family of microcontrollers from Raspberry Pi that
offers significant enhancements over RP2040. Key features include:
• Dual Cortex-M33 or Hazard3 processors at 150 MHz
• 520 kB on-chip SRAM, in 10 independent banks
• 8 kB of one-time-programmable storage (OTP)
• Up to 16 MB of external QSPI flash/PSRAM via dedicated QSPI bus
...
"
This commit introduces some changes to support the existing RP2040 and
what is describe by Raspberry Pi as the "RP2350 family". Currently there
are 4 published products in the family: RP2350A, RP2350B, RP2354A, and
RP2354A. Within Zephyr's taxonomy, split the configuration as follows:
Family: Raspberry Pi Pico. This contains all RP2XXX SoCs,
SoC Series: RP2040 and RP2350.
SoC: RP2040 and, for now, just the RP2350A, which is present on the Pico
2, where the A suffix indicates QFN-60 package type. This structure is
reflected in `soc/raspberrypi/soc.yml`, and somewhat assumes that there
won't be a RP2050, for example, as a RP2040 with more RAM.
This is foundation work ahead of introducing support for Raspberry Pi's
Pico 2 board, which is fitted with a RP2350A and 4MB of flash.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add support for SoC-specific clock ids and update the initialization
function to support the existing RP2040 and add support for the RP2350.
clock_control_rpi_pico.c uses numerical values for clock ids taken from
rpi_pico_clock.h which are the "clock generator". For the RP2350 these
values are different for some of the same logical clock sources, as well
as the RP2040 and RP2350 having different clock sources available.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
XIP prefetching seems to still be running, even while interrupts are
disabled. Therefore it is important to wait for the FlexSPI to be idle
before performing a write/erase operation.
Signed-off-by: Martin Stumpf <martin.stumpf@vected.de>
Completes the PLLi2S configuration for this board based on stm32f411
with a PLLI2S compatible = "st,stm32f411-plli2s-clock";
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Completes the PLLi2S configuration for those boards based on stm32f4
with a PLLI2S compatible = "st,stm32f411-plli2s-clock";
Signed-off-by: Francois Ramu <francois.ramu@st.com>
nRF54L05 and nRF54L10 devices that are emulated on nRF54L15
needs to have manually disabled remaining RAM blocks
that are outside of their RAM region definitions.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Using bare-metal approach for retention configuration
is no longer compatible with sys_poweroff() implementation.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
RAM retention is disabled for all RAM blocks
before entering System OFF to achieve lowest power consumption.
RAM retention can still be enabled using retained_mem driver.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Add a GPIO driver for the Microchip MEC5 HAL based chips.
Current devices are: MEC174x, MEC175x, and HAL version of
MEC172x named MECH172x.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
This adds initial support for NXP SDMA controller. We make use
of NXP HAL to configure the IP.
SDMA uses BD (buffer descriptors) to describe a transfer. We create
a cyclic list of descriptors and trigger them manually at start and
later when data is available.
This is tested using Sound Open Firmware app on top of Zephyr.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Added support for the SPI interface which is availble on the shield
if the jumper configurations are changed.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
gatt_unregister() clears handles if those were auto-assigned by host.
This resulted in Service Changed indication not beding sent since
call to sc_indicate() pass already cleared handles.
This was affecting GATT/SR/GAS/BV-01-C and GATT/SR/GAS/BV-07-C test
cases.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
- rename enable-gpios to en-gpios in adi,tmc2209
- place en-gpios in common stepper-controller.yaml
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
- Enables a MCUboot support for frdm-mcxa156.
- Enables MCUMgr OTA and MCUBoot recovery for frdm-mcxa156.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
IRQ 1 is reserved for WiFi in ESP-IDF, which is used as the basis
for the Espressif HAL in Zephyr.
If IRQ 1 is used by Zephyr and too many other peripherals (e.g.
multiple UARTs) are enabled, WiFi stops working.
Marking IRQ 1 as "not available" seems to fix the issue.
Fixes#82874
Signed-off-by: Martin Jäger <martin@libre.solar>
The BASE doesn't affect the BIS sync value, and should thus not
change it.
This fixes a bug where the broadcast sink may prematurely
set the BIS sync value to e.g. 1 before actually
syncing to the BIG.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The DHT[11/22] sensor driver fails to read data due to an extra
"gpio_pin_set_dt" that is occurs prior to waiting for the sensor active
response. This leads to consistent failed reads on esp32 (devkitc,
wrover). After removing this line reads are consistently successful.
Signed-off-by: Omar Naffaa <omarnaffaa.on@gmail.com>
When all sectors have non-zero data, NVS would fail to init.
Add recovery path option to erase the all sectors and reinitialize.
This could occur due to non-empty sectors, or corrupted data.
Signed-off-by: Cory Andrew Mayer <corymayer@meta.com>
add test for reconfigure, release, suspend, abort and disconnect.
app_config_req and app_reconfig_req always accept the req,
so don't need to handle reject case.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Implement the bt_a2dp_stream_reconfig: Modify reconfig_req callback to
pass codec_cfg to application. Remove reconfig_rsp callback,
config_rsp is used. Remove reconfigured callback,
configured callback is used.
move the status to common struct bt_avdtp_req,
use same bt_avdtp_ctrl_params to process control-like avdtp
cmds (start, open etc), use the same a2dp_ctrl_ind to process
control-like cmds (start, open etc), use the same
bt_a2dp_ctrl_cb to process control-like cmds (start, open etc),
use the same bt_avdtp_ctrl to process control-like cmds
(start, open etc), optimize getting a2dp conn by index,
use sem to replace mutex and optimze the lock codes to be
based on context/instance.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
We should also trigger this workflow on changes to the
module integration files.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This results in a smaller binary with CONFIG_XIP=n as these NOLOAD
sections can be excluded.
bss/noinit have been included in CONFIG_XIP=n binaries by default since
c107827bb7. This also occurs if using
iterable sections or adding code/data to ITCM/DTCM sections.
Moving bss/noinit to the end of the linker file should ensure they are
always excluded
Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
Instead of unconditionally erasing the whole target, add
support for using the common --erase flag.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
Revert to my old username on west and drop my long-inactive LED strip
involvement.
(I'm intentionally not adding myself back to the devicetree
collaborators list -- I'm not able to help out there at this time.)
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
This reverts commit b33b3b17f7, turns out
it's causing issues in CI all over the place, the condition needs more
thinking.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The commit adds Kconfig option CONFIG_STREAM_FLASH_POST_WRITE_CALLBACK
that allows to turn off support for callback invoked after data
is written to storage device.
If the feature is not used disabling it allows to save some storage.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Make sure CI can properly run on bootloader module by pulling
the mcuboot version that has correct names for the mimxrt1050/60
platforms.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fast SPIM instances (SPIM120 and SPIM121) for correct operation require
the highest frequency from the global HSFLL. This commit adds needed
clock controller requests to the driver. When the runtime device power
management is enabled, the frequency is requested as long as the SPIM
is resumed, otherwise it is requested for the duration of transfers.
This commit also adds a missing call to `pm_device_runtime_put()` when
SPIM reconfiguration fails.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Fast SPIM instances in nRF54H20 (SPIM120 and SPIM121) are driven by
the global HSFLL (HSFLL120). Add `clocks` property in these nodes
to reflect this.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This is a follow-up to commit fe0e2dbc60.
If `nrf_clock_control_request_sync()` ends up with a timeout, before
returning it must cancel the request that was not fulfilled on time.
Otherwise, the request may actually finish successfully a bit later,
but the caller will not be aware that the clock needs to be released
(since the call resulted in an error). And actually even more serious
problem is that because the `req` structure is placed on stack, after
the function returns, the contents of this structure will be probably
overwritten with some other data, so if the request finishes at that
point, an attempt to execute the callback function pointed by this
structure will most likely cause a crash.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
coverity complains of a missing break statement in SENSOR_CHAN_ALL case
this is fixed by adding __attribute__((fallthrough))
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Calling `net_buf_reserve` removed any previous reservation, which
includes the reservation by hci_ipc to hold the H4 type byte. This
resulted in a out-of-bounds net_buf_push in hci_ipc.
This commit also enables asserts in hci_ipc in the audio bsim test,
which reveal the out-of-bounds write.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
The LoRa driver does not allow to pass void* user_data to callback in
lora_recv_async function. This leads to complex way of using the API. This
commit fixes the issue and adds the field to the function and to the
callback.
Signed-off-by: Aleksander Dejewski <aleksander.dejewski@gmail.com>
Info in the release notes about changes to the board
identifier of the mimxrt1060_evk and mimxrt1050_evk.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Convert qspi and hyperflash to variants instead of revisions by popular
demand.
And convert evkb into a revision instead of a different board.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Update hal_renesas rev to add support for these features:
- SDRAM support on EK-RA8D1
- LCD controller
- MIPI DSI
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
NXP FlexTimer Module is a configurable timer peripheral hence it should
be located under bindings/timer.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Rename "nxp,kinetis-ftm-pwm" compatible to "nxp,ftm-pwm" to remove the
device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Removes the timeslicing configuration from the latency
measure benchmark as its numbers are nearly identical
to the default. This makes sense as the benchmark was
not really designed for exercising the timeslicing
feature.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Update the GC9X01X display driver binding documentation with the current
MIPI DBI SPI binding structure. The old example used direct SPI device
binding which is now deprecated in favor of the MIPI DBI API.
Signed-off-by: Benjamin Geiger <BenjaminGeiger1@gmail.com>
Some device types (SPI, network, etc) use customized versions of
DEVICE_DT_DEFINE; however, all of these ultimately use Z_DEVICE_DEFINE,
which is where the object that has to be exported is defined.
Move the Z_DEVICE_EXPORT macro to Z_DEVICE_DEFINE and make it depend on
'node_id' being valid, so that it properly covers all exportable devices
defined in the build.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Propagate bit ordering and type of CS pin to HAL layer. Previously,
the driver assumed MSB first and EUSART hardware CS control.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Cleanup all pip commands in the various workflow
- drop the install/upgrade for setuptool pip and wheel, seems like this
was introduced few years back to work around some old bug and it's not
needed anymore
- use pip instead of pip3, that's probably been equivalent for quite a
long time in the CI image
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
With recent SDSC bundles, 54H fails the app core boot in case of a
unsupported GPIO in the UICR.
As Wi-Fi SR co-existence on nRF54H20DK is not yet supported, remove this
GPIO for 54H. This will be fixed properly once co-existence is
revisited.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Add overlay to support test pwm_loopback on boards: ek_ra2a1,
ek_ra4e2, ek_ra4m2, ek_ra4m3, ek_ra4w1, ek_ra6e2, ek_ra6m1,
ek_ra6m2, ek_ra6m3, ek_ra6m4, ek_ra6m5, fpb_ra6e1, fpb_ra6e2.
Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com>
using "dt_node_prop_enabled" to filter out supported platforms
1. check node existing.
2. check prop in node.
3. check the prop is True.
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Change the workflow to pass instead of skip if the PR is mergeable,
just trying to see if it helps with PRs not appearing as mergeable
because they do not match status:success when they should.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Extend i2c_target_api test suite with the nrf5340 cpuapp, using the
new TWIS device driver.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add nrf twis (I2C controller supporting I2C peripheral role and
EasyDMA) support, including updating the existing twis dt binding
to match the hardware with proper examples.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
When using tickless mode, the socketpair()
seem to use heap by default on native_sim, so
add some space for it.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
This description provides information about setting up RCP (nRF21540-DK)
and OT HOST (mimxrt1020_evk) to communicate with HOST PC's echo_server
via OpenThread Border Router (OTBR).
Signed-off-by: Lukasz Majewski <lukma@denx.de>
This patch adds support for HOST OpenThread communication to the RCP
co-processor via UART using SPINEL protocol.
The aim is to use OpenThread's RCP (Radio Co-Processor) with HOST device
(for example imxRT1020). Such configuration is the same as one used
with PC program (ot-cli) and RCP.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
This overlay configures the imxrt1020 EVK board to use its lpuart2 serial
port to communicate with other board (in this case nRF21540-DK), which
is the RCP for OpenThread protocol.
The nRF Zephyr RCP is the one from Nordic (v2.7.0):
west build -p always -b nrf21540dk/nrf52840 -S logging
nrf/samples/openthread/coprocessor
The same UART (on nRF) can be used for testing/debugging purposes with
using the ot-cli's SPINEL communication program:
sudo ./build/posix/src/posix/ot-cli 'spinel+hdlc+uart:///dev/ttyACM1?u
art-baudrate=1000000' --verbose
Signed-off-by: Lukasz Majewski <lukma@denx.de>
This config allows setting up the echo_client program with
RCP HOST UART (via SPINEL protocol) communication.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Cmd_register uses a fixed channel as the rfcomm channel. Cmd_register
doesn't require parameters for channels.
Signed-off-by: Make Shi <make.shi@nxp.com>
Previously added type casting was still causing coverity to complain.
This time casting multiplication before bitshift operation.
Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
Retreiving IP address from the networking interface assigned to
a PTP port could result in NULL dereference or undefined behaviour
when passing NULL to `memcpy()` function. Added check on addresses
returned from functions retreiving IP address from an interface.
Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
Removed FLASH_BASE_ADDRESS configuration from various boards' Kconfig.
The only thing needed in order to do this was to update the relevant dtsi
files so that the flash0 node has its reg property configured properly.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Implement the SPI context lock in the USART SPI driver for
EFM32/EFR32.
Remove incorrect -EBUSY error when spi_release() is called while
there are still bytes in the TX FIFO. This condition does not
cause the act of releasing the lock to fail.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The convention in this file is to align the struct members vertically. This
hasn't been properly followed for some of the more recent additions, so
let's fix it.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This reverts commit 9d849d92bf that seems to
be causing dozens of basic kernel test failures across various platforms.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
STACK_CANARIES was enabling canaries in all functions using the compiler
flag -fstack-protector-all. This became confuse with the addition of the
options STRONG and EXPLICIT.
This commit adds the missing option (default level) and disambiguous the
options mapping them close to the compiler flags.
Now we have the following options:
STACK_CANARIES -> fstack-protector
STACK_CANARIES_STRONG -> fstack-protector-strong
STACK_CANARIES_ALL -> fstack-protector-all
STACK_CANARIES_EXPLICIT -> fstack-protector-explicit
Note that from now on STACK_CANARIES_ALL is the symbol that adds canaries
for all functions.
Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
Add option to enable stack canaries only when explicitely
declared. It adds a new function attribute, __stack_protect, that
can be used to enable stack protection in a function.
Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
Previously, when stack canaries were enabled, Zephyr applied this
protection to all functions. This commit introduces a new option that
allows stack canary protection to be applied selectively to specific
functions based on certain criteria.
Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
- provide support for the STM32C071 serie
- add stm32g0-flash-controller compatible on flash node
to fix CI issue on undefined reference to
`flash_stm32_page_layout'
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
It introduces *-pinctrl.dtsi files for the C071XX
STM32 series, which will help to fix a CI problem
encountered.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add the DWARF v5 sections to the linker scripts of
imx, imxrt, acp_6_0 and xtensa_sample_controller.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
This board has a built-in debug adapter that provides a serial
connection to the host. This is mentioned in the board documentation.
The SoC pins P0.15 (RX) and P0.19 (TX) are connected to the debug
adapter pins TXD and RXD, respectively. This board should not configure
any other serial connection by default.
Update the board documentation accordingly.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Clarify how to configure serial output for the console for the two most
common cases. Follow up on commit 0cae816b27
("boards: add common configuration for CDC ACM UART")
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Modify the board file when using gpio, input and pwm drivers dts
configuration example for it8801.
test: west build -p always -b it82xx2_evb tests/drivers/build_all/gpio
west build -p always -b it82xx2_evb tests/drivers/build_all/input
west build -p always -b it82xx2_evb tests/drivers/build_all/pwm
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Test "drivers.gpio.1pin.aw9523b" fails on stm32u083c_dk platform
because "arduino_i2c" definition does not exists in the device tree
of stm32u083c_dk board. Also updated the baord yaml
Signed-off-by: Arif Balik <arifbalik@outlook.com>
Add support for the bt_hci_evt_le_cis_established_v2 event in
the host.
This provided additional information to the host and application
about the CIS paramters. Especially the peripheral gets new an
important information such as the SDU size and interval.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In Kconfig, already check both dpp and enterprise mode for enable
NO_CONFIG_BLOBS, so remove the wrong one in the cmakelist.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Start and stop SAP, the IPv4 address is not removed, if then use STA
mode to connect to EXT-AP with same gateway address as the stopped
SAP, STA will not get the DHCP IPv4 address, as the DHCP offer packet
is dropped due to detect of IPv4 address conflict. Removing SAP IPv4
address when stopped SAP can fix this issue.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The Health Client model supports periodic publication and thus requires
the update callback to be initialized.
This commit implements a callback inside the health client model and
adds a wrapper to it so that the user can fill up the msg buffer.
This way, the Config Server will always accept
Config Model Publication Set message with periodic publication
parameters. If the users callback returns an error or is not
implemented, the periodic publication will be aborted.
Signed-off-by: Stine Åkredalen <stine.akredalen@nordicsemi.no>
apx needs to set compare b due to errata of XTAL glitch
ap4p needs to set minimum delta to 4
err026 requires XTAL to not be switched off/on when resetting
Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
Enhance the wait_queue benchmark to output resulting summary
metrics as records, so when it runs with Twister the results
are parsed and saved into twister.json and recording.csv files
for further analysis.
Minor documentation edits and make ClangFormat happy.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Enhance the sched_queue benchmark to output resulting summary
metrics as records, so when it runs with Twister the results
are parsed and saved into twister.json and recording.csv files
for further analysis.
Minor documentation edits and make ClangFormat happy.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Remove orphaned `k_mutex_unlock` in `eeprom_at25_read` as
the lock/unlock pair is handled in `eeprom_at2x_read` instead.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
To maintain consistency in `init_fn` parameter passing,
remove the address-of operator ('&') when assigning the `init_fn`
function pointer in the `DEVICE_DT_INST_DEFINE` macro.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Add a compiler warning when building for an STM32 series MCU with PM
enabled but STM32_ENABLE_DEBUG_SLEEP_STOP=y. That option greatly
increases the power consumption during sleep, which is probably
undesirable when building with PM=y, and it can be activated silently
as a side effect of other options (namely RTT) making it tricky to find
out.
Add a warning to expose the situation.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The compiler requires that much of the C library be built without using LTO
so that various symbols are available for use by generated code, including
things like memset and memcpy.
Add -fno-lto when building both picolibc itself as well as the Zephyr
interface bits.
Closes: #81674
Signed-off-by: Keith Packard <keithp@keithp.com>
This adds data cache manipulations, flushing and invalidation,
to the tests where buffer content are being written and
compared. These tests map different virtual pages to the same
physical pages, and write to one of the mapped virtual
addresses. Some SoCs may cache the virtual address separately
and writes to one virtual address will not be reflected to
another virtual address, this failing the comparison. So we
need to manually flush the cache after writing to the buffer,
and invalidating cache before reading. Note that not all reads
and writes need this treatment as some of them only needs to
test for access permissions, and not the memory content.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
For CPUs with incoherent cache under SMP, the tests to read/write
buffer (... majority of tests here) may not work correctly if
the test thread jumps between CPUs. So use the test infrastructure
to limit the test to 1 CPU.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The STM32F4 socs have different channels for the temperature sensor.
Some are at channel 16 and some at channel 18. Made changes wherever it
was relevant.
In short, the base configuration is to channel 16 and wherever it is
supposed to be 18 it is overridden.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Added aliases to nucleo_l4r5zi/stm32f4_disco/stm32f411e_disco for
die_temp die_temp/vref/vbat nodes so that the die_temp_polling
and soc_voltage samples work for them.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Remove the PS GPIO controller's static MMU region entry from the
mmu_regions table for both the XC7Zxxx and XC7ZxxxS variants of the
Zynq 7000.
The PS GPIO controller's device driver has been switched over to
using a named DEVICE_MMIO mapping.
Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
Set up a named device MMIO memory mapping in the GPIO controller's
parent device, map the virtual memory in the init function of the
parent device.
Once the controller's register space has been successfully mapped,
propagate the mapped virtual address to all child (= GPIO bank)
devices. While it is possible to add a named mapping to every
single GPIO bank device and initialize it in the respective bank
device's init function, this would result in multiple virtual
address mappings all pointing to the same 4k of physical memory.
I assume that, although all those mappings having the same attri-
butes, such a setup is at least discouraged.
Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
Return standard baudrate on a uart_config_get call instead of
rough calculated numbers.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Add option (BAUDRATE_FROM_DTS) to get baudrate value from
device tree, for devices which differ from standard (115200).
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
when performing a write ZMS checks if the data exists in the storage to
avoid double writing the same data and save some memory cycle life time.
However this downgrades the write performance.
Enable this feature only when CONFIG_ZMS_NO_DOUBLE_WRITE is enabled.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Specifies that the `CONFIG_BT_MESH_SHELL_DFU_METADATA` must be enabled
to use the `dfu metadata` commands in the mesh shell.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Adds documentation for the mesh shell blob flash stream feature. This
feature allows the user to specify the flash area to write the BLOB to.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
The documentation incorrectly referred to the Semtech shield as
semtech_sx1271mb1mas. It should be semtech_sx1276mb1mas.
Signed-off-by: Sreeraj Sudhakaran <sreerajsudhakaran@gmail.com>
Since now Mbed TLS automatically selects ENTROPY_GENERATOR (or the
test generator, depending on the platform) we can remove this dependency
from all BT related tests and samples.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG to the list of
test Kconfigs. Typical use case of this:
- the platform has "zephyr,entropy" defined in the devicetree which means
that CSPRNG_AVAILABLE is set;
- for some reason the board actually does not have any entropy driver
enabled (ex: ENTROPY_BT_HCI is disabled in nrf5340bsim when BT is _not_
enabled in the build);
- since TEST_RANDOM_GENERATOR is enabled then also TEST_CSPRNG_GENERATOR
would be;
- unfortunately the call to psa_generate_random() would fail in
get_random_data() (in modules/mbedtls/zephyr_entropy.c) because
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG is not set and it would
not reach "subsys/random/random_test_csprng.c".
This commit fixes this problem.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Strong entropy/random sources are a must to get secure crypto algorithms,
but sometimes its useful to allow non-CS sources as well for sake of
test purposes. MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG was
designed exactly for this scope, but recently also TEST_CSPRNG_GENERATOR
was added and it acts similarly:
- MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG operates in
"zephyr/modules/mbedtls/zephyr_entropy.c" allowing
mbedtls_psa_external_get_random() to try both sys_csrand_get() first
and then sys_rand_get() as fallback.
- TEST_CSPRNG_GENERATOR instead operates in
"zephyr/subsys/random/random_test_csprng.c" and it basically wraps
the call to sys_csrand_get() with a call to sys_rand_get().
Albeit they operate at different level, the result is identical, so
Mbed TLS should support both of them when MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
is set and there is no CSPRNG_ENABLED.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Now that MbedTLS is capable of automatically enabling
CONFIG_ENTROPY_GENERATOR (when available), we can remove forced
enablements in boards|soc deconfig files.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This is based on the introduction of a helper Kconfig symbol in
"subsys/random/Kconfig" which is named CSPRNG_AVAILABLE. When this is
enabled it means that there is a "zephyr,entropy" property defined in the
device-tree, therefore Mbed TLS can select ENTROPY_GENERATOR to allow
the platform specific driver to be included into the build.
This commit also changes other locations where CSPRNG_ENABLED was used
moving it to CSPRNG_AVAILABLE in order to solve dependency loop
build failures.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Enable buffered write for nRF54l RRAM flash driver by default.
CONFIG_NRF_RRAM_WRITE_BUFFER_SIZE=1 means that write will be buffered
by 16 B buffer (native RRAM write-bock-size).
This allows optimal life-endurance of RRAM memory.
For reference" DTS declares 16 write-block-size already.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
This patch fixes an assert in net_buf_simple_add() function when the
lan_9250 driver would add previously added data to the net buffer
on receiving large (>128 bytes) packat. This fix was to use the frags
field of the net_buf structure instead.
Tested with a nRF54L15 DK and eth3 click board (with nordic connect sdk
2.8.0 and this patch).
Signed-off-by: Balaji Srinivasan <balaji.srinivasan@autostoresystem.com>
Many out of the POSIX subsystem configs are enabled automatically
when merely CONFIG_POSIX_API is enabled, which is a prerequisite for
many networking samples. This causes a massive experimental warning
printout when building with warnings enabled.
Since the new POSIX Kconfig configuration options are already present
in Zephyr for 2 release cycles and seem settled, I suggest we move
them out of experimental phase.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Creation of the new zephyr\soc\nxp\common\nxp_nbu.c driver which manage
the interruption of the NBU. This modification is mandatory to support a
coex application which includes Bluetooth and 802.15.4 on the same
narrow band path.
Signed-off-by: Xavier Razavet <xavier.razavet@nxp.com>
Wakeup pin indices are 1-based, but `LISTIFY` is 0-based. Consequently, the
last element of the pin-to-register-bit lookup table was never populated.
Signed-off-by: Samuel Coleman <samuel.coleman@rbr-global.com>
Secure domain firmware v9.0.0 and onward no longer supports the
non-essential domain reset procedure which was used in the custom
JLink reset scheme for
nrf54h20dk/nrf54h20/cpuapp, nrf54h20dk/nrf54h20/cpurad,
nrf9280pdk/nrf9280/cpuapp and nrf9280pdk/nrf9280/cpurad.
All resets done through the ADAC interface now do a global reset
instead, which as of now "kills" the JLink session.
Remove the custom reset behavior as it will not work anymore moving
forward. This means that "monitor reset" in GDB can no longer be used
to debug the application from the start of execution. Using current
tooling, it is possible to debug from the start of execution by first
resetting the cores into a halted state, starting cores other than the
one you are debugging and then attaching GDB. For example:
> nrfutil device reset --reset-kind RESET_VIA_SECDOM
> nrfutil device go --core Network
> west attach
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Adds the drv8424 stepper driver to the build_all/stepper test and the
stepper_api test. The later test is also modified to ensure compatibility.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Adds 2 test suites for the drv8424 stepper driver, testing API conformity
and return values in the first suite and gpio pin values in the second
suite
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
The west packages extension can be used to install module dependencies.
Upstream nanopb has added the pip package dependencies to the
zephyr/module.yml file. Remove in-tree pip package dependencies.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This commit enables I2C2 on nucleo_u083rc board
for i2c_target_api test.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Since DMA is supported by the nucleo_u083rc board, it should be enabled
in the board overlay for the ADC adc_api test, similar to the board
nucleo_h743zi.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit Modifies the DMA STM32 Kconfig to enable shared IRQ
support for the STM32U0 series.
This change ensures DMA channels with shared IRQs are properly
configured for stm32u0 devices.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit enables support for DMA,
SPI, RNG, Crypto, USB and RTC.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit Introduces DTS configurations for DMA,
SPI, RNG, Crypto, USB and RTC modules to enable
support in STM32U0.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Now expected vs read size will be logged in case of error
to make it easier to understand problem or correct test
settings.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The clock_stm32_ll_common.c function set_up_plls calls
LL_RCC_PLL_Disable();and it was not waiting for the
disable to complete before trying to configure
the pll sysclock which creates a race condition for
pll configuration.The wait for re-enabling the RCC pll
is already there, it was just missing the wait for
the disable before configuration. Also added the wait for PLL2.
Signed-off-by: Benjamin Curtis Byers <ben.byers@ubcobikes.com>
Wrap `sigaction()` declaration with `TOOLCHAIN_IGNORE_WSHADOW_BEGIN`
and `TOOLCHAIN_IGNORE_WSHADOW_END` to ignore Wshadow warning
which occurs because `struct sigaction` already exists.
fixes: #83111
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Use the net_icmp_send_echo_request_no_wait() when sending
ICMP Echo-Req so that we can avoid the warning message from
system workqueue handler.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Create a net_icmp_send_echo_request_no_wait() variant that will
not wait when allocating net_buf to be sent. This variant will avoid
a warning to be printed when sending Echo-Req from a system workqueue
because the work cannot sleep in this case.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The CONFIG_ZEPHYR_HAL_TDK_MODULE is always set if the module is on disk,
introduce an implied symbol to prevent a cmake warning if no TDK drivers
are needed.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Once proxy gatt is enabled, due to the nature of gatt advertisements
being continuous, the controller will reject starting the scanner after
enabling proxy gatt. As such we should start the scanner first.
Currently the order works as we are using k_work to postpone the proxy
gatt service registration, because services can't be registered between
initializing BT and loading the settings.
Once we start using the new settings priority feature, we are sure to
envoke enabling proxy gatt after loading the settings, so the delayed
enabling can and should be removed.
This preventetive fix has been tested by running relevant bsim tests
after rearranging in which order the settings of the subsystems are
loaded via `h_commit`.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Adapt the stm32 flash driver for the stm32h7rs serie where some
bit of the FLASH registers are named differently from stm32h7 serie.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This patch will save configured link clock and ensure
ssp starts with xtal clock if ssp ver >= 2.0
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
As per BHC-750 in TCAT case for now only allowed devices
are the ones that have either dual radio or multiplexed
radio capabilities. So the 'M' bit in BLE advertisement
should be always set to 1. In future specifications
devices without multiradio capabilities will be allowed
this is the reason why new Kconfig was introduced.
Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
Add an integration platform to the LoRa samples so that changes to these
applications are checked in the PR CI.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Create a special Ethernet interface that supports link layer
embedding. Add a test that uses this special Ethernet interface
to verify that the L2 header is embedded to the first net_buf.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If Ethernet based network device driver is advertizing
ETHERNET_EMBEDDED_LL_HEADER, then the L2 driver will can
return the proper L2 header size for the network interface.
This info is then used in TX to determine whether to have a
separate net_buf for the link level header, or to embed the
header to the same net_buf as the L2 payload.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow network device driver to configure the system so that
when a network packet is sent to it, the link layer header
is stored just before the L2 payload in the same packet.
Currently the link layer header is stored in a separate
net_buf that is linked in front of the L2 payload.
This option can typically save one net_buf when sending
a network packet. Note that if you are using variable data
size buffers (CONFIG_NET_BUF_VARIABLE_DATA_SIZE) then this
embedding is not needed because one can allocate just the
right size network buffers and not waste any memory.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure we send IGMP report when re-joining the multicast group
when interface goes up after operative down event.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If network interface goes operative down, then re-join user defined
IPv4 multicast groups that where joined earlier when the interface comes
up again. If user takes the network interface down manually (admin down),
then the user specific groups are not re-joined. This works now the same
way as IPv6 re-joining.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add dts node to support for gpio interrupt on Renesas RA SoC
- Add external interrupt node
- Add gpio interrupt pins
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
First commit to add support for gpio interrupt on Renesas RA
- Add support for external interrupt driver
- Add support for gpio interrupt config
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Move ioport6, ioport7, ioport8 to r7fa6m4ax due to it is common
part of RA6M4
Impacted file:
- dts/arm/renesas/ra/ra6/r7fa6m4ax.dtsi
- dts/arm/renesas/ra/ra6/r7fa6m4af3cfb.dtsi
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
The ecpprog command is an utility written by Greg Davill for flashing
FPGAs such as ECP5 or CrossLink-NX series. Devkits typically have an
FTDI interface chip to access the external flash. FPGA image is
typically at flash offset 0x00000000 flash offset, and the Zephyr
image offset can be set via CONFIG_FLASH_LOAD_OFFSET.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The `_resv0` field is no longer needed after increasing the size of
`iodev_flags` from `uint16_t` to `uint32_t` by this PR #80177.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
There is an unused variable, which may result in a compiler warning.
Since we can not guarantee the value of this variable
we can not test for it, so it is removed.
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
Add sample which clearly and thorougly shows how to use RTIO with
I2C controllers, both synchronously and async, comparing it with
the "standard" I2C API, in an controlled environment. Both the I2C
controller and I2C target are managed by the sample, using loopback
to monitor and control the I2C transfers.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
create rampstat Kconfig template to enable respective tmc drivers to
reuse the common configurations
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Convert vendor specific **_WIFI_BUILD_ONLY_MODE symbol as global
in order to provide common build flag to enable CI with no blobs.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Sleeping and suspended are now orthogonal states. That is, a thread
may be both sleeping and suspended and the two do not interact. One
repercussion of this is that suspending a thread will no longer
abort its timeout.
Threads are now created in the 'sleeping' state instead of a
'suspended' state. This dovetails nicely with the start delay that
can be given to a newly created thread--it is as though the very
first operation that a thread with a start delay is a sleep.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
At the present time, Zephyr does has overlap between sleeping and
suspending. Not only should sleeping and suspended be orthogonal
states, but we should ensure users always employ the correct API.
For example, to wake a sleeping thread, k_wakeup() should be used,
and to resume a suspended thread, k_thread_resume() should be used.
However, at the present time k_thread_resume() can be used on a
thread that called k_sleep(K_FOREVER). Sleeping should have nothing
to do with suspension.
This commit introduces the new _THREAD_SLEEPING thread state along
with some prep-work to facilitate the decoupling of the sleeping and
suspended thread states.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
ADS131M02 is Texas Instruments 2-channel, 24-Bit differential
input ADC which support wide range datarate.
Driver add support for adc read, channel configure, adc sampling
mode configuration and power management.
[1]. https://www.ti.com/lit/ds/symlink/ads131m02.pdf
Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
Shield was enabling some Kconfig options for no reason. Shields do
not need to enable driver classes unconditionally, these are enabled
either by drivers or samples that require them.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new option to control usage of DT nodelabel board_power. This
option also allows to select GPIO when needed.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add options to control the behavior of sw0/sw1. These options also allow
to select GPIO when needed.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new option to control the behavior of sw0. This option also allows
to select GPIO when needed.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new option to control led0 behavior. If enabled, led0 will be used
for blinking. This option also allows to select GPIO when needed.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new Kconfig option to control the behavior of sw0. If enabled, sw0
button will be used for provisioning. This option also allows to select
GPIO.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new Kconfig option to control the behavior of led0. This option
also allows to select GPIO only when needed.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add additional test cases which verify that the HTTP server code can
handle PUT/PATCH/DELETE request types.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Extend the list of methods supported by dynamic resources with
PUT/PATCH/DELETE. The methods does not require any extra handling
from the server perspective, so the existing method handlers could be
reused.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
config->base is already defined as ADC_TypeDef so no there is no need to
cast it as such. Remove all occurrences throughout the file.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Now that clock source and sequencer are defined with strings in device
tree, move the old defines directly in the driver
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Now that st,adc-sequencer and st,adc_clock-source use a string, update the
ADC driver.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
fu drv adc update driver with string
In all STM32 dtsi and board dts, update the st,adc-sequencer and the
st,adc-clock-source properties so they are strings.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
fu dts: arm: st: use string instead of enum
STM32 sequencer property and clock source were defined using
arbitrary numbers. Use string instead.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Adds an ADC DMA test for Nucleo F103RB board now that support for it is
added in the ADC driver.
Reading multiple channels in F1 is only possible with the DMA, hence the
necessity to have a dedicated twister test for it.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Remove specific cases for H7 and U5: group them together and only call a
single function. ADC3 of H72x/H73x and ADC4 of U5 are different from other
ADC of their series, and have dedicated functions in the LL for enabling
DMA, but they're doing the exact same operation as
LL_ADC_REG_SetDataTransferMode.
Incidentally, this change allows H7A/H7B to use the DMA (it seems to have
been missed before).
Last, this change enables the DMA support for F1x ADC.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
On STM32 ADC, there are currently two types of oversamplers (if present),
one with 8 available oversampling values, the other with 1024.
To simplify the driver, add the oversampler as a dts property.
Also add defines to avoid magic values in the dtsi.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
STM32F3 and H7 have multiple ADC versions difficult to differentiate.
Use clearer macros to make code more readable.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Reverts a change regarding how the test checks the pulse output
from a capture event. A pulse capture will produce a value that has
the same polarity (and range) as programmed by pwm_capture().
Checking 'pulse_capture' against 'period - pulse' means expecting
the driver to return a capture value that is not inverted as well,
which would cause test cases to fail.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Use shell_device_get_binding() instead of device_get_binding() so that
we get the device based on its name and in addition by its label.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Mode 0 cannot establish a connection when used as a UDP server,
replace mode 0 with mode 2 to save the client's IP and port as
the communication address when a message is received.
Fixes#82898
Signed-off-by: Hongquan Li <hongquan.prog@gmail.com>
Update Zephyr fork of MCUboot to revision:
f5454f16358225f69ff729301c8e56d8a580f81a
Brings following Zephyr relevant fixes:
- f5454f16 boot: bootutil: loader.c: Add check if has upgrade
before pushing state change
- 0946c7a7 boot: zephyr: boards: add ctcc/nrf52840 and
ctcc/nrf9161 targets
- 7ba0e552 boot: zephyr: nxp: Add NXP platforms to the allow
list
- 4f393563 bootutil: Fix device brick after power failure
during swap-move revert
- 2ac79767 bootutil: Fix the reading of image headers after
partial swap completion
- 84416fd2 boot: zephyr: boards: Add frdm-mcxa156 configuration
- 15909d60 scripts: imgtool: fix sha512 for compression
- f2a61462 boot: zephyr: boot_record: Save boot data with
single image
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add the option for a unique numeric identifiers to be attached to a
zbus channel. This identifier can then be used to lookup the channel
structure at runtime. This is useful in two situations (that I can
immediately think of).
Firstly for external interaction, i.e a text shell or remote procedure
calls. The current state of a channel can be queried by an ID that never
changes, as opposed to the external entity needing to know the exact
memory address of the channel for a given application binary.
Secondly for integrating with dynamically loaded extensions (llext).
These extensions can hook into the existing data streams without each
individual channel needing to be exported and visible to the loader.
Signed-off-by: Jordan Yates <jordan@embeint.com>
- Add "channel-available-mask" property in ADC node
to detect which channels are available to use
- Add "add-average-count" property in ADC node to chose
number of count of the addition or average mode
- Change the source code of ADC to match with 2 new properties.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
The real, applicable and trusted values are the ones flashed into BICR.
So, drop DT properties that replicate BICR and use runtime reads to BICR
instead.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
The real, applicable and trusted values are the ones flashed into BICR.
So, drop DT properties that replicate BICR and use runtime reads to BICR
instead.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
The real, applicable and trusted values are the ones flashed into BICR.
So, drop DT properties that replicate BICR and use runtime reads to BICR
instead.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
BICR (Board Information Configuration Registers) are located within the
application UICR region (ref. MRAM mapping, table 38).
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
The consequences of a wSequence mismatch are unspecified and are
primarily for debugging purposes. Our checks are a bit too strict, and
if the header check fails, the sequence is not updated, and the header
check subsequently fails. Rework the code to just log a warning on
mismatch and also reset OUT sequence counter the same way as the IN
sequence counter.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Align the OUT handling with the CDC NCM and change the logic to track
when the alternate data interface is set/reset instead of the class
implementation being part of the active configuration.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
When interface alternate is set back to zero, the implementation still
attempts to submit OUT transfers, but the addressed endpoint is actually
disabled. Change the logic a bit to track when the alternate data
interface is set/reset instead of the class implementation being part of
the active configuration.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Do not fail in iface_start/iface_stop if sending notification fails,
just log the error and try to send connected notification when alternate
interface is set and network interface is started.
Do not block in notification send function and allow to submit more than
one notification which means that the last valid one will also be
delivered.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The Zephyr network interface should not be disabled by the USB device
functions. This sounds confusing, but in the current implementation they
are different ends of the connection.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
We need to handle notifications periodically, for example, when the
interface alternate changes and we also need to track whether the
notification was actually transfered to the host. There is no need to
trigger notification work on iface_start/iface_stop when the USB
interface is not in active configuration. This commit intentianly
changes log level in the notification handling code.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
In the current implementation, the block length in the OUT direciton
should be equal to the transfer length.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The implementation should not assume that NDP is placed immediately
after NTH. According to the specification (revision 1.0), NDP can be
anywhere in the transfer buffer. There is also always a "terminating
zero datagram pointer entry", which we should also use to terminate the
datagram processing loop.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Use STM32_CLOCK() clock select macro with bit-25
set.
This change shall set register RCC_CCIPR->FDCANSEL
to 0x01.
Previosuly there were bit-12 set, which was wrong.
For more information refer to RM0440 Rev. 8
page 323 of 2138.
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
In nRF53 SoC, the CPUAPP owns all the GPIOs by default.
Therefore, even if the GPIOs are exclusively used by CPUNET,
we must redefine them for CPUAPP and then set up GPIO
forwarding to CPUNET using SoC registers (this is done as
part of the MPSL CX initialization).
Previously, these GPIOs were mistakenly removed from CPUAPP
and defined only for CPUNET. This caused the GPIOs to be
available for CPUNET but still owned by CPUAPP, breaking
SR coexistence.
Signed-off-by: Murali Thokala <Murali.Thokala@nordicsemi.no>
Introduce Google Icetower Development Board.
Icetower is a board created by Google for fingerprint-related
functionality development.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
For some stm32 devices, especially the stm32H7RS serie,
the RCC register map is larger that 256 (example AHB1 is 0x138).
The mask is extended to 0x1ff in the .bus of the clock info structure,
using the GENMASK macro from STM32_CLOCK_DIV_SHIFT
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fixes an issue introduced with commit
c6ad4a7927 which wrong restarts
advertising after a device connects when it should only restart
advertising if a device fails to connect
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Renames the blob cli bounds command to blob cli caps in documentation,
matching the implementation in shell.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Rename everything from tla2021 to tla202x (except dtcompatible)
in preparation to add support for tla2022 and tla2024
Signed-off-by: Benjamin Bigler <benjamin.bigler@securiton.ch>
Currently, there is a small race window where we can miss an interrupt.
Right after we're done reading the RX buffer but just before decrementing
the RX counter to zero, the ENC28J60 may receive a packet. The chip will
raise an interrupt, but the line is still asserted. That means that the
callback will not be invoked since it is edge-triggered.
To avoid that, disable interrupts on the chip itself before processing
the RX buffer.
In fact, the ENC28J60 datasheet specifically says:
"After an interrupt occurs, the host controller should
clear the global enable bit for the interrupt pin before
servicing the interrupt. Clearing the enable bit will
cause the interrupt pin to return to the non-asserted
state (high). Doing so will prevent the host controller
from missing a falling edge should another interrupt
occur while the immediate interrupt is being serviced.
After the interrupt has been serviced, the global enable
bit may be restored. If an interrupt event occurred while
the previous interrupt was being processed, the act of
resetting the global enable bit will cause a new falling
edge on the interrupt pin to occur."
This is also what is being done in the Linux driver [1].
[1] https://elixir.bootlin.com/linux/v6.11.2/source/drivers/net/ethernet/microchip/enc28j60.c#L1126
Signed-off-by: Xavier Ruppen <xruppen@gmail.com>
The enc28j60 errata sheet says:
"The Receive Packet Pending Interrupt Flag
(EIR.PKTIF) does not reliably/accurately report
the status of pending packets."
"In the Interrupt Service Routine, if it is unknown if
a packet is pending and the source of the interrupt
is unknown, switch to Bank 1 and check the value
in EPKTCNT.
If polling to see if a packet is pending, check the
value in EPKTCNT."
A workaround has already been implemented inside of eth_enc28j60_rx().
But checking PKTIF before calling eth_enc28j60_rx() completely defeats
the purpose of the workaround. Do not check it.
Moreover, clearing ENC28J60_BIT_EIR_PKTIF is useless since it is
automatically cleared once all packets are read. So remove that check
and clarify comment.
Also please refer to the Linux driver [1].
[1] https://elixir.bootlin.com/linux/v6.11.2/source/drivers/net/ethernet/microchip/enc28j60.c#L1090
Signed-off-by: Xavier Ruppen <xruppen@gmail.com>
After a non-power reset (wdt) pins may remain in non-default state.
To ensure that a system initialization is the same after any reset,
it is necessary to initialize pins to the default state.
Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
Enable CONFIG_HAS_MCUX_IGPIO because device driver CONFIG_GPIO_MCUX_IGPIO
depends on it, so that the driver can be enabled by dts nodes.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Map MMIO memory by using DEVICE_MMIO_NAMED_x() APIs.
And some platforms has no soc.h, so use __has_include to check it
firstly.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Mark the I2C instances as `PM_DEVICE_ISR_SAFE`, as the transition
operations are short, it saves RAM resources, and the spin-locking fixes
the non-atomic behaviour of the PM usage counter.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fixes issue where function returns being used as data arguments to
k_fifo tracing macros were being called mulitple times due to
preprocessor copying macro arguments during expansion.
Signed-off-by: Anthony Williams <anthony289478@gmail.com>
Enhance the driver to calculate the L2 cache line size and number
of ways at runtime. The L2 cache line size is assumed to match
the L1 cache line size, while the number of ways is determined
based on the total L2 cache size.
Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
Add max22190 gpio driver with input functionality, since device
support only input without output.
Implemented diagnostic functionality for all 8 channels
which include various check to over/under voltage and wire break.
Filtering configuration is done from devicetree on per channel
bases and is configured on chip start.
In case some fault condition occure FAULT pin drive LOW which
prop to FAULT registers to be read. Data is stored in data structure
for furter analizes and ERR message is printed in console.
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
It reports Advanced Pedometer and Event Detection features,
such as Pedometer, Tilt detection, Wake on Motion and
Significant Motion Detector. Device tree options.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
Add the power mode, accel and gyro filtering options,
and apex features. Add -p and -s compatible.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
Prepare to use official TDK Invensense Inc. driver for icm42670-P/-S
sensor in tdk_hal module. Simplify I2C and SPI transport files.
Driver code moves in hal_tdk module.
Adds APEX features, such as Pedometer, Tilt detection, Wake on Motion
and Significant Motion Detector.
Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
Add Toradex Verdin iMX8M Mini board based on NXP MIMX8MM EVK using the
i.MX8MM SoC. This code is intented to be used with the Cortex-M4.
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
add the i3c2 pin setting
set i3c2 instance as ok status
add p3t1755dp_ard_i3c_interface/p3t1755dp_ard_i2c_interface node label
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
find a sensor driver bug don't judge the data whether read back
correctly, deal with buffer data directly.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Add a get_config function for this driver as specified in the
Ethernet subsystem API. The implementation supports querying
the hardware checksum generation capabilities of the specified
GEM device instance. This prevents the transmission of packages
without a valid checksum for protocols such as ICMP, as the
hardware only supports IPv4/IPv6 TCP and UDP checksum generation.
Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
The samr21 is a samd21 with a builtin at86rf233 radio. Use the samd21 as
base for these SoC and drop all duplicated nodes.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
The saml2x series provide USB to all SoC series. This moves the USB node
from saml21.dtsi to the base file saml2x.dtsi.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
When running tests on sam0 platform was detected that pinctrl for ADC
were not defined for some boards. To force an error at build time
nodes should be explicity disabled. This explicity disable nodes on
devicetree that require some user configuration.
In addition, the adc feature were excluded in some boards and
samr21-xpro was correct updated.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Keep a consistent order on the nodes definitions to make it easy to read
between all the SoC series.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
There were redundant code in full_irq_lock(), full_irq_unlock()
functions that supposed to be used when ZLI IRQs are disabled.
These functions are compiled in only when CONFIG_ZERO_LATENCY_IRQS
is set, hence the non-ZLI execution path was never included
in final binaries.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
LOG2CEIL(1) results in undefined behaviour,
as LOG2CEIL(1) expands to __builtin_clz(0),
which is undefined according to GCC docs.
Signed-off-by: Yanir Levin <yanir10@gmail.com>
Add new '--start-address' argument to the STM32CubeProgrammer west runner.
This argument can be used to specify an address from which the MCU should
start executing, instead of relying on the default value in CubeProgrammer.
Also update STM32CubeProgrammer runner tests to support new argument.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
This allows to build samples by twister which depend on 'arduino_gpio',
'arduino_i2c', 'arduino_serial' and 'arduino_spi'.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
This runs the Timer/counter in 'normal' PWM mode (for 8-bits)
and in 'match' PWM mode (for 16-bits).
Signed-off-by: Teresa Zepeda Ventura <teresa.zvent@gmail.com>
Remove deprecated functions to comply with new HAL versions.
Handle capture interrupts more appropriately by clearing status
bit for only one channel.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Update SystemCoreClock to match current core frequency. This MDK
variable is used by nrfx_coredep_delay_us which performs busy
waiting and is used by k_busy_wait.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add the ability to select littlefs disk version
to maintain backward compatibility
with existing littlefs
with the same major disk version.
Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
The DSP library does not provide functions to convert fixed
representations (Q7,Q15,Q31) to float or double and viceversa. This commit
implements those functions using a shift argument to indicate the number
of decimal places.
Signed-off-by: Matías Román Camilletti <matias.camilletti@owl-services.com>
Test LLEXT "detached section" functionality. This adds a test to load
an extension with a function placed in an ad-hoc section and run a
function in it.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
With dynamically linked / shared ELF objects the displacement
between file offsets and memory addresses can differ between
sections. Therefore we cannot use .text for all such relocations and
have to locate the respective section instead.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
To obtain a section header reference we don't need to calculate its
location in the ELF image, we already have a pointer to all section
headers, just use them.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Currently llext_link_plt() calculates offsets to relocation addresses
relative to the .text section and passes them to
arch_elf_relocate_global() and arch_elf_relocate_local(), where then
.text memory address is added to them. Instead it's more logical to
concentrate the entire calculation in the caller, which then also
removes the assumption, that all sections have the same VMA - LMA
offset from those functions.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
With writable LLEXT but without pre-assigned section addresses
.bss section offset in its ELF header will not match .bss eventual
location as it's allocated on the heap. Use llext_loaded_sect_ptr()
to get a correct address in both cases.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Change to prevent build failure when CONFIG_SCHED_IPI_SUPPORTED is
defined and CONFIG_TRACE_SCHED_IPI is not.
Signed-off-by: William Tambe <williamt@cadence.com>
Instead of relying on the bap_send_cmd and a ring buffer,
the tester will now automatically start transmitting on
streams can that transmit once they enter the streaming state,
and stop again once once they leave the streaming state.
This ensures that we are always sending, which help pass
the PTS tests that require us to send, without having the
autopts client constant telling the tester to send.
This also ensures that we actually send SDUs of the right size
by not relying on a ring buffer, but using a separate thread
that sends data from a predefined array of ISO mock data.
This is easily expandable to multiple streams (including a mix
of unicast and broadcast) using different SDU sizes and easy to
expand to also use one or more software codecs.
The design is based on the TX thread for the BAP Unicast
Client sample and the audio babblesim tests.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
LinkServer can flash only the first time, cannot flash again.
Fix it by setting default mcu security status as unsecure.
Signed-off-by: Michal Smola <michal.smola@nxp.com>
The dt_nodelabel_bool_prop must be used to check for a boolean property,
not the dt_nodelabel_has_prop. Using the latter caused the
UART_X_ENHANCED_POLL_OUT condition to be not fulfilled, despite the
fact that the property was not set on nRF52840 and nRF91.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
bicr.json is a supporting file that, if present and
CONFIG_SOC_NRF54H20_GENERATE_BICR=y (default), will be used to generate
a BICR hex file. The schema for the file can be found at
soc/nordic/nrf54h20/bicr/bicrgen-schema.json.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The A64 `msr` instruction always takes a 64-bit register (`xN`) value
operand.
When a value of size other than 64-bit is specified as an operand to this
instruction, Clang prints out the following warning:
warning: value size does not match register size specified by the
constraint and modifier [-Wasm-operand-widths]
This commit modifies the `write_sysreg()` macro to cast its value parameter
into `uint64_t` before specifying it as an operand to `msr` instruction in
order to ensure that always a 64-bit value is specified.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Adds the device trees, Kconfig, and documentation files.
The following features have been confirmed working on hardware:
* LED
* SPI LCD
* UART
* W25Q64 SPI FLASH
Signed-off-by: zack jiang <1125934312@qq.com>
The assert BUILD_ASSERT(NRF_GPD_FAST_ACTIVE1 == 0); is not correct
given that NRF_GPD_FAST_ACTIVE1 is defined as 1U, and is not used
in the file anyway. Remove the build assert.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The nrf-hsfll was previously the only supported HSFLL clock, hence it
was not namespaced fully. Since we added nrf-hsfll-global, we should
add the namespace to nrf-hsfll as well.
Updates drivers and devicetree uses of HSFLL as well.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add specific device model for global hsfll clock and update dts tree
to use specific model. The clock is not fixed, and configurable at
runtime to predefined frequencies specified by the platform.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
nRFs exposes now all power domains, following their actual name in the
specification. Add support for all of them in the GPD service. Note that
this is a breaking change: running this code requires a new SCFW as IDs
have changed in nRFs and so SCFW.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Test covering multiple single link central devices
connecting to single multilink peripheral device.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update central multilink sample to get version info to
verify actual data transmissions will succeed, and there is
no disconnect with reason connection fail to be established.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Test covering single multilink central device connecting to
multiple single link peripheral devices.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update central multilink sample to use continuous scanning
to speed up connection setup.
Update peripheral identity sample to be configurable for
bsim testing as multiple devices with configurable count
of supported connections.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Conditionally compile in controller features based on what features
have been enabled in Kconfig
This commit allow saving in flash size. Over 10k in peripheral_hr
and central_hr. In observer and broadcaster about 20k
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
With changes introduced in commit 6a3602a306
("net: buf: Clear `user_data` on allocation")
our memset() calls are redundant.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Pass a test failure reason text from harness to the instance
to convey more details on the failure.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Set missing TestCase statuses when a test under the BinaryHandler failed
(crashed), so remaining 'STARTED' and 'NONE' are now 'BLOCK' instead.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Core spec V5.4 Vol. 3 Part G 2.5.2.1 Robust Caching specifies
the conditions where Database Out Of Sync (0x12) error needs to
be returned as follows:
If a client that has indicated support for robust caching (by
setting the Robust Caching bit in the Client Supported Features
characteristic) is change-unaware then the server shall send an
ATT_ERROR_RSP PDU with the Error Code parameter set to Database
Out Of Sync (0x12) when either of the following happen:
• That client requests an operation at any Attribute Handle or
list of Attribute Handles by sending an ATT request.
• That client sends an ATT_READ_BY_TYPE_REQ PDU with Attribute
Type other than «Include» or «Characteristic» and an Attribute
Handle range other than 0x0001 to 0xFFFF.
Add the conditions to ATT_READ_BY_TYPE_REQ handler.
Signed-off-by: Chang Kim <changshik@meta.com>
When the CONFIG_BT_STM32WBA the stm32wba_fm flash driver is compiled
and must takes flash_stm32_sem_take/give functions from the
flash_stm32.h header file, like other stm32 series.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
* Add documentation about nRF9161 SoC variant
* Modify example apps to include both nRF9161 and nRF52840
* Switch from DFU to MCUmgr in example apps
Signed-off-by: Jan Kowalewski <jkowalewski@cthings.co>
The Bluetooth HCI USB transport layer implementation is provided by
"subsys/usb/device/class/bluetooth.c". The USB H4 Bluetooth function
implements a non-standard transport layer. There is no known host-side
equivalent that uses this protocol.
Note that the H4 protocol functionality is also provided by the
"subsys/usb/device/class/bluetooth.c".
Since that there are no real USB H4 Bluetooth users, remove the
implementation and sample without deprecation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
"west sign" uses the C preprocessor to generate a TOML configuration
file, needed for rimage. When creating LLEXTs rimage also uses a
configuration file where all supporting components are configured as
LLEXT. This adds such a file generation.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add two new flash extended operations for reading and writing STM32
option bytes from the application code.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Output a CMake error when the ITS store module is enabled but no
implementation ended up enabled (due to unfulfilled prerequisites).
This is to make it more clear than undefined references at link time.
Not a fatal error because CMake cannot fail for the twister filtering
to work on the tests.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Remove the hard restriction on CONFIG_SECURE_STORAGE_ITS_MAX_DATA_SIZE.
SETTINGS_MAX_VAL_LEN is in practice not used by any settings backend
implementation.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add a test scenario for the ITS store module implementation that uses
ZMS for storage.
Reorganize the others at the same time.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
It becomes the new default when the secure_storage_its_partition
devicetree chosen property is defined as it is a preferred alternative.
See the help message of the
`CONFIG_SECURE_STORAGE_ITS_STORE_IMPLEMENTATION_ZMS` Kconfig option
for more information.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves tests in the xsi_threads_ext
option group into a singular testsuite tests/posix/xsi_threads_ext
app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Add Devicetree overlay for sample drivers/led/pwm and fix the one in
basic/blinky_pwm for nucleo_l4r5zi board to set appropriate to enable
pwdleds and set appropriate timer prescaler.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
In zephyr_hostapd_init, calls net_if_get_wifi_sap to get the SAP iface,
it means mgd iface of SAP type is registered before zephyr_hostapd_init.
Actually the mgd iface of SAP should be called in iface_api.init phase.
Therefore, remove unnecessary register of mgd iface in hostapd init.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Default enable WIFI_NM for both supplicant and embedded supplicant
case, to distinguish STA and SAP interface when use L2 layer.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
There are currently four types of roaming, 11r roaming, 11v roaming, 11k
roaming and legacy roaming, The priority of the roaming mode is
11r-->11v-->11k-->legacy roaming. If the ap does not support 11r/11v/11k
roaming, we will use legacy roaming. legecy roaming needs to do
full channel scan, which is the same as the general scan connection
process, so the legacy roaming time will be longer.
Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
These device driver APIs were merged after the DEVICE_API macro was
introduced.
Cleanup these leftover drivers.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Remove hard-coded clock values from device tree nodes,
instead read the clock values from the clock controller
during run time.
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
The clock controller/manager registers are updated with
the correct divider values by bootloader via hand-off
data, so now we can use the clock controller to get the
clock value of each peripheral during the run time.
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com>
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC is promptless so it cannot
be selected. Moreover it's also automatically enabled by
CONFIG_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE in the same overlay file
so there would be no need to explicitly enable it.
As for the IMPORT, EXPORT, DERIVE they are needed for the TLS connection
to work properly. Previously it was working because at least IMPORT and
EXPORT are internally enabled by Mbed TLS at build time. So here we
are basically doing the same enablements with Kconfigs in clear.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
PSA_WANT_KEY_TYPE_xxx_KEY_PAIR_BASIC build symbols are automatically
enabled in Mbed TLS header files whenever any key pair feature between
IMPORT,EXPORT, GENERATE,DERIVE is set. So we mimic the same behavior with
Kconfig symbols:
- do not add BASIC to the automatic generated Kconfig file;
- let BASIC be auto-enabled as soon as any other feature (IMPORT,EXPORT,
GENERATE,DERIVE) is enabled for the same key type.
The 2nd point is achieved by adding a new Kconfig file which is meant
to hold the logic between PSA_WANT symbols. This is necessary because
Kconfig.psa is automatically generated.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The board hardware has no network interfaces, although the ECM/EEM class
implementation can provide Ethernet-like functionality and export it to
the host, this is no reason to default to a specific USB class
implementation.We do not make this kind of configuration for other
boards that have a USB device controller. Also, it may not be what a
user expects when using these boards with networking and a USB stack.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Remove all USB and CDC ACM configuration in favor of common
configuraiton.
Do not adapt board-specific configurations such as unknown PID/VID or
string descriptors. There is no justification for using them on specific
boards, and we do not have formal approval to use them in the project
tree. Also, we need more uniform configuration, since the main reason
for enabling CDC ACM here is to allow users to run examples like
hello_world right out of the box. Of course, anyone is free to customize
these settings in their fork or downstream project.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Many boards have similar code to configure the USB and CDC ACM UART that
they want to use as a logging or shell backend. Some of them have an
incorrect or incomplete configuration.
These boards do not have a built-in debug adapter, but a SoC with a USB
device controller and a bootloader with USB device support. Introduce
common CDC ACM UART configuration that these boards should use for
logging or shell backend to avoid duplicate or incorrect configuration.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Prevent the driver from perfroming transfer when SPI_LINES_OCTAL flag
is specified, as this driver supports only SPI_LINES_DUAL for now.
Signed-off-by: Michal Morsisko <morsisko@gmail.com>
Add support for sending and receiving the least significant bit first
for the spi_bitbang driver. This driver can now be used with
SPI_TRANFER_LSB flag.
Signed-off-by: Michal Morsisko <morsisko@gmail.com>
The actual clock speed of the bus is partially determined by the
rising/falling edges of the SCL. These settings allow applications
to tune the clock based on board characteristics.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
CMakeLists.txt uses the C compiler parameter -include,
This is causing issues for other toolchains and needs to generalized.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
CLion now offers a more native approach to working with Zephyr projects.
We would like to inform users about this.
Signed-off-by: Oleg Zinovyev <oleg.zinovyev@jetbrains.com>
This fixes an issue where wrong values were checked against block device
defaults. Kconfig values are used when no filesystem config values are
provided, and the buffers are sized according to the Kconfig values,
but the checks were only performed against filesystem config variables.
Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
Add a check to set the warnings_as_errors flags in unit tests if
CONFIG_COMPILER_WARNINGS_AS_ERRORS is specified, this should catch
warnings in unit test twister runs.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This flag is set on other compiler as well for normal builds, and
suppresses a warning for empty print, which is apparently quite common.
The unit test build uses its own flags so set it there as well to get
the same behavior as with the rest of the code base.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix various unit test build warnings, unused variables, set but unused
variables, wrong types etc...
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Undefine the DT_NODE_HAS_STATUS and DT_NODE_HAS_STATUS_OKAY no nop at
the end of the file so other uses can include devicetree.h without
generating a compiler warning.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Kconfig names follow the convention CONFIG_I2C_driver-name. Rename
RENESAS_RA_I2C_IIC to I2C_RENESAS_RA_IIC to align this config name
with all others.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Some ARC processor configurations have separate memory for code (ICCM)
and for data (DCCM). Such configurations are unsuitable for LLEXT,
except for some quite special cases. For now, disable LLEXT and its
tests for these devices completely.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Update sltb010a,slwrb4180a, xg24_dk2601b and xg27_dk2602a boards
descriptions in order to run dma test. Also update boards
documentations.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Added sltb010a,slwrb4180a,xg24_dk2601b and xg27_dk2602a boards files
to run chan_blen_transfer, loop_transfer and scatter_gather tests.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Open up the hello_world_multiplatform filter to run on any PR changing
anything in scripts. This should catch twister regressions as well.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
With gitv2.26, git rebase uses "git merge" mechanism instead of "git
apply". This creates a rebase-merge folder in .git, in case of rebase
conflict. This caused problems in self hosted runners due to old
rebase-merge folder. This commit deletes this folder before git rebase
action.
Signed-off-by: Mert Ekren <mert.ekren@analog.com>
Originally, when the timer's source clock is 32.768 kHz, the timer driver
uses two consecutive reads to ensure the timer reading is correct.
However, it is not robust enough due to an asynchronous timing issue in
the chip. The workaround is to add at least two NOPs between the
LDR and CMP instructions. This commit implements the workaround in the
assembly code to ensure it is not affected by the compiler toolchain
or optimization flags.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Commit adds `diag transmit` used for transmission IEEE802154 packets
in specific amount and interval.
Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
This commit aims to improve the integration of `esp_wifi_drv` by
providing the link mode information to `wifi_mgmt` when a station device
is connected to the AP.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Fix ICCM/DCCM properties both in DTS and in MDB settings to match the
original hardware configuration.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
As these boards are completely simulated and do not represent any real
hardware configurations anymore, provide them with 1M of both ICCM and
DCCM to avoid any out-of-memory test failures.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Fix ICCM/DCCM properties in DTS to match the intended configuration,
along with some other minor inconsistencies.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
The Adafruit QT Py ESP32-S3 needs to have GPIO hogs enabled in order to
use the onboard RBG LED with the led_strip sample code.
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
The default exponent is 0, will cause twt setup quick failed,
set exponent value derived from twt interval to fix it.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
Add device definitions in dt to test drivers that handle
multiple "compatible"s by a single driver.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Compilation will fail if multiple models are used at the same time.
Changing to define different unique names for the symbols
to avoid conflicts.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
In the case of IPV6 not enabled, when NET_SOCKETS_PACKET is enabled,
the sizeof(struct sockarr) will change to 20, the value of
MCUMGR_TRANSPORT_NETBUF_MIN_USER_DATA_SIZE is 8, which is not able
to pass the compilation, so I change its default value to 20.
Fixes#82757
Signed-off-by: Hongquan Li <hongquan.prog@gmail.com>
Add preprocessor function that returns 'y' if any enabled node with
compat does NOT have a certain property. This is different from using
dt_compat_any_has_prop to check that they ALL don't have the property.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add WIFI_SAP_IFACE_NO_IR state to keep same as hostapd_iface_state,
which is updated as the hostap upmerge.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
For CMD 'wifi ap status', removing HAPD related definition to make it
more commonly used for non-supplicant case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
For the latest upstream, if MBEDTLS_ENABLE_HEAP is not enabled, it will
default select MBEDTLS_PSA_STATIC_KEY_SLOTS, and consume extra SRAM for
about 35KB. Therefore, default enable MBEDTLS_ENABLE_HEAP.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Don't check 'HEAP_MEM_POOL_SIZE != 0', as HEAP_MEM_POOL_SIZE might be 0,
but HEAP_MEM_POOL_ADD_SIZE_xxx is defined, which means the actual heap
size is not zero. So check KERNEL_MEM_POOL instead.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Remove CONFIG_HEAP_MEM_POOL_SIZE for RW612, it will use
HEAP_MEM_POOL_ADD_SIZE_ way to add all module's heap size
together, to better control heap size for different case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Use HEAP_MEM_POOL_ADD_SIZE_ to add heap for NXP Wi-Fi. For supplicant
case, define less heap, as CONFIG_HEAP_MEM_POOL_ADD_SIZE_HOSTAP and
CONFIG_HEAP_MEM_POOL_ADD_SIZE_SOCKETPAIR are also enabled.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Set TWT response parameters to zero to avoid
uninitialized values and ensure correct behavior.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
Pretty print XML reports with tab identation on levels for better
readability and ease text diff there as well.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
The testcase.classname properties in `twister_report.xml` and
`twister_suite_report.xml` now contain the full testsuite name
(without its path prefix) instead of just two its dot-separated
leftmost components. This way `twister_report.xml` testsuite container
has no duplicate testcase elements with the same `classname` and `name`
properties executing with --no-detailed-test-id for a project with same
testcase names in its 'sibling' suites, for example`tests/kernel/sleep`.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Extend `--no-detailed-test-id` command line option: in addition to its
current behavior to exclude from a test Suite name its configuration path
prefix, also don't prefix each Ztest Case name with its Scenario name.
For example: 'kernel.common.timing' Scenario name, the same Suite name,
and 'sleep.usleep' test Case (where 'sleep' is its Ztest suite name
and 'usleep' is Ztest test name.
This way both TestSuite and TestCase names follow the same principle
having no parent object name prefix.
There is no information loss in Twister reports with this naming:
TestSuite is a container object for its TestCases, whereas TestSuite
has its configuration path as a property.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Currently, MT25 flashes were running in 3-byte mode.
This is not compatible with the chip we use in our project (MT25QU01GBBB),
as only 128 Mbit of its 1 Gbit can be addressed.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
The user data size of the RFCOMM tx pool is zero. There is not enough
space to put the tx_meta data. Use CONFIG_BT_CONN_TX_USER_DATA_SIZE to
set the data size for the RFCOMM tx pool.
Signed-off-by: Make Shi <make.shi@nxp.com>
These functions can be used to join pthreads in a non-standard way.
The function pthread_tryjoin will not block and simply test whether the
thread has exited already. The function pthread_timed_join will only block
until the specified time. The functions are wrappers for calling the
k_thread_join with timeout K_NO_WAIT and with a specific timeout as opposed
to calling it with K_FOREVER.
Signed-off-by: Cla Galliard <clamattia@gmail.com>
To facilitate changing this driver, decouple rtio from functions not
specific to RTIO. This also requires moving the sdk driver handle
creation outside of the configure call. An effect of this is we can
stop initializing an unused sdk driver handle for the dma path.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
These changes:
* Fix the check of the word size to be more useful
- check min frame size instead of max
- check for min word size requirement
- add a clarifying comment about what the word size represents in
hardware since the nomenclature from zephyr does not match the nxp
references
* Add a clarifying comment about half duplex being supported by hardware
* Add LPSPI_ namespace to defines
* Change chip select error message to be more clear about the problem
* Move the check of the clock device being ready to the lpspi init,
instead of checking it every time on configure. It probably also makes
more sense to not ready the lpspi device if the clock is not ready.
* Move the bare-metal configuration of bit fields AFTER the SDK Init
call.
* Return the proper error code if clock control call errors.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add device definitions in dt to test drivers that handle
multiple "compatible"s by a single driver.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Compilation will fail if both adin2111 and adin1100 are used
at the same time.
Changing to define different unique names for the symbols
to avoid conflicts.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
To avoid compilation on boards that do not have arduino_i2c defined,
we will clarify that it is dependent on it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
Disabling the memory slab pointer validation improves the performance
of the memory allocation sub-test by about 9%.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Makes the validation of both allocated memory slab pointer and the
memory slab pointer to free configurable.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Resets uart tx fifo during driver initialization to have a well defined
initial condition mainly preventing unwanted characters being sent
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
We have now fully migrated to CRYPTO_ALT which is a superset, so, remove
unused CRYPTO module and it's related files.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Most users won't be interested in the per-channel rules but only in the
country code, so, add a verbose option to hiden per-channel rules which
are too verbose.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
In order to prepare for extending the options, convert to getopt long
for easier parsing of options.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
No need for an extra step to enable feature in the driver as it clearly
depends on the supplicant feature.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The API docs state that the uart_poll_out is a blocking call,
but it does not specify how long a call to this function should
block the calling thread. This is described in the UART driver
documentation.
This patch clarifies the API docs and alignes it with the driver
documentation.
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
Add a testcase for the stm32F412 or stm32F413
configuring the SDIO clock at 48MHz from the PLLI2S
Tested on the stm32f413h disco kit.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add a function to compute the clock48 from the clock tree
of a stm32f412/f413 mcu. The value depends on its clock source
Requires to identify the PLL source HSE or HSI.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add a clk48Mhz node to the stm32f412 serie.
This clock is sourced by PLL_Q (default) or PLLI2S_Q
That 48MHz clock is used by the USB /SDMMC/RNG peripherals.
The sdmmc/SDIO clock is sourced by this CK48 (default)
or by the SYSCLOCK.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the configuration of the PLL Q divider of main PLL
and I2S_Q of the PLLI2S toset the PLL48MHz clock which feeds
the USB, SDMMC, RNG through the RCC_DCKCFGR2 register.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add power domains for EDMA0's channels 6, 7, 14, and 15.
For QM these are identified as IMX_SC_R_DMA_2_*, while
for QXP thy are identified as IMX_SC_R_DMA_0_*.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This has no address space and doesn't belong between peripheral
nodes. Move it up the DTSI for better visibility. No functional
change.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
imx8qm and imx8qxp have a couple of differences regarding
the peripheral address spaces and how the DT nodes are
configured, which is why using a generic DTSI (nxp_imx8.dtsi)
for the both of them is not right.
One of the differences between the two, which affects Zephyr
is the fact that irqstr's address space is different. Up until
now this has been dealt with at the board level (i.e:
imx8qxp_mek_mimx8qx6_adsp.dts), which is not right as this is not
board-specific, but rather soc-specific. Additionally, this
causes the following warning during compilation:
"unit address and first address in 'reg' (0x51080000) don't
match for /interrupt-controller@510a0000"
To fix this, add two new DTSIs: nxp_imx8qm and nxp_imx8qxp.
Each board (i.e: imx8qm_mek and imx8qxp_mek) will have to include
the DTSI for their soc instead of the generic DTSI (i.e: nxp_imx8).
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Make sure that channels are inactive before releasing them.
This way, there won't be any leftover interrupts needed to be
handled when disabling IRQs.
This patch introduces a new state: CHAN_STATE_RELEASING. This is mostly
useful for the per-channel PD support in which the ISR needs to check
that the channel PD is enabled before attempting to access its register
space.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Commit 48b98a9284 ("drivers: dma: dma_nxp_edma: disable IRQs when
not needed") moved the IRQ enable operation to edma_start() and added
an IRQ disable operation in edma_stop(). This is wrong because it breaks
the DMA API contract w.r.t dma_start() being `isr-ok` on imx8qm/imx8qxp.
As such, move the IRQ enable and disable operations in
dma_request_channel() and dma_release_channel().
Note1: managing the interrupts like this is only really needed when
dealing with interrupt controllers that have a power domain associated
with it (which is the case for irqstr on imx8qm/imx8qxp).
Note2: Zephyr has no reference count for shared interrupts so disabling
a shared interrupt without checking if someone else is using it is
dangerous.
Based on the aforementioned notes, the irq_disable() operation is only
performed if irqstr is used as an interrupt controller (which is only
the case for imx8qm/imx8qxp). Otherwise, the operation isn't needed.
Fixes#80573.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The channel state transitions are currently performed at the
beginning of each of the functions that triggers them
(e.g: edma_start(), edma_stop(), etc...). The main issue with
this approach is the fact if there's any failures after the state
transition then the channel will be in the target state without
performing the required steps for it.
For instance, during edma_config(), if any of the functions after
the state transition (the channel_change_state() call) fails
(e.g: get_transfer_type()) fails then the state of the channel
will be CONFIGURED even if not all the required steps were performed
(e.g: setting the MUX, configuring the transfer, etc...).
To fix this, split the state transition into two steps:
1) Check if the transition is possible.
2) Do the transition.
First step should be done before any configurations to make sure
that we should be performing them in the first place, while the
second step should be performed after all configurations, thus
guaranteeing that all the required steps for the target state were
performed before transitioning to it.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Bump up the hal_nxp revision to pull in the following patch:
dd8bc4f60e7("drivers: edma_rev2: add macro for CHn_CSR's ACTIVE bit")
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Refrain from using Escalation language when requesting review and
getting awareness from maintainers.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The Microchip CAP12xx series are available in 3, 6 or 8 channel versions.
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
Add zero latency interrupt safe APIs to allow requesting and
releasing HFXO. These will be used from components running
in zero latency interrupt context, like the bluetooth stack.
Co-authored-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
It is not needed to use always the system work queue to send a
message over IPC. In thread context IPC service can be called
directly. It speeds up the communication and allows to use nrfs
from the system work queue. Legacy approach could easily lead
to the deadlock if user would call nrfs from work queue and
pend on semaphore until response is received.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit includes cleanups to `kernel_service`:
- `shell_tdata_dump()`:
Adjust formatting to align with `.clang-format`.
- `shell_stack_dump()`:
Update to pass `sh` directly instead of `user_data` since
it is already assigned.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Switch from using direct `strtoul` calls to `shell_strtoul`.
This change leverages the extensive error handling provided
by `shell_strtoul`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
As `strtoul`, `strtoll`, and `strtol` guarantee to set `endptr`,
the initial `NULL` can be omitted.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Adds driver support for the charge enable (ce) gpio. This GPIO is
optional and if no GPIO is allocated the pin is assumed to be asserted.
Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
The ARM Thumb-1 instruction set, used by ARMv6-M and ARMv8-M Baseline
cores, does not have a valid encoding for "immediate-to-register move
without affecting flags" instruction (i.e. `mov reg, imm`), and the only
valid variant of immediate-to-register move instruction for it is `movs`,
which affects the flags.
Since none of the register initialisation instructions used here are
flag-sensitive in their context, this commit changes `mov` to `movs`.
This fixes the compilation errors with Clang/LLVM, which is more picky
about the `mov` mnemonic usage and prints out an "invalid instruction"
error when `mov reg, imm` is specified in Thumb-1 mode.
Note that GNU assembler implicitly converts `mov reg, imm` to `movs reg,
imm` when assembling in Thumb-1 mode.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Simplify `uart_cb_handler` by directly using `dev` instead of `cfg->dev`,
as both hold the same value.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Now that `CONFIG_RTIO_SUBMIT_SEM` is the default option, testing the
alternate code path requires explicitly disabling it.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This updates openocd.cfg file to support flashing multiple boards
attached to the host computer.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
This reverts commit f6235e03cf.
Reason for revert:
The modifications introduced in this commit caused a problem
with the WebUSB.
As a result, these modifications are not needed and are being
reverted to restore proper operation of the WebUSB sample.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
This change brings in certain default configurations that are needed
for selection of random number generator, and to set tcp
configuration CONFIG_NET_TCP_ISN_RFC6528=n for nRF7002dk board.
Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
Add the PSA_WANT_XXX settings that might be needed for various crypto
algorithms and Keys in WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
configuration setting.
Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
In case the peer device has NO SDP record, the result is valid,
but the result->resp_buf is NULL, it would introduce a hardfault.
Therefore, also add a NULL pointer check for result->resp_buf.
Signed-off-by: Make Shi <make.shi@nxp.com>
Devicetree maintainers probably do not need to be pulled in for
dts/bindings/ folders that are found in various tests and samples
directories, the purpose of these lines was only for the top level
dts/bindings/ folder.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add @asm5878, @HoZel and @benothmn-st as collaborators on
"STM32 Wireless Platforms" and "West project: hal_stm32" where they
will take care of ble related libraries.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add a new "STM32 Wireless platforms" area split from existing
"STM32 platforms".
STM32 Wireless covers STM32 BLE areas:
- STM32WB* based ST boards
- STM32WB* drivers/bluetooth/hci drivers
- STM32WB* soc/st/stm32
Additionally, the following domains are added to STM32 Wireless platforms:
- BlueNRG drivers/bluetooth/hci drivers
- shield x_nucleo_bnrg2a1, x_nucleo_idb05a1 and x_nucleo_wb05kn1
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Milliseconds are logged as is, without leading zeros. This means that
following log content is produced, which is not aligned by columns:
12:54:27.972:INFO:root: Test message
12:54:27.992:INFO:root: Test message
12:54:28.12:INFO:root: Test message
12:54:28.32:INFO:root: Test message
12:54:28.52:INFO:root: Test message
12:54:28.73:INFO:root: Test message
12:54:28.93:INFO:root: Test message
12:54:28.113:INFO:root: Test message
12:54:28.133:INFO:root: Test message
Change milliseconds logging to include leading zeroes. This allows to print
nicely aligned log messages:
12:54:27.972:INFO:root: Test message
12:54:27.992:INFO:root: Test message
12:54:28.012:INFO:root: Test message
12:54:28.032:INFO:root: Test message
12:54:28.052:INFO:root: Test message
12:54:28.073:INFO:root: Test message
12:54:28.093:INFO:root: Test message
12:54:28.113:INFO:root: Test message
12:54:28.133:INFO:root: Test message
Additionally it is much easier to configure programs simplifying
timestamped log browsing (like in logview-mode for Emacs), as it is more
standard and does not require custom regex matching.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
The ADC_ADS1X1X_TRIGGER macro was defined without an explicit value,
preventing ALERT/RDY pin configuration even when alert_rdy_gpios
were properly defined in devicetree. This occurred because
the IF_ENABLED macro specifically requires macros to be defined as 1,
not just defined empty.
Fixed this by explicitly defining ADC_ADS1X1X_TRIGGER as 1 when
alert_rdy_gpios properties are present in devicetree.
Signed-off-by: Benjamin Geiger <BenjaminGeiger1@gmail.com>
Some Python scripts need to access to the underlying OS, like
using redirections. These interactions go through TTY interface.
On MinGW, these interactions/interfaces are called 'winpty'.
=> use them when available (harmless on platform *NIX platforms)
Signed-off-by: Cedric Lescop <cedric.lescop@se.com>
Increase the maximum value of LOG_BUFFER_SIZE from 64 KB to 1 MB
to accommodate varying device requirements.
Signed-off-by: Jungo Lin <jungolin.tw@gmail.com>
This commit fixes a shared context between multiple instances of the
INA230 and INA236 driver. The issue is the naming of the instance data in
`INA230_DRIVER_INIT` macro when we have one instance of INA230 and one
of INA236 the name of the data variable will be `drv_data_0`. This
variable will then be passed to both instances.
Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
uart_irq_update() should always be called in IRQ processing callback.
From API documentation:
"This function should be called the first thing in the ISR. Calling
uart_irq_rx_ready(), uart_irq_tx_ready(), uart_irq_tx_complete()
allowed only after this."
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add shield definition for the Mikroe ETH 3 Click.
ETH 3 Click is a compact add-on board that contains
LAN9250 SPI Ethernet Controller
Signed-off-by: Mario Paja <mariopaja@hotmail.com>
Add a driver for the Nintendo Nunchuk, accessed through the I2C bus.
This driver only supports the joystick and the buttons, not the
accelerometer.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Add support for UDC on highspeed port on these boards:
- ek_ra8m1
- ek_ra8d1
- ek_ra6m5
- ek_ra6m3
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Do not allow enqueuing buffers on endpoints that were not enabled. Doing
so can lead to division by zero later on because the max packet size can
be 0 in disabled endpoint configuration.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
IAD must be before the interfaces it associates and therefore there is
no need for the class to be in charge of updating the bFirstInterface.
Update IAD in common initialization code and remove the updates from
classes.
This fixes UAC2 instances where the IAD bFirstInterface is not 0, e.g.
when HID was used together with UAC2.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Improve Simics support for `boards/intel/ish/intel_ish_5_8_0`
for better integration with the simulator.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Do hflipping at camera level to avoid using PxP which impacts camera
framerates on RT10xx. Moreover, on RT11xx, PxP is already reserved
for 90 CCW image rotation.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add an option to mirror the video image horizontally. This helps
to avoid doing so at the post-processing step by using additional
HW such as PxP on i.MX RT platforms.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
It may be required to get information if NRF LF clock control calibration
is in progress. Some time sensitive operations could benefit from this
information.
The commit adds simple function that provides the information.
The function is nRF platform specific.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Pass additional args to test binary. Twister
passes it only for native_sim.
Fixes#82463
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The reg address was not equal to the one in the node name, producing
a build warning.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
VPR address was obtained from the child instance, however, the child
nodes address is purely an index within the VPR node. The VPR address
needs to be obtained from the parent.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
These paths were not updated when we transitioned to hwmv2
which led to CI jobs not being triggered in some cases.
Let's fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
These are currently failing CI and don't really have a maintainer or
someone who'd fully understand how they're supposed to work. Let's remove
them for now and longer term work on reintroducing them in a form that's
maintainable and understood by people actively developing the Bluetooth
host stack.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Make APP_CPU board name auto generated and remove the related config.
Remove the boards overlay and replace with a socs overlays.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Updates for AMP targets
- use common AMP Kconfig
- update APPCPU linker script
- place AMP common area in the reserved space
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Multiple AMP related updates:
- use common AMP Kconfig
- rework the APPCPU linker script
- use MCUboot image format for APPCPU image
- fix multi-processing startup code
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Update init function so APPCPU could not altere the clock setup.
Fix build in case if no inter-cpu module is selected.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Set AMP dts nodes (ipm, mbox, ...) to use fixed locations in reserved
memory areas. Those areas memories are delimited in the `memory.h`.
Size of the occupied areas can be calculated but the dts nodes addresses
needs to be set manually in every case.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
This is the initial commit to support UART driver for Renesas RZ/G3S.
The driver only implements polling API for minimal support.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
1.everytime ap wpa3 sae enable command will increase the sae_passpharse
list of config_bss, and sae_derive_pt will derive all sae pt in the
sae_passpharse list, every sae derive pt spend 100ms.
2.with the time going, the sae_passpharse list has more sae, and the
time to derive pt for sae will become long, sae_derive_pt will held
cpu and doesn't sleep.
3.hostapd task prio is 3, and imu task is 3, hostapd task run before
imu task, when the imu interrupt arrive and wake up the imu task, imu
task can't run,
4.hostapd task is deriving pt for every sae in the sae_passpharse
list. imu task can't run and sleep rwlock can't be release, sleep
rwlock timeout is 3s, when derive pt spend over 3s, wlcmgr task
waiting command resp on sleep rwlock will assert and hang.
Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
This commit enables I3C support for STM32 nucleo_h563zi boards.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit introduces support for the I3C driver on STM32, enabling
functionality APIs for I3C controllers.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit adds the main DTS configurations required
to enable I3C support on STM32.
Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Add set_ctrl function API for vertical and horizontal flip control
modifying the camera read mode
Signed-off-by: Jeronimo Agullo <jeronimoagullo97@gmail.com>
Raise the poll signal when the socket is being closed to prevent users
of `zsock_poll` blocking after the socket is no more.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This patch adds support for stopping workqueues. This is useful for freeing
resources from workqueues when subsystems/modules is deactivated or
cleaning up the system between tests in ztest to reach a fully normalized
state.
The patch adds a new function k_work_queue_stop() that releases the
workqueues thread and stack when a workqueue is unwanted.
k_work_queue_stop(...) should be viewed as a counterpart to
k_work_queue_start(...).
This would allow to:
k_work_queue_start(...);
k_work_drain(..., true);
k_work_queue_stop(...);
Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
Now that PSA is supported on Zephyr and the code base has changed to use
that library, TinyCrypt is been deprecate. Reasons for this change can be
found in #43712.
Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
Currently, there are build warnings that are triggered when building
for BT central and legacy OOB pairing only:
CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY=y
CONFIG_BT_CENTRAL=y
There was a PR that handled this issue in the past https://github.com/zephyrproject-rtos/zephyr/pull/74400.
Unfortunately, this PR even though it fixed the warnings it also
broke the BT peripheral and legacy OOB pairing only build:
CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY=y
CONFIG_BT_PERIPHERAL=y
https://github.com/zephyrproject-rtos/zephyr/pull/82552 was merged in
order to fix the issue with the peripheral build configuration.
Unfortunately, this PR reintroduced the warnings for BT central and
legacy OOB pairing.
This commit brings changes to make sure that both the BT central and
peripheral builds with OOB legacy pairing are buildable and
warnings free.
Also in this commit, a new build test case is added for the BT central
and legacy OOB pairing along the existing BT peripheral test case
Signed-off-by: Sebastian Panceac <sebastian.panceac@ext.grandcentrix.net>
Separate wifi example user config file to wifi network configurations
and hostap configurations.
User can set EXTRA_CONF_FILE as overlay-hostap.conf file to get
external hostap support.
Without overlay-hostap.conf, we will have embedded hostap.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
Using PINCTRL_DT_DEFINE from a C++ file cause a
"designator order field" error.
This updates Z_PINCTRL_STATE_INIT to respect the same order as
defined in struct pinctrl_state.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
This is follow up to commit:
modules: hal_nordic: dvfs: added callback when scaling done
Used get and set timer user data functions.
Added missing help text in KConfig.
Signed-off-by: Lukasz Stepnicki <lukasz.stepnicki@nordicsemi.no>
Add cancel action wait ops to cancel remain on channel after TX on
specific channel, in case we need to remain on another channel later.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
LJ packages have 16 ADC channels vs 8 for SZ packages. Enhance
devicetree to account for this as well as conditional defines/code.
Signed-off-by: Jeff Daly <jeffd@silicom-usa.com>
Due to Apollo3's internal bootloader, zephyr build is not able
to create correct flash address on linker.cmd while using
mcuboot. The PR configures flash-controller start address
to solve this problem.
Test board: rakwireless/rak11720
Test project: samples/subsys/mgmt/mcumgr/smp_svr
Signed-off-by: Sercan Erat <sercanerat@gmail.com>
This patch refactors the power management initialization for the Intel
ADSP GPDMA driver. The changes include:
1. Replacing the conditional initialization of power management state
with a call to `pm_device_driver_init` in the `intel_adsp_gpdma_init`
function.
2. Ensuring that the GPDMA driver is initialized with the appropriate
power management state and that runtime power management is
automatically enabled based on the device tree configuration.
These changes streamline the power management initialization process and
ensure consistency with other drivers.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch refactors the power management initialization for the SSP
driver across ACE15, ACE20, and ACE30 generations to align with the
recommended practices outlined in the documentation. The changes
include:
1. Replacing the conditional initialization of power management state
with a call to `pm_device_driver_init` in the `ssp_init` function.
2. Adding the `zephyr,pm-device-runtime-auto` property to the SSP nodes
in the device tree files for ACE15, ACE20, and ACE30.
3. Moving the power domain assignment for the SSP device in the device
tree. The previous configuration resulted in the device not being under
any power domain and being initialized as always ON.
These changes ensure that the SSP driver is initialized with the
appropriate power management state and that runtime power management is
automatically enabled based on the device tree configuration. The
functionality of the power management state remains unchanged, ensuring
consistent behavior.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch refactors the power management initialization for the DMIC
driver across ACE15, ACE20, and ACE30 generations to align with the
recommended practices outlined in the documentation. The changes
include:
1. Replacing the conditional initialization of power management state
with a call to `pm_device_driver_init` in the
`dai_dmic_initialize_device` function.
2. Adding the `zephyr,pm-device-runtime-auto` property to the DMIC nodes
in the device tree files for ACE15, ACE20, and ACE30.
These changes ensure that the DMIC driver is initialized with the
appropriate power management state and that runtime power management is
automatically enabled based on the device tree configuration. The
functionality of the power management state remains unchanged, ensuring
consistent behavior.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch addresses the issue of invalid initialization sequence and
the use of registers in `dma_config` before the device is fully
initialized in the Intel ADSP HDA DMA driver.
Changes include:
1. Moving the `intel_adsp_hda_channels_init` call to the
`intel_adsp_hda_dma_init` function to ensure that channels are
initialized during device initialization.
2. Removing the redundant call to `intel_adsp_hda_channels_init` from
the `PM_DEVICE_ACTION_RESUME` case in the
`intel_adsp_hda_dma_pm_action` function.
These changes ensure that the device and its channels are properly
initialized before any DMA configuration is performed, preventing access
to hardware registers before the device is ready.
**Note:** This is a proposed solution, and a different approach should
be considered. Currently, we are accessing registers before the device
and power domain are fully powered up. This solution likely works
because the DMA is used to load firmware during the boot process, and
the necessary power domains are already powered up. Further
investigation and a more robust solution are recommended to ensure
proper initialization and power management.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch addresses several issues with the Intel ADSP HDA DMA driver:
1. Refactors the HDA DMA power management initialization. The previous
use of `pm_device_runtime_enable` was incorrect. The updated approach
relies on enabling runtime power management through the device tree
using the `zephyr,pm-device-runtime-auto` property. Additionally, the
patch removes redundant device initialization steps as these are already
handled by `pm_device_driver_init` when the device is under a power
domain.
2. Corrects the power domain assignment for the HDA link. The HDA link
was previously assigned to the io0 power domain based on a
misinterpretation of the documentation. The correct power domain
assignment is now based on updated documentation for LNL, ensuring that
the HDA link is associated with the appropriate power domain.
These changes ensure that the HDA DMA driver properly manages power
states, reducing power consumption and improving system stability, while
ensuring the correct power domains are used.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch addresses the following issues with the Intel HDA DAI driver:
1. Adds power management support for the HDA DAI driver by implementing
the `hda_pm_action` function and integrating it with the Zephyr power
management framework.
2. Ensures balanced calls to `pm_device_runtime_get` and
`pm_device_runtime_put` by modifying the `probe` and `remove`
functions to use these power management calls.
3. Ensures that the io0 power domain is active when the HD Audio is in
use by assigning the correct power domain to the HDA DAI devices in
the device tree files for various Intel ADSP platforms (ace15_mtpm,
ace20_lnl, ace30, ace30_ptl).
4. Enables runtime power management for the HDA DAI devices by adding
the `zephyr,pm-device-runtime-auto` property in the device tree.
These changes ensure that the HDA DAI driver properly manages power
states, reducing power consumption and improving system stability, while
ensuring the io0 power domain is active when required.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Enable WPS PIN expire timeout parameter, this helps us in cleanup of
the Authorized MAC IE in the beacon in case no peer is connected
within the timeout.
Without this parameter the IE is not removed from the beacon.
Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
Moves the arch_swap() declaration out of kernel_arch_interface.h
and into the various architectures' kernel_arch_func.h. This
permits the arch_swap() to be inlined on ARM, but extern'd on
the other architectures that still implement arch_swap().
Inlining this function on ARM has shown at least a +5% performance
boost according to the thread_metric benchmark on the disco_l475_iot1
board.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Expands the caching documentation to include a high-level overview
of caching strategies and the features available in Zephyr.
Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
Add device definitions in dt to test drivers that handle
multiple "compatible"s by a single driver.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Compilation will fail if multiple models are used at the same time.
Changing to define different unique names for the symbols
to avoid conflicts.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The lsm6dso driver does not correctly reflect the status of
the node in dt. So the driver didn't compile even if
`st,lsm6dso32` node exists.
I fixed it to correctly go through ithe compile.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Merge the functions z_thread_stack_alloc_dyn() and
stack_alloc_dyn(), simplifying the flow for dynamic thread stack
allocation.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Modify the extended and periodic interval to be values that
are more suited for audio as they are multiple
of the expected resulting ISO interval.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This removes the deprecated CONFIG_NET_PKT_BUF_DATA_POOL_SIZE.
User should either use CONFIG_NET_PKT_BUF_RX_DATA_POOL_SIZE or
CONFIG_NET_PKT_BUF_TX_DATA_POOL_SIZE depending of net packet type.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Use CONFIG_NET_TCP_INIT_RETRANSMISSION_TIMEOUT and
CONFIG_NET_TCP_RETRY_COUNT to control the total timeout at the TCP
level.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add section which explains how to configure PuTTY to use RTT
shell there with all shell features. There is an alternative
approach which also works but it does not allow to use all
shell features.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
RTT backend can only be called from thread context and immediate
logging might lead to interrupt context use. Previously this limitation
was implied in different way and commit (c88a9ef27) got reverted.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Make sure that the socket service is properly unregistered when
dispatcher is unregistered.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add a separate test for public key validity. This needs to be done
synchronously so that we can respond with an early failure message to the
peer device.
Fixes#80218
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
If a shell command does not have a sub command, then the 3rd parameter
to SHELL_SUBCMD_ADD() macro should be set to NULL so that the help
will only print information specific to that command and not all
wifi commands.
Fixes#82633
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add a separate entry for HTTP related code so that we can have
separate maintainers/collaborators than general networking area.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The tests overflowed system workqueue stack slightly when running on
nRF52840, increase the stack size globally for the tests to avoid
potential issues on other platforms as well.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When calling wifi_ap_disable() API specific WiFi driver implementation was
checked whether 'ap_enable' was provided, instead of 'ap_disable'. Fix
that copy-paste error.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Testcase uses certificates from the sample application at
samples/net/sockets/http_server. These were modified and moved into a
different folder by a previous commit, causing a build failure in the
test.
Testcase updated to:
- use new path to certificates
- update available cipher suites, since certificates now use ECDSA
- update expected hostname in certificate
The CA certificate in the sample app is also converted to .der format
for inclusion in the test (the content is exactly the same as the PEM
version, just converted to DER).
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
[Description]
PTS case: VCS/SR/SGGIT/CHA/BV-03-C fail.
[Root Cause]
VCS/SR/SGGIT/CHA/BV-03-C require Volume Flags Characteristic properties
(Read/Notify), but tester volume flags notify is disabled by default.
[Fix]
add CONFIG_BT_VCP_VOL_REND_VOL_FLAGS_NOTIFIABLE=y in
tests/bluetooth/tester/overlay-le-audio.conf
[Testing]
After modified, VCS/SR/SGGIT/CHA/BV-03-C pass with log:
Test Case Ended VCS/SR/SGGIT/CHA/BV-03-C PASS 24 00:00:01.010000
12/9/2024 11:31:55.027000 AM
Signed-off-by: Chang An <chang.an_1@nxp.com>
Configure the TE signal for the rw_rw612_bga board when using the
lcd_par_s035 shield. This signal should be handled on the rising edge in
the default configuration, since the display writes from the MCU are
faster than the panel reads data.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Use the mipi_dbi_configure_te API within the st7796s display driver.
If the MIPI DBI controller supports the tearing enable signal, then
configure the ST7796S to output the TE line signal.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add support for the mipi_dbi_configure_te API within the NXP LCDIC
peripheral. Also, remove a redundant code patch in the write_command
function that was previously used to determine when the display driver
was writing to graphics RAM, as these writes should now be performed
using the mipi_dbi_write_display API.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Many MIPI DBI displays support a "tearing effect" signal, which can be
configured to signal each v-sync or h-sync interval. This signal can be
used by the MIPI DBI controller to synchronize writes with the
controller, and avoid tearing effects on the screen (which occur when
the write pointer from the MCU overlaps with the panel's read pointer in
the display controller's graphics RAM).
Add the `mipi_dbi_configure_te` API, which allows display controllers to
configure MIPI DBI controller to wait for a TE edge before streaming
display data. Allow the tearing enable parameters to be configured via
devicetree settings, since these will vary based on the MIPI DBI
controller and display controller in use.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Rename "nxp,kinetis-lpuart" compatible to "nxp,lpuart" to remove the
device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
This board has the required clock crystal (X4) and jumper settings
present to enable the USB 2.0 HS support.
* Enable the HSE clock (16MHz)
* Flip the PLL1 configuration over to use the HSE clock, but still
outputting 160MHz to sysclk/apbclk.
* Add the USB HS device tree node.
* Update the board documentation.
Signed-off-by: Adrian Chadd <adrian.chadd@meta.com>
Introduce new binding "st,stm32u5-otghs-phy" for OTG_HS PHY. This allows to
configure clock source and handle STM32U5 specific OTG_HS PHY behavior in
driver implementation in a more readable way.
Move OTG_HS PHY clock selection (previously <&rcc STM32_SRC_HSI48
ICKLK_SEL(0)>) from OTG_HS node to OTG_HS PHY node.
Rename USBPHYC_SEL -> OTGHS_SEL which matches the definition in the stm32u5
CCIPR2 register (RM0456 Rev 5, Section 11.8.47).
Support enabling OTG_HS PHY clock, which is bit 15 (OTGHSPHYEN) in
RCC_AHB2ENR1. Change OTG_HS clock to be bit 14 (OTGEN).
Calculate in runtime OTG_HS PHY clock source frequency. Try to match that
to supported (16, 19.2, 20, 24, 26, 32 MHz) frequencies and select proper
option with HAL_SYSCFG_SetOTGPHYReferenceClockSelection() API (instead of
hardcoded 16 MHz selection).
Co-authored-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Support specifying divided clock buses by introduction of
STM32_CLOCK_DIV(div) macro. This macro can be used in devicetree to define
clock source of peripherals.
HSE is selected in devicetree using:
<&rcc STM32_SRC_HSE ...>;
HSE/2 can now be selected with:
<&rcc (STM32_SRC_HSE | STM32_CLOCK_DIV(2)) ...>;
This allows to use clock_control_get_rate() API in peripherals in order to
get desired clock rate.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
in the switch case in the preceeding for loop if default path is taken
all the time, then the ret variable will stay uninitialized, the original
contributor of this driver has provided a comment that this path shall
never be reached, however, it is better to return an error code instead
of continuing with an incorrect configuration, hence this commit replaces
continue with a proper return errno.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Re-ran `clang-format` for consistent styling, simplified
multi-line statements, and consolidated string concatenations
where applicable.
This is a non-functional change focused on code formatting.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Catch the DTS warning by copying the SDRAM node in description:
unit address and first address in 'reg' (0xc000000) don't match for
/sdram@c0000000
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Added shell_device_get_binding() that wraps device_get_binding() plus
device_get_by_dt_nodelabel() so that a shell can easily get a device by
its full name or label.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
for the brevity renaming direction_gpios to dir_gpios since STEP/DIR
interface is quite an established term in context of stepper controllers.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The current implementation of tmc2209 driver does not allow instantiation
of the driver without configuring msx pins.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The SD physical layer specification requires that the operating supply
be stable for at least 1 millisecond before providing the required 74
clocks. The maximum VDD ramp time is specified at 35ms, giving a total
minimum delay of 36ms.
Signed-off-by: Jordan Yates <jordan@embeint.com>
MONOLITHIC_NXP_NBU cannot be used in CI as it relies on firmware blobs
to be fetched.
Disabling the feature so the CI can pass.
Also tagging this test as build_only.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This PR fixes a blocking call to video_buffer_alloc in case of memory
shortage by addign a timeout parameter to the API.
Signed-off-by: Armin Kessler <ake@espros.com>
There is no reason the syscall tests should not be perfomed on
relocatable builds. This made some test runs pass even though
issues were present in those configurations.
Remove the build gate.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The weak syscall symbols generated by gen_syscalls.py are currently
compiled in the LLEXT subsystem library, which is then linked among all
other Zephyr libraries in an unspecified order. This can cause the weak
symbols to override the actual syscall implementations, leading to
undefined behaviour.
To fix this, the currently generated file is split in two elements:
- syscall_exports_llext.c contains the EXPORT_SYMBOL directives for all
syscalls. This part can be compiled with the LLEXT library and linked
among all other Zephyr libraries, and ensures all syscalls symbols
are preserved by the linker.
- syscall_weakdefs_llext.c contains the weak definitions for all syscalls.
This file is compiled in a separate library that is linked last, so
that the weak symbols are only used if no other implementation is
available.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
In current implementation, the SDP response packet will be ignored if
the operation code is `BT_SDP_ERROR_RSP`. And the SDP transaction
request is done, but the application is not notified. And the pending
SDP transaction cannot be processed.
Notify application with empty buffer if the operation code is
`BT_SDP_ERROR_RSP`. And process the pending SDP transaction.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The discovered SDP record of service attribute transaction response
cannot notified correctly. There is an error returned from function
`get_record_len()`.
For service attribute transaction response, only one attribute list
is returned. So the total record length is the buffer length. Return
buffer length directly from `get_record_len()` to fix the issue.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This commit replaces the assignment of IS_ENABLED(x) macros to
various variables with direct condition checking. This should fix the
coverity issue and also promotes more uniformity in code.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Logging with STMESP frontend is using custom logging header feature.
Put that specific header file in a custom path which is added to the
build only if that logging frontend is used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
MONOLITHIC_NXP_NBU cannot be used in CI as it relies on firmware blobs
to be fetched.
Disabling the feature so the CI can pass.
Also tagging this test as build_only.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Using HTTP/2 to communicate with the sample application using a web
browser requires some additional steps. Add documentation describing
this to the sample README file.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Add application level Kconfig option to enable ALPN usage for
negotiating HTTP/2 connection with web browsers.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Existing cipher suites and certificates used by HTTP server sample are
included in RFC9113 Appendix A: Prohibited TLS 1.2 Cipher Suites. The
RFC specifies that when using HTTP/2, these cipher suites may be treated
as an error of type INADEQUATE_SECURITY, and in practice it seems that
Chrome and Firefox do implement this.
The certificates have been updated to use ECDSA-P265 signatures, and
supported cipher suites updated to include ECDH key exchange and AES GCM
and CCM modes.
Some scripts are included to allow users to generate their own
certificates if desired.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Remove the CONFIG_NET_SAMPLE_CERTS_WITH_SC option and make the CA-signed
certificate the only option - there is no real downside to this over
using the unsigned certificate.
Remove adding of CA certificate as a TLS credential on the server, since
this credential is not used by the server. It may be useful to include
in any client code used to communicate with the server, so the
certificate itself is retained.
After this, some TLS tag enumerations are unused so have been removed.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Some tests can take close to 60 seconds to complete on m2gl025_miv
platform (it runs at 4 MHz) so increase the timeout to 120 seconds
to be on the safe side.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Configure the Raspberry Pi Pico W for WiFi.
Move Pico W configuration details to devicetree
Add pinctrl configurations for data/interrupt sharing
Make memory config selectable
Align devicetree with Linux ordering
Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
Added support for SPI in 4-wire and 3-wire configurations to
the Infineon AIROC WiFi driver (drivers/wifi/infineon).
Review changes:
Move DT_DRV_COMPAT to common header file
Correct board-specific preprocessor lines
Removed AIROC_MAP_COUNTRY_CODE
Move Pico W configuration details to devicetree
Use pinctrl to manage shared data/interrupt GPIO
Clean up bus selection in Kconfig.airoc
Make SDIO and SPI bus struct independent
Replace LOG_DBG with LOG_ERR
Remove functionally duplicate operation
Remove spurious Kconfig option
Minor cleanup in CMakeLists.txt
Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
Additional bindings to configure SPI support.
Added new DTS option for data/IRQ sharing
Clarify default in driver DTS binding
Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
Several tests were using K_FOREVER when allocating the
buffer for TX in the system workqueue, which is illegal behavior.
The solution chosen was to create a TX thread to handle TX,
similar to the solution used in the audio shell and some
sample applications.
This way we can continue to use K_FOREVER when allocting buffers
and it will always be done in a round-robin fashion while
TXing as much as possible, by always enqueuing all the buffers
with mock data.
Since this works for all streams (both broadcast and unicast),
it was obvious to use the same implementation for all tests,
and thus cleaning up the tests a bit and more them more similar.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
To signal to the mesh extended advertiser that a proxy advertisement is
started, `bt_mesh_adv_gatt_send()` is called in combination with
setting the `ADV_FLAG_PROXY` flag in adv_ext.c. This ensures that it
won't try to start the advertiser again, which would result in the
controller rejecting it.
Setting this flag outside adv_ext.c is not viable, and as such calling
`bt_mesh_adv_gatt_send()` should also be limited to the advertising
source code.
As it stand now, once we utilize the new commit priority for `h_commit`
calls such a recall of `bt_mesh_adv_gatt_send()` with following
rejection by the controller will happen.
Within the `bt_mesh_resume()` function we can confidently assume the
extended advertiser has already been started. As such we can call
`bt_mesh_adv_gatt_update()` instead of `bt_mesh_adv_gatt_send()`.
This change has been tested with both running relevant bsim tests after
rearranging in which order the settings of the subsystems are loaded via
`h_commit`, as well as a modified light switch sample, adding
`bt_mesh_resume/suspend` calls on buttons.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Casting an argument was missing parenthesis so if argument was an
expression then casting was applied only to the first element and
that could lead to compilation warnings.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Combine BLE and 802.15.4 monolithic build under a single config to make
it less error prone.
The choice between a BLE/802.15.4 combo firmware and a BLE only firmware
is done depending on the Soc (like RW610 vs RW612).
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Add support for optimized short log messages (aka turbo logs). They are
supported on cpuapp and co-processors owned by cpuapp (FLPR and PPR).
In general, it can be supported if cpuapp has access to logging strings
used for the log message. Currently mode is supported only in standalone
logging. When it is extended for dictionary logging then it will also
be supported on other cores (e.g. cpurad).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add support for handling optimized short log messages (aka turbo logs).
There are 2 types of turbo log messages:
- No arguments. D16MTS is used for that on channel > 32768
- One numeric argument. DM16 followed by D32MTS is used.
Additionally, in order to be able to get source name for log messages
coming from owned by cpuapp co-processors (PPR and FLPR) there must
be a way of passing location of constant source data from PPR/FLPR to
cpuapp which handles ETR data. This method is added in the commit as
well. PPR/FLPR sends D32M during the boot with address of constant
source data section. Demultiplexer stores those addresses and it is
able to retrieve source name for log messages from PPR/FLPR.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add 'turbo' logging feature. When enabled, short logs (no argument
or one numeric, 32 bit argument) are handled in a special way that
is much faster than the default one (5-10x faster). Additionally,
there is an option to remove all other logs from the system which
allows to not include almost any logging framework code in the
binary (~170 bytes of code is needed). It may be especially
valueable for memory constraint targets (ppr, flpr) where with
only 170 byte of code (+code for each log message) we can provide
limited formatted string logging support.
'Turbo' logging is using following to achieve that:
- logging strings are put into a memory section and additional
memory section is created which holds addresses of those strings.
Index in that array is used to identify a string (32 bit address
is encoded into a smaller number, 15 bits is more than enough).
This index is used for a STMESP register set (there are 2^16
available). So STMESP channel encodes string.
- Logging level is stringified and prepended to a string
- Source ID is encoded by using DM16 (so far not used).
- Log without arguments is written as DMTS16
- Log with one argumetn is written as DM16+DMTS32
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Set initial filtering settings in the log core init only if
runtime filtering is enabled. It saves few bytes when runtime
filtering is off.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit adds a unit test that checks the freed buffer callback of
the bluetooth data buffer API.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The Bluetooth data buffer API currently lacks a mechanism to notify when
a buffer is freed in the RX pool. This limitation forces HCI drivers to
adopt inefficient workarounds to manage buffer allocation.
HCI drivers face two suboptimal options:
- Blocking calls: Use bt_buf_get_rx with K_FOREVER, which blocks the
execution context until a buffer becomes available.
- Polling: Repeatedly call bt_buf_get_rx with K_NO_WAIT, which increases
CPU load and reduces efficiency.
This commit introduces a callback mechanism that is triggered each time
a buffer is freed in the RX pool. With this feature, HCI drivers can:
- Call bt_buf_get_rx with K_NO_WAIT.
- Wait for the callback notification if a NULL buffer is returned,
avoiding unnecessary polling.
The new callback improves efficiency by enabling event-driven behavior
for buffer management, reducing CPU overhead while maintaining
responsiveness.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The asserts were not proper here, replace those by runtime
checks as the functions can be called from applications and
asserts are not meant for error checking.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
1) Unless ACS is being used, both "channel" and
"vht_oper_centr_freq_seg0_idx" parameters must be set.
Fixed "channel center segment 0" not being set in VHT Operation IE.
2) Set HT capabilities and VHT capabilities via the wifi ap config command.
3) Set AP bandwidth to wifi driver via the wifi_mgmt_api->ap_config_params.
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Add "bandwidth" parameter to "wifi ap enable" command.
Add "ht_capab" and "vht_capab" parameters to "wifi ap config" command.
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Commit 55d9d1c6ba
("samples: led: consolidate LED samples under same directory")
moved the led_strip sample from samples/drivers to samples/drivers/led.
But commit f54a53b4b3
("drivers: ws2812_gpio: Make timing configurable and less hardware
dependend") was merged at the same time and added the bbc_microbit.conf
file to the old location.
This patch moves bbc_microbit.conf to its correct location.
Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
MDK 8.68.1 uses nRF54L15_XXAA symbol for determining whether
given errata is applicable or not for nRF54L Series SoCs.
This causes all erratas to be disabled for nRF54L05 and nRF54L10.
To mitigate this DEVELOP_IN_NRF54L15 symbol needs to be defined,
and removed once new MDK is integrated.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
This workaround will be replaced with a variant
executed at SystemInit() level, once MDK implements it.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
On the stm32U5 serie the MCO prescaler is a value
set in the CFGR1 register to divide the MCO output clock.
See the RefMan for accepted values for this stm32U5 serie
Signed-off-by: Francois Ramu <francois.ramu@st.com>
remove Zephyr v3.6.0 from the list of supported releases. Zephyr v3.6.0
reached end-of-life on 2024-11-29.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Replaced `sys_cpu_to_le16(1)` with a direct `1` assignment to the
`cp->num_handles` (uint8_t) field to avoid truncation to `0x00` on
big-endian architectures.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Select TC_PROVIDES_POSIX_C_LANG_SUPPORT_R to keep Zephyr from
including the common libc implementation of the various _r APIs.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
now that CONFIG_POSIX_C_LANG_SUPPORT_R will
add a custom implementation for gmtime_r() if that
is not provided by the toolchain, we can simply depend on
that, instead of using out own.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
- Add support CAN-FD for EK-RA6E2, EK-RA4E2
- Enable ioport for can-transceiver on EK-RA6E2, EK-RA4E2
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Update the migration-guide to inform the users that now
CONFIG_ENTROPY_GENERATOR is automatically enabled as soon as
devicetree property "zephyr,entropy" is set.
Update also the "General recommendations" section of the Board Porting
Guide on the same topic.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
CONFIG_ENTROPY_GENERATOR is now enabled by default as soon as
"zephyr,entropy" is set in the device-tree. Since the sub-Kconfig
CONFIG_ENTROPY_NRF5_RNG is also enabled by default on nrf boards,
this means that the driver is pulled in the build and intialized
at boot. This might cause runtime issues during some IRQ/kernel
tests, so it's better to remove "zephyr,entropy" on these tests.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
When "zephyr,entropy" is enabled the corresponding entropy driver is
pulled in the build and initialized during boot. This
- changes the initialization sequence expected by "check_init_priorities";
- add one extra device to the expected list in "shell_device_filter".
Therefore this commit removes the "zephyr,entropy" propery to return the
test to the original state.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
If/when "zephry,entropy" is enabled CONFIG_ENTROPY_GENRATOR is
automatically enabled, therefore enabling the corresponding
platform entropy driver. On some platform this is a problem
because the entropy driver is not used directly as random
source, but only to seed the ctr-drbg algorithm provided
by Mbed TLS. Unfortunately CONFIG_MBEDTLS_CIPHER_MODE_CTR_ENABLED
cannot be directly enabled because CONFIG_MBEDTLS_CFG_FILE used
in mcuboot is different from the "config-tls-generic.h" which
is required to use Kconfig symbols defined in
"zephyr/modules/mbedtls/Kconfig.tls-generic".
Moreover entropy and random number generators are not required
in mcuboot because signature verification is a
deterministic operation.
In conclusion this commit disables "zephyr,entropy" in
mcuboot DTS overlay file.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
entropy_nrf5 modules uses k_sem_xxx() functions in several
places, but these functions are only functional when
CONFIG_MULTITHREADING is set, otherwise they just fallback to
the empty weak implementation provided in
zephyr/lib/libc/armstdc/src/threading_weak.c.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
mcux_rnga driver calls k_cycle_get_32() which is not available
if CONFIG_SYS_CLOCK_EXISTS is not defined. Therefore we add
this depedendency to CONFIG_ENTROPY_MCUX_RNGA.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
ENTROPY_GENERATOR is now automatically enabled if the board
has "zephyr,entropy" chosen property set, so there is no need
to manually select it.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
ENTROPY_GENERATOR is now automatically enabled if the board
has "zephyr,entropy" chosen property set, so there is no need
to manually select it.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Automatically enable ENTROPY_GENERATOR if the device-tree has
any "zephyr,entropy" chosen property specified. This helps
in having CONFIG_ENTROPY_HAS_DRIVER set if the platform support
an entropy driver and this then enables CONFIG_CSPRNG_ENABLED.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Actively disconnect the connection with error code `BT_HCI_ERR_AUTH_FAIL`
when the notified link key type is not `BT_LK_AUTH_COMBINATION_P256` in
BR SC only mode.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Now that we enable `HAS_BT_CTLR` we should also declare which optional
features are supported. For now, we only add the features that are
available through the current driver init routine and found on all
supported platforms.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
In some Cortex-M3 implementations SCB_VTOR bit[29] is called
the TBLBASE bit.
This enables setting VTOR to an SRAM address for qemu_cortex_m3
Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
The `ti,hdc20xx` is a common definition for TI HDC20xx series,
so the actual device named `hdc20xx` does not exist.
Remove the "compatible" section.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
When loading a coredump with an an elf built using
'CONFIG_DEBUG_THREAD_INFO=y', gdbstubs assumes that the thread info
memoryblock populated by 'CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_THREADS=y'
will be present in the coredump. This is not always true and causes an
error, and a failure to load the coredump. Add a default value for the
threads_metadata variable in CoredumpLogFile which can be used to detect
when the memory block is not present. This allows the coredump to load
successfully.
Signed-off-by: Félix Turgeon <felixturgeon@meta.com>
The tcpc_get_status_register function was using int32_t for the status
parameter, while the other related functions used uint32_t. This change
unifies the data type across all related functions to uint32_t for
consistency and clarity.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
Add the required code for `west debug` to work the FLPR
core over JLink in the nRF54L 05, 10 and 15 devices.
Note that this requries an external J-Link probe, it will not work with
the on-board (OB) probe soldered on the DK.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
- Adds a flash runner configuration for mcxn/c/a/w
used for sysbuild multi-image projects.
- Solves sysbuild issue with multiple resets and mass erases.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
smp_log usage should be only used when SMP is enabled.
This is currently causing build issues after the fix
provided by #82377
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add CONFIG_MRAM_LATENCY_AUTO_REQ. When option is enabled then module
requests no latency during the initialization. This option might be
useful for cases where we want to achieve maximum performance and
want to avoid controlling MRAM in the code.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
When fast UARTE instance is used (e.g. UARTE120 in nrf54h20), PM actions
are not ISR safe because they include communication over IPC so they can
only be called from the thread context. Extend driver to support both
PM modes. When non ISR mode is used then uart_rx_enable() and uart_tx()
will return error if they are called from ISR and resume operation
would need to be called because device is suspended. On completion,
driver is calling pm_device_runtime_put_async which can be called from
the ISR context.
Additionally, suspending in the TXSTOPPED and RXTO events has been
moved after user callback. It allows to support the case where
uart_rx_enable() or uart_tx() are called from that callback context.
Since suspending is called after returning from the callback it will
not trigger suspend action because API called in the callback context
will increment the usage counter (when pm_device_runtime_get() is
called).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add configuration with 16-bit transfer to C4 by the new `xfr-min-bits`
property. Such a setup generally only allows `write-only` access.
Signed-off-by: Stephan Linz <linz@li-pro.net>
Extends the MIPI DBI SPI driver class for operating mode C4, SPI 4-wire,
with 16 write clocks to send one or multiple byte for commands. Generic
data (e.g. GRAM) aligned to 16-bit are passed through and stuffed with
bytes if required.
Signed-off-by: Stephan Linz <linz@li-pro.net>
The more complex the SPI transfer algorithms become, the more
confusing the current implementation of the SPI write function
becomes. Furthermore, if further as yet unknown MIPI DBI modes
are to be supported, the scope of this implementation would
increase dramatically. With the splitting now introduced, the
existing SPI transfer algorithms are moved to individual
auxiliary functions and the SPI write function only focus on
the decision of the respective MIPI DBI mode and the device
lock/unlock.
Signed-off-by: Stephan Linz <linz@li-pro.net>
The more complex the SPI transfer algorithms become, the more
confusing the current implementation of the SPI command read
function becomes. Furthermore, if further as yet unknown MIPI
DBI modes are to be supported, the scope of this implementation
would increase dramatically. With the splitting now introduced,
the existing SPI transfer algorithms are moved to individual
auxiliary functions and the SPI read function only focus on
the decision of the respective MIPI DBI mode and the device
lock/unlock.
Signed-off-by: Stephan Linz <linz@li-pro.net>
In the Doxygen comments, the amount of SPI clocks now match the
number of data bits shown. The clock was shown half the speed.
Signed-off-by: Stephan Linz <linz@li-pro.net>
Implement the readout protection for the STM32H7 series.
Define the specific functions used by the flash_stm32h7.
Move the stm32h7 flash register manipulation in a write_optb()
to be called by the flash_stm32_set_rdp_level.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Place the flash_stm32_sem_take and flash_stm32_sem_give
function to header file for common to use in any flash driver
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Currently, the minimum value of encryption key size is
`BT_HCI_ENCRYPTION_KEY_SIZE_MIN`.
Add a new Kconfig `BT_BR_MIN_ENC_KEY_SIZE`. It is used to set the
specific minimum encryption key size.
The default value is `BT_SMP_MIN_ENC_KEY_SIZE`. And it can be
configured if `BT_SMP_SC_ONLY` is not enabled.
Use `CONFIG_BT_BR_MIN_ENC_KEY_SIZE` as minimum encryption key size in
`br_sufficient_key_size`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
policy engine errors were unconditionally setting the state back
to sink ready. this fix sets the correct state based on the current
power role.
Signed-off-by: Johan Carlsson <johan.carlsson@teenage.engineering>
when not clearing cc_voltage the type-c current limit
will only be reported on the first plug in.
Signed-off-by: Johan Carlsson <johan.carlsson@teenage.engineering>
Refactor the function to use net_buf_pull_mem instead of the
offset variable when decoding.
Since the offset value was always 0 before, this fixes the
incorrect decoding.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Check the return value of gpio_add_callback() in the display init
function, to resolve an issue flagged by static analysis.
Fixes#81921
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
"wlen" variable set to return value of mipi_dsi_transfer should be a
ssize_t type, so that if a negative value is returned the error will be
caught and returned.
Fixes#81929
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Fix dead code within the set_pixel_format() function for the RM67162.
This function should set the relevant data fields for the driver, then
send the MIPI DCS command to change pixel format.
Fixes#81945
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add the bt_ prefix when registering logging for the media_proxy module,
to be consistent with what the other modules in bluetooth/audio do
Note that the bap_usb module shall not have the bt_ prefix
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
It is no longer needed to enable a specific flash driver in the sample
configuration. An appropriate driver (together with its dependecies,
like the SPI bus) for a given target will be enabled automatically
based on what is enabled in DTS.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
It is no longer needed to enable a specific flash driver in the sample
configuration. An appropriate driver (together with its dependencies,
like the SPI bus) for a given target will be enabled automatically
based on what is enabled in DTS.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
BLE public address assignment shall be done only when
CONFIG_BT_HCI_RAW is not enabled.
Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
Compilation errors in ptp library when using C++ compiler.
First error is due to 'class' keyword being reserved in C++
and 'class' is used as a variable name in ptp library.
Second error is due to a flexible array member in a struct
is not placed at the end.
Signed-off-by: Tomas Choat <trc@ixys.no>
The asserts always fail because the condition is inverted.
This patch fixes the condition to verify the socket
is lower than PTP_SOCKET_CNT.
Signed-off-by: Tomas Choat <trc@ixys.no>
When the offset is larger than 1 second, the time
adjustment should still be allowed to be bidirectional.
Casting the offset to an unsigned value after the
subtraction will allow the adjustment to be bidirectional.
Signed-off-by: Tomas Choat <trc@ixys.no>
When sending follow up messages, the pre send function
does not insert the correct time stamp in the message.
Issue is fixed by calling the pre send timestamp function.
Signed-off-by: Tomas Choat <trc@ixys.no>
Use with statement to open stdout/stderr and resolve current warning
when running twister:
ResourceWarning: unclosed file....
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
On the interrupt handling, one thread per driver instance is involved
into monitoring the semaphor, sends inside the gpio callback triggered
by the gpio interrupt. Each time, when the link parameters are change,
the DM8806 is generating the gpio interrupt. After getting semaphor,
the application callback function which was linked during initialization
process is called to get the new link parameters with standard API
calls
Signed-off-by: Robert Slawinski <robert.slawinski1@gmail.com>
New driver for Davicom DM8806 PHY. Driver is using standar mdio API
to manage the DM8806 switch controller. Register access needs the
PHY addres or switch address to be one of five possible values, since
DM8806 has built-in five PHY's. These values should be defined in the
application .dts file. One DM8806 ethernet port must corresponds with
one ethernet PHY node with two properties for ethernet port: one for
PHY address and one for switch address - <reg> for register access from
Internal PHY Register area and <reg-switch> for register access from
Switch Per-Port Registers area. Device tree example below:
example device-tree:
dm8806_phy: ethernet-phy@0 {
reg = <2>;
reg-switch = <8>;
compatible = "davicom,dm8806-phy";
status = "okay";
davicom,interface-type = "rmii";
reset-gpio = <&gpiod 2 GPIO_ACTIVE_LOW>;
interrupt-gpio = <&gpioc 1 GPIO_ACTIVE_HIGH>;
};
Signed-off-by: Robert Slawinski <robert.slawinski1@gmail.com>
Fixes the following warning:
<wrn> cbprintf_package: cbprintf_package_convert:
(unsigned) char * used for %p argument. It's recommended
to cast it to void * because it may cause misbehavior in
certain configurations. String:"%s: meta %p len %zu" argument:1
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
There is a unittest to verify that the distribute broadcast code procedure
is not called with the same peer twice. This test requires a minimum
of two connections, so we disable this test when only 1 connection
can be made
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
In case of unknown platforms in filters such as plaform_allow,
integration_plaforms or platform_exclude, report an error and exit.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Update events to use uptime ticks, which is a monotonic clock which
in the same res as kernel ticks. This makes comparisons simple and
removes the complexity of dealing with wrapping counter values.
The wrapping is particularly problematic for events since this makes
it quite complex to track if an event has occured in the past, or
will occur in the future. This info is needed to know if an event
has actually been handled or not.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Move the previously singular env testsuite to be with the
other features that are part of the POSIX_SINGLE_PROCESS
Option Group.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
drivers/input/input_gpio_keys.c requires property "zephyr,code" must
be provides for gpio-keys, so add code property for imx93_evk A55
and M33 boards.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
A warning is giving for missing initalizer for field `exit_latency_us`
of `struct pm_state_info`. This adds the additional init fields.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The tests should only be allowed on supported platforms instead
of blanket enabling on architectures. There are platforms which
do multi level interrupts but cannot run the tests.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Adds a step direction binding that can be used with any stepper that
implements said control interface to cut down on boilerplate code.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Both tests set CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=0 so extract
it to prj.conf. The tests require malloc arena size to be 0 to
run successful. By refactoring the config, it is now able to
with west build and still passing.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
For a long time now, it's been possible to call
`pthread_attr_init()` and have it just to The Right Thing (TM)
without having to statically assign a stack.
Remove the stale comment and commented-out code.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Correct "zephyr,sram" property under /chosen node to make board and samples
compatible with new SoC memory description.
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
Replaces hard-coded memory addresses and sizes with macros that retrieve
such values from the device tree.
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
Make sure smp_transport_clients list is only initialized once and
before any transports will try to register and add entries to this
list.
The smp_init() routine was called after smp_init_uart(), causing
the list to be emptied again after registration of the uart client
transport.
Signed-off-by: Bas van Loon <bas@arch-embedded.com>
There were code paths that could have lead to divide by zero given an
invalid scale setting for accel or gyro. In practice this should be an
invalid setup even before getting to these conversion functions. The
conversion functions now better show all valid values are accounted for
by using CODE_UNREACHABLE in the default case.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Now that the U5 HAL contains the dedicated LDO status function, use it
instead of reading the register directly.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
New HAL update changed the prototype of the check DMA flag functions.
H7 and U0 use a const parameter for these functions.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This change adds @wearyzen as a collaborator to:
- ARM arch
- ARM Platforms
- West project: mbedtls
- West project: trusted-firmware-m
- West project: tf-m-tests
- West project: trusted-firmware-a
- West project: psa-arch-tests
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
On NXP RT1170 SOC, ADC ETC exists but it can not be enabled because
of dependency on HAS_MCUX_ADC_ETC.
Also, ADC ETC should only work with ADC together, there is no use
case to run it standalone.
Fixes:#81466
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Some bluetooth host tests can be run on nrf5340bsim/nrf5340/cpunet.
This commit enables building and running these tests.
Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
Currently different test cases within the same folder are using largely the
same config files with only subtle variations. It is better instead to have
a base config file with general configuration, aided by overlay files for
specific cases.
Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
Bluetooth host bsim tests are compiled with shell scripts, but it is
possible to use twister, which supports compilation (but not running
at the moment). Compiling with twister requires fewer shell scripts,
provides cleaner interface and more flexible configuration.
Signed-off-by: Artur Dobrynin <artur.dobrynin@nordicsemi.no>
In the IOMUXC controller, the PDRV field uses 0b0 to set the pin drive
to high, and 0b1 to set the pin to normal drive. Fix the pinctrl_soc.h
definitions for the iMXRT11xx parts to use the correct setting for this
register, based on the documentation for the pin control binding
Note that for PDRV type pins, this commit effectively switches their
drive strength setting.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add tests for the new port / endpoint DT macros
Signed-off-by: Josuah Demangeon <me@josuah.net>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add port and endpoint DT macros to retrieve the node id of the interested
port/endpoint from its id. Also, add helpers to retrieve the peer remote
device node from its local endpoint interface.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Co-developed-by: Josuah Demangeon <me@josuah.net>
If CONFIG_SPI_STATS is enabled, the device state for all SPI controller
drivers must contain the SPI stats. This space is allocated by calling
Z_SPI_INIT_FN as part of the device definition; this is done automatically
when using SPI_DEVICE_DT_DEFINE instead of DEVICE_DT_DEFINE. If space for
statistics is not properly allocated but CONFIG_SPI_STATS is enabled, an
unexpected write to memory outside of the stats region may occur on a SPI
transfer. This commit uses SPI_DEVICE_DT_DEFINE or
SPI_DEVICE_DT_INST_DEFINE for all in-tree SPI controller drivers.
Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
Following the binding rename to "nxp,sysmpu", update the Kconfig
option to align with the binding name and to better reflect the
option's purpose.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Rename "nxp,kinetis-mpu" compatible to "nxp,sysmpu" to remove
the device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Rename "nxp,kinetis-dspi" compatible to "nxp,dspi" to remove the
device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Replaces code that peeked directly into the thread by instead
calling k_thread_join() to check the state of threads
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The FlexSPI NOR driver should verify all 3 bytes of the JEDEC ID match
the expected value before attempting to use a custom LUT table with a
flash chip. This reduces the odds that an incompatible LUT will be used
with a flash chip, as some flash chips may share the same first byte of
their device ID but not be compatible with the custom LUT table.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
k_fifo_put is a macro that expands the call to net_pkt_ref(pending)
multiple times when CONFIG_TRACING is enabled thus causing extra
reference for the pending packet and a memory leak.
Fix by moving the referencing call to a separate line.
Signed-off-by: Rait Rääk <raitraak@gmail.com>
This option gets the default value "y" whenever HAS_BT_CTLR is enabled, and
since the EFR32 HCI driver now selects HAS_BT_CTLR the right thing happens
either way.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The controller behind the EFR32 driver is a local link layer
implementation, so it makes sense to select HAS_BT_CTLR.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Some of the unittests had an incorrect project name in the
CMakeList.txt file
This is corrected here
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
When not using CONFIG_XIP (CONFIG_XIP=n)
the FLASH_0 mpu region needs to be removed,
otherwise it will have the default base
address = 0, which means that MPU will try
to configure the region with address 0.
We don't want this as in some situations
address 0 can be a restricted memory region
such as ROM code.
Signed-off-by: Alexandru Lastur <alexandru.lastur@nxp.com>
This reverts commit 7c90f1bca1.
Xen initialization maps enlighten page to Zephyr memory and also
initializes Xen event channels. It is used for communication between
Xen domains and based on interrupt connected to domain virtual GIC.
Moving event channel initialization to arch_kernel_init() make it call
irq_enable() when GIC is not initialized. Since GIC is initialized
on PRE_KERNEL_1 stage, this lead to fatal error during boot.
Revert these changes to make xenvm operable again.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
During migration to HWMv2 separate specific defconfig file was removed
for GICv3 version of virtual xenvm boards. It worked fine before
commit 0be0d2175b ("cmake: modules: extensions: Revert using common
board files") significantly changed build behavior, but did not return
previously removed file. This led to build/runtime issues, when some of
the Kconfig options were not selected.
Return GICv3 specific defconfig to board directory to fix configuration
problems.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
The new `host_config_variants` goal is to be able to test specific set
of configurations when building the Host without the need of having a
specific application for it.
The first test check that the Host build correctly with
`CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY` enabled.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
The functions `le_sc_oob_config_set`, `generate_dhkey` and
`display_passkey` in `smp.c` were only defined when
`CONFIG_BT_SMP_OOB_LEGACY_PAIR_ONLY` was not defined. This created
issues at build time.
Remove the guard as the code calling those functions is not guarded
itself.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
Fix possible race condition where SMP client might
release the network buffer before system worker queue
has processed it.
In smp_client uses shared resources like worker queue
linked list and network buffers without maintaining any
thread safety.
For unknown reasons, retry timeout handling is pushed
into system worker queue while the actual transmission
is handled from SMP work queue.
Fix the issue by using the same SMP work queue
for both delayable timeout handling as well as
transmission handling.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
In case TLS connect timed out during the handshake, errno was set to
EAGAIN which is unexpected and confusing. Fix this and set the errno
to ETIMEDOUT instead.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Remove danieldegrasse from NXP maintainers areas.
Substitute myself for the hal_nxp west project area.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add an area specifically for the MCUX shim USB drivers,
as this code is primarily maintained by a subset of the NXP Driver
maintainers. Move MarkWangChinese to this area.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add an area specifically for the NXP WIFI driver code,
since this code is maintained by a different set of people
than the generic NXP Driver maintainers.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Sets CONFIG_LOG_BACKEND_RTT_MESSAGE_SIZE=256 as some log
messages are longer than 128 (default) and may be truncated
with the existing configuration and implementation.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The compatible: "st,stm32h7-hsi-clock" has HSI clock divider
required which is set to 1, by default, delevering 64MHz
in the stm32h7.dtsi and stm32h7rs.dtsi
(As done for stm32h5 and other series)
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This makes minichlink the default runner for the ch32v003evt.
This way, `west flash` "just works", as advertised in the README, rather
than having to manually set the runner to `minichlink` for it to work.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use the broadcast sink callbacks to set the semaphores
rather than the stream callbacks, as the broadcast sink callbacks
are better for that as they are called when all streams are ready.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use the broadcast source callbacks to set the semaphores
rather than the stream callbacks, as the broadcast source callbacks
are better for that as they are called when all streams are ready.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
These callbacks are trigger for changes that affect the entire
broadcast sink, such as the BIG synced and terminated events.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
These callbacks are trigger for changes that affect the entire
broadcast source, such as the BIG started and terminated events.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
These callbacks are trigger for changes that affect the entire
broadcast source, such as the BIG started and terminated events.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add callbacks that is called for the entire BIG.
The BIG state is from an HCI perspective a single state change
that we previously only propagated as a state change for each
channel.
However it may be simpler for applications and higher layers
to use BIG changes to trigger their behavior.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This fixes an issue that occurred if deferred_work is queued by another
procedure before we run bt_conn_set_state(BT_CONN_DISCONNECTED).
bt_conn_set_state yields to the system work queue in bt_conn_tx_notify,
and then deferred_work runs and handles the disconnected callbacks.
bt_conn_set_state then enqueues another deferred_work which calls the
disconnected callbacks again and causes an assert. k_work_cancel_delayable
will clear queued deferred work when we call
bt_conn_set_state(BT_CONN_DISCONNECTED), guaranteeing that the disconnect
callbacks will only be called once.
Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
Add set the parameter `type` to value
`BT_SDP_DISCOVER_SERVICE_SEARCH_ATTR`.
Update the SDP discovery callback function by adding a third parameter
`const struct bt_sdp_discover_params *params`. Make it align with
`bt_sdp_discover_func_t`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Since the function `bt_sdp_discover` has been updated, the caller of
function needs to be updated to avoid the building and functionality
fault.
Add set the parameter `type` to value
`BT_SDP_DISCOVER_SERVICE_SEARCH_ATTR`.
Update the SDP discovery callback function. Make it align with
`bt_sdp_discover_func_t`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Extend the function `bt_sdp_discover` to support service search
transaction and service attribute transaction.
Improve the `session->rec_buf`. If the net buffer cannot be allocated
from the channel, disconnect the SDP session.
Set the `MaximumAttributeByteCount` of the request
`SDP_SERVICE_SEARCH_ATTR_REQ` with the tail room of `session->rec_buf`.
Set the `MaximumAttributeByteCount` of the request `SDP_SERVICE_ATTR_REQ`
with the tail room of `session->rec_buf`.
Set the `MaximumServiceRecordCount` of the request
`SDP_SERVICE_SEARCH_REQ` according to the tail room of
`session->rec_buf`.
Handle the response code `SDP_SERVICE_SEARCH_RSP`, and
`SDP_SERVICE_ATTR_RSP`.
Handle the error `SDP_ERROR_RSP`. Start the next SDP discovery if the
error received.
If there no more request, disconnect the session.
If the request cannot be sent, start the next SDP discovery.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
On RT1180/RT700, there is no gpr register on soc,
so change driver to get configuration register base
address from dts, instead of hard code.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Deprecate mode which is using TIMER+(D)PPI for reliable byte counting.
Recently a new approach is added (CONFIG_UART_NRFX_UARTE_ENHANCED_RX)
which supports reliable byte counting without additional HW resource.
This mode is planned to be the only supported RX path mode.
Enhanced RX has slightly different behavior. There are no partial RX
packets (events with non-zero offset). There is UART_RX_BUF_RELEASED
after each UART_RX_RDY event.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Due to clock designed on RT1180 has some different with other platforms,
so add macro and handle the clock difference in mcux_ccm_get_subsys_rate.
TPM1 use Bus_Aon as clock root.
TPM3 use Bus_Wakeup as clock root.
Other instances have independent clock root.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
The PINCTRL option is selected now by the drivers which use it, so
it's possible to remove it from the board defconfig.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
- Add NULL checks for broadcast_source_stop
- Add NULL checks for broadcast_source_release
- Return -ESRCH if trying to stop ext_adv before creation
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
The Smartbond SPI driver enables DMA acceleration by default. However
no DMA configuration is provided in the SPI node, resulting in run
time errors when the SPI interface is used. Instead, the application
should explicitly enable DMA acceleration and select the DMA channels
and priorities.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Updating the LPADC driver to support IP without a side B channel.
The MCXA156 is an example with this instantiation of the IP.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
The pthread_pressure test was not a typical test per se. It was
a benchmark in search of the proper home.
Let's move it to the correct place in the Zephyr tree, add a
doc, and provide some reporting.
Currently, k_threads out-perform pthreads by almost a factor of
2. The theoretical maximum performance of pthreads would be at
parity of k_threads, since pthreads are a wrapper around kernel
threads. It would be great to reduce the gap.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Fixes type mix-match for rtd temperature calculation. Also changes
coefficient array name for clarity.
Signed-off-by: Maxmillion McLaughlin <max@sorcerer.earth>
Commit 132fa83ed4 ("arch: riscv: make arch_current_thread_set()
safer") created some unintended code generation changes. Reorder the
assignments to preserve original results.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
For WiFi interface, uniformly use net_if_get_wifi_sta() and
net_if_get_wifi_sap() APIs to replace net_if_get_first_wifi().
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Add documentation for the get_filtered_output method in both the Python
implementation and the Integration with pytest chapter. The method is used
to filter command outputs by removing prompts and log messages, making it
easier to process shell command results.
Signed-off-by: Thomas Günther <thomas.guenther@limatica.com>
removed traling whitespace
Add a new implementation of a test pattern generator, with the same
architecture as real drivers: split receiver core and
I2C-controlled sub-device, with changes of video format in
"zephyr,emul-imager" leads to different data produced by
"zephyr,emul-rx".
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce a video_get_format_index() utility to help finding a caps
entry out of a given format. Introduce several utilities to seek and
apply frame intervals.
Signed-off-by: Josuah Demangeon <me@josuah.net>
STM32 configuration for the MCO clock source and prescaler is done
by the DTS and no more by Kconfig (removed).
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This sample enables and configures the MCO1/2 output
for stm32 target boards.
MCO_PRE_DIV_n is defined by the stm32XX_clock.h
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Depending on the stm32 serie the MCO1/2 prescaler is a value
set in the CFGR register to divide the MCO output clock.
Use the same model based on the RefMan for other stm32 series
than stm32C0/F4/F7/H5/H7, once the MCO is in the DTS.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Rely on the DTS to get the MCO input source clock and prescaler.
DTS configuration has been introduced and Kconfig method
deprecated two releases before and can be then safely removed.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The stm32F41x have a PLLI2S M divider for their PLL I2S
but others like the stm32F401 or stm32F74x have the PLL M
divider from the main PLL : might affect the sysclock.
LL Function is the same for configuring the PLL I2S but
parameter could depends on the stm32 serie.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The stm32F4 serie has HSI and HSE clock possible clock sources
The stm32F1 also has an external HSE possible clock source
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add type check to avoid comparing unsigned values with 0 which is always
true or false and can cause coverity issue.
Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
Contributed some of the following to HCI (UART) samples:
Vinayak Kariappa Chettimada (20):
Bluetooth: hci_uart: reduce configured stack sizes
samples: Bluetooth: Add configuration file for all controller features
samples: Bluetooth: hci_rpmsg: Fix RAM overflow building for DF feature
Bluetooth: Controller: Preliminary Central multiple CIS support
samples: Bluetooth: hci_rpmsg/uart: Fix BT_CTLR_ISO_TX_BUFFER_SIZE
Bluetooth: Controller: Fix connected ISO dynamic tx power
Bluetooth: Controller: BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU
samples: Bluetooth: hci_uart: Add preliminary support for nrf54l15pdk
samples: Bluetooth: hci_uart: Use lower IRQ priority SoC peripherals
samples: Bluetooth: hci_uart: Add preliminary DF support for nrf54l15pdk
samples: Bluetooth: hci_uart/hci_ipc: CI coverage for nRF53+nRF21 FEM
samples: Bluetooth: hci_uart: CI coverage for nRF5340dk cpuapp
samples: Bluetooth: hci_uart: CI coverage for nRF52+nRF21 FEM
samples: Bluetooth: hci_uart: CI coverage for nRF52840
samples: Bluetooth: hci_uart: CI coverage for nRF52dk
samples: Bluetooth: hci_uart: CI coverage for nRF52833 DF
samples: Bluetooth: hci_uart(_3wire)/hci_ipc: Enable PAST feature
samples: Bluetooth: hci_uart hci_ipc configuration update
samples: Bluetooth: hci_uart hci_ipc configuration update
Revert "Bluetooth: controller: remove refs to LLCP_LEGACY after rebase"
Contributed some of the following to Host:
Vinayak Kariappa Chettimada (2409):
Bluetooth: SMP: Fix unaligned access usage fault.
soc: Use nrf.h instead of nrf52.h and nrf52_bitfields.h
Bluetooth: Fix race condition between ecc_send and ecc_task
...
Contributed some of the following to Host ISO:
Vinayak Kariappa Chettimada (2):
Bluetooth: host: iso: Fix typo in hci_le_big_terminate
Bluetooth: HCI: Rename to bt_hci_iso_sdu_hdr and bt_hci_iso_sdu_ts_hdr
and attends the weekly Bluetooth Zephyr meetings.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Added support for BAP 1.0.2, CSIS 1.01, PACS 1.0.2, PBP 1.0.1
Enabled support for extended adv in the LL (mandatory requirement)
Enabled support for multiple BIGs support in the LL.
Due to a bug in the BT qualification tool, the following
features are values in the .bqw file are manually added
<Feature>BAP 4/1</Feature>
<Feature>BAP 26/1</Feature>
<Feature>BAP 49/1</Feature>
<Feature>BAP 62/1</Feature>
<Feature>BAP 77/1</Feature>
<Feature>BAP 83/1</Feature>
<Feature>CSIP 3/1</Feature>
<Feature>CSIP 8/1</Feature>
<Feature>PBP 10/1</Feature>
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This change aims to eliminate the dependency on `ctx_shell` in
the Bluetooth `host/shell/*`, making the code more maintainable.
Replaced `shell_*` functions that depended on `ctx_shell` with
the appropriate `bt_shell_*` functions.
The shell-less functions `bt_do_scan_filter_clear_name`, `bt_do_scan_off`,
and `bt_do_connect_le` were added so they can be called without `sh`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Limit the usage of `ctx_shell` to cases where printing requires it
and `sh` is not available.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Introduced `bt_shell_private.c` and `bt_shell_private.h` to provide
common functions for the Bluetooth `shell_wall_print`.
These functions are equivalent to `shell_fprintf`, `shell_info`,
`shell_print`, `shell_warn`, `shell_error` and `shell_hexdump`
but without requiring the `sh` parameter.
The cost of the newly added `bt_shell_fprintf_info` ... `_error` functions
will be negligible when there are many individual calls that need to pass
both the `sh` and `color` parameters each time.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
in CI, we may need to quit if there is any failure
to save time, so add this --quit-on-failure so that
any failure will quit the test.
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Enable i2c and configure it to read accelerometer sensor on the board.
Test it using sample.sensor.accel_polling.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
The issue with mentioned test for GICv3 version of xenvm virtual
board is the same as for regular xenvm - device tree overlay for this
test overrides #address-cells and #size-cells property for original
device tree file (from 0x2 to 0x1), which leads to incorrect DT parsing
by actual Xen drivers. This causes build errors, so test should be
skipped for GICv3 platform too.
Same issue for regular xenvm was fixed by commit 40fe36669c ("tests:
kernel: exclude xenvm from device tests"). Issue for GICv3 appeared
after migrating to HWMv2.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
xenvm Kconfig contained incorrect name for board parameter. It led to
build issues - heap size was set incorrectly. Since whole file is
already placed under right Kconfig condition ("if BOARD_XENVM"), remove
incorrect parameter at all.
This issue was introduced by commit 8dc3f85622 ("hwmv2: Introduce
Hardware model version 2 and convert devices") due to the typo.
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Added basic support for west debug for nrf54h20
RISC-V cpus: nrf54h20_cpuppr and nrf54h20_cpuppr.
Note external jlink probe needs to be used.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
The MT8196 device has a newer interrupt controller that acts like the
legacy ones once initialized (see intc_mtk_adsp.c). But it has some
(only slightly) more complicated routing control that must be
initialized on reset, as the default is "don't deliver any interrupts
at all". Previous versions of the device integration worked becuase
they relied on a SOF binary to be loaded at boot, but obviously that
doesn't work for a Zephyr-based SOF firmware image.
Signed-off-by: Andy Ross <andyross@google.com>
This driver forgot to enable its interrupt, but has been working
becuase Zephyr apps were always run in a context where the interrupt
controller had been initialized by a SOF binary at boot.
Signed-off-by: Andy Ross <andyross@google.com>
This got missed. Set it correctly for hygiene, though very few things
use it. There is a spot in SOF where it's helpful to have a number for
"fasted cpu clock rate" and this is the best candidate.
Signed-off-by: Andy Ross <andyross@google.com>
Recent kernel drivers for some devices have swapped the mailbox device
used for replies. It used to be that all commands in either direction
were sent on mbox0 and all replies on mbox1. Now mbox0 handles
commands and replies for "DSP to Host" communication, and mbox1 is for
"Host to DSP". Listen to both devices for our simple test.
Signed-off-by: Andy Ross <andyross@google.com>
I thought I was being clever letting the linker place the entry point
arbitrarily (since the hardware can set it to any value).
But it turns out that the upstream Linux SOF loader code is hard-wired
to start the DSP only at the first byte of SRAM, always, no matter
what entry point is listed in the rimage file. So until/unless this
is fixed, we need to add a trampoline at the start of SRAM (and
frustratingly that needs to be 1024 bytes long becuase of the
alignment requirements of the vector table that follows it, sigh...)
Signed-off-by: Andy Ross <andyross@google.com>
This is mostly a cut/paste copy of similar code in intel_adsp and imx,
which sadly can't be shared given the way the design works. Also
includes a bonus, slightly-passive-aggressive description of why that
is.
Signed-off-by: Andy Ross <andyross@google.com>
This code had a growing "enumerate all the platforms" wart. In point
of fact only intel_adsp is special here. Other rimage platforms don't
have a bootloader and use zephyr.elf directly.
Don't hard code platform names (especially since they aren't the same
as board/soc names!). Just autodetect which scheme we have at
runtime.
Signed-off-by: Andy Ross <andyross@google.com>
The ili9xxx driver is used for multiple variants, but did not support
different ones at the same time.
Use unique variable names for each variant.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The signature of callback and the callback function is now changed, so,
add a wrapper to convert b/w them.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
MbedTLS Crypto ALT implementation clearly states that DPP3 isn't
supported, remove DPP3 to fix a build error related to HPKE.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
These files are now unconditiaonlly included, the defines within the
file takes care of both enable and disable of the feature.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Latest hostap (through upmerge) has intdocued a separate data
structure for signal info, so, fix the build errors. Also, fix the
variable rename for current TX rate.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This boards was merged before rp2040.dtsi changed location.
Update the include in its dts file accordingly
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update discharge current limit property to be aligned
with the most recent npm1300 datasheet.
This affects the discharge current measurement calculation,
which needs to be scaled accordingly.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
This reverts commit 18119e8f6e.
Audio tests are enabled back, but change to random number
seed is retained for the multiple identity test.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Remove a duplicated advertising set in the CAP acceptor babblesim
test. The advertising set is configured in test_start_adv.
The BSIM test for the CAP acceptor used legacy instead
of extended advertising.
This also adds the required advertising data and validation
on the CAP initiator and CAP commander.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fix reschedule for ticker that yield such that reduce the
slot window after intersection to include required
ticks_slot, and we do not take the interval of the
colliding ticker provided every expiry increments the
interval by random amount of ticks. This is the case for
primary channel advertising.
Fixes commit e1cd5ba77f59 ("Bluetooth: Controller: Fix to
reschedule after overlap when yielding").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The NET_L2_OPENTHREAD symbol no longer implies the NVS Kconfig
option. Platforms using OpenThread must explicitly enable either
NVS or ZMS option.
A release note and migration guide entries were added.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
This makes the list of Kconfig associated to the thread analyzer feature
more readable and also adds links to the detailed Kconfig documentation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a test for zephyr,memory-region-flags.
This test tests the attributes of memory regions defined in the linker
script, but this information cannot be obtained at runtime.
It verifies that the expected memory region attributes are defined in
the linker.cmd.
Since no syntax analysis is performed, this is not an entirely rigorous
test but sufficient for practical purposes.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add `zephyr,memory-region-flags` for supporting memory region flags
setting.
For example, when the below node is in the devicetree,
```
test_sram: sram@20010000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = < 0x20010000 0x1000 >;
zephyr,memory-region = "FOOBAR";
zephyr,memory-region-flags = "rw";
};
```
We get the following line in MEMORY section of linker script.
```
FOOBAR (rw) : ORIGIN = (0x20010000), LENGTH = (0x1000)
```
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
APPROTECT symbols were already aligned to nRF54L15,
but did not take into account similar SoCs like nRF54L05 or L10.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Select TRIGGER_GLOBAL_THREAD by default if rtio streaming is enabled,
and TRIGGER_NONE otherwise. This change prevents bad trigger configurations
like
CONFIG_LSM6DSV16X_TRIGGER=y
CONFIG_LSM6DSV16X_TRIGGER_NONE=y
which does not have any sense.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
- Fixes mcxw71 CI errors caused by wrong place
of the 'flash' node in DTS.
- Fixes mcxw71 build errors for storage, flash
and mcuboot examples.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Increase test coverage for Raspberry Pi's RP2040. Use the `socs` folder
rather than `boards` to enable these tests to run on any boards with the
same SoCs.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
From the API documentation, `dma_api_chan_filter`` can be given a value
of NULL for `filter_param`. Match the behaviour of most implementations,
and return true. This removes misleading error messages logged during
tests (e.g. `test_tst_dma0_m2m_loop`).
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Change whitespace to match the coding style for CMake files for all
rp2040-based boards.
This is foundation work ahead of adding support for boards based on the
RP235XX SoCs.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
No in-tree board uses this driver's pinctrl functionality, and every
RP2040-based board was configuring this to be an empty node in the
device tree, so remove them.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
The Pico SDK defines a default value for its XOSC multiplier. Reflect
this in the device tree binding so that it doesn't need to be repeated.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
RESETS_RESET_PLL_USB_BITS was logically or'd twice and 'unreset'ting
PWM doesn't seem to be required, based on the contents of the SDK.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Rename rpi_pico_common.dtsi to rp2040_reset.h . This is more consistent
with the wider Zephyr source tree, and is foundation work ahead of
introducing the RP2350 SoC.
Add missing include guard. This shouldn't be required, but it is
consistent with other header files in the same directory.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Follow the wider directory convention of dts/<arch>/<vendor>/<family>.
This is foundation work ahead of introducing support for the RP2350.
Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Commit e63c6cd534 introduced device API
macros to be used by driver implementations. The DEVICE_API macro
ensures the passed API instance is placed in the corresponding iterable
section to allow for runtime checks.
Add wrapper DEVICE_API macro to all its_driver_api instances.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
ARC architecture has some additional .arcextmap debug sections used by
debuggers to understand extension-specific instructions. These sections
could safely be ignored, but doing this causes warnings at least with
ARC MWDT toolchain.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Some linkers (e.g. the ARC MWDT one) don't recognize wildcards in file
names if they are not enclosed in quotes. Looks like the quotes have
no negative effect on the GNU ld linker, so just do it unconditionally.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
When publish message, the dup_flag is not intialize
causing it to have random value and making the AWS MQTT
broker to reject the message
Add initialize dup_flag as 0
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Enable Ethernet controller node and mdio node for RA boards.
Add pinctl for mdio and Ethernet usage
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
This commit is to enable Ethernet drivers support on Renesas RA
MCU, first target support is the Renesas RA8 series
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The ICS1894 phy AN_COMPLETE bit is latched high, this make the
BMSR first read return incorrect status of the AN state, update
one more BMSR read to ensure all latched bit is clear and BMSR
return actual status of the phy chip
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add support for mdio driver for Renesas RA MCU series
This support utilize the r_ether_phy driver in hal renesas
to support mdio write and read function
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Update hal_renesas new commit ID, in this version there are
support for Ethernet and Ethernet phy in hal layer
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add test configuration for Awinic AW9523B.
This device is a GPIO Expander, and no boards currently implement it.
Define the connection that connects it via the Arduino header and
define a fixture to enable it.
This has been confirmed with nucleo_h503rb.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add test configuration for Awinic AW9523B.
This device is a GPIO Expander, and no boards currently implement it.
Define the connection that connects it via the Arduino header and
define a fixture to enable it.
This has been confirmed with nucleo_h503rb.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add a definition of a STEMMA QT connector to which I2C
devices can be connected.
Since STEMMA-QT does not specify uses other than I2C,
this is just a formal definition.
(It may be helpful when using this connector as a GPIO,
which is not defined in STEMMA-QT)
Maybe in usual need to define i2c alias such like as,
```
stemma_qt_i2c: &i2c0 { }
```
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
mcxc444 also has pit and rtc counters, add the counters to
board documentation, and enable it explicitly in board dts.
Set rtc clock to 32 kHz oscillator.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
When the PRESTART thread state was removed, this changed the semantics
of k_thread_start() when thread was created with a K_FOREVER timeout,
suspended and then started with k_thread_start().
This sequence is used in p4wq to implement K_P4WQ_DELAYED_START
(which again is needed by K_P4WQ_USER_CPU_MASK).
With PRESTART removed, the following sequence:
z_mark_thread_as_not_suspended(thread);
k_thread_start(thread);
.. no longer starts the thread. As a result, p4wq users like SOF
multicore configurations, hit errors as p4wq threads never start.
Fix the implementation by removing the calls to change thread
suspended state explicitly, but rather rely on the new
k_thread_create() and k_thread_start() semantics.
Fixes: 7cdf40541b ("kernel/sched: Eliminate PRESTART thread state")
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signal-to-noise ratio is a unitless quantity, so its unit is dB, not
dBm (dBm is the power relative to 1 milliwatt). At the same time output
the received payload using `LOG_HEXDUMP_INF`, instead of limiting the
sample solely to string payloads.
Fixes#82414
Signed-off-by: Jordan Yates <jordan@embeint.com>
There is an incorrect logic that causes twister with
--device-testing to skip all tests on Windows. Correct
the logical condition.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
bsim requires a special setup for it to be usuable and run by twister.
If this environment is not available, we should not error when the
platform is an integration platform.
Most developers and users of twister will not have the babblesim setup
and reporting errors is misleading and confusing. So if such env. is not
available, just filter as usual and do not error.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add watchdog driver for npm2100 pmic.
This pmic has one timer that can be used for multiple functions,
including a watchdog that can reset or power-cycle connected devices.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Add sensor driver for npm2100 pmic.
This pmic performs measurements of battery voltage, regulator voltage
and die temperature.
Configurable pmic attributes are also organized under this driver.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Add regulator driver for npm2100 pmic.
This pmic has one boost and one ldo regulator.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Add mfd driver for the npm2100 pmic device.
The driver contains basic initialization routines,
and functionality not covered by other device driver APIs.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
This pulls in:
- d291bdcc mcux: hal_nxp: Include PDM MICFIL driver..
- 164268e5 mcux: hal_nxp: Include SDMA HAL driver..
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
The original idea of the syscall helpers is to workaround
an issue where the compiler could not correctly model register
usage with inline functions. It was supposed to be only used
when there are more then 3 arguments to syscalls. However,
during the original MMU code development, the helper got
expanded to cover "less then 2 arguments syscalls" as a way
for debugging syscall handling code and was never removed.
So fix that now by limiting the helper for syscalls with
more than 3 arguments.
Moreover, instead of using one helper with 6 arguments, now
we have separate implementations for both 4 and 5 arguments
syscall helpers. Now the compiler does not have to generate
code to always handle 6 arguments which saves a few code bytes
as there is no need to pass extra zeroes as arguments.
This has been verified to work with xt-clang RI-2022.10.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The _nxp_enet_dma_buffer_section is configured to __nocache area.
That makes the RxPkt performance very low (<= 50Mbps). By defining
it to the cacheable area, the RxPkt performance is >10x better.
Example with Zperf:
DUT command - zperf udp download 5001
PC command - iperf -u -c 192.0.2.1 -p 5001 -b 800M
Signed-off-by: Shrek Wang <shrek.wang@nxp.com>
Add ztests for nrf70 bus lib to help validate functional integrity
of the QPSI/SPI interface to nRF70 device via appropriate reads/writes
from host processor to relevant memory blocks of nrf70 device.
Note that this will NOT serve as a memory test for nrf70 device,
rather just a functional verification of the wiring between the host
processor and the nrf70 device.
Signed-off-by: Bansidhar P.M <bansidhar.mangalwedhekar@nordicsemi.no>
The nrf wifi drivers include code related to qspi/spi bus. This work
moves bus related files to a new nrf70 bus library which is now
independent of the core driver and facilitlates building applications
directly using the bus APIs, agnostic to enabling wifi configs.
Signed-off-by: Bansidhar P.M <bansidhar.mangalwedhekar@nordicsemi.no>
Inform about the removal of space-separated lists in Twister config
files. Also provide guidance on how to migrated using a utility
script.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Support for space-separated lists was deprecated a long time ago
a91620f5bb so it is time to remove
support for them.
Any project that has not migrated can still use
`scripts/utils/twister_to_list.py` to automatically migrate twister
files.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Convert them to native YAML lists. Support for space-separated
lists was deprecated in Twister a long time ago.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Dynamic resource callback function signature has changed to combine the
data, data length and request header details into a struct
http_request_ctx. Update documentation to describe this, and add a note
in the 4.1 migration guide since this is a public API change.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Concurrent HTTP POST requests on different HTTP2 concurrent streams
require that the client's header_capture_context is re-used to capture
headers on a second stream before all of the body data has been received
(and sent to the application) on the first stream.
As a result, any captured headers must be sent to the application
callback before any headers can be received on a different stream. In
practice this means that for HTTP2 the application callback is called
for the first time on receiving a headers frame, before any data frames
are received. All subsequent application callbacks will not include the
request header data.
While this mechanism is not necessary for HTTP1, it is also updated to
only send headers in the first application callback for consistency.
Fixes#82273
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
To correctly handle concurrent HTTP POST requests via different http2
streams on the same client context, it is necessary to store the
resource detail at an HTTP2 stream level rather than at an HTTP client
level, otherwise only one resource detail can be stored.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Update TF-M reference to include a couple of commits which are
useful to properly size the stack & heap memory for Mbed TLS
in order to handle RSA signatures with 2048-bits (previously
only 1024-bits were possible).
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
So when building with twister we get the same executable name
as with compile.sh
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This test was starting to rot: BOARD should have been replaced
with BOARD_TS. Let's also remove a few duplicate checks
and definitions.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Some backends use DMA. Usually, DMA doesn't work correctly, when memory
to transfer is cached. Add a config to place the common buffers in the
nocache section.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Disable and enable SPI module before every transaction for STM32H7
chips. It is a recommended way in the STM32 RM. In another case, a first
byte of a transaction is always 0x00.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
STM32H7 chips have additional configuration regarding underrun event.
Configure the underrun behaviour correctly to use the underrun pattern
and clear the underrun bit before sending new data.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Move enabling CS interrupt at the end of the backend configuration,
when everything is ready.
It prevents handling the interrupt, when something is not prepared e.g.
DMA is not configured.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Fix support for clock domains. Create define that identify if
clock domain was selected in any of the st_stm32_spi_host_cmd nodes.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Add the DT_DMAS_CELL_BY_NAME_OR macro. It is almost the same as
DT_DMAS_CELL_BY_NAME, but it uses DT_PHA_BY_NAME_OR instead of
DT_PHA_BY_NAME.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
The implementation of can_mcan_start() function
hides retun code of underlying function.
It makes root-cause search more difficult.
This change strives fro transparent error code
propagation to higher software layers.
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
toolchain/xcc.h includes toolchain/gcc.h in some configurations
and this will lead to build errors as __in_section_unique_named()
and friends are defined multiple times.
Add ifdef guards to main definitions in gcc.h.
Fixes: 7e32b2069d ("toolchain: xcc: Avoid undefs")
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Default the Minimum encryption key size to 16.
Key with reduced size is easier to brut force.
Disable LE legacy pairing by default since it's not secure.
These defaults should suite majority of newly developed applications.
It's better to use sensible more secure defaults,
so applications that really need less secure option consciously change it,
not the other way around.
This may help to prevent downgrade attacks.
Signed-off-by: Sergey Korotkov <sergey.korotkov@nordicsemi.no>
Commit add `modcarrier` shell command for Openthread diagnostic mode.
Command can transmit modulated carrier out of device for test purposes.
Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
The deprecated CONFIG_NET_SOCKETS_POSIX_NAMES option is removed.
If one wishes to use POSIX API socket calls, then CONFIG_POSIX_API
option needs to be enabled.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Many NXP socs had the following defconfig:
```
config PINCTRL_IMX
default y if HAS_IMX_IOMUXC
depends on PINCTRL
```
However, the PINCTRL_IMX option already has:
```
config PINCTRL_IMX
bool "Pin controller driver for iMX MCUs"
depends on DT_HAS_NXP_IMX_IOMUXC_ENABLED
depends on HAS_MCUX_IOMUXC || HAS_IMX_IOMUXC
default y
help
Enable pin controller driver for NXP iMX series MCUs
```
So the soc level defconfigs are redundant.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Log the create BIG params for debugging purposes.
Also slightly modifies the `qos` struct to use a more
suitable struct to avoid always doing `qos->tx->` and
can now just be `qos->`.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Added dppic0 node label, alongside the dppic to maintain backward
compatibility. The use of dppic0 is preferred.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Changed the CMakeLists to enable the nrfx_gppi utilities based solely on
the CONFIG_NRFX_GPPI Kconfig. This unifies the configuration on all nRF
SoC families.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The resource reservation header is now included according to a Kconfig
value. The Kconfig can be overriden out-of-tree in case a different
header is needed.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Moving the blob client, dfd server and dfu server to their own
elements and increasing the CONFIG_BT_MESH_TX_SEG_MAX to 8 to fit
new composition data into composition data page status message.
Standalone mesh blob client and DFU distributor/update server models
requires one element and those elements only contain the main models
and the models they extend to.
Referring to MshMBT_v1.0 Section 6.1:
The BLOB Transfer Client model defines the messages listed in Table 6.1
, and requires one element: the BLOB Transfer Client Main element. The
BLOB Transfer Client Main element contains the BLOB Transfer Client
main model.
And referring to MshDFU_v1.0 Sections 6.1.1 and 6.2.1:
6.1.1
The Firmware Update Server model adds the state instances listed in
Table 6.1 and Table 6.2 and the messages listed in Table 6.3 to the
model it extends, and requires one element: the Firmware Update Main
element. The Firmware Update Main element contains the Firmware Update
Server main model and all the models that the main model extends.
6.2.1
The Firmware Distribution Server model adds the state instances listed
in Table 6.7 and Table 6.8 and the messages listed in Table 6.9 to the
model it extends, and requires one element: the Firmware Distribution
Main element. The Firmware Distribution Main element contains the
Firmware Distribution Server main model and all the models that the
main model extends.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
Referring to MshDFU_v1.0 Sections 6.1.1, 6.2.1 and 7.1.1 model
descriptions: DFU/DFD server/clients extend BLOB Transfer root models
and DFD server requires Firmware Update Client on the same element. For
this reason we need to make sure that those main models or root models
exist on the same element. And also firmware update client can not be
forced to be in the first element.
For all model extention call return the error code in case of an error.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
update test cases for twister
1. test_errors.py add protection.
2. test_handlers.py change call to status
3. test_testsuite.py change call to status
The log traces for TwisterException objects only.
And the stack trace output follow the same rules for all exceptions,
but StatusAttributeError with its dedicated handlers.
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Remove the deprecated can_get_min_bitrate() (replaced by
can_get_bitrate_min()) and can_get_max_bitrate() (replaced by
can_get_bitrate_max()) CAN API functions.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Remove the deprecated CAN_MAX_STD_ID (replaced by CAN_STD_ID_MASK) and
CAN_MAX_EXT_ID (replaced by CAN_EXT_ID_MASK) macros.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
One of the tests is failing since it was split out in 1a633609a0
triggering an assertion:
ASSERTION FAIL [((((size_t)(16)) << 10) - (((uintptr_t) (&_end)) -
0x20000000)) >= 8192] @
WEST_TOPDIR/zephyr/lib/libc/newlib/libc-hooks.c:139
Fix it by making the min_flash and min_ram parameters up to overall
test level.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The ruff linter and formatter should get a locked version to be installed
for compliance. This prevents new linter issues because of ruff updates
itself.
Ruff version 0.8.0 removed the deprecated UP027 rule so it's removed from
the ignore list.
Update the excludes file to match the actual reported issues.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This definition is deleted in the follwoing commit;
8233b70
as a part of "cleanup", however this definition is
used by smp_log
Signed-off-by: Arif Balik <arifbalik@outlook.com>
Use the "do { } while (0)" construct so the macro behaves like an actual
C statement in all cases. Also evaluate the macro argument only once.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Add support for Norik Systems Octopus IO-Board based on
Norik Systems Octopus SoM.
Supported features:
- LTE-M/NB-IoT
- GPS
- LED
- 3-axis accelerometer
- Battery charger
- Solar charger
- SPI NOR flash
- Nano SIM connector
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Add support for Norik Systems Octopus SoM based on nRF9160 SiP.
Supported features:
- LTE-M/NB-IoT
- GPS
- LED
- 3-axis accelerometer
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Add support for setting the sample frequency via `attr_set` and the
output data rate from device tree source.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Add build tests for the IT8801 MFD drivers, including GPIO,
Input and PWM functionalities.
GPIO, Input test: west build -p always -b native_sim
PWM test: west build -p always -b it82xx2_evb
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
IT8801 support GPIO alternate function switching.
Some GPIO pins can be switched as KSO or PWM function.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
The IT8801 is an I/O expander that provides GPIO, PWM, Keyboard
functions via the I2C bus.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
For Zephyr Cortex-A Core supports on NXP boards imx8mm, imx8mn, imx8mp,
imx93 and imx95, currently use DDR DRAM memory as Zephyr memory, so
change RAM dts nodes name to be "dram" in order to reduce confusion.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Rename "nxp,kinetis-adc12" compatible to "nxp,adc12" to remove the
device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
The initial proposal had the assert included, however this could break
downstream users and it was opted to not add assert in the driver API
calls.
Update the documented example to reflect that.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
For the C sources the offloaded raw TX mode wasn't considered and else
case picks up system mode files causing build issues.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
- Adds 'supported: flash' to all NXP board .yaml
with enabled flash controller support.
- Sorts supported features alphabetically.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Correctly selects the Kconfig symbols for viper CPU clusters
instead of having a reverse hwmv1 setup where the symbol has
a choice
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add `se` variant to support the low-cost CoreS3 SE.
- Add configuration files
Add `m5stack_cores3_procpu_se(.dts|.yaml|defconfig)` files.
Reorganize dts files to split common parts.
- Update .yaml file
Add gpio, can, counter, entropy, pwm, and pinmux to the supported
feature group. Remove the `ignore_tags:` section.
- Update documents
Add and modify information about CoreS3 SE.
Add more description about sysbuild.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Disable the IPC communication between the domains
for the arm_thread_swap test since it is not needed
and it causes a flash oveflow for the no opmitization
test case.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Enable the cpusec IPC and the bellboard nodes for
the nrf54h20dk cpuapp and cpurad targets to enable
communication between domains.
Also enables the region cpurad_ram0x_region since
it is also required for the communication.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
For the inverted pulse measurements, that should reflect
the duty-cycle off interval, the 1% deviation in test_capture
should be adjusted so it reflects duty-cycle off.
Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
As per the PWM API definition, -EBUSY should be returned
when pwm_enable_capture is called and capturing
is already enabled. This commit deals with adding
a ztest_suite_before_t function that should disable
capturing at the end of a single test. Some tests, though,
such as test_pulse_capture, execute two sub-tests
and so, capturing is disabled in between. In fact, the omission
of pwm_disable_capture should not only result in aborting
a single test, but it can also raise system exception
due to invalid context. This is the case for
z_impl_pwm_capture_cycles where z_pwm_capture_cycles_callback
can be fired whilst the routine has already aborted and so
struct z_pwm_capture_cb_data data, defined within function
declaration, should not longer be valid.
Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
It is recommended to record the subunit type itself instead of the
subunit ID when validating the transaction. This approach is more
meaningful and less prone to misinterpretation.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
check if multiples UART instances with same irq are enabled
at same time then enable shared_interrupt handler.
set the default value of SHARED_IRQ_MAX_NUM_CLIENTS config if
we have more than 2 usarts instances enabled.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Update the instructions for the three possible Bluetooth setups
(controller-only, combined build, host-only) to be in line with how the
features are actually enabled (e.g. device tree for the controller and HCI
drivers).
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Deprecate BT_CTLR, and add a new HAS_BT_CTLR as a virtual option which
specific users (like BT_LL_SW_SPLIT) select. This also means that we can
remove all places that were forcefully enabling the BT_CTLR option, and
instead we now depend on devicetree to get some local LL HCI driver
enabled which in turn also enables the HAS_BT_CTLR option.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Change running baudrate from `115200` from `3000000`.
Implement the function `bt_h4_vnd_setup` to update the HCI bandrate.
Add Kconfig `BT_H4_NXP_CTLR_WAIT_TIME_AFTER_BAUDRATE_UPDATE` to set
the waiting time after the controller bandrate HCI vendor specific
command sent. It is used to ensure the controller is ready to update
HCI bandrate.
Select `BT_HCI_SETUP` if `BT_H4_NXP_CTLR` is enabled.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Added hw_mode check of AP with hostapd when getting link mode of current
station. If the hw_mode of AP is 11b, then the link mode of current
station will show 11b.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves pthread_attr into a singular
testsuite at tests/posix/threads/ext app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Minor rework to group linters together and to leave the list open in
case more linters are added overtime
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
There's no need for the CODEOWNERS file anymore as figuring out
maintainership and performing reviewer assignment is done via the
MAINTAINERS file now
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Increase the number of locks to match what the ARC MWDT libc requires
now. The library wants to have 2 locks per each available FILE entry,
and then some more. Also do not include an internal libc header, as
all that is needed from that header is a simple typedef.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
If CONFIG_POSIX_API is enabled, but CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE
is not, the _write replacement should be provided to make stdio work.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Fix the issue: https://github.com/zephyrproject-rtos/zephyr/issues/79863
The expected_wakeup_ticks and sys_clock_tick_get_32() are uint32_t values,
and may wrap around individually.
If the expected_wakeup_ticks has a wraparound and sys_clock_tick_get_32()
doesn't, so expected_wakeup_ticks < sys_clock_tick_get_32(), the API return
value will be corrupted.
The API return value, that is the remaining time, should be calculated in
32bit-unsigned-integer manner, and any wraparound will be treated properly.
Signed-off-by: Akaiwa Wataru <akaiwa@sonas.co.jp>
The API was placed in RAM to support logging stack unwinding, however
device instances are also placed in ROM, so should the API instances.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Instead of writing to existing fake APIs, use dummy devices with empty
APIs. This allows us to place APIs in ROM.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Original implementation of `toolchain_linker_finalize` duplicates
the `LINK_FLAGS` in the link command. This can cause some problems
like duplicate definitions when using link options like
`--whole-archive`.
This commit fixes it by removing the duplicate `LINK_FLAGS`.
Fixes#82281
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Rename "nxp,kinetis-wdog32" compatible to "nxp,wdog32" to remove the
device family from its name.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
- Move selection of CONFIG_PINCTRL from soc to individual
drivers
- in accordance with issue #78619
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
When a given board or SoC is extended, it has more than one directory
associated with it, where the build system can look for Kconfig files.
Make sure all of them are also included for Kconfig compliance checks.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The nRF54L15 DK can now be used to emulate its lesser siblings, the L05
and the L10. Document this in the board reference so that user are aware
of this fact.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This commit explicitly type-casts data_bits to uint64_t
in order to fix implicit sign extension warning
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Now that OSAL code is moved form hal_nordic to nrf_wifi, update the
entries to reflect the same.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The DPPI and PPIB peripheral nodes must be enabled to allow the
CONFIG_HAS_HW_NRF_DPPIC to be set. This change is consistent with what
was done on nRF5340 and does not introduce any additional memory
overhead, because there is no Zephyr driver behind the nrf-dppic and
nrf-ppib bindings.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The UART_xyz_ENHANCED_POLL_OUT Kconfig was using an outdated property
for checking whether the peripheral has the endtx->stoptx short. The
property is now updated.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Removed implying of NVS by the NET_L2_OPENTHREAD, and from now a
platform can choose between ZMS and NVS as a settings backend.
NET_L2_OPENTHREAD still requires NVS or ZMS backend so the config
depends on one of those.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Fast PWM120 instance works with 320MHz clock, thus
pwm_nrfx_get_cycles_per_sec needs to be adjusted,
applying correct clock frequency.
Also, it uses cachable RAM, thus sys_cache function
needs to be added to flush the cached sequence.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Enable the early WakeUp Interrupt at init, once the WWDG instance
is correclty cloked. Else deadlock can occur.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
lwm2m_engine_set() and lwm2m_engine_get() locks
the registry_lock mutex, but this is not unlocked
when setting or getting a time resource where the buffer
lengths are invalid resulting in an early return without
unlocking the mutex. This results in a deadlock when
attempting to lock the registry in another thread.
Signed-off-by: Steven Poon <steven-github@outlook.com>
Update the HW models module to:
fbc6e614686b69dfa56f9694350b9488cf83d3f7
Including the following:
fbc6e61 HW models: Fix a few Wextra warnings
b164f15 nrfx replacements: Fix a few Wextra warnings
1f02d3b UART 54: Correct UART22 name
3172fdb UART(E): Add new pty backend
3015405 UARTE FIFO backend: Fix comment and typos
c29727a doc: UARTE is now implemented for 54L
64d9cdf 54 UARTE: Add support for Address bit and configurable data size
3745647 UART: FIFO backend ignore irrelevant CONFIG bits
3a20c98 54 UARTE: Add MATCH functionality
bceda1b Int controller: Provide logic similar to SEVONPEND bit
e66584f Makefile: Add variable to pass arbitrary build options
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Test test_one_tick_timer_train was failing due not being able to
execute enough 1 tick timeouts. Decrease system ticks frequency
to make the test pass.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Remove NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS Kconfig
which was defined twice with different values.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Gap filling in hex files are now disabled per default, and therefore
there is no reason to explicitly disable gap filling.
It has never been possible to disable gap filling in binary files.
Disabling gap filling would just result in the binary file to be gap
filled with the tool's default value, objcopy=0x00.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The llvm-objcopy doesn't support a gap-fill argument, therefore clear
the property to remove the error:
> llvm-objcopy: error: unknown argument '--gap-fill'
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Deprecate BUILD_NO_GAP_FILL as it gives a false impression that gap
filling can be disabled in binary files.
Binary files are always gap filled due to the fact they contain no
address information. Only option for binary files is to control the gap
fill pattern. When no gap fill is enabled in binary files, then a
default pattern is used by the tool, which usually is 0x00.
Generally the pattern 0x00 leads to unnecessary flash writes, as a
flash generally contains 0xFF after an erase.
Therefore provide a gap fill pattern Kconfig setting instead, with
default value of 0xFF.
For hex-files, intel hex and s19, then gap filling is generally not
needed but in order to still support cases where gap filling is required
then this commit introduces BUILD_OUTPUT_HEX_GAP_FILL and
BUILD_OUTPUT_S19_GAP_FILL. Both settings are disabled per default.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Add `DT_ANY_INST_HAS_BOOL_STATUS_OKAY` as a complement to
`DT_ANY_INST_HAS_PROP_STATUS_OKAY`. This macro exists because boolean
properties not present on a node are still generated with a value of 0,
and therefore cannot be used with `DT_ANY_INST_HAS_PROP_STATUS_OKAY`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The mechanism for communication between domains requires
extra threads. So change the default value MAX_THREAD_BYTES
to allow usage of more threads.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
The commit removes flash_area_open usage from tests, where it is not tested
and only used to obtain area.
The commit adds tests for flash_area_device_is_ready.
The commit adds test for flash_area_sectors, which is equivalent
of flash_area_get_sectors but takes flash area object instead of flash
area index.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds flash_area_sectors function that allows to get information
on sector/erase page layout by flash_area object pointer instead of
index.
The only difference between flash_area_sectors and flash_area_get_sectors
is that the later calls flash_area_open internally and as such requires
flash map to be compiled in.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds FIXED_PARTITION(label) macro that allows to obtain
struct flash_area object for partition of given label.
The macro allows instantiation of partition at point of usage
and will be replacing need for defining flash map with all partition
entries.
Area obtained with the macro should not be passed to open, instead
flash_area_device_is_ready, basically equivalent of device_is_ready
should be called on the obtained pointer to check if area is ready
for use.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Removes legacy configuration options. The same coverage is provided by
existing PSA_WANT_... selects.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Introduced few Kconfigs that allow to change default values
of MLE child timeout and child supervision timeouts.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
Similar to `stm32_ltdc_display_blanking_off()`, use local device variable
instead of accessing the config's structure member again.
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Change `GPIO39` to `GPIO38` in overlay.
The esp32s3_devkitc rgb led is connected to GPIO38, not 39.
Tested change on board and verified to function as intended.
Signed-off-by: david burke <david@aheng.io>
Make sure that `MBEDTLS_PSA_ITS_FILE_C` is not defined when
`CONFIG_SECURE_STORAGE` is enabled as the former takes precedence over
the latter in Mbed TLS (`psa_crypto_storage.c`).
This fixes usage of the secure storage subsystem by Mbed TLS on platforms
such as `native_sim`.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Allow configuring the clock prescaler divider for the NXP Kinetis
Timer/PWM Module (TPM). Setting the prescaler to a lower value
allows for higher resolution for the generated PWM waveforms.
This change is inspired from the pwm_mcux_ftm driver:
Link: https://github.com/zephyrproject-rtos/zephyr/pull/25396
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
This is line is breaking in some CI setups since the recent ruff fixup
with:
ModuleNotFoundError: No module named 'domains'
Try and fixit by explicitly adding the path before the include, all
other instances have it already.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Enumerate explicitly on which SoC's DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
should be set by default. For new platforms in the ACE series, the
default should be disabled.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Endpoint disable function is racing against bus traffic. If the bus
traffic leads to transfer completion immediately before the endpoint
disable is executed, then the transfer complete interrupt will remain
set when the endpoint is disabled. For OUT endpoints this leads to "No
buffer for ep" errors, while for IN endpoint this can lead to double
buffer pull which causes assertion failure.
The proper solution would be to change endpoint disable to not actually
wait for the individual events (and accept that the endpoint may not
need to be disabled because the transfer can just finish). For the time
being workaround the issue by clearing XferCompl bit on endpoint
disable.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Application is expected to call usbd_uac2_send() on each enabled USB
Streaming Output Terminal (isochronous IN data endpoint) exactly once
every SOF. The class is bookkeeping queued transfers to make it easier
to determine component at fault when things go wrong. However, this
approach only works fine if the underlying USB device controller buffers
the data to be sent on next SOF and reports the transfer completion
immediately after data is buffered (e.g. nRF52 USBD).
While DWC2 otg also requires the SW to arm endpoint with data for the
next SOF, unlike nRF52 USBD the transfer is only considered complete
after either the IN token for isochronous endpoint is received or after
the Periodic Frame Interval elapses without IN token. This design
inevitably requires the application to be able to have at least two
buffers for isochronous IN endpoints.
Support dual buffering on IN data endpoints to facilitate sending
isochronous IN data on every SOF regardless of the underlying USB device
controller design.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
When handling incomplete iso IN interrupt mark current transfer as
complete and program the endpoint with any subsequently queued packet.
Program the endpoint directly in interrupt handler because the data
must be programmed before SOF (by the time incomplete iso IN interrupt
is raised there is less than 20% * 125 us = 25 us before SOF).
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The NAKSts bit may be set on isochronous OUT endpoints when incomplete
ISO OUT interrupt is raised. The code would then assume that endpoint is
already disabled and would not perform the endpoint disable procedure.
This in turn was essentially halting any transmission on the isochronous
endpoint, abruptly terminating the data stream.
Fix the issue by always following full endpoint disable procedure on
isochronous endpoints.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Fixes a wrong placement of a Kconfig which was put into the
wrong file and was bleeding through to every board
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add myself to the ARC collaborators list, as I'm currently employed
by Synopsys to work on improving ARC support in Zephyr.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
This reverts commit 3d3ffa2c05.
The original commit aimed to prevent NULL pointer accesses by moving the
MMU mapping starting point one page later. However, this change has
caused a regression on PTL. Our DSP has registers with addresses lower
than 0x1000, and the firmware uses addresses starting from 0xC40. For
instance, the HDAMLDMICL register is located at 0xCC0, which is now
inaccessible due to the change.
Reverting this commit restores access to these critical registers and
resolves the regression issue.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
- Remove @julius-barendt as collaborator and code owner for areas
related to SPARC and LEON.
- Add myself to the same areas.
Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
Fix the out of bound buffer read by checking the lower-bound index
in the ov5640_enum_frmival function.
Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
Or more precisely, do not remove the workaround for them.
The current HW models are accurate enough in this area for the
workaround to work properly.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This fixes ruff linting error UP007,
where one would use Optional or Union
instead of X | Y notation.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Fixes ruff linting errors UP030, UP031, UP032,
which make you use format specifiers (fstrings)
instead of printf formatting or str.format().
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error F541,
where an fstring is used when a normal
string would suffice.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error F811,
where a module is reimported or otherwise
redefined without being used.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM115,
where files were opened without the use of
a context handler.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM105,
where try-except-pass construct was used
instead of contextlib.suppress().
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error B023,
where function definitions use
loop variables incorrectly.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error B904,
where an error raised inside an except
clause does not specify from where it
should start.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM102,
where multiple ifs were used instead
of combining them with and or similar
operators.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting errors UP021 and UP022,
where obsolete subprocess parameters were
still used.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
this fixes ruff linting error UP006,
where old typing types are still used
instead of newer, PEP585-compliant ones.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error E741,
where a variable name is ambiguous
or hard to read (e.g. l).
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM1101,
where a builtin, like any() or all()
has been reimplemented.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM114,
where there are multiple arms in an
if-elif-else construct with the same result.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM201,
where not is used instead of a more
appropriate comparison operator.
SIM202 exclusion was removed, as it
didn't apply to anything.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes ruff linting error SIM300,
where constant values are on the left
side of an expression.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes the ruff linting error SIM401,
where if-else construction is used instead
of dict.get().
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
This fixes errors E402 - module import
not at top of file.
One error in testplan.py left in,
as it is a part of a obscure 2020 fix
that would need to be re-tested.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
ruff check still detects a few linting errors
inside twisterlib.
We add them to the exclusion list to fix them
issue-by-issue in further commits.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
The west packages extension can be used to install module dependencies.
Upstream nanopb has added the pip package dependencies to the
zephyr/module.yml file. Remove in-tree pip package dependencies.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add a migration entry for the device driver API change, and start listing
driver classes that have been updated in-tree.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Move all adc driver api structs into an iterable section, this allows us
to verify if an api pointer is located in compatible linker section.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Tests the ADC clock domain on the stm32g0 serie
Possible ADC clock sources are SYStem clock (default) or PLL_P.
No clock source HSI for the ADC tested here.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add uart-pipe driver default option in device trees for silabs boards.
It enables vcom for the boards, handy to have for sample application, for
example tester app.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Sleeping in sysworkq is a very bad idea, it can trash any hope of
realtimeness at best, deadlock the whole system at worse.
Add a check to input_report to downgrade the event to K_NO_WAIT
automatically when called from the sysworkq, similarly to what's done by
other APIs (netbuf and bluetooth), though only log if messages are
actually dropped.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This adds a test that checks that the Subnet Bridge behaves correctly
when one or more of the involved subnets are undergoing the Key Refresh
Procedure.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
This introduces a global variable controlling the number of remote nodes
used in a given test case. This allows removal of the `TEST_TYPE_...`
enums and further tests in the future that can use different remote node
counts.
This also cleans up the test source by extracting common tester
initialization to separate functions, avoiding repetition.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Initializes the `net_idx` field of the ack context properly for KRP
functions in the Config Client.
This fixes a problem where `bt_mesh_cfg_cli_krp_get` and
`bt_mesh_cfg_cli_krp_set` would always fail the ack ctx comparison if
`key_net_idx` was != 0.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
This reverts commit ec0b9ccbc1.
This commit has two issues:
1. We already query signal poll just above, so, wastes time querying the
infor from the firmware.
2. Doesn't handle modes, i.e., queries even for AP mode as well.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Use the regex mode for zephyr-keep-sorted to verify alphabetical order
of projects.
Sort accordingly
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Use the regex mode for zephyr-keep-sorted to verify alphabetical order
of projects.
Sort accordingly
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Release HSI CLK48 semaphore when going to sleep to allow C2 (M0)
core to start and stop clock as needed while C1 core is not running.
CLK48 is shared between RNG and USB. RNG is needed by M0 during BLE
advertisement. If semaphore is locked, C2 core can start it when it
needs to but not stop it.
Fixes zephyrproject-rtos#69955.
Signed-off-by: Jonny Gellhaar <jonny.gellhaar@prevas.se>
Ambiq USB HAL do not expect endpoint transaction request when an
endpoint is stalled. This commit addresses this behavior in shim driver
by checking for endpoint's stall status when enqueue request is
received, and defer it until endpoint stall is cleared.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
Apply nRF54H20 `min-residency-us` and `exit-latency-us` values for
existing power states.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Add 128 MHz clock source and use it for uart00. Baudrate setting
must be adjusted based on uart clock source so without this
change there is wrong baudrate on uart00.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The test interfaces registered addresses within the same subnet. As now
only the subnet part of the address is verified when choosing source
address or interface, it was not deterministic which interface would be
selected. Therefore, make the two interfaces use two different subnets
so that tests that verified which address/interface was used work
reliably as earlier.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When IPv4 address is added, currently the netmask remains empty. This
makes it impossible to use the address now that the netmask is
considered during address selection if the application does not
specify the netmask manually. Therefore specify a default netmask for
IPv4 addresses added to an interface with Kconfig.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Bit-wise comparing of the entire IPv4 addresses doesn't make much sense
as when selecting the source address for communication, what really
matters is the subnet part.
Doing so may actually lead to unexpected results, i. e. two addresses
within the same subnet should be considered equally good for
communication within the subnet, yet comparing the unique part of
the address (beyond the netmask) may lead to different results.
This is a problem for the mechanism of preferring the default interface
for LL communication if two interfaces have LL addresses with the
default subnet mask.
Fix this by filtering out the subnet from the IPv4 address before
passing it to net_if_ipv4_get_best_match() function.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add a test case which validates that if two network interfaces are
equally good wrt net mask for LL IPv4 communication, the default
interface is preferred.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Currently we blindly return the LL address found on the default
interface or else on the first interface that has a valid LL address
configured.
This doesn't work well, if different interfaces have LL addresses
configured with a different subnet mask. Therefore, instead of blindly
selecting the address based on the first LL address encountered, use
net_if_ipv4_get_best_match() function for LL addresses to find the best
match for the given interface.
The rework takes into account current behavior, i. e. default interface
still gets the preference if there is no better candidate.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add a test case verifying that a proper source IPv4 address and
interface is selected for a given LL destination address.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Accessing DWC2 otg core registers before the clock starts results in
complete system hang. Add a 1 us busy wait to make sure that software
won't access registers before the clock is started.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The PSA Crypto implementation provided by Mbed TLS generally requires
some amount of heap to function, so enable the arena unconditionally
to make the test compatible with MINIMAL_LIBC configurations where the
arena is disabled by default.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves signal tests into a singular
testsuite at tests/posix/signals app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
With recent changes the regulatory domain is handled via the hostap
rather than by passing and going through the driver and hostap doesn't
have any option for forcing the regulatory domain, so, add a note to
reflect that this is implementation dependent to cover both hostap as
well other offloaded implementations.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Instead of depending on SPI/GPIO. This allows to just enable
CONFIG_LORA=y + DT node in the application layer. The same
pattern is nowadays followed by most drivers.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
The dns_unpack_answer() did not check the length of the message
properly which can cause out of bounds read.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If the packet parsing fails in dns_unpack_response_query(), then
do not continue further but bail out early.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
As the error print strings are very similar, construct the final
output at runtime to save some flash space.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Follow net coding style and remove extra new lines between
variable set and checking its value.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
We must do null check before trying to access the fields.
Fixes#81980
Coverify-CID: 434549
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
These devices have an architecturally fixed 13 MHz clock device. But
thankfully you can put a default into a DTS binding so we don't have
to repeat it for all of them.
Signed-off-by: Andy Ross <andyross@google.com>
Add Zephyr support for the Audio DSP on the MT8196 SOC. This is a
very similar device to previous designs. Most of this patch is just
DTS.
The biggest delta is the more complicated second level interrupt
controller, though it is still able to be represented using some
vaguely clever DTS config over the older intc_mtk_adsp driver.
Also the memory layout is slightly different, requiring a little
indirection to set the initial boot stack address and log output
buffer. And the timer "irq_ack" register bits moved.
Signed-off-by: Andy Ross <andyross@google.com>
New platform has different mappings. Auto-detect rather than parse
dts or similar, as this is is really just a simple format for testing.
Signed-off-by: Andy Ross <andyross@google.com>
The early boot function got renamed to a pseudo-standard "z_prep_c",
but this isn't an actual API and doesn't have a prototype in the
headers anywhere, so the compiler started whining about an undeclared
function.
Signed-off-by: Andy Ross <andyross@google.com>
Add a twister YAML file for these devices. Right now they're flagged
as xt-clang only, though xcc and SOF-derived gcc toolchains are known
to work too. We'll enable the zephyr SDK once sdk-ng support lands.
Signed-off-by: Andy Ross <andyross@google.com>
These are very similar devices to mt8195, minimal changes needed
beyond boilerplate configuration.
In the process, this reworks the board/soc layout to be HWMv2
compliant, with "adsp" becoming a CPU cluster beneath the SOC. So the
name of the boards to west become e.g. "mt8195/mt8195/adsp" (which can
be shortened to "mt8195//adsp" if desired).
Note that the cpuclk driver is not yet ported, it works only with 8195
(the clocking/power architecture seems similar between the parts, but
the graph of wells and clocks is different and historically these have
been three separate drivers in SOF). The biggest changes are in the
image/loader scripts, which needed some rework for cross-device
portability.
Signed-off-by: Andy Ross <andyross@google.com>
This is a feature of the 8195 DSP only, which is used only vestigially
by SOF to store data that nothing reads. The Linux kernel on the
other side uses a shared driver for all 81xx devices, which does not
expose the feature. It seems to work, but it's not worth maintaining
a driver in tree for legacy hardware that will never use it.
Signed-off-by: Andy Ross <andyross@google.com>
Wire the default printk output to the console at boot, just to be sure
we have stdio output good enough to get tests to pass.
Signed-off-by: Andy Ross <andyross@google.com>
This is currently selected by the arch, but some devices (in paticular
xtensa ones which have configurable interrupt setups) might not
actually be able to effect an irq_offload() from within an ISR even
though we have code for it.
Make this a default and not a select so that lower layers can override
the setting.
Signed-off-by: Andy Ross <andyross@google.com>
HD44780 controller can indicate via busy flag whether it's finished
processing current command. This allows for faster completion of HD44780
commands as seen from MCU perspective, as the MCU doesn't have to wait
for fixed long period of time. Implement this functionality.
Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
If proper power supply is used to power the hd44780, it initializes
correctly on a reset condition all by itself. However,
if the power supply is below its expectations (e.g. some 3.3V Nucleo
board), it won't initialize properly on its own, and the MCU
has to carry out the initialization as listed in the reference manual.
Since we cannot determine it properly in the runtime,
always carry out the initialization procedure.
Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
In order for the driver to be compliant with the timing sequence
diagrams presented in the reference manual, the MCU has to wait
for some additional period of time while setting both the rs and rw
lines.
Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
Express delay values in nanoseconds. Set the default delay time values
as specified in the HD44780 reference manual.
Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
There's no need to set this line every single time a command is sent
to the HD44780. Set it only once, so that one can save some cpu cycles.
Signed-off-by: Jan Kuliga <jtkuliga@gmail.com>
Add a note to status property that disabled parent nodes do not
implicitly disable child nodes.
Issue #82040
Signed-off-by: Andreas Rudolf <andreas.rudolf@husqvarnagroup.com>
#79174 incorectly interpreted the condition. If no simulator is found
if cannot be "renode" and therefore robot should be considered unsupported.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Verify the result of the fs_read() operation when handling filesystem
resources, and abort processing the resource in case of errors.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Reset the server timestamps after bootstrap to handle a case
where a new server instance has replaced the bootstrap server
instance.
Signed-off-by: Stig Bjørlykke <stig.bjorlykke@nordicsemi.no>
In case lwm2m_get_engine_obj_field() fails to find a corresponding
object field when iterating resource instances, simply skip that
resource instance when printing object instance contents.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Support write OMA TLV resource instance in LwM2M 1.1.
Accept OMA TLV as default content format.
Signed-off-by: Stig Bjørlykke <stig.bjorlykke@nordicsemi.no>
The network interface name that is copied to if_req struct might
be missing terminating null for IPv4.
This is fixing the IPv4 issue which was missed in previous fix attempt.
Fixes#74795
Coverity-CID: 368797
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
As k_sleep returns int32_t, there is a possibility for integer overflow
during conversion from milliseconds to nanoseconds.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Nanosecond time calculation overflows if the libc has 32-bit time_t.
One such libc is the classic ARC MWDT one, but there might be others.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Separate the current driver for the FPGA iCE40 into two different ones.
One implements only the SPI load mode, the other one only the GPIO
bitbang mode.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
As BT now uses PSA crypto API instead of TinyCrypt, entropy generator
is now needed for a proper bluetooth operation.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit comments out some test AC cases that are failing in bsim.
These will be investigated in PR #82199.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This reverts commit 184c0f9e9d.
Reducing system heap memory to 1024 caused runtime failures on some
platforms. This commit revert that change and return to the previous
size.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
After the switch from TinyCrypt to PSA Crypto API as crypto
backend, runtime crashes might happen on some platform due
to BT_LONG_WQ's stack size not being large enough. This
commit fixes this issue.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
When BT_SEND_ECC_EMULATION and the platform uses Mbed TLS as PSA
Crypto provider, we select the Cortex-M software optimized
implementation of the secp256r1 curve algorithms. This is much
faster than the standard support provided by Mbed TLS and it
also reduces ROM footprint.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This board is mostly the same as mini_stm32h743.
Noatable diffrences for dt:
- rcc config
- octospi in quadspi mode
- pinmux naming for USB and quadspi
Signed-off-by: Sahaj Sarup <sahaj.sarup@linaro.org>
Several of the codec helper functions used @retval incorrectly
Several functions referenced @ccid_list incorrectly
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Allow `nrfs_backend_send` to push early requests into the message queue,
but defer sending them until a connection is established, at which point
the queue will be flushed. This benefits asynchronous code by making it
optional to call `nrfs_backend_wait_for_connection` before using the
nrfs service API, which is already non-blocking.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Added ability for host MCU to perform a hardware reset of the DA14531
contained on the Mikroe BLE Tiny Click.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Introduce `CONFIG_RISCV_GP_PURPOSE` choice to make sure that only
one of `CONFIG_RISCV_GP` or `CONFIG_RISCV_CURRENT_VIA_GP` can be
enabled, instead of relying of dependencies.
To do that, introduce a new
`CONFIG_RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING` that can be selected
by SoC when it implemented global pointer (GP) initialization for
relative addressing in its linker.
`CONFIG_RISCV_GP` will be the default choice when
`CONFIG_RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING=y`
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Reset the the `gp` register to `_kernel->cpus[i].current` when
`CONFIG_USERSPACE` is enabled on exception to keep it sane.
Updated the testcase to test both `CONFIG_RISCV_GP` and
`CONFIG_RISCV_CURRENT_VIA_GP`.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This commits puts in order log messages when unpacking CDP0 and CDP1 so
that it a bit more clear where the error happens.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This commit checks that config client doesn't pull out data outside of
the buffer.
Fixes#80012
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
There is a mistake and the cpuapp_ram0x_region "reg" value should
start from 0x2f011000.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
We need to drop the cloned packet that was fed to the bridge instead of
returning directly from the function. Without this change we have a
buffer leak.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If the packet cloning failed, bail out in order to avoid
null pointer access.
Fixes#81992
Coverity-CID: 434493
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If nrf52840dk/nrf52840 is an integration platform, it should also be an
allowed platform, otherwise the test run breaks down.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Coverity complains about uninitialized prohibited fields. Even though it
is not used because it is "prohibited", it is simpler to just
initialized it with the value received from a server.
Fixes#81939
Coverity-CID: 434649
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The commit removes storage.stream_flash.mpu_allow_flash_write as it was
pointless, and moves nrf52840, as integration platform, to
storage.stream_flash.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Do all input validation etc BEFORE setting up configuration,
instead of mixing these things everywhere. Also condense the formatting
of the code.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Remove unneeded prepare_start function since all uses of it are paired
with the start function. Also, probably should not mess with chip select
before deciding to do the transfer. And just return on some error like
the rest of the driver does instead of assert.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Next packet function is way more complicated than it needs to be. Clean
it up by simplifying the code and making readable helper functions.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Move transceive funtions next to each other and clean up the wrapping of
functions to eliminate the ifdefs.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Small change to consolidate the amount of lines of code in
the spi_mcux_isr by making a macro for the argument and removing
a line of code that was commented out.
Also move the ISR to be the first function in the file which is
common in many other drivers, instead of randomly in the middle of the
file. And move the isr callback to be next to the isr.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add closing comment for #ifdef and remove unnecessary
indentation of an else block. Also move the transcieve_rtio
function to be near the other rtio functions. And move function
prototypes to top of file.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Create helper functions for duplicated code related to
checking for DMA devices, with readable names.
Also remove unneeded function prototype.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Do initializations in a more logical order,
remove unnecessarily duplicated code,
reorder stack variables to be in reverse christmas tree order.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Remove parent_dev from config struct, and simplify code for the
definition and use of the irq config function.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Organize #includes and #defines for less redundancy
and more readability.
Shorten some macros to avoid multi line statements.
Add some comments.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves spinlock into a singular
testsuite at tests/posix/spinlocks app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Remove implementation of pin configuration for Series 2 devices.
The silabs,dbus-pinctrl driver should be used instead.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The GECKO_PIN() macro does not do anything except pass the
argument through unaltered. It only serves to make DeviceTree
files more verbose. It was inconsistently used, make the .dts
files consistent by never using it.
The DBUS pinctrl driver doesn't use the port or location macros
from the gpio_gecko.h header. The pin number macro is the only
other thing defined in this header. Stop including the header on
Series 2 based boards.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Swap from silabs,gecko-pinctrl to silabs,dbus-pinctrl for all boards
with Series 2 SoCs. Explicitly declare pin properties as part of
pinctrl pinout configuration.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Silicon Labs Series 2 and newer devices do alternate function
configuration fundamentally differently from Series 0 and 1. Pin routing
is done in a centralized fashion in the GPIO peripheral, as opposed to
having ROUTE registers in every peripheral. The concept of alternate
function location numbers also does not exist, functions are directly
assigned to GPIOs by their port and pin number.
This commit adds a new pinctrl driver for devices that use DBUS. It fully
makes use of pinctrl design principles as outlined in the Zephyr
documentation. The previous driver hard-codes pin properties such as filter
and pull-up/down in the driver itself, while the new driver leaves this up
to the user as configurable DeviceTree properties. The previous driver has
hard-coded support for UART, SPI and I2C, while the new driver has generic
support for all DBUS signals.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
This moves GATT releated defines that are used by both Mesh Proxy
Service and Mesh Provisioning Service implementations to a common
header file.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
By default if CONFIG_BT_MESH_PROXY_USE_DEVICE_NAME
or CONFIG_BT_MESH_PB_GATT_USE_DEVICE_NAME is enabled, the mesh stack
will add BT_DATA_NAME_COMPLETE AD Type along with the Mesh Proxy Service
or Mesh Provisioning Service advertisements accordingly.
When BT_LE_ADV_OPT_USE_NAME was present and
CONFIG_BT_DEVICE_NAME_DYNAMIC is enabled, the advertised name was
automatically updated by the host. This turned out to be a side-effect
rather than expected behavior and after #71700 this behavior waa
changed.
But customers use dynamic name feature.
This commit makes the mesh stack use bt_get_name to get the device name,
which returns runtime name if CONFIG_BT_DEVICE_NAME_DYNAMIC is enabled.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Moving from TinyCrypt to PSA Crypto API caused failures in the cpu_net
build due to RAM being overflowed. It turned out that 8192 bytes were
allocated for system heap memory, but Mbed TLS is the only user
of that memory (I found this though puncover) for AES purposes.
We reduce that to 1024 bytes because this should be enough for
this purpose.
Note: albeit this is also a standalone example, it's used extensively
in other samples/tests and babblesim, so a failure in building it
propagates in a lot of other failures.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Increase test and main stack sizes for the qemu_cortex_m3 platform
in order to be able to successfully run the test.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This commit fixes
tests/bsim/bluetooth/ll/multiple_id/tests_scripts/multiple.sh.
The reason is that this test seems to depend on random number
sequence in order to have the proper scheduling.
It also fixes some AC tests by commenting out failing test
cases. The reason of the failure is still unknown and needs
to be investigated in future work.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Moving from TinyCrypt to PSA Crypto API caused an entropy source
to be always required, so this commit adds it in tests where
necessary.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
BT uses PSA Crypto API to perform crypto operations and, on this
platform, these APIs are implemented through Mbed TLS. In order
to properly initialize this library, a random number generator
is required.
* If the platform supports an HW entropy generator (ex: native_sim,
nrf), then ENTROPY_GENERATOR must be used;
* Otherwise (ex: qemu_cortex_m3) test random generator can be
enabled.
Enabling the proper option at board Kconfig level allows for
a more compact code change instead of manually editing _all_
the samples/tests that required this fix.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
On platforms like nrf5340 there are 2 CPUs:
- one is the cpu_net which takes care of the radio stuff and
owns the HW random generator
- one is the cpu_app which holds application data and polls
cpu_net through HCI commands when it needs some random data.
The PSA core implemented in Mbed TLS needs random data at initialization
time, which happens early in the boot process. If we wait for BT to
be ready before issuing the HCI command, then PSA core intialization
will fail. In facts there is no need for the BT to be completely
initialized just to ask for some random data from the cpu_app to
the cpu_net since the HW random generator will likely be already
functional in the cpu_net.
So let's just try the HCI command and, if something is not right,
it will fail anyway. There's no need to anticipate the failure.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Increase the number of key slots in the PSA Crypto core
for some tests using more keys than the default (16).
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Include Mbed TLS headers to the build system. This is required
because these tests do not follow the "standard build pattern"
of Mbed TLS in Zephyr, otherwise include files would be already
available after the library has been linked. In these examples
some BT source files and Kconfigs are manually added to the
CmakeLists.txt file bypassing the standard library build pattern,
so Mbed TLS headers must also be added manually.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
As part of the work of deprecating TinyCrypt in favor of
PSA crypto API, this commit fixes some kconfigs in order to
reduce the RAM footprint. In all involved samples RAM usage
was extremely high even with TinyCrypt (usually > 98%) and
of course it got overflowed once TinyCrypt got replaced by
Mbed TLS's PSA Crypto API.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Since the TinyCrypt library is being deprecated in Zephyr, this
commit modified the dependencies of BT_RPA. Instead of selecting
TinyCrypt, it relies on BT_HOST_CRYPTO or BT_CTLR_CRYPTO. This
helps both in the deprecation process of TinyCrypt, but also this
is more correct dependency since these 2 symbols are extensively
used in the rpa.c source code.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Since the TinyCrypt library is being deprecated in Zephyr, this
commit set TinyCrypt usage in BT mesh as deprecated and it sets
Mbed TLS PSA Crypto API as the default option (when TF-M is not
available).
Tests are also updated in this commit.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This commit sets PSA Crypto API as the default library to perform
ECC-DH in HCI, replacing TinyCrypt (which is being deprecated).
Therefore the symbol BT_TINYCRYPT_ECC is renamed as BT_SEND_ECC_EMULATION.
References in samples/tests are also fixed.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
CONFIG_BT_USE_PSA_API was used in BT crypto/host modules to select
PSA crypto API over TinyCrypt (which was the default until now).
Since TinyCrypt is being deprecated and PSA crypto API is the new
standard library for crypto operations, CONFIG_BT_USE_PSA_API is
no more needed.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Update TF-M revision to include a fix for crypto_sizes.h header
which is no more aligned to the Mbed TLS one and this causes
build failures in tests.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Flash node should not be under the peripheral bus, it is not a
peripheral. The base address of the flash was getting set correctly by
accident due to the fmu node mapping it out of the range of the
peripheral node by coincidence.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
- Fixes MCUBoot build error when enabled Serial Recovery via USB CDC ACM.
- Increases MCUBoot partition size.
Signed-off-by: Andrej Butok <Andrey.Butok@nxp.com>
FH4X SoC type contains improvements in ROM code that
can save up to 35kB of memory.
Update hal_espressif in order to select proper linker
file based on upon SoC model.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.
RTIO stream is using both SENSOR_TRIG_FIFO_WATERMARK and
SENSOR_TRIG_FIFO_FULL triggers. The decoder currently only supports
following FIFO tags:
- LSM6DSV16X_XL_NC_TAG
- LSM6DSV16X_GY_NC_TAG
- LSM6DSV16X_TEMP_NC_TAG
Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:
- fifo-watermark (defaults to 32)
- accel-fifo-batch-rate (defaults to LSM6DSV16X_DT_XL_NOT_BATCHED)
- gyro-fifo-batch-rate (defaults to LSM6DSV16X_DT_GY_NOT_BATCHED)
- temp-fifo-batch-rate (defaults to LSM6DSV16X_DT_TEMP_NOT_BATCHED)
Signed-off-by: Armando Visconti <armando.visconti@st.com>
- Disables on reset NMI and EzPort.
- Fixes possible reset and power-on issues.
- Already applied for K64, now applying for the rest of Kinetis.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
In cases were west modules did not change, skip. This happens when
manifest layout changes, but without SHA changes.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The timer count calculations are done with the assumption that the
prescalar is disabled. When using u-boot's SPL as an early boot stage,
the omap timer driver enables the prescalar leaving this driver to
calculate incorrect counts. So explicitly disable the prescalar to match
the driver expectation.
Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
Disabled data caching for nRF54H20dk in wdt_basic_api test.
It caused variables stored in noinit section to be cached,
resulting in reset loop.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
BUS_5V regulator is placed in the i2c peripheral, where it does
not belong. Move 5V bus regulator to board common definitions.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The API documentation already states that the controller may require
the scan interval and window used for scanning and connection
establishment to be equal to obtain the best performance.
This commit prints out a warning when this is not the case. The code
size is unchanged when `CONFIG_BT_SCAN_AND_INITIATE_IN_PARALLEL=n`.
This makes application developers aware that using the parameters
`BT_LE_SCAN_ACTIVE_CONTINUOUS` with `BT_CONN_LE_CREATE_CONN` may not
give the best performance.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Add minimum flash requirement to the tests. This will effectively
exclude nrf5340dk/nrf5340/cpuapp/ns as it does not have
enough flash for the application.
Fixes#81862
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Traditionally threads have been initialized with a PRESTART flag set,
which gets cleared when the thread runs for the first time via either
its timeout or the k_thread_start() API.
But if you think about it, this is no different, semantically, than
SUSPENDED: the thread is prevented from running until the flag is
cleared.
So unify the two. Start threads in the SUSPENDED state, point
everyone looking at the PRESTART bit to the SUSPENDED flag, and make
k_thread_start() be a synonym for k_thread_resume().
There is some mild code size savings from the eliminated duplication,
but the real win here is that we make space in the thread flags byte,
which had run out.
Signed-off-by: Andy Ross <andyross@google.com>
This table just blindly assumed that the values of _THREAD_xxx state
bits wouldn't change. That's dangerous. (That's right, I tried to
change them and broke it.)
Signed-off-by: Andy Ross <andyross@google.com>
The board name should have the same size as all the other attributes
in the board's "Wikipedia card".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a spinel support to an RCP design, the core of OpenThread lives on the
host processor connected to an RCP radio controller over a HDLC interface.
Signed-off-by: Jamel Arbi <jamel.arbi@nxp.com>
In most implements, the msip base address is 0x2000000. But the address
is not fixed in all boards.
Signed-off-by: Yang Jialong <yangjialong@vcore.com>
The commit removes flash_area_open usage from tests, where it is not tested
and only used to obtain area.
The commit adds tests for flash_area_device_is_ready.
The commit adds test for flash_area_sectors, which is equivalent
of flash_area_get_sectors but takes flash area object instead of flash
area index.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds flash_area_sectors function that allows to get information
on sector/erase page layout by flash_area object pointer instead of
index.
The only difference between flash_area_sectors and flash_area_get_sectors
is that the later calls flash_area_open internally and as such requires
flash map to be compiled in.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds FIXED_PARTITION(label) macro that allows to obtain
struct flash_area object for partition of given label.
The macro allows instantiation of partition at point of usage
and will be replacing need for defining flash map with all partition
entries.
Area obtained with the macro should not be passed to open, instead
flash_area_device_is_ready, basically equivalent of device_is_ready
should be called on the obtained pointer to check if area is ready
for use.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
add vendor_allow and vendor_exclude to the list of filters. The vendor
data is maintained in the board.yml files.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Prior to running the compliance checks, we rebase the PR onto the target
branch to check the compliance state as if we were merged.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The gperf tool automatically selects the optimal data type for the
asso_values table, depending on MAX_HASH_VALUE. However, there is
a corner case when the tables generated on different stages of the
build process have different data types, causing a link-time error.
Upgrade the data type for the table from unsigned char to unsigned
short to at least exclude this 8-bit to 16-bit transition. There is
another potential issue with the 16-bit to 32-bit transition, but
it seems not very likely to have 65k kernel objects anytime soon.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
The video CIDs got changed, and users will be impacted and need to
rename some constants. Offer a strategy for finding the new names in
the migration guide for the upcoming release.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Make controls more readable and intuitive to extend, with definition
of each control value to help disambiguate between similar controls,
such as BRIGHTNESS vs GAIN.
Move the class definition to the top of each relevant class, like it
is on Linux for the V4L2_CID_..._CLASS_BASE variables.
Signed-off-by: Josuah Demangeon <me@josuah.net>
This uses Linux V4L2 controls as a reference to give names to the
CIDs. Apply the renaming down to the drivers that use them.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Refers to the CID numbers found in the Linux Kernel so that each CID
of Zephyr matches the CIDs of Linux. The new CIDs introduced in
Zephyr can then follow the same number and naming found on Linux.
No renaming of the CID macro names is done yet.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The V4L2 and V4Z list of control IDs are slightly different. Use the
same CIDs as Linux, with the exact same numbers to facilitate debug
and co-development.
This also rename the GENERIC class into BASE as in Linux. No change
in the video CIDs names in this commit.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Unless the PHY is managed by LE power control, the CS procedure phy
needs to match the ACL phy.
Disabling the auto phy updates keeps the ACL on 1M.
The alternative would be to read the current phy by enabling
BT_USER_PHY_UPDATE but this still doesn't work if the phy is changed
after being read.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Handling the security changed callback was missing, so it could happen
that the sample would try to read remote capabilities before the link
was encrypted, which is not allowed.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
The special value 0x8000 is just outside the range of an int16_t,
so this should help make sure whatever overflow behavior is entered
by using the step data structs on protocol bytes is the same as this
macro.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Because the number of ACL RX buffers must be at least the number of
maximum connections plus one, increasing `CONFIG_BT_MAX_CONN` could
inadvertently lead to a build failure if the number of ACL RX buffers is
not also increased. This dependency may not be obvious to users.
To address this issue, this commit deprecates the
`CONFIG_BT_BUF_RX_COUNT` Kconfig symbol and computes the value in
`buf.h` using the new `BT_BUF_RX_COUNT` define. Note that the default
value and the minimum range value have been changed to 0 to "disable"
the option.
Additionally, to allow users to increase the number of ACL RX buffers,
this commit introduces the new `CONFIG_BT_BUF_RX_COUNT_EXTRA` Kconfig
symbol. The value of this symbol will be added to the computed value of
`BT_BUF_RX_COUNT`.
The configurations of tests and samples have been updated to reflect
these changes.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
The README files of these samples already indicate that they use the
Zephyr-specific HCI vendor extensions, but this may still not be clear
enough to some users, as evidenced in #81779. Add build asserts to make
sure the samples only build when Zephyr VS extensions have been enabled.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This sample requires Zephyr HCI vendor extension support by the used
Bluetooth controller. In the case of qemu this needs to be explicitly
indicated by enabling the corresponding devicetree property.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This commit refactos set_actual_position to set_reference_position.
stepper_set_reference_position is more apt in regards to what this func
actually does
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
when receiving the io cap request from controller, call
pairing_accept to check whether application accept the
pairing. If no, reply BT_HCI_OP_IO_CAPABILITY_NEG_REPLY.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
The check combination of "is zero" and then "less than zero" leaves open
the theoretical possibility of a positive return value, which would
continue on with an uinitialized 'rela'.
Checking for "not zero" has the same effect and covers all situations.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Instead of depending on GPIO. This allows to just enable
CONFIG_INPUT=y + DT node in the application layer. The same
pattern is nowadays followed by most drivers.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Detect duplicate TestSuites on load, and raise error when it happens
with `--no-detailed-test-id` option which shortens TestSuite name
excluding the test project path prefix, thus increasing chances
for duplicates. Without this check, only the last duplicated
test configuration was selected while others silently ignored.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Fix duplicate test scenario error reporting to show paths to all
twister.yaml configuration files where these duplicates were found.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Updates the Kconfig condition to support trigger functionality for INA236.
This will get rid of `warning: INA230_TRIGGER (defined at
drivers/sensor/ti/ina23x/Kconfig:43) was assigned the value 'y' but got
the value 'n'.` if INA230_TRIGGER is enabled.
Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
Optimize 'device_get_binding' function search so that
when a matching device is found, it returns NULL if
it is not ready.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Convert the eDMA compat to prop version for NXP S32Z2 SoC
that was missed in commit b070da7c33.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Fix CIS offset calculation by Central for subsequent CISes
such that when compensating for dissimilar ACL and ISO
intervals, ensure that minimum offset does not cause a
collision between the ACL and the CIS event at the instant.
Fixes commit 3b3d53f09e ("Bluetooth: Controller: Fix CIS
offset_min for dissimilar interval").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The #81456 fixed the driver issue related to issue #81454. This add
the RTC configurations on sam_v71_xult board to enable test coverage.
Fixes#81454
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Several arguments were added but have not yet been aligned with others
in the same function. Hence, use `getopt_state` to access `optarg`,
offering a better alternative to direct global access.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Instead of maintaining two lists, use the requirements file for
installing compliance dependencies.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
nrf5340_hci_ipc.conf and nrf5340_hci_ipc_cpunet.conf were board specific
rename them for generic multi-core board support
Signed-off-by: Aytürk Düzen <ayturk.duzen@nordicsemi.no>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves fnmatch, getopt and getentropy
into a singular testsuite at tests/posix/c_lib_ext app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Without this PTS tests do not pass. These values are copied from a
commit aimed at unifying the prj.conf files in this directory. I do not
know which of these are strictly necessary to make the tests pass.
Copying them all poses no harm since the unification will be done later
anyway.
Co-authored-by: Szymon Janc <szymon.janc@codecoup.pl>
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This API gives better control on L2CAP COC credits and suits better
for Upper Tester implementation.
Co-authored-by: Szymon Janc <szymon.janc@codecoup.pl>
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This fix calling seg_recv() callback being called even though channel
is being disconnected due to SDU overflow.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Enable some high reliability CAP tests by increasing ISO Tx
buffer counts in the Controller to sufficiently generate
number of complete when multiple SDUs are transmitted in
single ISO interval with use of pre-transmissions.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ISO Sync Receiver implementation to correctly prevent
subevent from pre-empted in the unreserve time space.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ISO Sync Receiver time reservation calculation to use
peer broadcasted bis_spacing and sub_interval, instead of
incorrectly calculating using local implementation used
tMSS value.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ISO Sync Receiver implementation to correctly reflect
the payload number and timestamp for the skipped SDU.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update the device driver API documentation with the new DEVICE_API
macro definitions and how to use them.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Extend the device subsystem enumeration script to produce a CMake
pre-load script.
This allow CMake linker generator scripts to create iterable sections
based on output from device subsystem enumeration.
This ensures that same functionality is available in both ld linker
templates and the linker generator.
Update linker generators to support the use of the device subsystem
enumeration CMake pre-load script.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Create a CMake preload file with linker settings which is then passed
to the linker script generator as preload file.
This removes the need for command invocation with long arguments.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Add macro definitions for device drivers to instantiate API structs
into iterable sections and to evaluate them.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The device enumeration feature requires all devices
to place their API implementation in linker sections
by api type. This commit adds a script which uses
the tag __subsystem to identify all existing driver
API types and generate iterable sections for them.
The script is invoked from the top CMakeLists.txt
Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
Co-authored-by: Pieter De Gendt <pieter.degendt@basalte.be>
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Per the docs, the memory at address 0x80000000 ends at 0xC0000000.
In other words, the address space is 0x40000000, which is only half
of the size we want to map. This means that the upper address space
previously mapped was overlapping with the space reserved for non-cached
memory.
Instead, we map the entire 2GB at 0x1000000000, which is the correct
address for cached DDR that occupies more than 1 GB.
We defined a new node in the device tree for this memory region,
`beaglev.ddr_cached_high`. We did not reuse the `soc` node because
we needed to redefine the `#address-cells` to be 2, and doing so
would have affected other nodes under `soc`.
Signed-off-by: Alex Charlton <alex.n.charlton@gmail.com>
uart1 is not connected to anything as far as I can tell.
uart0 was the previous correctly selected uart, so this changes
back to that.
Signed-off-by: Alex Charlton <alex.n.charlton@gmail.com>
This build would fail in CI for reasons that are not obvious.
```
west twister -i -p qemu_arc/qemu_arc_em \
-s tests/posix/common/portability.posix.common.userspace
scripts/build/gen_kobject_placeholders.py did not reserve \
enough space for kobject rodata.
```
It's the only platform that fails this way.
Exclude it from this test temporarily until #82059 is fixed.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
add display type for fixtures to avoid conflcts
in NXP platform
1. add required regex for console harness.
2. add message after processing, ensure the flow is OK
3. reduce the test time in TEST mode
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Fix for conversion of temperature values in adxl367_temp_convert
and missing break statement.
Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
Fix for SPI communication when RTIO is used in SPI driver. When in
adxl367_bus_access, const struct spi_buf buf[3] is used,
spi_rtio_copy function won't set correct buffers and length
for buf[2] and that will cause exception when that buffer is
processed.
Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
Since the label property from base.yaml is no longer deprecated, no need
to require to explicitly block it.
The only affected bindings seem to be these test bindings.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Label property is described in DT spec and does not need to be
deprecated in base.yaml anymore. It was originally deprecated to
discourage what was previously the most common use case of labels in
zephyr which was the old device_get_binding, which was rightfully
removed. However, labels do have a purpose as described in DT spec of
providing a human readable string to software to describe the device,
which there is some use for.
The description of a label should be given in the device binding, as
stated in DT spec.
Label properties should be of type string.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
- Trace32 runner: no need to configure TE bit in CFG_CORE
register in the cmm start-up script, it can be configured
at Zephyr start-up code when required (via SCTRL register)
- MPU static regions also needs to be updated for XIP and
non-XIP
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Add devicetree node for code RAM, code RAM can be accessed
over AIXM bus or AXIF bus. Code access via AXIF interface
provides the best optimal performance
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
On Arm Cortex R52, cache segregation policy controls the
number of L1 I/D cache ways that are allocated to Flash
and AXIM interface. Adding Kconfig options for configuring
it.
Writing to IMP_CSCTRL is only permitted before the caches
have been enabled, following a system reset.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Use Zephyr cache API to initialize cache as done for
various platforms. Enabling CACHE_MANAGEMENT by default
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
The ctx_shell was only used a single place and in a function
that already has a `sh` that would be better to use.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
There is no point in using lock or semaphore to read current
usage counter as it may change after unlocking or giving
back the semaphore. Value can only be trusted in the controlled
environment (e.g. test).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The ASCS unit tests had various errors after adding support for
dynamic registration.
Several tests did not properly clean up after failure, causing other
tests to fail when they shouldn't.
Moved the register tests to their own file as they should not
do the register in the "before" function.
The test_ascs_unregister_with_ases_in_config_state test was also
removed, as it had both issues and the state that it wants to test
cannot be reached with the current API - It is not possible to
put an ASE in the configured state without callbacks,
and registered callbacks prevents us from calling
bt_bap_unicast_server_unregister to trigger the case as that can
only be done if callbacks are unregistered. Since unregistering
callbacks also puts all ASEs to the idle state, it is not possible
to call bt_bap_unicast_server_unregister for a non-idle ASE.
The testcase.yaml was also missing some Kconfig options to
properly enable the client tests.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Instead of requiring one big buffer for formatting the output,
have a walk function that can be used to generate output by
one metric at a time.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Remove the "static" from HTTP service definition macro so that
user is able to add it or leave it out if needed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add collector parameter to metric creation macros so that it
is possible to bind the metric to collector already at built
time.
Also add optional user_data to metric macro calls so that user
can add optional data there. This will be used by network statistics
Prometheus support in subsequent commits.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
When creating prometheus network statistics variables, we need
to map the variables back to the collector, so add a backpointer
to it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Embed "struct prometheus_metric" to individual metric like
counter, gauge, histogram and summary. This way we avoid having
a separate base pointer in specific metrict struct. We also do
not need to search the specific metric from base metric as
we can simply use CONTAINER_OF() macro to get the base metric.
This embedding means that the counter, gauge, histogram and summary
metric define macros are changed as user does not need to create a
separate "struct prometheus_metric".
Convert the tests and sample to use the new macros.
Remove also the static from metric creation macros so that user
can decide whether it needs collector to be static or not.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of allocating space for description and label name + value,
have a const pointer for it. The data is set typically statically
when the metric is defined, so there should be no need to allocate
separate buffer for those strings.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This is similar function as add, but will add the difference of
previous value and the new one. This can be used if we want to
periodically update the value with a new one but don't want to
keep track of the old one.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Benchmarks are not tests, we run them to verify they still work and do
not bitrot. Running them on each architecture should be sufficient.
This reduces amount of churn in CI and still allows them to be run
individually on platforms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This adds the board name (displayed as a code literal) to the "Wikipedia
card" for quick reference.
Fixes#81652.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Don't duplicate the test's output running it on `native_sim` after
`LOG_BACKEND_NATIVE_POSIX` was enabled by default (bd9836be8c)
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Don't duplicate the test's output running it on `native_sim` after
`LOG_BACKEND_NATIVE_POSIX` was enabled by default (bd9836be8c)
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
This refactors internal bits out of the public API header file
and into its own file. This includes:
* Driver API struct which is only used by driver implementations
but not by users of API.
* Inline implementations of various APIs.
* Inline z_impl_*.
These are implementation details that do not need to live within
the public API header file. This de-clutters the public header
file.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add `idle` and `s2ram` power states for nRF54H20 cpuapp and cpurad.
Also the substate `idle_cache_disable` added.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Due to the possibility of simultaneous accesess to LRCCONF registers,
additional management is required.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Currently, the serialization module for 802.15.4 enabled
the network core without giving it access to application
core memory in trusted execution mode. This commit
grands this access.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
Some code that automatically gets embedded on some platforms relies
on having `CONFIG_TIMEOUT_64BIT` enabled.
Do not force disabling that Kconfig option in the test configuration,
as that will make the test fail to compile on those platforms.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
CMAKE_LINKER_GENERATOR common-ram.cmake is out of date.
This updates it to keep it up to date with common-ram.ld
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Introduce etrbuffer in the tddconf bindings to support flexible
placement in the memory map.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
Get eclair specific option file variable via zephyr_get.
This is also needed if the sca is invoked with sysbuild so it uses
the intended file.
Signed-off-by: Simon Hein <Shein@baumer.com>
DMA transfers do not execute when the USBD peripheral is in Low Power
mode. Make sure that there is no DMA active transfer when entering Low
Power mode and that new DMA transfers are not started when in Low Power
mode because the transfer won't ever finish.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Low Power mode can only be entered when there are no active DMA
transfers. Move the Suspend and Resume processing to thread to allow
waiting for the DMA available semaphore in USB Suspend handler.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
This commit adds support for the CH32V003EVT board which features a
32-bit general-purpose RISC-V MCU.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
This commit adds the pfic interrupt controller driver for WCH CH32V003.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
This commit adds the systick driver for WCH CH32V003.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
This commit adds the pinctrl driver for WCH CH32V003.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
This commit adds the dtsi and bindings for the WCH CH32V003 which is a
32-bit general-purpose RISC-V MCU.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
This addresses the following warning building with `CONFIG_64BIT=y`:
error: format '%hu' expects argument of type 'int', but argument X has
type 'size_t' {aka 'long unsigned int'}
Signed-off-by: Chen Xingyu <hi@xingrz.me>
bt_le_set_auto_conn() function is not working as
expected. Also, it doesn't have any test coverage
and any usage in sample applications.
The function is deprecated
Fixes#81597
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
The ram0x partitions seem to be not compliant with nRF54H20
architecture and it causes that in the application dts overlay file
it is difficult to extend cpuapp_ram0x_region without modifying
whole layout.
It is better to place cpurad_ram0x_region at the beginning at
2f010000 address and then cpuapp_ram0x_region right after that.
Thanks to that, if the application needs to have more than 256 kB
of RAM, in the application dts overlay file, a user can increase
cpuapp_ram0x_region size up to 2f0be000.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Add missing "pinctrl-names" and "status" properties for
the spi1 node in ek_ra8m1.dts to able to test spi_loopback
on ek_ra8m1
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
TX part of interrupt driven API was not calling PM device runtime
API. Additionally, when txstopped occurred after poll out it was
not handled correctly.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves syslog into a singular
testsuite at tests/posix/xsi_system_logging app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Add a timeout to the `bme280_wait_until_ready` loop to ensure that we
never get stuck in this loop even if the bus enters an error condition.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Commit e2a32d8b0c introduced an unbound
cmd issue for jlink flashing.
Fixed by moving cmd assignment outside of condition.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Adding new CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT to select the number
of key slots in PSA Crypto core. The default value is 16. Be aware
that key slots consume RAM memory even if unused, so the proper value
should be a compromise between the number of slots required by
the application and the available RAM in the system.
This commit also:
- updates tests/crypto/secp256r1/mbedtls.conf to showcase how to
use this new symbol to reduce RAM footprint.
- tests/bsim/bluetooth/mesh/overlay_psa.conf to support all the
keys used in the test.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Adding the Kconfig symbol CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTS
to allow Mbed TLS's PSA Crypto core to use static key buffers
to store key's material. This helps reducing heap memory
usage and, potentially, it also discard code implementing
heap memory management if there's no other module in the build
that makes use of it.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Update the Mbed TLS revision so as to take in a patch which
allows to use static key slot buffers for the PSA Crypto core
instead of dynamic (i.e. heap based) ones.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add a simple demonstration of the led_write_channels api on the lp5569
driver sample.
The demonstration simply turns on all of the channels with a single call to
led_write_channels. Then the same is done for turning off the channels.
Thus, it doesn't add much visually, but it shows the usage of the api.
Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
The lp5569 has multiple pwm outputs, and thus implementing the
write_channels api to set multiple values in a single call makes sense.
Implement the write_channels function with a basic range check on the
channel range.
Since the lp5569 supports auto-increment, all of the channels can be
written in one i2c transfer, starting from the pwm register of the
start_channel.
Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
The lp5569 controller supports auto-increment for its registers. This is by
default enabled in the chip, but the driver actively disabled it.
Since auto-increment is useful for writing multiple consecutive registers,
enable the feature. The driver, however, doesn't perform such consecutive
writes and thus the existing behavior is not altered.
Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
k_thread_suspend() is an async API intended to stop any thread in any
state from any context. Some apps just want to use it to "suspend
myself", which is a much (!) simpler operation. Detect that specific
usage as a performance case.
Signed-off-by: Andy Ross <andyross@google.com>
This puts the syscall helpers into the vector code section, and
is a tiny TLB optimization. Before this, worst case scenario is
that there would 2 instruction TLB misses when both the syscall
helpers and the vector code pages are not in TLB cache. With
this change, there would be at most 1 instruction TLB miss as
now the syscall helper and the vector code (which includes
exception handling code and xtensa_do_syscall()) are now in
the same page, and the same TLB entry.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The B_L4S5I_IOT01A Discovery kit does not boot up when using --sysbuild.
The error is caused by slot0_partition which is assigned an address of
0x1000 which overlaps with the boot_partition. Setting the address to
0x10000 fixed it.
Signed-off-by: Winston Arrocena <we.arrocena@gmail.com>
This adds support for the single-vector trapping (SVT) model, defined by
SPARC-V8 Embedded (V8E) Architecture Specification. SVT is available in
most LEON processors.
With single-vector trapping enabled, all traps are vectored through a
single trap vector (TBR.A) rather than one 16-byte entry for each trap
type. This improves memory utilization because the full 4 KiB trap table
is not needed.
This implementation uses a two-level of lookup table to find the handler
for the trap type (0..255).
- Execution time is constant.
- Condition flags are preserved.
- The implementation footprint is 60 bytes .text and 284 bytes .rodata.
For comparison, a non-SVT table is always 4096 .text.
Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
Added mikrobus_header, mikrobus_i2c, mikrobus_spi and mikrobus_serial
node labels to da14695_dk_usb device tree board definition, allowing
compatible shield boards to be used. Also fixed minor issues with
pin assignment and header labelling.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Reducing the heap requirement for the hci_ipc sample from
8KiB to 4KiB. It has been tested in various configurations to
work with 2300, but 4KiB was used to provide some leeway for
future updates.
The heap requirement is not documented, and it is unclear why
values lower than 2300 (not exact number) won't boot, and should
be investigated further.
Memory has become a very scarce resource for especially the ISO
builds for the nRF5340, which is why this is getting reduced.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The SSP driver has odd dependency to outside definition of
CONFIG_INTEL_NM. This is in practise tied to SSP hardware
version and always enabled for SSP block version 1.0.
Use the new SSP_IP_VER define to replace the CONFIG_INTEL_MN
preprocssor checks. Also modify the board test case to
remove the obsolete config setting.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Use Kconfig to configure watchdog instead of using expensive filters.
Also disable CONFIG_TEST_HW_STACK_PROTECTION for this test so we do not
have to create special cases.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Enabling CONFIG_FPU and CONFIG_FPU_SHARING requires the
definition of `arch_float_disable` and `arch_float_enable`.
Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
This fixes memory corruption of delayable work when
tests executes unsupported function.
When test (e.g. only_rx_in_chunks) is executed it starts
delayed work for master functionality (with 10 ms delay).
Later when slave function is tried and reports that
function is unsupported, test is terminated (task ends)
but work is still scheduled.
When next test starts it clears work that is already
scheduled:
static void before(void *not_used)
{
ARG_UNUSED(not_used);
memset(&tdata, 0, sizeof(tdata));
this leads to memory corruption and system work queue
tries to remove work but it never does since head/next
pointers are zeroed at that time.
This just adds after function that cancels work
regardless if it was scheduled or not.
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
The blobs are now part of nrf_wifi module, and remove the manual check
and add verifying the blobs and their integrity using helper function.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The shim files should be part of the Zephyr module directory within
Zephyr, as they are coupled with the module implementation which os OS
agnostic.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Following the naming convention add an underscore and update path in the
maintainers file too.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Do not enable the video sw generator if a real camera is present. This
helps to save some spaces and to avoid unrelated code going
into the built image.
Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Most likely there is no point of synchronizing RTC if net core is
not enabled. Same for the bootloader.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Replacing "area: Networking" with "area: PTP" to prevent from
including myself in issues and PRs that are related to every
piece of Networking code. Insted I'll be included only in PTP
related issued/PRs.
Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
Enable BLE feature for Nucleo-WB09KE and Nucleo-WB05KZ.
Dedicate 32KB and 8KB at the end of flash memory to storage partition on
Nucleo-WB09KE and Nucleo-WB05KZ respectively.
Add ble tag to the both devices yaml file.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Put the default value for BT_AUTO_PHY_UPDATE and BT_AUTO_DATA_LEN_UPDATE
to "n" at SOC level since they cause "controller busy" due to starting
several parallel BLE procedures during connection by
"perform_auto_initiated_procedures" function. At the moment, ST controller
does not support parallelism, i.e. host should not initiate a new procedure
before previous one is completed.
Disable CONFIG_BT_HCI_ACL_FLOW_CONTROL at SOC level.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Add Bluetooth HCI driver for STM32WB0x series.
Modify CMakeLists.txt to compile the driver based on its kconfig parameter.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
This PR adds arduino giga r1 overlay in the dac sample.
Arduino Giga R1 has a 3.5mm audio jack connected to the
dac.
Signed-off-by: Mario Paja <mariopaja@hotmail.com>
allows use of touch_sensor, rtc_counter, and wdt simultaneously by enabling
ESP_INTR_FLAG_SHARED when calling esp_intr_alloc()
Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
The `Kconfig.defconfig` is not good place for put `select PINCTRL`.
Drop `select PINCTL` from `Kconfig.defconfig` and add it at each
driver's Kconfig.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
A warning could be generated when compiling with -Wtype-limits. This
works around the warning which could happen if initial_count is 0 and
count_limit is K_SEM_MAX_LIMIT.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The function does not return the language, but rather stores
the lang in the provided lang param.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
bt_conn_le_create logs a warning if the provided conn is
non-NULL which was the case here. Simply set it to
NULL as it is a local variable.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Optionally write to ad559x register bit which increases DAC output range
from 0V to 2 x Vref.
The functionality has been tested on AD5593r.
The voltage at 4095 has been measured to 5.01 volts.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
The `default y`, which is coupled with
`depends on DT_HAS_WOLFSON_WM8904_ENABLED` to link the settings with
DeviceTree, which was missing, so I added it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add a new west command as helper for package management of Zephyr
and modules.
The first package manager to get supported is pip, where west projects
can list individual packages or requirements files in their module file.
A convenience --install argument is added to install the packages instead.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This is a follow-up to 21475774fc,
extending the number of tests and samples that use the new L05 and L10.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Update the connection and advertising intervals of the
broadcast and connected ISO samples (including benchmark
samples) to work better with the selected SDU intervals
and the resulting ISO intervals.
For the ISO connected benchmark the order of CIG and ACl
has changed, so that we create the CIG before connecting
the ACL for the purpose of providing as much information
as possible to the controller.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
When CONFIG_ASSERT is enabled, assertion for unbalanced state lock
get/put is triggered. This commit leverages shi drivers from other
SoCs to resolve the assertion.
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
This change introduces the ability in twister to select which
emulation/simulation tool to use on the command line.
If none is specified, it will select the first in the list.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
This simplifies the code and makes it clearer that both properties are
defined in terms of the Binding object matched to a given DT node.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
This commit adds test to assert that thread specific data is deallocated
on thread termination.
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
The MMU mapping in SoC covers 0x0 which prevents catching NULL
pointer accesses. Since there are no hardware registers at
the very first page of memory, we move the starting point one
page later.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This change disables USB debug path at default, in order to prevent SoC
from entering debug mode when there is signal toggling on GPH5/GPH6.
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
To make AP related code/config more clear and clean, use
CONFIG_WIFI_NM_WPA_SUPPLICANT_AP for supplicant based AP case,
and use CONFIG_WIFI_NM_HOSTAPD_AP for hostapd based AP case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
`_current` is now functionally equals to `arch_curr_thread()`, remove
its usage in-tree and deprecate it instead of removing it outright,
as it has been with us since forever.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Implement `arch_curr_thread()` & `arch_set_curr_thread()`
with the global pointer (GP) register.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Add the following arch-specific APIs:
- arch_curr_thread()
- arch_set_curr_thread()
which allow SMP architectures to implement a faster "get current
thread pointer" than the default provided by the kernel. The 'set'
function is required for the 'get' to work, more on that later.
When `CONFIG_ARCH_HAS_CUSTOM_CURRENT_IMPL` is selected, calls to
`_current` & `k_sched_current_thread_query()` will be redirected to
`arch_curr_thread()`, which ideally should translate into a single
instruction read, avoiding the current
"lock > read CPU > read current thread > unlock" path in SMP
architectures and thus greatly improves the read performance.
However, since the kernel relies on a copy of the "current thread"s on
every CPU for certain operations (i.e. to compare the priority of the
currently scheduled thread on another CPU to determine if IPI should be
sent), we can't eliminate the copy of "current thread" (`current`) from
the `struct _cpu` and therefore the kernel now has to invoke
`arch_set_curr_thread()` in addition to what it has been doing. This
means that it will take slightly longer (most likely one instruction
write) to change the current thread pointer on the current
CPU.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
The clock_t and clockid_t types are already defined in ARC MWDT headers,
so they should not be defined again in Zephyr headers.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
The clockid_t definition in question is not reachable anymore
because at least one of _CLOCKID_T_DECLARED and __clockid_t_defined
macros is already defined by that point, always making the check fail.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Until POSIX layer decoupling is done, we still need the size_t type
definition across the codebase, but it should come through sys/types.h
and not through toolchain-specific headers.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
As the test uses reentrant time functions like asctime_r or ctime_r,
it should select POSIX_C_LANG_SUPPORT_R. Otherwise there are build
failures observed with the default test configuration if these
functions are not provided by the toolchain.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
This change is needed to avoid including Zephyr-specific implementations
of POSIX reentrant functions while building natively. One can safely
assume that the host libc indeed provides its own implementations of
the said functions.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
ARC MWDT library does not contain implementations for the reentrant
POSIX time functions, so common Zephyr implementations end up being
used instead. However, there are no declarations, so we just add them
here, unguarded, until a better place is found.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
The fileno macro defined in ARC MWDT headers conflicts with the fileno()
function defined in lib/posix/options/device_io.c. We should undefine it
and replace with a POSIX-compliant declaration and a weak definition.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
mipi api allows only buffers where pitch is equal to width.
buffers with smaller width get split into multiple transmissions
but mipi buffer size was set incorrectly.
Signed-off-by: Manuel Martin <martiman89+github@gmail.com>
Document change to mipi-dbi device binding, and provide users with
example of how to transition to the new mipi-mode property.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Use a string for the mipi-mode property over an integer value, as this
significantly improves the readability of the MIPI DBI device binding.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The python subprocess call had a stdout=subprocess.PIPE parameter that
redirects standard output to a pipe, and a stderr=subprocess.STDOUT
parameter that redirected stderr to the pipe. This mixed JSON and
non-JSON output together, and issued an exception. Fixing with
stderr=subprocess.DEVNULL to ignore standard error and only keep the
JSON output.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Reset pulse count can be up to 512 before we would be unable to support
it using the peripheral. Use a uint32_t for the count, so that even long
reset pulses will still be calculated correctly. Add code to warn about
reset pulse requests that are too long.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The NXP LCDIC peripheral contains two internal timers, with configurable
periods. These times are used to determine delays within the peripheral,
such as the reset and tearing enable signal delays. Allow these periods
to be set within the devicetree for the peripheral.
Raise the period where required for display drivers that need a value
other than the reset setting
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Extend tca954x (tca9546a, tca9548a) driver to support tca9544a i2c MUX.
(different bitmask and flag for enable bit in register)
Signed-off-by: Florian Weber <Florian.Weber@live.de>
Add isr_ok property to the interrupt configure API.
For level-triggered interrupt the interrupt may have to be disabled
until a thread context can process it and clear the interrupt trigger.
The function is documented as returning an error if it would block.
Drivers in zephyr already do this, so if this is not ISR safe function
then they need to be fixed.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
- Add possibility to disable functions that use heap. This is to
reduce code size and prevent accidental use of heap.
- Add possibility to compile xxhash library, "Extremely Fast Hash
algorithm" in. It might be sometimes needed as a standalone,
but especially lz4frame requires it.
- Add possibility to compile also hc and lz4frame modules. The
config options include possibility to configure will heap or
stack be used. Defaults are set according to lz4's current
defaults.
Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
Add EAP-TLS, EAP-PEAP-MSCHAPv2, EAP-PEAP-GTC, EAP-TTLS-MSCHAPv2,
EAP-PEAP-TLS, EAP-TLS-SHA256 enterprise wpa2 and wpa3 suiteb
support for sap.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
Add note about compatible change for NXP PORT IP. Also, update
references to the DT compatible within board docs.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
NXP PORT IP instantiations often have different features absent, IE
input buffer, open drain, or slew rate support. Check if the relevant
PCR register bitmasks are defined in the common pin control file, and
define the bitmasks to 0x0 (no effect) if they are not. This allows us
to further consolidate the pinctrl_soc.h headers for SOCs using the PORT
IP.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The NXP PORT pinmuxing peripheral is reused across the MCX, S32, and
Kinetis lines. Rename the compatible from the family-specific
nxp,kinetis-pinctrl to a more generic nxp,port-pinctrl to reflect the
actual name for the IP block used within reference manuals.
Update the NXP HAL revision to include a change to use the new Kconfig
name for the PORT pinctrl driver
Update the MAINTAINERS.yml path, as there are no longer any NXP drivers
matching the string "drivers/*/*kinetis*
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
* Replace copies of fixed-partitions nodes in related boards by
referencing the apropriate partition table from the available list.
* For better reference the `partitions_*.dtsi` file has boot offset,
purpose and the flash size encoded in the file name. Default flash size
is considered to be 4MB.
* Added the flash size node for the boards which are not based on the
module.
* Removed flash size registry from the esp32.*common.dtsi
Signed-off-by: Marek Matej <marek.matej@espressif.com>
flash_copy() is performed on a page.size span but following flash_read()
verification step is performed on EXPECTED_SIZE length (512).
This doesn't work on devices where page.size is lower than EXPECTED_SIZE,
such as STM32L1 where page size is 256.
To fix this, perform verification on the smalest value between page.size
and EXPECTED_SIZE.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
STM32F4 series flash layout is as follows:
{.pages_count = 4, .pages_size = KB(16)},
{.pages_count = 1, .pages_size = KB(64)},
{.pages_count = 7, .pages_size = KB(128)}
Since NVS subsys requires 2 sectors of max 32K in total, provide a
flash partition which respects this constraint using 2 of the 16K sectors
in the beginning of the layout.
Provide a compatible flash partition usable with mcuboot, but keep the
storage partition commented as its usage is not compatible with use w/o
mcuboot enabled (in this case main image starts as offset 0 which conflicts
with storage partition).
Note that it isn't possible either to get main image starting directly
in the 128K sectors w/o bootloader as boot flash address can't be
configured.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
NVS susbsystem requires a slot covering 2 sectors of flash, which
should be at minimum 8K on L1 series which provides 4K sectors.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
NVS susbsystem requires a slot covering 2 sectors of flash, which
should be at minimum 4K on G0 series which provised 2K sectors.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
STM32F2 series flash layout is as follows:
{.pages_count = 4, .pages_size = KB(16)},
{.pages_count = 1, .pages_size = KB(64)},
{.pages_count = 7, .pages_size = KB(128)}
Since NVS subsys requires 2 sectors of max 32K in total, provide a
flash partition which respects this constraint using 2 of the 16K sectors
in the beginning of the layout.
Provide a compatible flash partition usable with mcuboot, but keep the
storage partition commented as its usage is not compatible with use w/o
mcuboot enabled (in this case main image starts as offset 0 which conflicts
with storage partition).
Note that it isn't possible either to get main image starting directly
in the 128K sectors w/o bootloader as boot flash address can't be
configured.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Updated ADXL367 driver with RTIO stream functionality.
RTIO stream is using both FIFO threshold and FIFO full triggers.
Together with RTIO stream, RTIO async read is also implemented.
Supported FIFO_CHANNEL configurations:
- XYZ
- X
- Y
- Z
- XYZT
- XT
- YT
- ZT
Configurations with external ADC are currently not supported.
Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
The required ISO Tx buffers have to match the Read Buffer
Size values, otherwise the difference in the value cause a
similar amount of buffers to be stalled in the IPC driver.
Use reduced HEAP size to make room for increase in RAM
usage.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix some test simulation length be greater than wait time.
These tests completed within 12 seconds, 15 second wait
time is a good value with included margin and a 20 second
simulation time.
These tests failed on this PR CI.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add implementation for Extended Advertising Auxiliary PDUs
to use ticks slot window feature.
This will allow the periodic scheduling of AUX_ADV_IND PDUs
to drift upto 10 ms advertising delay minus the ticks_slot
time reservation of the AUX_ADV_IND PDU when overlapping
with other states/roles that cannot be moved around, to
avoid skipping them.
Having an active Extended Advertising simultaneously with
an ISO Synchronized Receiver or Connected ISO connection
will now have less ISO SDU loss when using 10 ms ISO
intervals.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Introduce ticker reschedule with drift so that role like
AUX_ADV_IND can start after overlapping states and roles
using time reservations.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix to reschedule before overlap and be collision resolved
in the next periodic interval for tickers using slot window
yield.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Exclude stm32 platforms with accel0 or magn0
for running the samples/sensor for trigger
as their sensor driver does not have trigger set.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Align the total SRAM size for STM32L47x/L48x/L49x/L4Ax
boards. Those MCUs with up to 320 Kbytes SRAM:
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Split and fix the total SRAM size for STM32L4Px/L4Qx/L4Rx/L4Sx
device. Those MCUs with up to 640 Kbytes SRAM:
This is 640KB for the STM32L4Rxxx and STM32L4Sxxx devices :
• 192 Kbytes SRAM1 + 64 Kbytes SRAM2 + 384 Kbytes SRAM3
This is 320KB for the STM32L4P5xx and STM32L4Q5xx devices :
• 128 Kbytes SRAM1 + 64 Kbytes SRAM2 + 128 Kbytes SRAM3
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Align the total SRAM size for STM32L47x/L48x/L49x/L4Ax
boards. Those MCUs with up to 320 Kbytes SRAM:
• 96 Kbytes SRAM1 and 32 Kbyte SRAM2 on STM32L47x/L48x.
• 256 Kbyte SRAM1 and 64 Kbyte SRAM2 on STM32L49x/L4Ax
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Split and fix the total SRAM size for STM32L47x/L48x/L49x/L4Ax
device. Those MCUs with up to 320 Kbytes SRAM:
• 96 Kbytes SRAM1 and 32 Kbyte SRAM2 on STM32L47x/L48x.
• 256 Kbyte SRAM1 and 64 Kbyte SRAM2 on STM32L49x/L4Ax
The sram0 node at address 0x20000000 and sram1 at address 0x10000000
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add support for IP_LOCAL_PORT_RANGE socket option. The option
supports both IPv4 and IPv6 sockets although the type is IPPROTO_IP.
The option can be used to enforce the ephemeral port number selection
to be in certain range.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
All linter issues in scripts/west_commands/runners are fixed and can be
removed from the exclusion list.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
These ignores were added with an older version of pylint and are
either removed or ignored by default.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Switch to short test identifier in reporting.
Part of a series of changes to improve reporting and remove duplication
and clutter when running twister.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Fix Ztest test function name extraction from ELF symbols
for C++ compiled binaries where symbol names need additional
'demangling' to match with corresponding test names.
The `c++filt` utility (part of binutils) is called for
demangling when it is needed.
Twister test suite extension and adjustment.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Update Test Application diagram as well as Test Scenario and
Test Case naming conventions to make them more clear and aligned
to Ztest suite name included as a part of Test Case name.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Fix a problem of Ztest suite names not taken into account by Twister
to identify a TestCase, so in some situations a Ztest test's status
was not assigned to the proper TestCase and it remains 'None'
whereas the actual status value lost, eventually the resulting total
execution counters not correct.
The issue was observed in these situations:
* Ztest application with multiple test suites having same test names.
* Ztest suite is 'skipped' entirely on execution with all its tests.
The proposed solution extends Twister test case name for Ztest to
include Ztest suite name, so the resulting identifier looks like:
`<test_scenario_name>.<ztest_suite_name>.<ztest_name>`
The above naming scheme now requires ztest_suite_name part to be
provided for `--sub-test` command line option.
Testcase identifiers in twister.json and testplan.json will also
include ztest_suite_name component.
The Twister Ztest(Test) Harness is improved to track all state changes
known from the test application's log for Ztest suites and test cases,
so now it parses log output from a Ztest application more scurpulously.
Regular expressions to match log records are extended and optimized
to compile them only once and, in some cases, fixed (suite summary).
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
The ICBMsg backend divides its memory into
blocks. Each block is aligned to data cache
alignment. Is it not required, since adjacent
blocks has the same data flow direction (either
read-only or write-only). This commit changes
it to 32-bits making wasted memory significantly
reduced.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
The board shares many features with other Arduinos based on STM32H747
(like the HSE in bypass mode).
Once https://github.com/zephyrproject-rtos/zephyr/pull/76542 is merged,
PF1550 support should be added too to allow switching IO voltage
from 3v3 to 1v8
Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
Right now, USART1 is enabled on the M7 target variant by default, leaving
M4 without a UART to use; this is the way this port was originally
contributed.
Since then, USB was enabled on M7, changing the console backend from USART1
to USB CDC ACM; the M4 target was left unchanged.
This commit enabled USART1 on the M4 variant and disabled it on the M7
variant, so that the M4 variant can use it as its console backend.
Note that, for the M4 variant, USART1 has been assigned to `zephyr,console`
and `zephyr,shell-uart` since this port was contributed, even though USART1
was always disabled on M4.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Replace the DT_INST_PROP_OR statements with defaults
in the devicetree binding of the iCE40.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
This addresses the following warning building with `CONFIG_64BIT=y`:
error: field precision specifier '.*' expects argument of type 'int',
but argument X has type 'size_t' {aka 'long unsigned int'}
Signed-off-by: Chen Xingyu <hi@xingrz.me>
This addresses the following warning building with `CONFIG_64BIT=y`:
error: field precision specifier '.*' expects argument of type 'int',
but argument X has type 'size_t' {aka 'long unsigned int'}
Signed-off-by: Chen Xingyu <hi@xingrz.me>
This addresses the following warning building with `CONFIG_64BIT=y`:
error: field precision specifier '.*' expects argument of type 'int',
but argument X has type 'size_t' {aka 'long unsigned int'}
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Move "bluetooth" tag and harness from the common section
of the smp_svr sample.yaml file to "bluetooth" specific test cases.
Signed-off-by: Andrej Butok <Andrey.Butok@nxp.com>
What looks to be a copy-paste typo was not caught in
code review.
Change .rwlocks to nothing and move the filter to the
common area.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove the deprecated HCI driver API which was provided by the hci_driver.h
header file. The deprecation happened in Zephyr 3.7, so the API can now be
removed for Zephyr 4.1.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
To increase coverage.
Note that we call twister separatedly for this target, due to the 54l15
overlays using UARTE20 which is indexed in simulation as "2", but as
the nrf52833 does not have 3 instances. So "-uart2_loopback" is not
a valid option for a 52833 executable.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf5340 and provide
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf54l15 and provide
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf54l15 by providing
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Include in the list of supported peripherals the UARTE for the
simulated nrf54l15
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The HW models now support this peripheral for this target.
Let's enable it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add minimum flash requirement to the tests. This will effectively
exclude nrf5340dk/nrf5340/cpuapp/ns as it does not have
enough flash for the application.
Fixes#81608
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Optimize filters and remove build_on_all, this option is already used in
the synchronization sample which has more coverage on small platforms.
Since we only build, it does provide basic sanitcheck for the kernel as
well.
This reduces testplan on PRs and push events by almost 1000 entries that
would only be built or filtered at runtime.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The datasheet of the iCE40 specifies that there should be a leading and
trailing clocks phase during its configuration with SPI. Due to the
limitations of the SPI interface, and probably also due to a lock of
support for such a feature for instance in the STM32 SPI peripheral,
this is achieved with additional SPI transfers before and after the
actual image. Unfortunately, this by default also affects the slave
select GPIO, which has to stay high during these phases.
This fixes this behaviour via not passing the slave select GPIO
to the SPI driver and manipulating this GPIO manually.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
Add second instance to be tested on nrf54h20dk. uart120 is a fast UARTE
which works on fixed pin locations. It is not available for cpuppr core.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
b6d45423c6 Added support for pin retention but it was added
only to the case when device PM is used. There is another mode
in which UARTE is disabled when idle (low power mode) and in
that case pin retention must also be added.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
If a character is received immediately after modem_iface_uart_init called,
the modem_iface_uart_isr function will not read the data in the serial port
fifo register as the context has not been registered at this time,
which will result in the program not being able to exit the interrupt,
so the context should registered before the serial port is initialised.
Signed-off-by: Hongquan Li <hongquan.prog@gmail.com>
Replace NULL checks for the set and clear registers with BUILD_ASSERTs
in the iCE40 device instantiation.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
The API directory really isn't the best place for shell
documentation, which isn't API.
Created a new directory for Bluetooth shell documentation
and moved the ISO and LE Audio docs in there.
The existing bluetooth-shell.rst file was also split into
several new files, so that it follows the same structure.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change in default flash map generation, where partitions hanging of
disabled devices will not have flash area generated.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add an option for platforms or forks to provide their own hostap
compatible crypto implementation. This may include proprietary or
platform specific stuff that may or may not be upstreamed to Zephyr.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Extended hardware map to share a single board between variants.
To run tests for different variants on the same board
without re-configuring the hardware map file for each variant,
one can use a `platform` atribute as a list of names.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
This commit changes the BSIM tests to use the same recv callback
for all tests. The purpose of this is to reduce code duplication
and make it easier to maintain the tests.
This also changes the recv_cb so that in case of any error we log
the most recently received SDU, which should provide more
information about why a test failed in case of RX error.
PBP had to be updated a bit to support the audio_stream
struct.
Also modifies a check and log in bap_stream that was less than
helpful to determine if it was the stream or the endpoint that
was NULL.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Non-confirmable CoAP requests need lifetime tracking as well
so we can free the structure after a timeout.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
When waiting for response after receiving the empty Ack, client
actually used way too timeout.
CoAP timeout only holds the timeout value in ms. t0 is the starting time.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Refactor tests to be a bit shorter, so its easier to read
and copy-paste for a new testcase
All idioms like "ret = somecall(); zasser.." are replaced with just
"zassert_ok(some_call());"
Commonly used structures are global and initialized once.
To avoid cross-test side-effects, suite_after-function is added
to cleanup all requests.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Use real-time scheduler with 100x speedup, so timeouts are
accurate enough, but still fast for tests to run.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Updates and aligns the project config file to enable usage of multiple
keys so that users are not required to manually update the project
config file for testing most common mesh scenarios requiring multiple
netkeys and appkeys.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
Aligns subnet bridge related commands according to conventions used for
rest of the shell commands. Also updates documentations to reflect the
change.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
We hit some unaligned access faults running our internal tests.
Not every 32-bit instruction is 32-bit aligned; some are 16-bit aligned.
Make all reads and writes potentially unaligned to be on the safe side.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Not all STM32 series support Zephyr MDIO API yet, while the API is enabled
by default.
To preserve compatibility, put MDIO API related code under the condition
of "st,stm32-mdio" compatible enablement.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Documentation for *init_hooks were not generated on doc website.
This was due to ill-formed doc-strings for those hooks.
Signed-off-by: Pierrick Guillaume <pierguill@gmail.com>
Previously, rtt start would always fail because the target
(i.e. firmware) had not been started.
```
Info : rtt: Searching for control block 'SEGGER RTT'
Info : rtt: No control block found
```
When the command is 'rtt', run the binary via gdb before calling
'rtt start'. Firmware calls `SEGGER_RTT_Init()` shortly after
init which allows OpenOCD to find the RTT control block.
Similarly, only start the 'rtt server' after calling
'rtt start' to avoid any potential race conditions
internally within OpenOCD.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, there was a warning that the to_num() method can
(and probably should) be unbound from OpenOcdBinaryRunner.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Similar to how print_gdbserver_message() prints GDB server info
when "west debug" is run, print RTT server info when "west rtt"
is run.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add support for the rtt target so that users can run
`west build -p auto -b <board> -t rtt <app>`
similarly to the way that users can now do so with the debug
target, since the rtt target is supposed to be used in a similar
way.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The nRF54L05 and nRF54L10 are identical to the nRF54L15 except for their
memory sizes. Add support for emulating those ICs on the nRF54L15DK.
This commit only adds support for the main application core. Support for
the FLPR core may be added later.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Use the rather logical convention for the name that is applied to other
Nordic boards: <board>_common.dtsi for definitions that are common to
the board itself (LEDs, buttons, etc).
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
These two new ICs are variants of the nRF54L15 with different memory
sizes:
- nRF54L05: 500KB RRAM, 96KB RAM
- nRF54L10: 1022KB RRAM, 192KB RAM
- nRF54L15: 1524KB RRAM, 256KB RAM
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
There are many common options to all ICs of the 54L series. Consolidate
them in a single entry so that they do not need to be re-typed for each
SoC series member.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
TASK_SHUTDOWN was deprecated in newer SOCs and now removed
in MDK 8.68 (nrfx 3.9.0)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update the HW models module to:
3cfca0192ff84da919e9bc7978bcc2239cd6a395
This includes 2 changes:
* 3cfca01 UART: Model more accurately TASKS_FLUSH behaviour
* 25cbd28: 54L15: Change CLOKPOWER IRQ line (MDK 8.68, nrfx 3.9.0)
WARNING! This change breaks backwards compatibility with SW
which expected this line to be 270 for 54L15 devices,
and therefore with MDKs < 8.68 & nrfx < 3.9.0.
This change requires updating to the MDK >=8.68 and nrfx >=3.9.0
if building using the 54L15 models.
52 and 53 models are not affected.
Change the CLOCK_POWER interrupt line from 270 to 261.
This has changed in the latest MDK (8.68) and the new
value is used in the latest nrfx (3.9.0) drivers.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models module to:
42737c8ec8485987c7c9b0262b136de623e1ded2
Including the following:
42737c8 TIMER: Support devices without TASK_SHUTDOWN nrfx3.9 MDK 8.68
5fe6873 54 UARTE: Add frametimeout functionality
dc086d7 UARTE: Add basic 54 support
b046745 UARTE: Support better not having UART functionality
1c5f58c README: Mention the nRF54L15 models cover the L10 and L05
597c7d0 TEMP: Also build hal replacement for 54 and define NRF_TEMP_NS/S
fb2ca83 Makefile: Let's build libraries (specially HAL) as pic
200a1e3 Makefiles: move some common options to common snippet
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Adds two new tests for the Subnet Bridge feature, testing group and
virtual addresses as destinations. The tests are based on the existing
`brg_simple.sh` test, with the addition of a new node and a new subnet
to make sure that messages are bridged to multiple subnets, but only
subnets that have a corresponding entry in the bridging table.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Renames `bt_mesh_test_send_ra` to `bt_mesh_test_send_data` and changes
the corresponding callback funciton as it is used outside of the replay
attack tests, and can be used to send custom data. The function is
extended to accept a UUID parameter to allow sending data to virtual
addresses.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
device tree:
enable support for the SDHC controller to use the micro SD card slot
documentation:
- added instructions for SD card and OLED samples
- added links to code samples
defconfig:
added CONFIG_ESP32_USE_UNSUPPORTED_REVISION=y to
ttgo_lora32_esp32_procpu_defconfig
The chip on the board is a ESP32 chip revision 1.
The board will not boot, it displays the following warning at boot:
I (35) boot: chip revision: v1.0
E (38) boot: You are using ESP32 chip revision (1) that is unsupported.
While it may work, it could cause unexpected behavior or issues.
E (50) boot: Proceeding with this ESP32 chip revision is not recommended
unless you fully understand the potential risk and limitations.
E (62) boot: If you choose to continue, please enable the
'CONFIG_ESP32_USE_UNSUPPORTED_REVISION' in your project configuration.
E (73) boot: HW init failed, aborting
In order to prevent a boot loop, CONFIG_ESP32_USE_UNSUPPORTED_REVISION=y
was added to the defconfig.
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
Use the existing 'atomic' bitmask to speed up ISR processing for
CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT. This bitmask is used
to track enabled DMA channels.
In the common case, only a few DMA channels are active and low
channels are allocated first. Take advantage of this and not
iterate over all DMA channels of all all host devices. Rather
break out as soon as L1 exit handling is done for all enabled
channels.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Change the select to a depends on for the Kconfig options
for HAS and HAS_CLIENT.
This is an effort to reduce the number of selects used by
LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Change the select of BT_PER_ADV_SYNC and BT_EXT_ADV to
depends on. This is an effort to reduce the use of
select for Kconfig options.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify ASCS and BAP Broadcast sink to depend on the PAC options
instead of selecting them.
Since Kconfig does not support "depends on X if Y",
a select for PAC_{SRC,SNK} is used depending on
ASCS_ASE_{SRC,SNK}.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BAP Kconfigs option now depends on
BT_ISO_BROADCASTER instead of selecting it.
This is an effort to reduce the use of select in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The BAP_BROADCAST_SOURCE Kconfig option now depends on
BT_ISO_BROADCASTER instead of selecting it.
This is an effort to reduce the use of select in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Remove the selects and use def_bool for BT_AUDIO_RX and
BT_AUDIO_TX.
This is part of an effort to reduce select in Kconfig.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Modify the Kconfig options to depend on the GATT
features rather than selecting them.
This is part of an effort to reduce the amount of
selects we use in LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Remove the selects from BT_BAP_UNICAST_SERVER and BT_BAP_UNICAST_CLIENT
and use a def_bool for BT_BAP_UNICAST.
This is part of an effort to reduce select in Kconfig.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use configdefault when enabling LV_COLOR_SWAP_16 within boards and
shield definitions, to avoid OR'ing the dependencies for the Kconfig
symbol. Otherwise, a user manually selecting LV_COLOR_DEPTH will
encounter build errors as LV_COLOR_SWAP_16 may be enabled when
LV_COLOR_DEPTH_16 is not selected
Fixes#81546
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The prior link to the I2C specification was broken and no longer
accessible. Updated the link to a valid and current URL
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
Addresses in cmd_load() should always be unsigned. Previously, strtol()
was used, which is limited to signed long values, causing issues with
addresses >= 0x80000000. This commit replaces strtol() with strtoul(),
ensuring proper handling of the full 32-bit address space.
Fixes#81343
Signed-off-by: Aaron Fontaine <aaron.fontaine@dojofive.com>
Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
Previously PMP was avaible only with Multithreading, since it's now
available without MT - add extra checks to prevent user/kernel mode
reconfiguration.
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
USE_HYPERRAM macro defined shouldn't be placed under
CONFIG_BOOT_FLEXSPI_NOR.
Add flexspi1 pinmux pinctrl and flash partitions
Add flash partitions and correct flash parameter.
This commit was tested with samples: flash_shell on cm33/cm7 cores
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
add flexspi.c file to get flexspi clock rate.
Enable flexspi1 clock if don't boot from flash.
Use custom fixed mpu_regions.c file to config MPU for CM7
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
A valid device tree configuration is provided for the ADCs of the 8 input
channels and the sample adc_dt works out of the box. Obviously this is
not the only possible configuration but it provides a good template for
further customization without the need to lookup the ADC GPIOs and
connections in the schematics.
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
This set of changes enables the RS485 hardware connected to usart3 and
provides some overlays that allow for easily running the modbus
rtu_client and rtu_server samples on Opta.
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
Some changes to cleanup and clarify some device tree nodes:
* removed wrong sdram2 definition
* added all internal flash slots accessible from M4
* added all internal flash slots accessible from M7
* removed CONFIG_UART_LINE_CTRL because not needed by USB CDC ACM
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
This set of changes reorganize the ethernet configuration by removing the
use a regulator to enable the PHY: the correct GPIO pin is set in code
only if the network has been configured via CONFIG_NET_L2_ETHERNET.
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
As long as MBEDTLS_ENTROPY_C is enabled, Mbed TLS needs to
poll some entropy source to gather data that will then be
processed by CTR/HMAC-DRBG modules. This means that in most
of the cases, once MBEDTLS_ENTROPY_C is enabled then also
MBEDTLS_ENTROPY_POLL_ZEPHYR needs to be enabled. This was
done manually until now, as the long list of samples/tests
demonstrate.
This commit solves this dependency by defaulting
MBEDTLS_ENTROPY_POLL_ZEPHYR to on as soon as
MBEDTLS_ENTROPY_C is set. As a consequence, all manual
enablement of MBEDTLS_ENTROPY_POLL_ZEPHYR in samples/tests
are removed.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The main problem of MBEDTLS_PSA_CRYPTO_LEGACY_RNG is that it
brings in some legacy modules (entropy + ctr_drbg/hmac_drbg)
which means extra ROM/RAM footprint.
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG instead simply calls to the
CSPRNG which makes it definitely smaller.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Auto-select MBEDTLS_CIPHER_AES_ENABLED when AES support is requested
through PSA (i.e. CONFIG_PSA_WANT_KEY_TYPE_AES) and the PSA support is
provided through Mbed TLS itself (i.e. CONFIG_MBEDTLS_PSA_CRYPTO_C).
This mimic what happens in Mbed TLS at build time: if AES support
is required through PSA, but there's no one else providing it
(i.e. no TF-M in Zephyr) then provide this support through legacy
AES module.
This is useful in samples/tests so that the user can simply use the
PSA_WANT symbol to ask for AES support in PSA crypto and then tune
the AES features (ex: CONFIG_MBEDTLS_AES_ROM_TABLES) without the need
to also define CONFIG_MBEDTLS_CIPHER_AES_ENABLED.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Removing direct #define usage in the DTSI file and converting these
definitions to use a dt-bindings header instead.
Relocates the RPI_PICO_DEFAULT_IRQ_PRIORITY definition to a DTSI file and
introduces an override.dtsi file. The override file is used when no other
override file is present, allowing for better flexibility and compliance
with Zephyr’s DTS structure.
Fixes: #79719
Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io>
Previously, ipv6 being disabled was a dependency of the hw acceleration
of the checksums for the nxp enet driver, because this ethernet has an
errata causing icmpv6 checksum to not be supported. Now, there is a new
config type in ethernet api for checksum types, so we can re-enable
hardware acceleration for ipv6 by implementing this type in the
get_config api in this driver.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves stropts into a singular
testsuite at tests/posix/xsi_streams app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
The filter here should be used to filter for capability:
whether the platform configuration supports userspace. And if
it does support userspace, we then enable CONFIG_TEST_USERSPACE
(and thus CONFIG_USERSPACE) for testing. We should not be
filtering for whether userspace is enabled, but should really
be filtering for whether userspace is supported.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The filter here should be used to filter for capability:
whether the platform configuration supports userspace. And if
it does support userspace, we then enable CONFIG_TEST_USERSPACE
(and thus CONFIG_USERSPACE) for testing. We should not be
filtering for whether userspace is enabled, but should really
be filtering for whether userspace is supported.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Split the cached area and assign both parts IROM and DROM meaning. This
is necessary to overcome the esptool section merging issues.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
The LVGL flush thread was hard-coded to be cooperative.
For long-running actions like data transfer to the display,
this is problematic as it might block high-frequency actions like
USB or input events.
Hence, make it configurable to be preemptive, and rename it to match the
similar Kconfig values like CONFIG_SDL_THREAD_PRIORITY.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
802.11 doesn't have specific constraints, it just says that listen
interval should be >=0 and it a 2 byte field.
3 as a typical DTIM value from nRF chipsets, so, remove the hardware
specific line and just set a failure.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Listen interval as per 802.11 has units as "beacon intervals" i.e., 1
means 1 beacon interval duration (or short beacon interval duration if
short beacon is enabled).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The prior image was of poor quality, making it difficult to interpret.
Updated the image with a higher-quality version.
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
Instead of doing an `irq_lock()`, use per-instance spinlock instead.
Refactored out an unlocked version of `local_irq_is_enabled`
from `riscv_plic_irq_is_enabled()` to achieve that.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Without multithreading only two stacks present: ISR and main.
As any stack they also could overflow, so it make sense to add stack
guard for them also.
Remove stack guard dependency on multithreading and mark
`Z_RISCV_STACK_GUARD_SIZE` bytes at the beginning of stack as read-only
region with PMP entry.
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Handle AF_UNIX family sockets for NSOS offloaded driver
Note that the size of struct sockaddr_un is done conditionnaly based on
CONFIG_NET_NATIVE_OFFLOADED_SOCKETS
Also, NET_SOCKADDR_PTR_MAX_SIZE needs to be updated only if
CONFIG_NET_SOCKETS_PACKET is not set. Otherwise, for a AF_PACKET socket,
a struct net_context variable can be corrupted, as local would have be on
16 bytes instead of 20 bytes.
Signed-off-by: Noemie Gillet <ngillet@sequans.com>
To remove CONFIG_PINCTRL from board side for numaker boards.
The Drivers using Pinctrl should be turning Pinctrl on
instead of the responsibility of the board.
Fixes#78619
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
The pull context LwM2M client's set_socketoptions callback is currently
unused and can't be set by a user. Add a public API to set the
pull context's client's set_socketoptions callback.
Signed-off-by: Andi Gerl <andi.gerl@exacttechnology.com>
When larger buffer index was introduced only function:
eeprom_target_write_received() was updated to handle
address-width = 16
This adds the same functionality when buffered API is used,
enabled by CONFIG_I2C_TARGET_BUFFER_MODE.
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
Updates the GitHub security page with the current supported versions
after the v4.0.0 release.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
When linking and relocations are performed on the ELF object itself
with no copying, also global binding linking can break references.
Disable linking globally for such cases.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The LLEXT linker for Xtensa cannot relocate FLIX commands, disable
them in extensions only until we have a solution. Note, that this
only affects extensions, the main Zephyr binary is still built with
FLIX commands.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Since call this function both in
```C
k_spinlock_key_t key = k_spin_lock(&lock);
bool need_flush = work_flush_locked(work, flusher);
k_spin_unlock(&lock, key);
```
So, there are no flag_get change.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Add `hifive_unmatched//s7` (earlier selected by default, using
`hifive_unmatched`) and `hifive_unmatched//u74` targets.
Define work-area for other 4 cores in openocd.cfg
Update twister platform white/black lists, to support new targets
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Add `hifive_unleashed//e51` (earlier selected by default, using
`hifive_unleashed`) and `hifive_unleashed//u54` targets.
Define work-area for other 4 cores in openocd.cfg
Update twister platform white/black lists, to support new targets
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
According to the RISC-V Instruction Set Manual: Volume II, Version 20240411
(Section 3.1.6.6), some implementations may choose to track the dirtiness
of the floating-point register state imprecisely by reporting the state to
be dirty even when it has not been modified. This option reflects that.
Also add a filter in `tests/arch/riscv/fpu_sharing/` based on imprecise
FPU state tracking
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Switch from `ram0` to `l2lim` in `zephyr, sram` in board DTS
Add `l2lim` in `support/hifive_unleashed.resc` and targets l2lim
as a work-area in `openocd_hifive_unleashed.cfg`
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Remove the renesas,ra-clock-generation-circuit driver, which is no longer
needed after migrating to the FSP-based implementation.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Remove the renesas,ra-pinctrl driver, which is no longer
needed after migrating to the FSP-based implementation.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since the Option Setting Memory area is set in FSP, the Kconfig value
switches between using the FSP implementation or the existing
Option Setting Memory implementation.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
This is generating lots of duplication and unnecessary builds when
multiple arches are being changed. Let's stick to basic coverage which
should be enough for PRs.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add additional time defines to round out the `SEC_PER_*` family.
These are easier to type than `SEC_PER_MIN * MIN_PER_HOUR` and
`SEC_PER_MIN * MIN_PER_HOUR * HOUR_PER_DAY`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Mention that CONFIG_NATIVE_APPLICATION &
CONFIG_NATIVE_SIM_NATIVE_POSIX_COMPAT have been deprecated.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This option existed only to make the transition from native_posix to
native_sim easier. As native_posix is going to be removed in v4.2
we deprecate this option now, so it will also be removed.
We also switch this option to default to false already now.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This option is used in tree only by native_posix, which is deprecated
and being replaced by native_sim. But may be used also in out of tree
targets.
As part of the native_posix deprecation, and therefore the lack of
testing this feature would have in the future, we are also deprecating
this option.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This revert the idea of 3fa7d78 from #78845.
The 3rd level IRQ APIs won't compile when
CONFIG_3RD_LEVEL_INTERRUPT_BITS=0.
Updated testcase accordingly.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This board has a few issues handled by this PR:
- Fix DTS entries to meet necessary flash partitions
- Fix wrong kconfig entries realted to SoC model
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Do not fail if we can't download any artifacts, i.e. when job is
cancelled.
Only publish on push/schedule
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a compliance test using ruff, for both linting and formatting of
newly added python files.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add simple scripts to convert ruff check and ruff format output to
toml exclude sections.
These sections can be used to ignore baseline violations for an existing
codebase.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Reporting or annotating issues can be done on a range rather than a
single line.
Add support for end line and end column.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Kconfig options for RTT control block initialization and linker
section were added in #53569, however the Zephyr west.yml was not
updated to incorporate the Segger repository changes to make use
of the new Kconfig options.
This fixes that.
Signed-off-by: Bryce Wilkins <bryce.wilkins@gmail.com>
Some nodelabels in the display build_all test overlay lacked a "test"
prefix, causing test failures on boards that also define displays with
this nodelabel. Prefix these nodes with "test" to resolve this issue.
Fixes#81610
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
\verbatim is not giving the right output as we need an inline literal.
Switch to \c instead.
Fixes#81595.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
USBD peripheral automatically handles Set Address command which can
lead to state mismatch between USB stack and the host. Keep track of
device address and issue fake Set Address commands on mismatch.
This fixes default vs addressed state mismatch that can occur due to
sufficently high SETUP handling latency. The state mismatch was most
commonly seen as SET CONFIGURATION failure when the enumeration happened
during periods with increased latency.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Set Address behavior is not specified when wValue is greater than 127,
or if wIndex or wLength are non-zero. USB stack did check wValue and
wLength but didn't care about wIndex value. Extend the check so non-zero
wIndex also results in STALL response.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Request and release global power domain only once during setup
of pins. Request and release involves communication over IPC and
it should be avoided if possible. For example if there are 4 pins
(like in UART) where GPD is requested we can limit number of
request/release operations fourfold.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add a common part for AMD board ACP_6_0_ADSP.
Add support for ACP_6_0_ADSP BOARD,
which represents ACP_6_0 soc.
This has a 1 Xtensa HiFi5 core, with 200-800MHz
1.75 MB HP SRAM / 512 KB IRAM/DRAM,
1 x SP (I2S, PCM), 1 x BT (I2S, PCM), 1 x HS(I2S, PCM), DMIC as
audio interfaces.
Signed-off-by: DineshKumar Kalva <DineshKumar.Kalva@amd.com>
Add UART configuration and pin control. Set state to disabled,
as it serves as alternative to default LPUART0 or as second
uart only.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Add possibility to retrieve VBUS status of the nPM1300 charger through
its sensor APIs. Updated shields/npm1300_ek sample to use the new API.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Improve type safety and consistency by adjusting variable and
parameter types to avoid signed/unsigned comparisons and implicit casts.
Moreover, explicit casts were applied when converting from
`size_t` to `uint16_t`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This change marks `w5500_api_funcs`, an instance of
the `ethernet_api`, as `const`.
By using `const`, we ensure immutability, leading to usage of only
`.rodata` and a reduction in the `.data` area.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Changed interrupt priority for GPIO, default 6 is not suitable for
for the ZERO_LATENCY_IRQS function used in this test.
used in this test.
Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
Add CONFIG_GPIO from defconfigs for Infineon boards.
Revert pull/81377, which affect some ble samples which
used GPIO.
Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
A few bindings in the timer directory (for kernel timing sources) were
being used for counters (which can have alarms set, and have a distinct
API). Move these bindings to the counters directory.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Use workflow_call to allow for different type of nodes depending on
event.
On push, we do not need to use zephyr runners, GH runners are enough and
are much faster to deploy and start.
This resolves an issue where push jobs will have to be queued for a
longer time waiting for the prep step, once the prep step is done, we
will have to wait one more time in the queue for requested nodes.
This should speed up execution of push events in CI.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Move publishing data to ES to a workflow_run step. This way we can
change the main workflow to use pull_request instead of
pull_request_target.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Platforms that support mmu require memory page access flags to be set in
both tlb and mmu. Add mmu flag update in sys_mm_drv_update_page_flags
function.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Attempt to invalidate cache for an unmapped address results in cpu
exception for the ptl platform. Perform cache invalidation after
translation activation in tlb. Add address mapping in mmu for platforms
that have it.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The flags parameter in the sys_mm_drv_map_page function is used, so the
ARG_UNUSED macro invocation is unnecessary. Remove this macro usage to
clean up the code and improvs code readability and maintainability.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Adds support for using relay buffers and advertising set for the subnet
bridge feature, even if the relay feature is disabled.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
In order to support error and warning message coloring
LOG_BACKEND_SHOW_COLOR must be set. Allow setting it for
customized cases.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The variables 'first' and 'next' in function 'stats_buffer_list_first()'
and 'stats_buffer_list_next()' were potentially used uninitialized.
Depending on the compiler and target architecture, this can lead to
different behavior, including warnings or errors when using strict
warning flags.
By initializing these pointers to 'NULL', we ensure consistent and
expected behavior across all toolchains and configurations.
Signed-off-by: Fabian Kainka <kainka@cognid.de>
DCDC regulator on nRF54L may not always works as intended.
Tune the fix addressing that.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
DCDC regulator on nRF54L may not always works as intended.
Apply a fix addressing that.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
To configure APPROTECT on nRF54L15 different set of MDK symbols
must be used. Additionally, nRF54L15 does not support loading
APPROTECT configuration from the UICR in runtime.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Platform capability descriptors such as MSOSv2 or WebUSB BOS have a
vendor request code that is used by the host to perform vendor-specific
requests. Add a convenient way to define and register a platform
capability descriptor with a vendor request node.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Allow the user to register a vendor request node identified by the
vendor code (bRequest) and containing two callbacks to handle the vendor
request. The device stack uses the vendor request node to call the
vendor request callbacks when it receives a request of type Vendor,
recipient Device, and bRequest value equal to the vendor code.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add a function similar to sample_usbd_init_device(), but one that does
not initialize the device. It allows the application to set additional
features, such as additional descriptors.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Currently the dmic_nrfx_pdm read implementation treats a timeout as an
error, in that a logging error message is produced when no PDM data is
available. However, for non-(or minimally-)blocking applications this is
normal behavior. Classified this way, the logger is flooded with error
messages unnecessarily, unless the log level is changed for the dmic
module, which is not desirable.
This modification simply changes the log-level to debug so the
application user can then decide whether or not a failed read needs to
produce an error message.
Signed-off-by: Anthony Wertz <awertz@pm.me>
The nrfx_gppi module is an abstraction over nrfx_ppi and nrfx_dppi
drivers. It now has a Kconfig option that is separate from nrfx_dppi and
by default it enables all PPI/DPPI instances, if available.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The resource reservation definitions were moved to a separate header
file.
The PPIB and DPPI channel and group resources can now be statically
allocated for each individual instance.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The new nrfx_ppib driver can now be enabled, when the corrensponding
device tree node has the okay status.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Added a binding description for the PPIB peripheral and added the device
tree nodes of the PPIB instances to the nRF54L15 and nRF54L20.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The hal_nordic revision was updated to bring in NRFX v3.8.0.
Aligned the uses of single-instance API to use multi-instance instead.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Convert the numerous revision compatibles to a DT property for the
revision called nxp,version (inspired from a linux DT property from
st called st,version on their DMA).
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The tests were using the default of 1 which is very low,
especially when we might have multiple RX streams.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This moves the SRAM definitions for STM32H56/7x chips up to the top
level since they are common to all of them.
Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
When start to sending proxy advertising, will also process in
send_pending_adv, but the bt_mesh_adv_get_by_tag will directly return
buffer from bt_mesh_adv_queue or bt_mesh_relay_queue, which case
mesh messages sent on different sets, can cause peer replay attack.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
PM_DEVICE_FLAG_ISR_SAFE is an enum and it must be converted to
a bit mask before masking with flags.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
- stm32cO11/31 share the same spi peripheral
- include stm32_dma header to be able to configure
spi with dma config macros (STM32_DMA_PERIPH_TX,...)
in dts
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
There is more native targets than native_sim and native_posix.
Let's exclude them all by architecture.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
add entry in migration guide 4.1 about renaming of compatible from
zephyr,gpio-steppers to zephyr,gpio-stepper
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit fixes incorrect c prototype and defintion of
stepper_set_callback to stepper_set_event_callback
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Ports the Thread-Metric suite of benchmarks from ThreadX to Zephyr.
This makes it easier for others to run these benchmarks with the
best set of configuration options for their board so that
they can better compare Zephyr performance to another RTOS.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The Xilinx AXI DMA Controller is commonly used in FPGA designs.
For example, it is a part of the 1G/2.5G AXI Ethernet subsystem.
This patch adds a driver for the Xilinx AXI DMA that supports
single MM2S and S2MM channels as well as the control and status
streams used by the AXI Ethernet subsystem.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Moves several node-specific operations inside the Node class to improve
its encapsulation, remove a monkey patch and access to internal methods
and fields.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
CONFIG_TEST_USERSPACE should select CONFIG_USERSPACE as they
should be enabled together. It is no use to enable userspace
tests without enabling userspace.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Both `include/zephyr/dt-bindings/pinctrl/gecko-pinctrl.h` and
`include/zephyr/dt-bindings/pinctrl/gecko-pinctrl-s1.h` define
`ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_GECKO_PINCTRL_H_`
to prevent duplicate inclusion.
Changed it to `ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_GECKO_PINCTRL_S1_H_`
in `include/zephyr/dt-bindings/pinctrl/gecko-pinctrl-s1.h` side.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Both `include/zephyr/drivers/interrupt_controller/intc_esp32.h` and
`include/zephyr/drivers/interrupt_controller/intc_esp32c3.h`
define `ZEPHYR_INCLUDE_DRIVERS_ESP_INTR_ALLOC_H__` to prevent
duplicate inclusion, so it cannot be properly prevented.
Change to a file path name-based definition.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Both `include/zephyr/drivers/dma/dma_smartbond.h` and
`include/zephyr/dt-bindings/dma/dma_smartbond.h` define `DMA_SMARTBOND_H_`
to prevent duplicate inclusion, so it cannot be properly prevented.
Change to a file path name-based definition.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Passing data by value is more efficient in this context. As such,
revise `poll_out_fn` and `uart_stm32_poll_out_visitor` to accept
the `out` argument by value instead of by address.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Make sure that we cannot connect to IPv4 multicast or broadcast
destination address for a TCP socket.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This is helper is only needed in socket multicast interface selection
where we need to get one address from the interface so that it will
tell (when getsockopt() is used), the interface IPv4 address where
multicast packets will be sent. This is private function which is not
needed in public headers so place the prototype to net_private.h file.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Do the selection same way as in IPv6 so that if user supplies
unspecified destination address, the default interface is selected
the same way.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Some of the network tests require that source and destination
addresses are not swapped so allow test to control the address
swapping from the test.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If CONFIG_I2C_STATS is enabled, the device state for all I2C controller
drivers must contain the I2C stats. This space is allocated by calling
Z_I2C_INIT_FN as part of the device definition; this is done automatically
when using I2C_DEVICE_DT_DEFINE instead of DEVICE_DT_DEFINE. If space
for statistics is not properly allocated but CONFIG_I2C_STATS is enabled,
an unexpected write to memory outside of the stats region may occur on
an I2C transfer. This commit uses I2C_DEVICE_DT_DEFINE or
I2C_DEVICE_DT_INST_DEFINE for all in-tree SPI controller drivers that do
not already.
Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
Remove unnecessary include in header and source file.
gmtime_r() is an extension to the C library, and therefore one
needs to explicitly ask for its prototype to have it exposed.
This is done by defining _POSIX_C_SOURCE so let's do so.
These two changes fix build errors with some libCs.
Tested with pico, newlib, minimal and the host glibc.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The channel filter and release functions can be used by some
DMA drivers to perform blocking operations (i.e: allocating,
de-allocating channel resources). In such scenarios, the
channel request and release functions become unsuitable for usage
inside ISRs. Drop the `isr-ok` tag and add comments regarding this
behavior being driver-dependent.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This is useful for releasing channel resources "allocated" during
channel request. These resources can refer to enabled IRQs, PDs,
etc...
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This patch defines the message format for AVCTP unit message.
This is the first out of the four types of commands and can be
used by the CT to obtain the unit info from the TG device.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
Only the basic functions for establishing an AVCTP connection
are provided at this stage.
An BR/EDR ACL connection is necessary before AVRCP function.
Register callbacks before utilizing AVRCP.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
This patch add SDP records for both CT and TG role.
The SDP attribute would be registered according to the configuration.
OBEX and Browsing commands are optional and yet not supported.
SDP registration is implemented at AVRCP level to simplify the
workload of the upper layer. We assume the App can have limited
knowledge on SDP structures.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
This patch implementing avrcp.c
New Kconfig BT_AVRCP is provided to enable this layer.
BT_AVRCP_TARGET and BT_AVRCP_CONTROLLER are then
provided to enable one of the two roles independently.
avrcp.h shows the APIs for the upper layer.
Only connection and disconnection interfaces are provided in this patch.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
This patch implementing avctp.c
New Kconfig BT_AVCTP is provided to enable this layer.
avctp_internal.h shows the APIs for the upper layer, i.e., AVRCP.
Only connection and disconnection interfaces are provided in this patch.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
Disable every PLL before configuration. That allows
an application to reconfigure PLLs after a bootloader
configuration.
Don't disable the PLL clock if it is used by (Q|O)SPI
when executing from external memory. That will lead
to a stall.
Note: when (Q|O)SPI runs from PLL, the bootloader
dictates the clock configuration. There is no clock
reconfiguration support for memory map mode in
(Q|O)SPI drivers.
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
This commit changes the way some x86 devicetree set the unit-address values
of memory nodes. Before the change, they were always set to `0`. After the
change, they are derived from the `DT_DRAM_BASE` macro to match the first
address specified by the reg property.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Added a flag parameter so that it is possible
to use the bt_cap_initiator_unicast_audio_stop to perform
disable+stop without releasing the streams by setting the
RELEASE flag.
This allows us to use the bt_cap_initiator_unicast_audio_stop
function to just disable streams without releasing them,
as that is requested by some PTS tests such as
CAP/INI/UST/BV-40-C.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Zephyr SDK 0.17.0 adds the toolchain for the Intel Audio DSP
ACE 3.0 platforms. We can now add the bits to enable building
the boards with SDK 0.17.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Amend the filtering so that the normal mem_map (with exec) test
is not going to run on Intel Audio DSP SoCs.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
With the rename of intel_adsp/ace30_ptl to intel_adsp/ace30/ptl,
the "sim" variant no longer inherit the base configuration. So
make a copy of the .conf file to explicitly target the sim
variant.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
some flashes support special opcodes
for 4-byte addressing, that can be used
without switching to 4-byte mode.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Increase the conn interval from 30 to 60 for more stability
in test with multiple lower testers (up to 3).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
ARGB8888 values all had alpha '0x00' (=transparent).
Changed them to '0xFF' and added a transparency test patch in the middle
of the screen.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Non-alpha colors were converted to colors with `0x00` alpha, which makes
them fully transparent.
The correct way would be to add a `0xff` alpha, which this change does.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
While the driver was already capable of processing `ARGB8888` data,
it did not actually show the alpha value in any way.
This change adds a checkerboard background that shows transparent
regions.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
`lv_task_handler()` returns a `uint32_t`, but `k_msleep` takes a
`int32_t`.
If no timer exists, `lv_task_handler()` returns `UINT32_MAX` to indicate
that we should wait forever. However, this gets auto-cast to `-1`,
indicating to `k_msleep` to not wait at all, creating a busy loop.
Hence, a clamping to `[0, INT32_MAX]` is required.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Adds a sample that renders the simple `hello world` LVGL demo
with a transparent background, to demonstrate ARGB8888 framebuffer
capabilities.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Any request 5 did set the address even if it's a non standard
request like vendor specific requests.
Signed-off-by: David Schneider <schneidav81@gmail.com>
Netcat (nc) does not handle SIGINT. It silently ignores it.
We cannot use run_client(), given that the pydoc for
run_client() specifically contains "Run a client that
handles SIGINT".
Instead, use check_call(), which correctly handles Ctrl+C.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This adds a new kconfig for eviction algorithm which needs page
tracking. When enabled, k_mem_paging_eviction_add()/_remove()
and k_mem_paging_eviction_accessed() must be implemented.
If an algorithm does not do page tracking, there is no need to
implement these functions, and no need for the kernel MMU code
to call into empty functions. This should save a few function
calls and some CPU cycles.
Note that arm64 unconditionally calls those functions so
forces CONFIG_EVICTION_TRACKING to be enabled there.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Alder Lake have at least 2 cores. Both boards using this SoC
(up_squared_pro_7000 and adl) are configured with
MP_MAX_NUM_CPUS=2, so dts should contain at least one more core.
Signed-off-by: Franciszek Pindel <fpindel@antmicro.com>
This fixes#78721 which was introduced in PR #44686, which changed (and
renamed) `adv_new_legacy`/`adv_get_legacy` to return an existing
`bt_dev.adv` if it existed. This caused a problem, where the existing
adv then would be used to start advertising, and if this fails (because
the adv is already advertising, for instance), `bt_le_adv_start` would
erroneously delete the adv, making the host lose the context for the adv
which still is advertising.
Before PR #44686, this would not happen, because `bt_le_adv_start` would
return early when `adv_new_legacy` returned `NULL` and never reach the
delete call.
I have refactored this to make responsibilities a bit more clear:
`adv_create_legacy` now does 1 thing: create an ext adv and assign as
the legacy advertiser. This mirrors `bt_le_adv_delete_legacy` which does
the opposite. I have implemented error codes to match the behavior that
PR #44686 was made to implement.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
The patch modifies the "Programming and Debugging" and "Flashing" sections
to make the documentation clearer and consistent with what is reported for
other ST boards.
Suggested-by: Abderrahmane Jarmouni <git@jarmouni.me>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
The building and flashing of the drivers/display and subsys/display/lvgl
examples confirmed that the LTDC peripheral is supported.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
The commit e17e54c48f ("boards: stm32: add flashing with stm32cubeprog
for all") did not update the documentation regarding the flashing
section, which no longer uses the OpenOCD runner by default.
Fixes: e17e54c48f
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
After we take the true MTU into account, we need to send proper
number of bytes (multiple of 8) in one IPv6 fragment.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If PMTU is enabled, then use the MTU value from it instead of always
using network interface MTU.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Shorten the timeouts so that the tests are run in 6 second instead
of 15 seconds.
Use only native_sim for the tests so that the tests are run without
any extra delays.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If PMTU is enabled, then use the MTU value from it instead of always
using network interface MTU.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add IPV6_MTU IPv6 socket option and implement getsockopt() and
setsockopt() calls for the option.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add IP_MTU IPv4 socket option and implement getsockopt()
call for the option. The IP_MTU option does not support
setsockopt() call.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Send a network management event for a changed path MTU value.
Both IPv4 and IPv6 have their own events as we cannot mix these
because how the network event numbering space is implemented.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Catch "Destination Unreachable" ICMPv4 messages and update PMTU for
a given destination IPv4 address.
Use that PMTU when sending data to the destination.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Show information whether PMTU is enabled or not.
Show pmtu destination cache content with "net pmtu"
command. The "net pmtu flush" can be used to clear the
cache.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Catch "Packet Too Big" ICMPv6 messages and update PMTU for
a given destination IPv6 address.
Use that PMTU when sending data to the destination.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print more cases when the packet is dropped, and also print
the upper layer verdict for the packet.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This adds generic code that can be used by both IPv4 and IPv6
Path MTU Discovery mechanism. The actual PMTU support for each
protocol family is in subsequent commits.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The `arch_proc_id()` returns the hartid of a CPU, which may not start
from zero. The way that it's used as an index to access `save_irq[]`
array is wrong, use `arch_curr_cpu()->id` instead.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Previously, twister would fail due to a warning being escalated to
an error because CONFIG_NET_TEST was set.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Test was marked build only with filters in each scenario looking for
sdl-dc which is only available on native_sim, so cut the chase and use
platform_only to narrow things down to native_sim directly instead of
building the world to get information we already know.
reduces build/run time from 78s to 17s on invocation of twister with
default options, saves a ton more when running twister with --all.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Implement a new stable-poll-period-ms property to specify a new (slower)
polling rate for when the matrix is stable.
The keyboard thread can eat up a surprisingly high amount of cpu cycles in
busy waiting if the specific hardware implementation happen to have a
particularly slow settle time, but high frequency polling is really only
needed when debouncing.
The new property allow slowing down the polling rate when the matrix is
stable (either key pressed but none to be debounced or idle in the case
of the gpio implementation with no interrupts), this allows reducing the
overall cpu time taken by the keyboard scanning thread when keys are
persistently pressed.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Changes the implementation of `bt_gatt_is_subscribed` to use the
attribute read method instead of casting the user data pointer when
extracting the CCC Attribute Value.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Refactors `bt_gatt_is_subscribed` by changing a CHECKIF to an if
statement to avoid undefined behavior if CHECKIFs are "disabled".
Uses sizeof(a uint8_t) instead of 1 to avoid magic numbers.
Initializes `properties` to 0 to avoid undefined behavior.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
This commit enables the TPIU clock source in Apollo3 and
Apollo4 soc initialization if LOG_BACKEND_SWO is used.
Signed-off-by: Aaron Ye <aye@ambiq.com>
This commit defines the default pinctrl of ITM for Apollo3 and
Apollo4 EVB. Also configures the default SWO frequency.
Signed-off-by: Aaron Ye <aye@ambiq.com>
-fuse-ld=lld is currently specified twice through the baremetal property
(in cmake/linker/lld/linker_flags.cmake) and TOOLCHAIN_LD_FLAGS (in
cmake/linker/lld/target.cmake). This doesn't really harm anything as
it isn't duplicated on the link line (and specifying it multiple times
wouldn't hurt even if it was), but it also doesn't really help anything.
-fuse-ld isn't baremetal-specific and setting it via TOOLCHAIN_LD_FLAGS
will cover this case anyway, so remove this duplicate.
Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
What is changed?
Use CMSIS SystemCoreClock via a dedicated flag instead of using
soc flags.
Why do we need this change?
This change is part of cleaning soc specific code out of arch folder.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
The default policy currently directly references the private
variable next_event from policy_events.c to then convert the cycle
of said event (if exists) to a kernel tick in the future, something
policy_events.c already implements and exposes through
pm_policy_next_event_ticks().
Additionally, the implementation of pm_policy_next_state() in
policy_default.c already gets the nearest kernel tick, wherein
the next event has already been accounted for in, see
implementation of pm_system_suspend().
This commit removes the redundant and layer violating computation
if the tick of the next event from policy_default.c and updates
the test test_pm_policy_events to not use default policy to
determine if pm_policy_next_event_ticks() is correct.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The short sleep (10ms) was not enough any more. Increase the sleep
to 100ms so that system stabilizes between checks.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print information in "net ipv6" command how the SLAAC addresses
are generated. There is the default legacy EUI-64 method (RFC 4862) or
the stable method described in RFC 7217.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add tests that verify that stable IIDs generate a proper IPv6
interface identifier described in RFC 7217.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This implements support for RFC 7217 which describes a method
to have stable IPv6 Interface Identifiers to be used with IPv6
Stateless Address Autoconfiguration (SLAAC). The stable IIDs are used
to provide enhanced privacy so that an IPv6 address configured using
this method is stable within each subnet, but the corresponding
Interface Identifier changes when the host moves from one network
to another. This method is meant to be an alternative to generating
Interface Identifiers based on hardware (MAC) addresses,
such that the benefits of stable addresses can be achieved without
sacrificing the security and privacy of users.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
- Refactoring of the cmake code so LinkServer can be invoked with the
correct switches.
- Documentation update
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
LinkServer manages port numbers for gdb and semihost as separate linear
sequences when invoked to debug multi-core applications, e.g the
gdb-server instance for cpu0 will have the default GDB port 3333 and the
next gdb-server instance will be assigned the port 3334. The latter will
conflict with the default port for semihost which is 3334.
This patch changes the default port for semihost to 8888.
Port numbers can be changed when invoking the linkserver runner.
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
The alloc_buf callback is not used when `seg_recv` is set, so it is
never called in this test. Remove it.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
Allowing an invalid address to be "freed" when asserts are disabled
is dangerous and can lead to a very hard class of bugs (and potential
security issues) to troubleshoot. This change always validates the
address before adding it to the free list and calls k_panic() if
asserts are not enabled.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Due to addition of busy threads running on other cores, and
the simulator runs in single thread bouncing through all cores,
we are wasting quite a bit of time just busy waiting. This makes
each simulator run too long for CI. So limit CPU number to 1.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Native builds uses system libraries per default.
Instead of handling this in each linker_libraries.cmake files, then the
check for native build is moved one level up and for native build a
dedicated linker_libraries_native.cmake is sourced.
This simplifies the linker_libraries.cmake files as they no longer need
to check for native builds.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The property based toolchain integration allows a cleaner design by
letting the toolchain define its properties and values and let CMake
implementation of Zephyr provided C and C++ libraries adjust those
properties when minimal C or C++ libraries are used.
This commit moves handling of C++ linker library properties into
the minimal C++ CMake implementation.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Now that section header cache is persistent, it can be used for
finding sections. Add a new function, similar to llext_find_section()
to use it and deprecate llext_find_section().
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Move cached section headers to struct llext from struct llext_loader
to preserve them after llext_load() returns.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Currently when building LLEXT for Xtensa we use the -fPIC compiler
option, but this cannot be used when using detached sections in
extensions. Add a Kconfig option to switch between the two
compilation modes and switch -fPIC off when building relocatable
(partially linked) ELF binaries.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When detached sections are used, STB_GLOBAL relocations also have to
be processed depending on the relocation type. This commit unified
STB_GLOBAL and STB_LOCAL flows by making them use the same relocation
type parser, adds support for R_XTENSA_GLOB_DAT and R_XTENSA_JMP_SLOT
type relocations on Xtensa and fixes STT_SECTION address calculation
for such sections.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Detached sections are used in situ without being copied to or
referenced from ext->mem[] LLEXT region arrays. Their caches must be
synchronised accordingly.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The newest AN1760 application note - Revision F (DS60001760G - June 2024)
is recommending to not write the node count to PLCA_CTRL1 register when
the node is not the PLCA coordinator (i.e. its ID is not zero).
Signed-off-by: Lukasz Majewski <lukma@denx.de>
This patch brings update of the procedure to initially configure the
LAN865x devices. It follows setup guidelines from newest AN1760 [*].
The values from "TABLE1" on the [*] must be written to the device in the
indicated order with recommended values.
This was not the case previously, as first values from in-flash allocated
(const) table were written and only afterwards calculated configuration
parameters (cfgparams) were updated.
With this patch the lan865x_conf[] table is allocated in-RAM, so
placeholder values can be updated and it can be written at once at the
end of configuration process.
Its single entry has been reduced from 8B to only 4B. Moreover, moving
it out of flash saves 512B of flash memory.
Note:
[*] - AN1760 Revision F (DS60001760G - June 2024)
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Update FAE table type from array of uint8_t to int8_t. From Vol 6.0,
Part B, section 2.4.2.52: "The ChFAE field contains the per-channel
mode-0 FAE table of the local Controller. Every per-channel mode-0
FAE value is represented by an 8-bit signed integer"
Signed-off-by: Adam Cavender <adam.cavender@nordicsemi.no>
CONFIG_ENTROPY_DEVICE_RANDOM_GENERATOR is on
by default, if the device supports that, so there is no need
to enable it explicit.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
use auto init for networking, dhcp and sntp.
This simplifys the code of this sample by using the
auto init feature of the networking stack.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The it8xxx2_kbd KSO pins can be used as both keyboard scan and GPIO. By
default the keyboard scanning driver controls the output level of all
the KSO signals from 0 to (col-size - 1), meaning that any line in
between used as GPIO is going to have its output value overridden.
Add a kso-ignore-mask property to the keyboard scan driver to allow
specifiying extra pins that should not be controlled by the driver.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
For SIGEV_SIGNAL, the function zephyr_timer_wrapper() is the handler
between kernel and posix layer.
Here, for one-time timer, reload is equal to 0 and function returns.
As a consequence, handler function was never called.
Signed-off-by: Noemie Gillet <ngillet@sequans.com>
The tx fifo empty interrupt is a edge driven interrupt, so if it
is already empty then and the interrupt is enabled, it will not
fire so the isr needs to be triggered manually for the callback.
This also removes the unnecessary interrupt locking in the isr and
removes the receiver timeout interrupt.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Refined `can_sja1000_read_frame` and `can_sja1000_write_frame` by
reducing `frame->id` pointer dereferences.
Using a local `id` variable aims to improve efficiency, given
the frequent execution of this code in CAN applications.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
bt_conn_le_create logs an error if the provided conn is
not NULL. This small change cleans up the log a bit to
avoid the warning.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Everything else is defined as hex, so it makes sense to
be consistent. This will also make it easier to find the
service IDs in the logs that primarily already log
commands and events as hex.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Since the values are defined as hex, e.g. 0x82, it is easier
to compare with the log if they also log them as such.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixed typo in Renesas RA8 SCI_B UART configuration that was preventing
hardware flow control from being enabled.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Obviously, everyone knows that there are 8 bits per byte, so
there isn't a lot of magic happening, per se, but it's also
helpful to clearly denote where the magic number 8 is referring
to the number of bits in a byte.
Occasionally, 8 will refer to a field size or offset in a
structure, MMR, or word. Occasionally, the number 8 will refer
to the number of bytes in a 64-bit value (which should probably
be replaced with `sizeof(uint64_t)`).
For converting bits to bytes, or vice-versa, let's use
`BITS_PER_BYTE` for clarity (or other appropriate `BITS_PER_*`
macros).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
* Add CONFIG_OPENTHREAD_PLATFORM_MESSAGE_MANAGEMENT to allow enabling
message management by the platform.
* Add implementation of `otPlatMessagePoolInit`, `otPlatMessagePoolNew`
and `otPlatMessagePoolFree`.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
Add a new snippet to enable serial console. Even though most Zephyr
boards enable this by default, the same is not true for many real
boards, where enabling UART can increase power consumption. Having
this snippet may become handy on such scenarios. We could also
consider cleaning up upstream boards by just enabling this snippet
by default.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
- Title underline too long
- Remove redundant how-to-use snippet bit, this can be documented
generically for all snippets instead of repeating it everywhere.
- Snippet does not redirect anything.
- RTT does not require HW support for console.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
There's no point in disabling serial when enabling RTT. They are
not incompatible between each other.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
rpi_pico.conf only adds CONFIG_ADC=y which already exists in the
prj.conf so it's redundant and can be removed.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Move the initialization of the priority q for running out of sched.c to
remove one more ifdef from sched.c. No change in functionality but
better matches the rest of sched.c and priority_q.h such that the
ifdefry needed is done in in priority_q.h.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
To support checking for sorted blocks of multi-line text add
an optional regex pattern for the KeepSorted compliance check.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Web browsers don't support HTTP Upgrade mechanism to upgrade to HTTP2.
Instead, HTTP2 is supported only over TLS, and ALPN is used to negotiate
the protocol to be used.
This commit adds the supported HTTP protocols to the ALPN list, so that
web browsers can use HTTP2 with the server.
Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
Add a cmake file which uses the cmake options feature
and include it inot the sca.cmake file to set up and describe
the options for the ECLAIR tool.
Signed-off-by: Simon Hein <Shein@baumer.com>
Add the ECLAIR calls for the zephyr cmake environment to call
ECLAIR while the firmware is build by replacing the actual compiler
call and setup the eclair environment and call the compiler through
the eclair.
The Integration accepts a kconfig file for configuring the
analysis and the generation of the reports. The path of the
kconfig file should be provided via the variable ECLAIR_CONFIG.
db_generation.ecl has be created and introduced instead of
reports.ecl because the report generation is handled by the
sca.cmake directly.
Signed-off-by: Simon Hein <Shein@baumer.com>
Add the Eclair configuration files, which are needed to
configure the static code analysis tool for the zephyr
coding guidelines.
Signed-off-by: Simon Hein <Shein@baumer.com>
MAX78002 SoC has IPLL and EBO clocks. Added these clocks for MAX78002.
Updated ERFO clock with '_OR' option because MAX78002 doesn't have it.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Without this change, `get_maintainer.py path ...` did not return a SiM3U
specific maintainer information when querying for
include/zephyr/dt-bindings/pinctrl/si32-pinctrl.h.
Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
The production version of the nRF54H20 SoC is now available, so remove
the initial Engineering B (EngB) preview version.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The nRF54H20 Development Kit version 0.8.0 is no longer supported, given
that they should have all been replaced by 0.9.x.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Make it possible to enable Wake-up End Device feature with
CSL receiver disabled (to receive wake-up frames on MED).
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Add Kconfig option `OPENTHREAD_WAKEUP_COORDINATOR` to enable
the Wake-up Coordinator role. Implement API to set Coordinated
Sampled Transmitting sample time and period for a driver that supports
`IEE802154_OPENTHREAD_HW_CST` capability.
The feature is be enabled on with ieee802154_nrf5 driver with option
by setting default value of CONFIG_IEEE802154_NRF5_CST_ENDPOINT.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
The new Kconfig option `IEEE802154_NRF5_CST_ENDPOINT` is added.
When it is enabled, then capability `IEE802154_OPENTHREAD_HW_CST`
is supported by the ieee802154_nrf5 driver and allows to set the
CST period and CST expected transmission time point.
This feature is an OpenThread-specific extention to the
ieee802154_nrf5 driver.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
The new capability `IEEE802154_OPENTHREAD_HW_CST` is added.
The option MAY be implemented as an extension to IEEE 802.15.4
drivers allowing to inject CST related Information Elements.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
To ensure payloads are delivered in time for the first subevent
in framed BIS, ISOAL now enforces a (configurable) margin of
the calculated time offset
Without this margin, it has been observed that a broadcaster
can end up consistently missing the first subevent in every third
event in a 7.5 ms ISO with a 10 ms SDU interval
The margin is a conservative 2 ms by default, but can likely be
set a lot lower for most implementations and HWs
Signed-off-by: Troels Nilsson <trnn@demant.com>
Adds compiler flag(s) and some architecture-specific relocations
for ARC. No userspace support, doesn't support all relocations.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Common RTC counter driver for MAX32xxx MCUs.
Time of day alarm is used to generate interrupt.
The resolution of time of day interrupt is 1Hz.
Subsecond alarm interrupt not works it does not meet
zephyr counter driver requirement, so that not used.
To use as wakeup source wakeup-source parameter shall be
defined as below
&rtc_counter {
status = "okay";
wakeup-source;
};
Co-authored-by: Okan Sahin <okan.sahin@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Added pmod_serial and pmod_header node labels to EK-RA8M1 device
tree board definition, allowing compatible shield boards to be used.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Fixes: #78010
This commit adds the "Gateway Advertisement and Discovery" process
to the MQTT-SN Publisher Sample application.
Signed-off-by: Kenneth Witham <kennywitham4@gmail.com>
Fixes: #78010
This commit adds tests for the "Gateway Advertisement and Discovery"
process. This includes tests for handling SEARCHGW, GWINFO, and ADVERTISE
as well as manually adding a Gateway for use. Gateway pruning when
missing ADVERTISE messages is also tested.
Signed-off-by: Kenneth Witham <kennywitham4@gmail.com>
Fixes: #78010
This commit implements the "Gateway Advertisement and Discovery" process
defined in section 6.1 of the MQTT-SN specification.
This includes breaking changes to the transport interface and the default
included UDP interface implementation as support for UDP multicast
messages is added as implemented by the Paho MQTT-SN Gateway.
Signed-off-by: Kenneth Witham <kennywitham4@gmail.com>
This follows update of UTCPD.VBSCALE register field. It supports:
- "divide-20": External VBUS voltage divider circuit should be 1/20
for EPR application. The divided voltage compares with
200mV to set or clean VBUS Present bit.
- "divide-10": External VBUS voltage divider circuit should be 1/10
for SPR application. The divided voltage compares with
400mV to set or clean VBUS Present bit.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Nordic SoCs implement an event system, for which the system can
optimize for low latency/high power or low power.
Add soc level implementation of reference counted API which will
optimize for low latency if any part of the system requires it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The HAL configuration binding can be done dynamically based on the
IP's address space. The `hal-cfg-index` property is more tied to
software rather than hardware so remove it as an attempt to clean
up the binding.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Add USB node to apollo4p and apollo4p_blue qualifier, and apollo4p_evb
and apollo4p_blue_kxr_evb board to enableUSB support on the MCU and
its EVB.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
These samples demonstrate how to use the bluetooth 6.0 channel
sounding APIs. A basic distance estimation algorithm is included.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Before that fix the names for UDMA could be misleading.
With that fix the namespace is clear and easy to follow.
Same applies for peripheral addresses and pad config.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Add npcm miscellaneous device control and power and clock control
instances.
Add device tree bindings for npcm power and clock control.
Signed-off-by: Alan Yang <tyang1@nuvoton.com>
Add initial support of the mailbox driver based
on the inter VM shared memory mechanism similar
as the existing IPM driver.
Signed-off-by: Felipe Neves <ryukokki.felipe@gmail.com>
Gives an example where the timeout value is 15seconds,
the prescaler of 8 can let the LPTIM count from 0 to 16 seconds
with LSE
Signed-off-by: Francois Ramu <francois.ramu@st.com>
With this change, the LPTIM counter will be able to set
its timeout to the st,timeout value. So that system can
sleep for that period without interruption.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Filters already only allow arm and native, so exclude everything else
very early and reduce churn and build time.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Filters already only allow arm and native, so exclude everything else
very early and reduce churn and build time.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Replace the enum for load modes for the iCE40 with a boolean flag,
as there are only two options:
- SPI: default, which should be used whenever possible
- GPIO bitbang: workarorund, in case a low-end microcontroller is used
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
Flags added allow keeping a pin as input/output by not disabling
the output buffer when configuring it as an input and by not
disabling input enable when configuring it as output. This can
be useful to implement signal diagnosis or for testing purposes.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Added empty fp register structs for ARM combinations not handled,
i.e. any ARM without a fpu.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
This commit adds the bt_hci_driver.close function for Ambiq
Apollo3x SoC. Also update the hal_ambiq revision including
the necessary support.
Signed-off-by: Aaron Ye <aye@ambiq.com>
If a gateway is not set for a interface,
also log the destination address.
Also print the interface index instead of the
interface pointer.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Log the address and the err/reason values in the connected
and disconnect callbacks.
Since these values are not part of the BTP events it is
difficult to follow the order and reason why disconnects
happen when debugging.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Increase the EXECUTION_TIMEOUT (real time timeout at which the test
will be killed), so we have more margin for CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Increase the EXECUTION_TIMEOUT (real time timeout at which the test
will be killed), so we have more margin for CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Increase the EXECUTION_TIMEOUT (real time timeout at which the test
will be killed), so we have more margin for CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The sample had a few off-by-ones in the code, which caused access
to invalid data.
Fixed by setting the right buffer sizes and the right AD length
fields.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
When CONFIG_LLEXT_STORAGE_WRITABLE is selected and .pre_located is
set, the BSS section is allocated by the user too, no need to
allocate it internally.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves rwlocks into a singular
testsuite at tests/posix/rwlocks app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves semaphore into a singular
testsuite at tests/posix/semaphores app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
RX FIFO flushing on RXTO event should only be performed when
UARTE peripheral might be disable during inactivity and that
happens when low power modes is enabled or when device runtime
PM is used. Flushing was incrementing flush_cnt which was not
used (flushed data is not copied to the next buffer) which
was causing data loss and invalid RX data length reporting.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Switch from using direct `strtol` calls to `shell_strtol`.
This change leverages the extensive error handling provided
by `shell_strtol`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Since the `fb` pointer is always assigned to `char_fb`, there is no need
for a `NULL` check. Additionally, removed setting `fb->buf` to `NULL` in
`cfb_framebuffer_init` as it will be overwritten by subsequent operations.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Added `len` to store the result of `strlen(str)` to avoid
multiple calls to `strlen` in the `for-loop`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves confstr, sysconf and uname into
a singular testsuite at tests/posix/single_process app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Fix k_sleep implementation for no multi-threading mode.
Absolute value of timeout expiration was fed to the k_busy_wait()
function instead of delta value. That caused bug like incrementing of
sleep time in geometric progression (while actual function argument is
constant) during program running.
Signed-off-by: Mikhail Kushnerov <m.kushnerov@yadro.com>
In order to compile with C++ exception handling for xtensa, the libgcc
location needs to be known. This change uses the same logic from gcc's
target.cmake to query the compiler for libgcc location and add the lib
to the include list.
Signed-off-by: Mark Inderhees <markind@meta.com>
Due to addition of busy threads running on other cores, and
the simulator runs in single thread bouncing through all cores,
we are wasting quite a bit of time just busy waiting. This makes
each simulator run too long for CI. So limit CPU number to 1.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
The sched benchmark is designed for systems with a single
CPU. Otherwise, the timestamps would be wrong when the partner
thread is scheduled on another CPU, i.e. negative values:
```
unpend 63 ready 62 switch -16562 pend 18937 tot 2500 (avg 928)
```
When the system allows for multiple CPUs, spawn a non-preemptible
thread to keep the other CPUs busy.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Adjust default number of test samples which is based on SRAM size.
Test is using 8*TIMER_TEST_SAMPLES and with previous defaults for
the device with 64k RAM it was using 56k of test data leaving only
8k RAM and that was easily not enough. Adjust conditions to
take less samples when SRAM_SIZE is equal to the threshold.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
From some reason, STM32 I2C drivers selected the compilation of
C files of the I2C LL API.
This is actually not required, so remove this dependency.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add conversion macros from milliseconds to various units.
The purpose of these macros is to make it more clear/easier
for users to set and read values using milliseconds rather
than the various BT units which may be in 0.625, 1.25 or 10ms
units.
This is especially useful when comparing related values using
different units, such as advertising interval (0.625ms units)
and periodic advertising interval units (1.25ms units).
Users will have to be aware that these macros can provide slightly
different values than what is provided, if the provided values
do not match the units.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Include in the list of supported peripherals the UARTE for the
simulated nrf5340
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf5340 and provide
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf5340 and provide
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test in the simulated nrf5340 by providing
an appropriate overlay.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The HW models now support this peripheral for these targets.
Let's enable them.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Include in the list of supported peripherals the GPIO
and GPIOT for both the nrf5340 and nrf54l15
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test by providing an overlay for the nrf5340bsim
Both for the app and net core.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test, and provide overlays, in the nrf5340bsim
Note this test specs 2 GPIO pins to be shorted. This can be done
for the simulation target by calling zephyr.exe with the option
`-gpio_conf_file=shorts_config.txt`
Where that file would contain this one line (for the provided overlay),
for the cpunet:
---- shorts_config.txt
short 1.1 1.2
----
And this for the cpuapp:
---- shorts_config.txt
short 3.1 3.2
----
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test, and provide overlays, for the nrf5340bsim.
Both for the app and net core.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Enable this test, and provide overlays, in the nrf54l15bsim
Note this test specs 2 GPIO pins to be shorted. This can be done
for the simulation target by calling zephyr.exe with the option
`-gpio_conf_file=shorts_config.txt`
Where that file would contain this one line (for the provided overlay)
---- shorts_config.txt
short 1.1 1.2
----
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models module to:
aeef3db9fa9e4b9d12b3bbec44f9cedc8fcb7d9c
Including the following:
aeef3db GPIO & GPIOTE: Improve notes and documentation
93549c4 UART: Fix command line parameter description
dbab746 nrf_hack: Add a few missing peripherals
4b1a61b 53 UARTE: Correct subscribe sideeffects function name
197e9cf docs: UART can be used now for 5340 in Zephyr
dc18d14 53: GPIO+TE: Add app core instances
b236c08 GPIO+TE: Add to 5340's netcore
7a621f6 GPIO: Clarify function description
1a2e1e4 GPIO+TE: Build for 54L
d121db4 nrf_gpio hal: Add new nrf_gpio_port_pin_{in,out}put_set
9bc41ce GPIOTE: Connect to DPPI
7141042 GPIOTE: Add simple support for PORT.SECURE & NONSECURE
dc930ba GPIOTE: Support having or not sense functionality per instance
a07180d GPIO: Support multiple GPIOTEs
14bdce5 GPIO: Collect status in single struct
b91da53 GPIOTE: Add support for N interrupt lines
9963424 GPIO & GPIOTE: Generalize to N instances
7379c23 GPIO+TE: Fix indentation
8d691c6 Add SPU registers stub
dd68ca9 Add NFCT register stub
cf2cc5b HW_models: NHW_NVMC: fix buffer read validation
f3db727 zephyr: module.yml: add `depends` field
09fc98f CMakeLists: remove trailing whitespace
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Refactor out the `soc_early_init_hook()` function from `pma.c` to
`soc.c` which is always compiled so that it can be extended to run
other init functions easily in the future. Then, restore the function
in `pma.c` to `pma_init()`.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
The function `pma_init_per_core()`, as its name suggest, should be
run from every core, so call it from `soc_per_core_init_hook()`
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Allow SoC to implement their custom per-core initialization function by
selecting `CONFIG_SOC_PER_CORE_INIT_HOOK` and implement
`soc_per_core_init_hook()`.
Signed-off-by: Maxim Adelman <imax@meta.com>
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
The `soc_per_core_init_hook()` function now has `void` type after
da118b9, so it should just return without any value.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
This will help distinguish 64 and 32-bit platforms by tooling, following
the pattern visible in e.g. RISC-V.
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
Those dtsi are a base for a range of 32-bit platforms. Setting this
compatible makes it easier to distinguish all 32-bit x86 platforms.
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
y
atom.dtsi enforces "intel,x86", but it doesn't help us discern if the
platform is 32 or 64-bit. We do that for example in RISC-V and it's
useful from the tooling perspective.
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Mateusz Hołenko <mholenko@antmicro.com>
This commit updates the SSP driver to use the newly defined
SSP_IP_VER macros for IP version checks instead of relying
on CONFIG_SOC_* macros. The change ensures better readability
and maintainability by centralizing the IP version definitions
and comparisons.
Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
Replace hardcoded register addresses and values in
asm_memory_management.h with Devicetree (DT) macros for LPSRAM
power-down operations. This change ensures that register addresses and
bank counts are dynamically obtained from the Devicetree, improving code
portability and reducing the risk of errors due to manual updates.
- Removed hardcoded LSPGCTL address definitions.
- Updated m_ace_lpsram_power_down_entire macro to use DT_NODELABEL to
fetch LPSRAM bank count and control register address
- Adjusted bit field extraction logic to align with the updated register
information from the Devicetree.
This commit aligns with the ongoing effort to utilize Devicetree for
hardware abstraction and to facilitate easier maintenance and updates to
the codebase.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Remove the m_ace_hpsram_power_change macro from asm_memory_management.h
as it is no longer used after refactoring the power_down function to
utilize the new m_ace_hpsram_power_down_entire macro. This cleanup helps
to reduce code complexity and maintainability.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Refactor the power_down function to utilize the newly introduced
m_ace_hpsram_power_down_entire macro for shutting down the entire
HPSRAM. This change simplifies the power-down process by replacing the
previous segment-based power gating mask approach with a single boolean
flag that indicates whether the entire HPSRAM should be disabled.
The function signature of power_down has been updated to accept the new
boolean flag, and the corresponding call sites have been modified to
pass the flag based on the CONFIG_ADSP_POWER_DOWN_HPSRAM Kconfig option.
Additionally, the assembly code has been cleaned up to remove the
now-obsolete hpsram_mask array and related logic.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Introduce a new assembly macro, m_ace_hpsram_power_down_entire, which
utilizes Zephyr Devicetree macros to power down the entire HPSRAM on
Intel ADSP ACE platforms.
This macro dynamically retrieves the HPSRAM bank count and control
register address from the Devicetree, streamlining the power-down
process. The macro is designed to iterate over all HPSRAM banks and
issue a power down command to each, ensuring a complete shutdown of the
HPSRAM when required by the system's power management policy.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This commit introduces the L2 Memory Capabilities (hsbcap) register node
to the Devicetree specifications for Intel ADSP ACE platforms. The
hsbcap register provides information on the general capabilities
associated with the L2 memory, which is critical for system
configuration and resource management. The hsbcap node has been added to
the Devicetree source files for ACE 1.5 (MTPM), ACE 2.0 (LNL), and ACE
3.0 (PTL) platforms.
In addition, the DFL2MM_REG macro in adsp_memory.h has been updated to
use the Devicetree node label for hsbcap, ensuring a consistent and
maintainable approach to accessing this register across the codebase.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This commit improves the readability of the power_down.S assembly file
by standardizing the indentation of the preprocessor definitions.
No functional changes have been made; this is purely a cosmetic update
to the code formatting.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This commit addresses an issue on platforms with an MMU where a
LoadStoreTLBMissCause exception occurs when accessing hardware registers
during the power-down process. The exception arises when attempting to
access the IPC register after HPSRAM has been powered down, leading to a
double exception: LoadStoreTLBMissCause followed by
InstrPIFDataErrorCause.
To resolve this, we preload the IPC register before shutting down
LPSRAM. This change prevents the double exception by ensuring that the
page table entries are correctly managed in the TLB before HPSRAM is
powered down and allowing the power-down sequence to complete
successfully.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Add definition for the Adafruit Adalogger Featherwing. This shield
compatible with the Adafruit Feather family is equipped with an SD card
slot and a PCF8524 RTC.
This work is based on the Adafruit Data Logger shield definition.
Signed-off-by: Philip-Dylan Gleonec <philip-dylan@gleonec.bzh>
Generate the Tx service request after the symbol is shifted out of the
UART. This is useful when the UART is connected to an RS485 transducer
which has a separate transmit enable gpio/line. Hence it's important
to know when the transmission actually finishes so that the drive
enable line can be disabled.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Add support for realloc (and realloc_aligned) into the multi heap lib,
where the buffer sent in will either be reused (maybe shrinked),
or enlarged by allocating on any of the matching heaps of the multi heap.
Signed-off-by: Meir Komet <mskomet1@gmail.com>
Extend the ARM M-profile suspend-to-RAM implementation to be compatible
with all versions of the M-profile supported by Zephyr: ARMv6-M, ARMv7-M,
and ARMv8-M Baseline.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Wrap the CPU register save/restore operations (GPR and special registers)
in macros to make core logic simpler to follow. This is also a preparatory
step to introduce ARMv6-M and ARMv7-M support.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Use macros to wrap the interaction between the assembly code and the
struct __cpu_context. This helps making the assembly more readable.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Remove all xPSR-related registers from struct __cpu_context, and the
associated save/restore code in S2RAM code, as they are not needed:
* EPSR and IPSR are read-only - they cannot be "restored"
* Bits N, V, Z, C, V, Q, and GE (if DSP Extension is implemented) of APSR
could be restored, but this is not needed as the AAPCS indicates these
bits to be "undefined on entry to or return from a public interface"
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Use minimized PIO code for 3-wire operation.
Input and output buffers are conventionally stored in bus byte order.
For 16 and 32 bit transfers, this is effectively big-endian, so
txbuf and rxbuf need to be read as such. Those pointers also need
to be declared uint8_t * instead of void *.
In addition, tx_count and rx_count are based on dts, and refer to
whole transfers (8, 16, or 32 bits), not bytes.
Added rpi_pico.overlay to samples/sensor/magn_polling to demonstrate
32-bit word size, and updated the README.rst to make it independent
of the specific sensor.
Clean up compliance check failures.
Fix typos.
Synchronize 3-wire TX and RX cycles.
Simplify state machine synchronization
Minimize SPI bus delay time in 3-wire mode
Move clock delay to PIO code and remove k_sleep
Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
The Adafruit Feather M4 Express is a compact, lightweight
ARM development board with an onboard mini NeoPixel, 2 MiB
of SPI flash, charging status indicator and user LEDs, USB
connector, 21 GPIO pins and a small prototyping area.
Signed-off-by: Teresa Zepeda Ventura <teresa.zvent@gmail.com>
Links and the manufacturer name are updated from maxim to analog.
After the acquisition of Maxim Integrated the documentation
of these devices has been moved to the analog.com website.
Redirects exist, so they are not broken yet,
but we should not rely on that.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Links and the manufacturer name are updated from maxim to analog
for the 1-wire subsystem and the related ds18b20 sensor.
After the acquisition of Maxim Integrated the documentation
of these devices has been moved to the analog.com website.
Redirects exist, so they are not broken yet,
but we should not rely on that.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
If network interface is specified in the DNS server, then send
the queries to the server via the network interface. Print this
information in the server list.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow user to specify a network interface in the DNS server
list. User can append "%" and network interface name to the
DNS server to use this. If the network interface is mentioned
in the server list, then the DNS queries are sent via this network
interface.
For example setting the interfaces like this:
192.0.2.2%eth1
[2001:db8::2]:5353%ppp0
would cause the DNS queries to sent to 192.0.2.1 via eth1 in the first
example, and to 2001:db8::2 via ppp0 in the second example.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If trying to parse a string like 192.0.2.2:80/foobar and
setting the length to 12 which means to parse the IP address
and port, the parsing failed because it used one extra character
from the string. This issue was not present if the input string
was terminated after the port number.
Add a test case to catch this problem.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The commit moves SHA calculation to separate test scenario, so that
it can be run separately from other flash map tests.
This reduces flash wear by not running basic flash map tests each
time different SHA backend is tested.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Remove needless writes/read and erase in flash_area_get_sectors test
scenario, by replacing it with comparison with layout directly obtained
from device.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Update the measurement durations for the sht4x sensors
in accordance with the datasheet revision 6.6 (2024-04).
These timings have been updated by sensirion in rev 3 of
the datasheet.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Add `len` to store the result of `strlen(addr_arg)` to avoid
multiple calls to `strlen` within the `for-loop` in
`cmd_scan_filter_set_addr`.
While the performance impact may be minimal in a shell context,
storing `strlen(addr_arg)` in `len` ensures a single call,
making the code more predictable and consistent.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
On the new Intel SoC, the "Valid" bit of the Virtual Wire is set only for
Virtual Wires that undergo changes. This behavior differs from previous
generations. Therefore, to maintain backward compatibility, a conditional
check for the virtual wire valid bit is added for processing the virtual
wire level.
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
There were a few cases where CONFIG_BT_BAP_BASS_MAX_SUBGROUPS was
used in structs in the public header files. Unfortunately using
a Kconfig for an array size will cause include issues if the
file is included without the Kconfig being available.
For now add and use a new #define value that will be 0 if
CONFIG_BT_BAP_BASS_MAX_SUBGROUPS is not defined.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use zexpect instead of zassert so that the failed tests do not
stop the test execution but we run all the tests.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The IPV6_JOIN/LEAVE_GROUP corresponds to IPV6_ADD/DROP_MEMBERSHIP
definitions so define the former and add tests for them.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The in6addr_any is a global symbol that can be used when any
address (all zero bits) is being referenced.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
In case of conflicts when calling bt_id_find_conflict
there was no way to easily determine what conflicted.
This is a rare occurance, but has happened when testing
against PTS.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Some auto formatters will wrap long lines of code and insert newlines
that are part of function decls outside of arguments. This change strips
out all newlines so syscall typename regex function as expected.
Signed-off-by: Mark Inderhees <markind@meta.com>
'nrf52840dk/nrf52840' is already listed under "generic" 'sample.dap.bulk',
so keeping 'sample.dap.bulk.nrf' has no value. The only difference is
dependency on 'gpio' instead of 'arduino_gpio', but
'nrf52840dk_nrf52840.overlay' references arduino header gpios only.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Turn the assert into an if-statement to ensure that CDONE is always
checked during the configuration of an iCE40.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
Add an alternate message output option in which messages are
ended with an additional zero data byte with marker and timestamp.
Can be used to maintain compatibility with certain decoders.
Signed-off-by: Juha Sunnari <juha.sunnari@nordicsemi.no>
Add a struct led_dt_spec to hold an LED device and index pointer, some
initializer and wrapper APIs.
This allows simpler LED usage, such as:
static const struct led_dt_spec led = LED_DT_SPEC_GET(DT_NODELABEL(led0));
led_on_dt(&led);
led_off_dt(&led);
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
In order to enable code relocation, we use a custom target
(code_data_relocation_target), and add files we wish to relocate, as
well as which sections should be relocated to the COMPILE_DEFINITIONS
property for the target.
This approach has been fragile, because COMPILE_DEFINITIONS can also be
added to for all targets using `add_definitions`. This means if another
part of the project uses `add_definitions` and
CONFIG_CODE_DATA_RELOCATION is on, a warning will appear about the
"file" not being found. The "file" of course, is just the definition
added by `add_definitions`.
To work around this, switch to overloading the INTERFACE_SOURCES
property. This property should be a bit more robust, because nobody else
will add sources to the code_data_relocation_target.
However, this approach has the downside that the CMake documentation
pstates targets created with `add_custom_target()` (which the
code_data_relocation_target is) do not have an INTERFACE scope for
their sources- so while this approach works, it is not officially
supported by CMake
Fixes#60220
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The newly introduced `frame_incomplete` flag of
`display_buffer_descriptor` needed to be added at several places to
avoid uninitialized memory.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
In frames with multiple writes (officially supported through
`CONFIG_LV_Z_VDB_SIZE`) the display needs to be signalled that the
current frame is over and the content should be displayed.
This allows displays to present the UI without tearing artifacts.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Introduces support for double-buffered/latched displays.
Currently, every write has to be presented to the user immediately,
which negates the advantage of latched displays to prevent frame tearing.
Now, GUI managers can indicate whether the current `display_write` call
is the last call of the frame or not, allowing displays to group writes
to a single present.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Validate that the SBS fuel gauge driver returns the expected values for
negative currents (discharging).
Signed-off-by: Jordan Yates <jordan@embeint.com>
The currently IPI implementation assumes that CLINT exists in the
system, however, that might not be the case as IPI can be implemented
with PLIC that supports software-triggering as well, such as the Andes
NCEPLIC100.
Refactor the CLINT-based IPI implementations into `ipi_clint.c`, and
create Kconfig that selects the CLINT implementation when
`sifive-clint0` exists and enabled, otherwise default to
`RISCV_SMP_IPI_CUSTOM` which allows OOT implementation. This also
makes way for the upstreaming of non-clint IPI implementation later.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
The function ina219_set_msr_delay always returns zero, indicating success.
Therefore, the error check on its return value is unnecessary and can be
removed.
Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io>
Add a new API to cancel just one, or mathing requests,
instead of cancelling all ongoing requests.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
poll() only for sockets that have traffic ongoing or have some lifetime
left.
On socket failures during a poll(), stop listening for the socket.
Application can recover by reconnecting the socket.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
When the client fails when parsing the response and we stop proceeding,
we should report that to the application.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Even if we receive duplicate confirmable message, we should still
respond with the Ack. Just don't deliver the second callback.
This is achieved by moving the MID deduplication to after Ack handling.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Return the -errno when zsock_sendto() or zsock_recvfrom() fails, so
rest of the code can deal with return values, instead of separately
comparing errno and return value.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
When response is received and handled, don't just clear the structure
but instead mark it as ongoing=false.
So if we later on receive a duplicate response for it, we can still
respond with Ack or Rst.
This is achieved by using release_internal_request() when we don't
expect any response for it and reset_internal_request() when we really
fill up a new request.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
CoAP client should be able to push data through functioning socket
while another sockets is failing or reporting poll() errors.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add testcase where sending Ack to incomming Confirmable message fails.
This should be reported to application as now the server is unaware
that transmission have succeeded, so we cannot thread it as success.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
* Use sys_rand_get() and seed the CoAP library, so our MIDs are
random.
* Set socket events per socket, so we don't accidentally receive
on wrong socket
* Reply with correct tokens
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add definitions for all possible flash and SRAM region sizes for ARMv7
MPU. Also, correct some of the SRAM size checks to use <= instead of ==,
to be consistent with the remainder of the file
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This patch adds support for the size_t %z format specifier to the
dictionary parser.
It's the correct format to use for size_t types in modern C,
but it's not supported in python directly.
Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
ST ZIO connector is Arduino Uno compatible. Arduino SPI pins are placed on
D10-D13 pins, where D10 is SPI nCS pin. This pin is connected with PD14 of
STM32U5A.
According to schematics of this Nucleo board [1]:
Due to muxing constrainte, the SPI_NSS is not available as an alternate
on this IO, so this pin is affected with an I/O function to do the Chip
Select
This means that software control of GPIO is needed to make use of this SPI
interface on regular SPI signals on Arduino connector. Reconfigure
SPI1 (used as Arduino SPI) interface to account for that.
Note that previously configured PE12 is only available on ST ZIO and ST
Morpho connectors, not on Arduino connector.
Update documentation as well, which was referencing PA4 as nCS signal (used
on some other Nucleo boards).
[1] https://www.st.com/resource/en/schematic_pack/mb1549-u5a5ziq-c04-schematic.pdf
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
- Sets s26ks512s0 flash write-block-size to correct 256KB.
- Optimizes MCUboot partitions to fit the correct write-block-size.
Fixes#80284
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Uses a temporary file for dts output then uses CMake to copy to the
correct file if it has changed. This prevents a ping-pong issue when
sysbuild is used of configuring and building cycle when nothing has
changed and there is sysbuild code which loads in the devicetree
data from an image
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Clarify that one can simulate equally well the nRF54L10 and L05
variants with this target.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This target simulated is reasonably tested.
Let's stop warning about it being experimental.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves barrier into a singular
testsuite at tests/posix/barriers app directory.
Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
Fix compilation error by specifying usart1 to be used for uart-pipe.
Add a board-specific configuration file to disable the console,
so, the usart1 will be used only for bluetooth and to specify
the BT_HCI_TX_STACK_SIZE.
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
Fix wrong reporting about where testcases were executed.
We have:
INFO - 1130 of 1130 executed test cases passed (100.00%) on 0 out of
total 860 platforms (0.00%).
which is obviously wrong.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
* privileged portion of the user stack without touching SP_EL0. This portion
* is marked as not user accessible in the MMU/MPU.
*
* - a stack guard region will be added bellow the kernel stack when
* - a stack guard region will be added below the kernel stack when
* ARM64_STACK_PROTECTION is enabled. In this case, SP_EL0 will always point
* to the safe exception stack in the kernel space. For the kernel thread,
* SP_EL0 will not change always pointing to safe exception stack. For the
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.