-
Notifications
You must be signed in to change notification settings - Fork 736
Cherry pick changes needed for building with nothreading and no sw isr table #3167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
bjarki-andreasen
wants to merge
621
commits into
nrfconnect:main
Choose a base branch
from
bjarki-andreasen:fix-isr-tables-irq-info
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Cherry pick changes needed for building with nothreading and no sw isr table #3167
bjarki-andreasen
wants to merge
621
commits into
nrfconnect:main
from
bjarki-andreasen:fix-isr-tables-irq-info
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add new feature flags to gpiote node. Include pinctrl. Pins used by GPIOTE0 on nrf54h20/cpurad require CTRLSEL configuration. Pins are listed using pinctrl and parsed by nrf-regtool to prepare UICR configuration. Upstream PR #: 91041 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 36cd63b)
Add NRFX_GPIOTE_VAR_FEATURE_SUPPORT feature flag to nrfx configuration. It enables support for special GPIOTE0 instance in nrfx_gpiote driver. Upstream PR #: 91041 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit eb6005c)
Add support for special GPIOTE0 instance on nrf54h20/cpurad. This instance requires special handling because: - there is no support for PORT event (level interrupts) - TE channels are fixed to the pin Upstream PR #: 91041 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 2892fc1)
Add return code checking for gpio_pin_interrupt_configure functions. Add disabling pin interrupt at the end of the test to restore pin state. Upstream PR #: 91041 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 9c8cd59)
…PIOTE0 config Add configuration for testing GPIOTE0 instance on nrf54h20/cpurad. Upstream PR #: 91041 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 68375c0)
…perty Add build asserts for "memory-regions" property in nrf drivers which is required on targets with DMM for saadc, pdm, pwm, twim, twim_rtio, twis, tdm, uarte, spim and spis. On targets where the property is not required the assertion macro expands to nothing. Signed-off-by: Michał Bainczyk <[email protected]> (cherry picked from commit 2e06c4e)
…s prop to uart sample Add missing "memory-regions" property which is required for UART on NRF54H20 to clock_control sample overlay file. Signed-off-by: Michał Bainczyk <[email protected]> (cherry picked from commit ba3662a)
Timer property indicates which TIMER instance should be used for byte counting. If timer property is present then given instance is using TIMER to count received bytes. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit af01bda)
Add reporting about the test progress. Test lasts few seconds and progress report helps to see if test stuck or how it is progressing. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 27a2339)
Extend test with a mode where HWFC is off and receiver is providing buffers on time. In that case receiver should be able to continuously receive data without losing any byte (even without HWFC). Additionally, TX data is chopped to verify that receiver does not loose bytes when new TX data collides with detected RX timeout. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 82a8a54)
… for nrf54l Add timer property to the uart device under test. Add zephyr,pm-device-runtime-auto to the uart device under test. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 2e28af3)
…nfiguration Add workaround timer to instances that are used for reception in the test. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit a11529b)
…andling Stress test is executed on CPUs with slow clock (16MHz). Handling of test data in UART_RX_RDY event is optimized to reduce time spent in the interrupt context. Since payload is always a decrementing sequence, fixed array is used to compare memory which allows to use standard memcmp instead of byte by byte comparison. Upstream PR #: 92767 Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 0afbbc7)
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 reverts commit d87f317. Signed-off-by: Robert Lubos <[email protected]>
This reverts commit 691b66e. Signed-off-by: Robert Lubos <[email protected]>
Instead of using 32 bit enum values for event numbers, convert the code to use 64 bit long bit fields. This means that the user API is changed to use 64 bit event values instead of 32 bit event values. Signed-off-by: Jukka Rissanen <[email protected]> (cherry picked from commit 5a9a39c) Signed-off-by: Robert Lubos <[email protected]>
…t_mgmt sockets We cannot use the network management event number directly as a socket option value because the management value is uint64_t and that cannot be mapped directly to 32 bit integer. So have an intermediate socket option that is mapped to actual network management request number in getsockopt() and setsockopt(). Signed-off-by: Jukka Rissanen <[email protected]> (cherry picked from commit 2ed2232) Signed-off-by: Robert Lubos <[email protected]>
…I changes Add information how the net_mgmt request handler is changed. The event number type is changed from uint32_t to uint64_t to allow the event command to be a bit mask instead of enum value. Signed-off-by: Jukka Rissanen <[email protected]> (cherry picked from commit 6b0597f) Signed-off-by: Robert Lubos <[email protected]>
As per API overview documentation, a braking API change must increment major version number. https://docs.zephyrproject.org/latest/develop/api/overview.html#api-overview Signed-off-by: Jukka Rissanen <[email protected]> (cherry picked from commit b1a8655) Signed-off-by: Robert Lubos <[email protected]>
This has been missed in net_mgmt rework in commit 5a9a39c. Signed-off-by: Robert Lubos <[email protected]> (cherry picked from commit 3e70425)
net_event.h header makes use of macros defined in net_mgmt.h, therefore it should include that header. Signed-off-by: Robert Lubos <[email protected]> (cherry picked from commit ae7d7a8)
Support to configure BSS max idle period at runtime. Signed-off-by: Ajay Parida <[email protected]> (cherry picked from commit c70b350) Signed-off-by: Robert Lubos <[email protected]>
30s is too aggressive for most APs, and hostapd also uses 5mins as the default value. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 59ff126) Signed-off-by: Robert Lubos <[email protected]>
Add check for the RX data buffer size. It should be atleast 400 bytes, anthing less than that scan fails. Upstream PR #: 94106 Signed-off-by: Kapil Bhatt <[email protected]>
Updates the LE legacy pairing procedure as a result of errata ES-24491. New part: If the initiating device receives an LP_CONFIRM_R value that is equal to the LP_CONFIRM_I value, the pairing process shall be aborted and fail with "Confirm Value Failed" as reason. Signed-off-by: Håvard Reierstad <[email protected]> (cherry picked from commit 2a8118c) Signed-off-by: Håvard Reierstad <[email protected]>
…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]>
Add support for building nrf_grtc_timer using IRQ_DIRECT_CONNECT. This allows for building the driver with no SW ISR table. Upstream PR #: 94132 Signed-off-by: Bjarki Arge Andreasen <[email protected]>
…nd nothreading Default to using DIRECT_ISR if nothreading. This allows the SW ISR table to be excluded if nothreading. This requires additional handling in the UARTE_DIRECT_ISR_DECLARE() macro to not do any multithreading work if CONFIG_MULTITHREADING=n Upstream PR #: 94132 Signed-off-by: Bjarki Arge Andreasen <[email protected]>
Currently the isr_tables.c is not included as a zephyr library, hence it does not have --whole-archive applied to it, which prevents the build system from preserving the unreferenced _iheader structure which is required by gen_isr_tables.py This commit fixes the issue for gcc, while potentially breaking mwdt which is the reason isr_tables.c was put into a special library in the first place. Upstream PR #: 94132 Signed-off-by: Bjarki Arge Andreasen <[email protected]>
nordicjm
approved these changes
Aug 7, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry pick changes needed for building with nothreading and no sw isr table