Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRFX v2.0.0 NRFX_SWI_USED -> NRFX_EGUS_USED?

Hello, and thank you for making the nRFX components open-source on GitHub!

Now I realize that it's only been up for a day :smile: but most of the changes are reasonably self-explanitory.

The only thing I am asking for confirmation on is the dropping of the SWI driver and it's replacement with the EGU driver.

Is it correct to suppose that NRFX_SWI_USED has been effectively "renamed" to NRFX_EGUS_USED (with value 0x3C for SoftDevices 7.0.1)?

For NRFX_PPI_CHANNELS_USED, NRFX_PPI_GROUPS_USED, and NRFX_TIMERS_USED I can look at the "SoftDevice Specification" and rationalize those values with the ones found in "nrf_sd_def.h".

But the derivation (and correct value) of NRFX_EGUS_USED escapes me.

Thank you!
-Andrew.

Parents
  • So I spent a little more time with the documentation, and I'm even more confused.

    Take, for example, the "S132 SoftDevice Specification v7.1", Tables 4 and 5.

    They seem to imply that EGU4/SWI4 and EGU5/SWI5 are hard-reserved for the SoftDevice, but EGU/SWI3 is open. But bit three in NRFX_SWI_USED (for nRFX v1.8.1) says that SWI3 is used by the SoftDevice.

    My reading of the Specification says that NRFX_EGUS_USED (for nRFX v2.0.0) should be:

    • EGUs 1, 4, and 5 noted as used (0x32), and
    • only 4 and 5 (0x30) are used if softdevice radio notifications are not used.

    I think what's confusing me is where the old (v1.8.1) value of NRFX_SWI_USED = 0x3c = 0b111100 came from...

    That and the fact that (I think) only EGU1 and EGU5 are used by the softdevice, so if you are comfortable sharing the SWI1 and SWI2 interrupts with the EGU1 and EGU2 interrupts...

Reply
  • So I spent a little more time with the documentation, and I'm even more confused.

    Take, for example, the "S132 SoftDevice Specification v7.1", Tables 4 and 5.

    They seem to imply that EGU4/SWI4 and EGU5/SWI5 are hard-reserved for the SoftDevice, but EGU/SWI3 is open. But bit three in NRFX_SWI_USED (for nRFX v1.8.1) says that SWI3 is used by the SoftDevice.

    My reading of the Specification says that NRFX_EGUS_USED (for nRFX v2.0.0) should be:

    • EGUs 1, 4, and 5 noted as used (0x32), and
    • only 4 and 5 (0x30) are used if softdevice radio notifications are not used.

    I think what's confusing me is where the old (v1.8.1) value of NRFX_SWI_USED = 0x3c = 0b111100 came from...

    That and the fact that (I think) only EGU1 and EGU5 are used by the softdevice, so if you are comfortable sharing the SWI1 and SWI2 interrupts with the EGU1 and EGU2 interrupts...

Children
Related