-
Notifications
You must be signed in to change notification settings - Fork 682
Iron replace update #3102
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
Draft
nordic-babu
wants to merge
1,173
commits into
nrfconnect:main
Choose a base branch
from
nordic-babu:iron-replace-update
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.
Draft
Iron replace update #3102
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
…duce register access" This reverts commit 6346fbb. Signed-off-by: Krzysztof Chruściński <[email protected]>
…ister access Speed up execution of the interrupt handler and sys_clock_set_timeout(). Sys_clock_set_timeout() can be called in two scenarios: from previous timeout expiration handler or freely. If the former case fast path can be used since CC value in the GRTC register just expired and it can be used as a reference for CCADD setting. This is only a single register write so it's much faster. In the latter a longer procedure is applied which also happens in two variants. If value which is set in CC is further in the future (e.g. K_FOREVER was set before) then CC can be safely overwritten with a new value without a risk of triggering unexpected COMPARE event. If value in CC is earlier than the new CC value (if earlier timeout was aborted) then there is a risk of COMPARE event happening while it is being overwritten. That case requires long and safer procedure of setting CC. Update hal_nordic with changes in the nrfx_grtc driver which are needed for nrf_grtc_timer changes. Upstream PR #: 87944 Signed-off-by: Krzysztof Chruściński <[email protected]>
This reverts commit 0d44bac. Signed-off-by: Ravi Dondaputi <[email protected]>
With NRF security, higher heap requirement is seen for operating with RSA-3072 based certificates. Add a NRF SoC specific conf in snippets to handle this. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi <[email protected]>
Add AES-only cipher certificates. Useful for systems which have only AES support and DES is not enabled. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi <[email protected]>
…cted storage Add config options required for storing certificates in protected storage, and to free up space of ROM to accommodate the additional features that are enabled for TFM. Upstream PR #: 93096 Signed-off-by: Ravi Dondaputi <[email protected]>
…nitor mode" This reverts commit 807abfe. Signed-off-by: Chaitanya Tata <[email protected]>
Add const qualifiers to the driver ops to save on RAM usage. Signed-off-by: Benjamin Cabé <[email protected]> (cherry picked from commit 8d6316c)
Swap the order, IOVDD should be powered first and then BUCKEN. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 9cd933e)
Before powering off remove co-ex GPIOs. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 2b0876c)
By default QSPI is uninitialized after every transaction, so, deinit is a no-op, but if QSPI_LOW_POWER is disabled, then we need to uninitialize the QSPI in the deinit. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 4eb7b9f)
Release the SPI during the deinit to put respective GPIOs in low-power state or disconnected. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 945ddf0)
Provide option to revert to K_HEAP instead of using dedicated heaps in Wi-Fi driver. Signed-off-by: Ravi Dondaputi <[email protected]> (cherry picked from commit 11a3969)
When QSPI LPM is enabled, QSPI will already be uninitialized, and during deinit if uninitialized is being called again then it leads to a hang as it waits for mem busy check to pass which it won't. Fix by checking if the device is initialized before calling uninitialize. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 1fb2c56e86f2518b67ed56bae1736396afd791c6)
Using ms and converting to us is a bad idea as we still get ms granualrity in us units. Use the proper API to get us granularity. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 54573e2)
Defaults cannot be overidden (even with configdefault extension), they only work if the original symbol is defined after the override e.g., "drivers and then subsys/net" but for kernel symbols,the default value overrides don't work due "kernel and drivers" order, the kernel defines the original symbol with the default and then it cannot be overridden. Move the kernel symbol override to the original definition to make it affect. Else any sample that uses nRF70 but doesn't enable WPA supplicant ends up with 1024 and crashes. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 4bd1d39)
In case FMAC API fails, increment the TX drop counter, helpful in debug. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit e728f80)
…ull check Deleted a redundant check for 'rpu_ctx_zep' pointer after it was already dereferenced. Clarifies code logic in nrf_wifi_get_power_save_config function. Signed-off-by: Gaetan Perrot <[email protected]> (cherry picked from commit bac20e4)
Return proper error codes for xmit instead of generic -1. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 001f34d)
Rpu recovey debug stats are stored in hal_dev_ctx which is not persistent in case of interface is brought down/up. Need to add in nrf_wifi_ctx_zep and update before interface goes down. Signed-off-by: Kapil Bhatt <[email protected]> (cherry picked from commit dd7413d)
Automatically hide the nRF7x interface from the connection manager if the TX path is disabled (scan only mode). This prevents function calls like `conn_mgr_all_if_up(true)` from bringing up the interface which can never result in a connection. Signed-off-by: Jordan Yates <[email protected]> (cherry picked from commit 79edfc012803572b1c75a4667f03bfbb4fa9b6b0)
Monitor mode doesn't require station mode. Disabling station mode require necessary changes to work monitor mode. Upstream PR #: 92226 Signed-off-by: Kapil Bhatt <[email protected]>
…de from monitor" This reverts commit 926fafb. Signed-off-by: Chaitanya Tata <[email protected]>
Fixes memory leak seen during continuous raw TX transmission. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit d5c7cb1)
…port" This reverts commit e2f9c7b. Signed-off-by: Chaitanya Tata <[email protected]>
Add a snippet for Wi-Fi credentials support. Update the heap sizes as required for enterprise mode. Signed-off-by: Ravi Dondaputi <[email protected]> (cherry picked from commit 4c14c618f69e8ae0d5ee95a6abbc8a1d5f89afac)
…lity issue. 1. When external station connects to soft ap, zephyr hostap will fill sta_info before sending mgmt event to l2 wifi layer. sta_info.twt_capable should be filled with external station capability rather than soft ap self. 2. Rename hapd_is_twt_capable to hapd_get_sta_he_twt_capable. Try to get twt_capa form capability of external station rather than soft ap. Signed-off-by: Qiankun Li <[email protected]> (cherry picked from commit 7ffc538d135379ff673d5b5ae80fa790f5f67051)
Earlier we had socketpair to pass wifi event information from wpa_supplicant side to zephyr adaption layer. This is now replaced by k_fifo to save some RAM. Signed-off-by: Jukka Rissanen <[email protected]> (cherry picked from commit 96818f4)
In case anyone enabled EAP_*_ALL explicitly without enabling the Enterprise then it leads to a build error. Fix by adding the dependency. Signed-off-by: Chaitanya Tata <[email protected]> (cherry picked from commit 014dee7)
If the disconnect event is raised before the network has been connected, report the connection result as `WIFI_STATUS_CONN_FAIL`, instead of as `WIFI_REASON_DISCONN_SUCCESS`, which is interpretted as `WIFI_STATUS_CONN_SUCCESS`. Signed-off-by: Jordan Yates <[email protected]> (cherry picked from commit 9245f58)
Added TISCI driver for supported devices using the binding ti,k2g-sci. This is used to communicate via the secury proxy channel for clock, resource and power domain management. Refer: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/TISCI_header.html Signed-off-by: Dave Joseph <[email protected]> (cherry picked from commit 95c20c3)
Until register ABB->STATUSANA is visible it must be checked using defined offset to base ABB register. Signed-off-by: Łukasz Stępnicki <[email protected]> (cherry picked from commit 24322c6)
s/IRONside/IronSide/g Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 75dd614)
…o soc/nordic Move the IronSide APIs to soc/nordic from drivers/firmware since these are vendor specific APIs. The header files are now included from <nrf_ironside/*.h>. Adjust code that uses these APIs accordingly. Also move the DT binding for "nordic,ironside-call" from bindings/firmware to bindings/misc. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit b18c326)
This reverts commit ba6e93a. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit 8955e01. Signed-off-by: Jonathan Nilsen <[email protected]>
Replaces using an odd mix of Kconfig dts for partition offsets with just use dts for non-secure board targets Signed-off-by: Jamie McCrae <[email protected]> (cherry picked from commit e68f8e3)
…itionally All Nordic boards were enabling CONFIG_HW_STACK_PROTECTION unconditionally, which is usually not a problem except if the particular application happens to want to disable the MPU (or equivalent hardware for RISC-V). In that case, the following warning is shown: warning: HW_STACK_PROTECTION (defined at arch/Kconfig) was assigned the value 'y' but got the value 'n'. Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n). In order to avoid this warning, conditionally enable the hardware stack protection only when the architecture supports it. Signed-off-by: Carles Cufi <[email protected]> (cherry picked from commit 9a9ae6f)
Non-secure variants for nRF7002 DK were removed from upstream in commit 10d4973. Revert these changes downstream, so that the NS variants are still available. Signed-off-by: Andrzej Głąbek <[email protected]> Signed-off-by: Johann Fischer <[email protected]> (cherry picked from commit 06171de)
This patch backports the nrf9131ek to a time before tfm was refactored. To be reverted when TF-M is updated. Signed-off-by: Maximilian Deubel <[email protected]> (cherry picked from commit 410528f)
If the application uses slot 1 (i.e. in Direct XIP mode), boot radio slot 1 instead of slot 0. Signed-off-by: Tomasz Chyrowicz <[email protected]> (cherry picked from commit 9dd514c)
…rad remotes Switch which board is the remote in the test case for mbox communication between nrf54h20dk/nrf54h20/cpuapp and nrf54h20dk/nrf54h20/cpurad, making cpurad the remote instead. This is done to prepare the sample for executing with IronSide SE, where using cpurad as the main board doesn't make as much sense, since cpuapp has to start cpurad. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit d6673e1)
…e only Update this multi-core test to always run the `main` and `remote` images on cpuapp and cpurad respectively. This is to prepare the test for running with IronSide SE, in which case keeping cpurad as the main board target wouldn't make as much sense, because cpurad would have to be started by cpuapp. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 559ace1)
…variants This replaces the legacy SDFW compatible board configuration with the IronSide SE compatible one, thus removing support for running samples and tests on nRF54H20 devices with the old firmware. All applications are expected to work on `nrf54h20dk/nrf54h20/cpuapp` out of the box. For other board targets, all applications are expected to boot, but may require additional peripheral configuration in UICR. Build system support for the new UICR format is to be added separately. Co-authored-by: Jonathan Nilsen <[email protected]> Signed-off-by: Jonathan Nilsen <[email protected]> Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit b4c18e8)
CONFIG_USE_DT_CODE_PARTITION had to be disabled to add MCUboot support. As a result, CONFIG_FLASH_LOAD_SIZE was left at zero, which means that the linker would claim all available MRAM for the app core. For now, we can't allow that, because the default nRF54H20 DK memory map divides MRAM between multiple cores in order to support various samples. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit b7b8b27)
…F54H nrf-regtool will not be used as part of IronSide SE compatible builds. It will remain in use for the nRF92 series, until that too undergoes a switch from SDFW to IronSide SE. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 835649a)
Update memory map to be compatible with latest IronSide. 180kB MRAM is reserved. Co-authored-by: Håkon Amundsen <[email protected]> Signed-off-by: Håkon Amundsen <[email protected]> Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 7324eea)
Refactor the default RAM memory map on nrf54h20dk: Removes use of "nordic,owned-memory" which is no longer needed on nrf54h20. Reserved memory nodes that were under "nordic,owned-memory" have been moved directly under reserved-memory. The memory shared between cpuapp-cpusec and cpurad-cpusec in RAM0x is no longer used with IronSide, since IPC buffers toward the secure domain are at new fixed locations. The cpuapp_data region has been expanded to fill the available space in RAM0x when removing these shared memory regions. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 38e60025b0c2ed137109ec5dd8ecae1d09435ac6)
With IronSide SE there is only one defined UICR which is at the location of the APPLICATION UICR. Update the devicetree definition accordingly, and use the "nordic,nrf-uicr" compatible on the node since the domain distinction added by the v2 compatible is no longer relevant. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit b43ae17fdd460a5963b985fed1ff11ea83e82bb7)
Add support for generating UICR and associated artifacts in a format compatible with IronSide SE, to be used for Nordic SoCs in the Haltium family. The main feature added with this is the ability to configure certain global domain peripherals that are managed by the secure domain through setting UICR.PERIPHCONF. This register points at a blob of (register address, register value) pairs which are loaded into the peripherals by IronSide SE ahead of the application boot. The added helper macros in uicr.h can be used to add register configurations to the PERIPHCONF. Entries added through these macros are then extracted by a script, post-processed and placed in a blob located at specific part of MRAM. A default PERIPHCONF configuration has been added for the nrf54h20 soc to support the standard BLE use case (matching the configuration in the soc devicetree). Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 56b6e57)
…if present Program the new UICR and PERIPHCONF artifacts if they are generated. These are required for the application to operate properly if they are in use. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit eb7239c)
Update the recover mechanism for nrf54h to only call recover once. Using nrfutil device recover with both --core Network and --core Application is redundant with IronSide SE as both of these map to the same operation which does a full erase of the device MRAM. Additionally, recovering twice in a row specifically in a nrfutil batch file (which is used by this runner implementation) triggers some odd behavior with the current latest version of nrfutil device + IronSide SE, which can cause the device to enter a reset loop and appear unresponsive and preventing 'west flash --recover' from working properly. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 78a6157)
…rammed Booting the radio core when it is not programmed will typically cause a reset loop. This can happen when programming multiple images to a device, and the app core image is programmed before the radio core. With this change we avoid the reset loop in that case. Signed-off-by: Håkon Amundsen <[email protected]> (cherry picked from commit 7697eff)
Fixes generating a library for devices that do not need it which gives a cmake warning Signed-off-by: Jamie McCrae <[email protected]> (cherry picked from commit 85d4ebc)
Upstream PR #: 92340 Added support for the IronSide TDD service which allows configuring and powering the trace and debug domain of the nrf54h20. Also provide option to start the trace and debug domain in the soc start sequence. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 92340 Configure the CTRLSEL value and the clock pin so that the TRACE pins work when the TDD gets used. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 92340 Added support for ETM tracing via TPIU to the JLinkScript. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 93768 Format a few files with clang-format. Signed-off-by: Jonathan Nilsen <[email protected]>
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.
No description provided.