Skip to content
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

modules: hal_nordic: Add multi-instance DPPI and PPIB drivers #79857 #2143

Merged
merged 11 commits into from
Nov 20, 2024

Conversation

e-rk
Copy link
Contributor

@e-rk e-rk commented Oct 22, 2024

Added multi-instance DPPI driver and a new PPIB driver.

Cherry-picks from upstream.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Oct 22, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
hal_nordic zephyrproject-rtos/hal_nordic@5c8d109 zephyrproject-rtos/hal_nordic@2dbb2ed (master) zephyrproject-rtos/[email protected]

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@e-rk e-rk force-pushed the hal-nordic-update branch 2 times, most recently from c59defd to 98584dd Compare November 6, 2024 14:59
@e-rk e-rk force-pushed the hal-nordic-update branch 3 times, most recently from e188fd0 to 62c66d3 Compare November 18, 2024 14:53
@NordicBuilder NordicBuilder removed the DNM label Nov 19, 2024
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 <[email protected]>
(cherry picked from commit d6007690de71a1364797de088806b1e642619c2d)
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 <[email protected]>
(cherry picked from commit 61d72936cb9072d8435a9450f4b0edcb4cb168fc)
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 <[email protected]>
(cherry picked from commit bf66012544a9d1ceb9f7046409592ef39264507a)
…or NRFE"

This reverts commit 1265858.

Signed-off-by: Rafał Kuźnia <[email protected]>
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 <[email protected]>
(cherry picked from commit 40d9dae867dfe66fa21f1adae55e8505c4d6ae72)
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 <[email protected]>
(cherry picked from commit e18410944ed32bc31642a2659f8ac6086133d5f8)
@e-rk e-rk force-pushed the hal-nordic-update branch 2 times, most recently from 7fa6150 to 4d92f64 Compare November 19, 2024 15:39
…ader

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.

Upstream PR #: 81602

Signed-off-by: Rafał Kuźnia <[email protected]>
…RIES

The NRF54L_SERIES define is more specific and should be used in favor of
LUMOS_XXAA.

Upstream PR #: 81602

Signed-off-by: Rafał Kuźnia <[email protected]>
Added dppic0 node label, alongside the dppic to maintain backward
compatibility. The use of dppic0 is preferred.

Upstream PR #: 81602

Signed-off-by: Rafał Kuźnia <[email protected]>
#if defined(NRF53_SERIES)
#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
#define NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_GROUPS
#elif defined(LUMOS_XXAA)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you changed LUMOS_XXAA to NRF54L_SERIES, you can do it here also.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment on lines +664 to +666
#define NRFX_DPPI0_CHANNELS_USED \
(NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR | NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV | \
NRFX_DPPI0_CHANNELS_USED_BY_MPSL)
Copy link
Contributor

@ankuns ankuns Nov 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a question: Is handling of CONFIG_NRFE not needed anymore (in general, not in this particular place)? @kl-cruz opinion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The NRFE reservations are empty for now. I decided to leave them out and talk to Magdalena afterwards.

Added ncs-specific modules to nrfx_config_reserved_resources.
The modules are:
- mpsl
- nrfe

Signed-off-by: Rafał Kuźnia <[email protected]>
@rlubos rlubos merged commit 89bad3f into nrfconnect:main Nov 20, 2024
16 checks passed
@masz-nordic
Copy link
Contributor

masz-nordic commented Nov 21, 2024

@e-rk why was NRFE removed?
4ee5d38

@e-rk
Copy link
Contributor Author

e-rk commented Nov 21, 2024

@masz-nordic I'm intending to bring it back soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants