Skip to content

Conversation

@lstnl
Copy link
Contributor

@lstnl lstnl commented Jul 30, 2025

No description provided.

@lstnl lstnl force-pushed the riscv-direct-isr-multithreading branch 2 times, most recently from 8ea1dd5 to a7d8120 Compare July 31, 2025 09:00
nordic-krch and others added 27 commits August 1, 2025 11:33
Rearrange code to prepare for upcoming extension that adds special
receive mode.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit e5003ae)
…counting

Add mode to be used on UARTE with frame timeout which is using a bounce
buffers and TIMER to count bytes. This mode shall be used to reliably
receive data without HWFC as frame timeout approach is not 100% reliable
because it can loose or corrupt a byte when new byte arrives after
frame timeout is detected but before it is fully handled. This mode is
similar to the one enabled with CONFIG_UART_x_NRF_HW_ASYNC but
additional bounce buffers are used and UARTE is receiving data to
internal buffers and copies data to the user buffer. Legacy apporach
cannot be used because in new SoC DMA attempts to copy data in words
so when byte is received it stays in the DMA internal buffer until
4 bytes are received or end of transfer happens then internal DMA
buffer is flushed.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit a07f73b)
…/O mode

Test external MSPI flash in single I/O mode

Signed-off-by: Bartosz Miller <[email protected]>
(cherry picked from commit b78be6b)
…t for nrf54l15dk

Add a testcase for nrf54l15dk with sense edge to gpio_basic_api
test.

Upstream PR #: 93717

Signed-off-by: Michał Bainczyk <[email protected]>
(cherry picked from commit b5b58e3)
Fixes the NVM size going beyond what the chip supports

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 0f0c80e)
…titioning file

Adds a common vendor dts file specifying the default partition
layout for nRF54L10-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 9dc6040)
… partitions

Adds a workaround for partitions on nrf54l10 non-secure devices to
prevent build issues, this needs to be fixed properly when a TF-M
update is done which sets the partition sizes properly

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 002838a)
…titioning file

Adds a common vendor dts file specifying the default partition
layout for nRF54L15-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 124a803)
…partitioning file

Adds a common vendor dts file specifying the default partition
layout for nRF54L15-based cpuapp_ns board targets and updates boards
to use this common file.

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit e542188)
…titioning file

Adds a common vendor dts file specifying the default partition
layout for nRF54L05-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 5bc71e6)
Fixes these files to no lonegr delete non-secure partitions
as these no longer exist

Signed-off-by: Jamie McCrae <[email protected]>
(cherry picked from commit 97e5d33)
Add an nPM1304 EK shield, update samples/shields/npm1300_ek to support
both shields, improve the sample description.

Signed-off-by: Sergei Ovchinnikov <[email protected]>
(cherry picked from commit f0f2b94)
… variant

Direct variant of this test disables intermediate buffer
in the nRF SPI driver and verifies whether devices like nRF54H20,
which can peform DMA transcations only from specific memory regions,
are handled properly.

Upstream PR #: 93487

Signed-off-by: Nikodem Kastelik <[email protected]>
(cherry picked from commit bd191d8)
Bounce buffers should be freed rather than user buffers.

Upstream PR #: 93487

Signed-off-by: Nikodem Kastelik <[email protected]>
(cherry picked from commit 5769fca)
Improve corss-channel test by setting different
duty cycle on channels. This modification will enable
detection of inter-channel effects like crosstalk.

Upstream PR #: 93776

Signed-off-by: Piotr Krzyzanowski <[email protected]>
(cherry picked from commit 0878bed)
Add more channels testing nrf platforms.

Upstream PR #: 93776

Signed-off-by: Piotr Krzyzanowski <[email protected]>
(cherry picked from commit 99cbbba)
…e data

Stop processing microphone data on error or when streaming ends. This
avoids I2S read timeouts due to audio data not being available while
streaming.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 943fc6f)
This commit resolves a bug where the USB Endpoint
provided by the HID driver was incorrect when in
High Speed mode.

Signed-off-by: Victor Brzeski <[email protected]>
(cherry picked from commit c0e1268)
Signed-off-by: Tomasz Moń <[email protected]>
Change the macros to have only one plus operator per term. This is
purely stylistic change, no functional changes.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 673f324)
…ndpoints

Enable double buffering on data OUT endpoints to allow USB stack to
enqueue next transfer as soon as possible. This is especially useful
when operating at High-Speed where there is significantly less time
between subsequent SOF packets.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 2f343bf)
…nqueue

Release receive buffer on failed endpoint enqueue.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit f9ac318)
…ndpoint

Enable double buffering on isochronous feedback endpoint to avoid
sending ZLP instead of feedback information.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 223d23a)
…ing incompisoout

Rearm isochronous endpoints when handling incomplete iso out interrupt
to make it possible to rearm the endpoint in time (before SOF),
especially when operating at High-Speed.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 6eb2fa8)
Incomplete iso IN/OUT is just informative and its occurrence does not
prevent the endpoint from actually transmitting/receiving data. Such
"late" isochronous transfers, which are perfectly fine according to USB
specification, were observed on Windows host with nRF54H20 running
explicit feedback sample operating at High-Speed.

The incorrect handling manifested itself with "ISO RX buffer too small"
error message. The faulty scenario was:
  * incompISOIN handler does not find any matching endpoint
  * incompISOOUT handler disables endpoint, discards buffer and sets
    rearm flag
  * next DWC2 interrupt handler iteration after reading GINTSTS
  * XferCompl interrupt on iso IN endpoint
  * XferCompl interrupt on iso OUT endpoint
      - transfer was actually happening to the buffer discarded in
	incompISOOUT handler
      - XferCompl handler modified the next buffer
  * GOUTNakEff interrupt, iso OUT endpoint EPDIS bit is set
  * EPDisbld interrupt, rearm flag set
      - the buffer modified by XferCompl is used and fails because it is
	not large enough

Modify the sequence so it accounts for host actions and the above faulty
scenario no longer causes any problems.

Signed-off-by: Tomasz Moń <[email protected]>
(cherry picked from commit 8d1f7b3)
Allow user to specify which network interfaces to bind the
server to when reconfiguring the DNS system.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 2af5dba)
Signed-off-by: Robert Lubos <[email protected]>
Bind the network interface to the network interface we
have received the DNS servers from. This is now the default.
The previous behavior can be restored by disabling the
CONFIG_NET_DHCPV4_DNS_SERVER_VIA_INTERFACE option.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 1224c5a)
Signed-off-by: Robert Lubos <[email protected]>
Bind the network interface to the network interface we
have received the DNS servers from. This is now the default.
The previous behavior can be restored by disabling the
CONFIG_NET_DHCPV6_DNS_SERVER_VIA_INTERFACE option.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 248cb3d)
Signed-off-by: Robert Lubos <[email protected]>
sjanc and others added 28 commits August 6, 2025 09:00
…d Public Key

Core Specification 6.1 clarified exptected erro code in case peer
sending invalid Public Key. In case pairing is aborted during or
immediately after Public Key Exchange phase has completed (which is
the case here) expected reason code is set to "DHKey Check Failed".

This was affecting SM/CEN/KDU/BI-04-C and SM/PER/KDU/BI-04-C
qualification test cases.

Signed-off-by: Szymon Janc <[email protected]>
(cherry picked from commit 9b27a47)
Signed-off-by: Håvard Reierstad <[email protected]>
…de-svc userdata

- Issue: There is a bus-fault while accessing empty userdata structure
  pointer if application does not include any include service
  userdata instance (which consist of UUID list of included service)
  but service array has defined dummy entry for it assumed to be
  overridden by app during initial flow.
- For example, the issue has happened in case of tmap-central sample
 without "CONFIG_BT_OTS" support. there are some MCS attributes
 dependent on OTS service because of that
 "BT_GATT_INCLUDE_SERVICE(NULL)" entry is added as part of service
 definition. The given entry does not have userdata handler defined
 and is expecting to be overriden by the app if it will be included.
 During "bt_mcs_init()" call, "mcs.attrs[i].user_data" is not
 populated with any attr-instance pointer. This makes CPU to access
 null-address during reading local-database include-service attribute
 which was not provided by the app but the include-service entry was
 added to the db.
- Fix: Adding condition to check if user-data has null address, and
 returning back to avoid any hard-faults.

