-
Notifications
You must be signed in to change notification settings - Fork 7.9k
drivers: gpio: nrfx: Add support for GPIOTE0 on nrf54h20 cpurad #91041
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
drivers: gpio: nrfx: Add support for GPIOTE0 on nrf54h20 cpurad #91041
Conversation
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
Hey, this needs a rebase and force push to pick up the CI error workaround. (the twister one anyway) |
7dfc940
to
7484e74
Compare
7484e74
to
5b050f2
Compare
d979dc4
to
fd196ed
Compare
fd196ed
to
7fb0fee
Compare
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.
Please set hal_nordic hash reference if possible
7fb0fee
to
4189576
Compare
4189576
to
97faa04
Compare
Bump required version of nrf-regtool to 9.2.0. Signed-off-by: Krzysztof Chruściński <[email protected]>
Add GPIOTE0 instance in radio peripherals. Signed-off-by: Krzysztof Chruściński <[email protected]>
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. Signed-off-by: Krzysztof Chruściński <[email protected]>
Add NRFX_GPIOTE_VAR_FEATURE_SUPPORT feature flag to nrfx configuration. It enables support for special GPIOTE0 instance in nrfx_gpiote driver. Signed-off-by: Krzysztof Chruściński <[email protected]>
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 Signed-off-by: Krzysztof Chruściński <[email protected]>
Add return code checking for gpio_pin_interrupt_configure functions. Add disabling pin interrupt at the end of the test to restore pin state. Signed-off-by: Krzysztof Chruściński <[email protected]>
Add configuration for testing GPIOTE0 instance on nrf54h20/cpurad. Signed-off-by: Krzysztof Chruściński <[email protected]>
97faa04
to
c04e127
Compare
Rebased |
gpiote0: gpiote@27000 { | ||
compatible = "nordic,nrf-gpiote"; | ||
reg = <0x27000 0x1000>; | ||
status = "disabled"; | ||
interrupts = <39 NRF_DEFAULT_IRQ_PRIORITY>; | ||
instance = <0>; | ||
no-port-event; | ||
fixed-channels-supported; | ||
}; |
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.
Adding this node causes this check in validate_base_addresses.c to fail for us, since in our case the MDK only defines NRF_RADIOCORE_GPIOTE
and not NRF_GPIOTE
or NRF_GPIOTE0
:
zephyr/soc/nordic/validate_base_addresses.c
Line 186 in d53f324
CHECK_DT_REG(gpiote0, NRF_GPIOTE0); |
Would it be possible to add something like
#if !defined(NRF_GPIOTE0) && defined(NRF_RADIOCORE_GPIOTE)
#define NRF_GPIOTE0 NRF_RADIOCORE_GPIOTE
#endif
to validate_base_addresses.c?
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.
@nordic-krch - will you be able to address this comment?
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.
@nordic-krch is on vacation, I have pushed the suggestion
Map definition of NRF_GPIOTE0 to NRF_RADIOCORE_GPIOTE when MDK defines NRF_RADIOCORE_GPIOTE instead of NRF_GPIOTE0 Signed-off-by: Bjarki Arge Andreasen <[email protected]>
d1de673
|
@anangl can you take a look? |
Add support for special GPIOTE0 instance on nrf54h20/cpurad.
This instance requires special handling because:
DNM
untilnrf-regtool
v9.2.0 is available.