-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
samples: bluetooth: radio_coex_1wire: Add support for nRF54H20 (cpurad) and nRF54L15 #17507
samples: bluetooth: radio_coex_1wire: Add support for nRF54H20 (cpurad) and nRF54L15 #17507
Conversation
This aligns the overlay file with other dts files that commonly use tabulation. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This change uses egu interrupts instead of timer counter to count radio ready events. This is a preparation commit for nRF54L15. In nRF54L15 the timer on the same PD is occupied by SDC. To access the nearest available timer we need to use PPIB. Also, since MPSL uses predefined channels for radio events on hardware with DPPIC support, the predefined channel needs to be used with nrfx_gppi library. But the library doesn't support predefined channels at this moment, it always allocates a new channel, therefore can't be used at the moment. Because of this, we have to hardcode peripherals (DPPIC20, PPIB11, PPIB21 and TIMER20) in the sample which doesn't look correct. Also, bypassing nrfx_gppi may create conflicts if someone else is gets allocated the same channel through nrfx_gppi (e.g. if an implementor copy-pastes this code and uses it together with nrfx_gppi library). With EGU we don't have these issues on nRF54L15. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
6062d0c
to
b87fe3b
Compare
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 74c7a3c56bd2325a3d33d94b395207ddcb2cddc3 more detailssdk-nrf:
Github labels
List of changed files detected by CI (9)
Outputs:ToolchainVersion: 9583beca34 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
@@ -30,11 +30,31 @@ Enter ``g`` to grant or ``d`` to deny Bluetooth radio activity. | |||
The application generates a grant signal on the pin selected by ``coex-pta-grant-gpios``. | |||
Connect this pin to the pin defined by the ``grant-gpios`` property in the DTS using a jumper cable. | |||
|
|||
On the ``nrf52840dk_nrf52840`` target, the default pins are **P0.26** and **P0.02**. | |||
The following table shows the default pins used for this sample by each supported target: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following table shows the default pins used for this sample by each supported target: | |
The following table shows the default pins used for this sample for each supported target: |
For the ``nrf54h20dk/nrf54h20/cpurad`` target in the board's devicetree file you must define a node with the compatible property set to ``"coex-pta-grant-gpios"``. | ||
Then set the ``coex-pta-grant-gpios`` property of that node to the desired pin. | ||
This is needed for proper configuration of the UICR register in order to get an access to the pin from the core the application is running on. | ||
See the :file:`boards/nrf54h20dk_nrf54h20_cpurad.overlay` file for an example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the ``nrf54h20dk/nrf54h20/cpurad`` target in the board's devicetree file you must define a node with the compatible property set to ``"coex-pta-grant-gpios"``. | |
Then set the ``coex-pta-grant-gpios`` property of that node to the desired pin. | |
This is needed for proper configuration of the UICR register in order to get an access to the pin from the core the application is running on. | |
See the :file:`boards/nrf54h20dk_nrf54h20_cpurad.overlay` file for an example. | |
For the ``nrf54h20dk/nrf54h20/cpurad`` target in the board's devicetree file, you must define a node with the compatible property set to ``coex-pta-grant-gpios``. | |
Then set the ``coex-pta-grant-gpios`` property of that node to the desired pin. | |
This is needed to properly configure the UICR register and get a pin access from the core the application is running on. | |
See the :file:`boards/nrf54h20dk_nrf54h20_cpurad.overlay` file for an example. |
b87fe3b
to
771e685
Compare
Connect this pin to the pin defined by the ``grant-gpios`` property in the DTS using a jumper cable. | ||
|
||
On the ``nrf52840dk_nrf52840`` target, the default pins are **P0.26** and **P0.02**. | ||
The following table shows the default pins used for this sample for each supported target: | ||
|
||
.. table:: | ||
:align: center | ||
|
||
+----------------------------+----------------------+-------------+ | ||
| Target | coex-pta-grant-gpios | grant-gpios | | ||
+============================+======================+=============+ | ||
| nrf52840dk/nrf52840 | P0.26 | P0.02 | | ||
+----------------------------+----------------------+-------------+ | ||
| nrf54l15dk/nrf54l15/cpuapp | P0.00 | P0.02 | | ||
+----------------------------+----------------------+-------------+ | ||
| nrf54h20dk/nrf54h20/cpurad | P0.00 | P0.02 | | ||
+----------------------------+----------------------+-------------+ | ||
|
||
|
||
The board's :ref:`/zephyr,user <dt-zephyr-user>` node must have the ``coex-pta-grant-gpios`` property set in the devicetree. | ||
You can use this sample's board overlay as an example. | ||
|
||
.. note: | ||
For the ``nrf54h20dk/nrf54h20/cpurad`` target in the board's devicetree file, you must define a node with the compatible property set to ``coex-pta-grant-gpios``. | ||
Then set the ``coex-pta-grant-gpios`` property of that node to the desired pin. | ||
This is needed to properly configure the UICR register and get a pin access from the core the application is running on. | ||
See the :file:`boards/nrf54h20dk_nrf54h20_cpurad.overlay` file for an example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be in a Wiring section or Configuration/Setup, not Overview. https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/templates/sample_README.html#wiring
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to Wiring
section.
This commit adds support for nRF54L15 DK. On platforms with DPPI support, MPSL library uses predefined channels for radio events. SDC does configuration of radio and dppic. Therefore we only need to subscribe egu on the predefined channel. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
771e685
to
26cc9fd
Compare
26cc9fd
to
e4ab45c
Compare
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
|
||
description: | | ||
Coexistence PTA (Power Transmitter Amplifier) grant GPIOs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coexistence PTA (Power Transmitter Amplifier) grant GPIOs | |
Coexistence PTA (Packet Traffic Arbiter) grant GPIOs |
This commit adds support for nRF54H20 for this sample. Explicit binding and extra node is needed because nrf-regtool doesn't pick up properties from the zephyr,user node. Because of this, it doesn't add to the UICR of the radio core the gpio that sample needs. Other platforms don't have such security mechanism and thus don't need this workaround. Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
e4ab45c
to
74c7a3c
Compare
Hey, @nrfconnect/ncs-si-muffin , could you please look at this PR? |
This PR adds support for nRF54H20 (for radio core) and nRF54L15 to radio_coex_1wire sample.
Major changes:
Please note that the sample requires NRFX-6423 to be fixed to run on nRF54H20. Or a workaround can be applied for testing.