Signed-off-by: Nirav Agrawal <[email protected]>
(cherry picked from commit 5a8189b)
Signed-off-by: Håvard Reierstad <[email protected]>
The implementation used BT_L2CAP_ECRED_MIN_MTU to check the lower limits
of both MTU and MPS, instead of BT_L2CAP_ECRED_MIN_MPS for MPS. While
these are the same here, confusion may arise. This commit fixes the
confusion.

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit d989188)
Signed-off-by: Håvard Reierstad <[email protected]>
Adds a missing requirement from Core Spec V6.0 Vol 3.A chapters 10.1
and 10.2 to ignore L2CAP_FLOW_CONTROL_CREDIT_IND packets with the
credit value set to 0.

Matches existing credit-related functions by checking that the CID
is in the dynamic range (you can't add credits to fixed channels).

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit 2b42a1d)
Signed-off-by: Håvard Reierstad <[email protected]>
Check whether the connection response parameters both with and without
ECRED are within the valid ranges from the Bluetooth Core Specification
(part 3.A.4 v6.0). Changes validation checks in requests to match the
same pattern.

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit 7debc8a)
Signed-off-by: Håvard Reierstad <[email protected]>
The many_conn l2cap test used a MTU lower than the minimum permitted
value. This commit bumps it to the minimum (23).

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit b799d18)
Signed-off-by: Håvard Reierstad <[email protected]>
…uicr.py

Upstream PR #: 94064

Set the VERSION field to 2.0 in gen_uicr.py to indicate the version of
the format the script produces blobs for. This is required for forwards
compatibility with newer versions of IronSide SE.

Signed-off-by: Jonathan Nilsen <[email protected]>
… width

Allowed use of counter bit width lower than hardware 24.
In that case, PPI connection is established to trigger
clear task once maximum value is reached.

Upstream PR #: 92025

Signed-off-by: Michał Stasiak <[email protected]>
…52832

Added overlay for the board.

Upstream PR #: 92025

Signed-off-by: Michał Stasiak <[email protected]>
Release instead of requesting constant latency mode
on SPI suspend.

Upstream PR #: 94153

Signed-off-by: Michał Stasiak <[email protected]>
… dependencies

Update Kconfig dependencies in mbedTLS and logging backend to use
OPENTHREAD instead of NET_L2_OPENTHREAD.

Upstream PR #: 94054

Signed-off-by: Łukasz Duda <[email protected]>
… default

External flash memory is typically not used, so it should
be disabled by default. The GPIO6 port used by this device
should also be disabled.

Upstream PR #: 94180

Signed-off-by: Adam Kondraciuk <[email protected]>
Fix soc_mramc_nrf_mram space indentation

Signed-off-by: Travis Lam <[email protected]>
(cherry picked from commit 6413185)
Remove cache invalidation after flash write,
cpu should automatically invalidate cache but
for HW erase invalidation needed due to erase
from different bus.

Signed-off-by: Travis Lam <[email protected]>
(cherry picked from commit 5274d66)
Utilize a code spell-checking tool to scan for and correct spelling errors
in `Kconfig` files within the `soc` and `subsys` directory.
Additionally, incorporates a fix recommended by the reviewer.

Signed-off-by: Pisit Sawangvonganan <[email protected]>
(cherry picked from commit 0ec49fa)
Signed-off-by: Sean Madigan <[email protected]>
…n and feature events

Previously, the version complete event had to come after
the remote feature complete event for the notify_remote_info
function to be called.

This becomes less practical when adding the read all remote
features complete event, as this can take some time. Meaning
the order of events is not predictable.

Signed-off-by: Sean Madigan <[email protected]>
(cherry picked from commit cddea43)
Signed-off-by: Sean Madigan <[email protected]>
…feature

This commit adds support for the extended feature set
feature. This includes:
- hci boilerplate
- kconfigs, including one for a max local feature page
- reading remote features is done by a command and callback
- this is not linked into the auto feature request on
connection as this procedure can take quite a few connection
events, and we do not want to delay the user
- added the commands to the bt shell

Signed-off-by: Sean Madigan <[email protected]>
(cherry picked from commit 3adae8b)
Signed-off-by: Sean Madigan <[email protected]>
Commit removes unused host hci custom functionality
that was moved to mesh by misinterpretation of it.

Signed-off-by: Aleksandr Khromykh <[email protected]>
(cherry picked from commit b6a0f4e)
Signed-off-by: Sean Madigan <[email protected]>
add `role_changed` to `struct bt_conn_cb` to notify the HCI_Role_Change
event to application.

Signed-off-by: Mark Wang <[email protected]>
(cherry picked from commit 31fba83)
Signed-off-by: Sean Madigan <[email protected]>
add bt_conn_br_switch_role and bt_conn_br_set_role_switchable to control
the role switch, add DEFAULT_ROLE_SWITCHABLE Kconfig to control the default
role switch state.

Signed-off-by: Mark Wang <[email protected]>
(cherry picked from commit e71b512)
Signed-off-by: Sean Madigan <[email protected]>
…CONN_CB_DEFINE

This commit registers the connection callbacks using BT_CONN_CB_DEFINE,
which ensures they are set up at link time rather than runtime.

Signed-off-by: Yago Fontoura do Rosario <[email protected]>
(cherry picked from commit b1eaf02)
Signed-off-by: Sean Madigan <[email protected]>
…ONN_CB_DEFINE

This commit registers the connection callbacks using BT_CONN_CB_DEFINE,
which ensures they are set up at link time rather than runtime.

Signed-off-by: Yago Fontoura do Rosario <[email protected]>
(cherry picked from commit e0d22a3)
Signed-off-by: Sean Madigan <[email protected]>
…nnection callbacks

This commit allows to the user to control the use or not of dynamic
connection callbacks.
The stack is not using the dynamic connection callbacks so they are
only needed if the applications want to use it.
Setting it to true for backwards compatibility.

With dynamic connection callbacks

           FLASH:      176600 B       512 KB     33.68%
             RAM:       27428 B        64 KB     41.85%
        IDT_LIST:          0 GB        32 KB      0.00%

Without dynamic connection callbacks

           FLASH:      176376 B       512 KB     33.64%
             RAM:       27428 B        64 KB     41.85%
        IDT_LIST:          0 GB        32 KB      0.00%

Signed-off-by: Yago Fontoura do Rosario <[email protected]>
(cherry picked from commit ca06a1d)
Signed-off-by: Sean Madigan <[email protected]>
…ZE define

Fix BT_LE_LOCAL_SUPPORTED_FEATURES_SIZE define, as this was
not working correctly without brackets around
CONFIG_BT_LE_MAX_LOCAL_SUPPORTED_FEATURE_PAGE.

Also fix CONFIG_BT_LE_MAX_LOCAL_SUPPORTED_FEATURE_PAGE help,
as this was talking about remote featues, where this only
applies for local features.

Also update for new CONFIG_BT_CONN_DYNAMIC_CALLBACKS kconfig

Signed-off-by: Sean Madigan <[email protected]>
(cherry picked from commit 9bbc906)
Signed-off-by: Sean Madigan <[email protected]>
This commit adds support for the frame space update feature
to the bluetooth host.

This is mainly just a wrapper around the frame space update
HCI command and event.

Signed-off-by: Sean Madigan <[email protected]>
(cherry picked from commit 1b7b6af)
Signed-off-by: Sean Madigan <[email protected]>
L2CAP channels will now, along with the ident, store the opcode of the
pending request. This commit expands the ident lookup function to also
compare received response types to this opcode, and will ignore
unsolicited responses.

Setting of idents for channels are moved after verification of buffer
allocation for the request to be sent. A TODO is added for improving
this functionality at a later time.

Upstream PR #: 94080

Signed-off-by: Håvard Reierstad <[email protected]>
Added helper Kcoinfig option USE_ISR_WRAPPER which can be used to
include isr_wrapper even if GEN_SW_ISR_TABLE is not enabled. This
is needed to enable configurations where only IRQ vector table is
used with multithreading (only direct isr used). This change is
backward compatibible with previous config.

Signed-off-by: Łukasz Stępnicki <[email protected]>
Added support for Direct ISRs in the multithreaded enviroment

Signed-off-by: Rafal Dyla <[email protected]>
@lstnl lstnl force-pushed the riscv-direct-isr-multithreading branch from a7d8120 to fa39722 Compare August 8, 2025 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.