-
Notifications
You must be signed in to change notification settings - Fork 724
nordic: nrf54h20: add support for SPIS120 #2604
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
Merged
nordicjm
merged 7 commits into
nrfconnect:main
from
nordic-krch:ncs/add_spis120_zephyrupstream
Mar 27, 2025
Merged
nordic: nrf54h20: add support for SPIS120 #2604
nordicjm
merged 7 commits into
nrfconnect:main
from
nordic-krch:ncs/add_spis120_zephyrupstream
Mar 27, 2025
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
4f3a749 to
b6a6770
Compare
5264db4 to
bbf2e51
Compare
Implement PM device runtime in nrx spis device driver. Signed-off-by: Bjarki Arge Andreasen <[email protected]> (cherry picked from commit 7e93016)
Add a new function to check if a nodelabel exists in devicetree. Signed-off-by: Gerard Marull-Paretas <[email protected]> (cherry picked from commit b99ae6c)
As of today, nrfx components are selectable depending if devicetree has
a certain compatible or not, and in case of IP that can operate in
multiple modes, nodelabel+compatible. An example of the later is:
```
config NRFX_SPI0
bool "SPI0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPI))
select NRFX_SPI
config NRFX_SPIM0
bool "SPIM0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIM))
select NRFX_SPIM
config NRFX_SPIS0
bool "SPIS0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIS))
select NRFX_SPIS
```
These symbols are later selected by e.g. SPI driver if `spi0` node is
enabled. While this works in the Zephyr context, it can be a problem in
applications using nrfx directly in the application layer, unless they
tweak devicetree. For example, if devicetree `spi0` node defaults to
`compatible = "nordic,nrf-spim"`, NRFX_SPI0 or NRFX_SPIS0 won't be
selectable, but an application using nrfx directly doesn't really care
about what is defined in devicetree as it is effectively bypassing it.
It just wants to select e.g. `CONFIG_NRFX_SPI0=y` and forget about the
rest.
This patch fixes this problem by just checking for the existence of
certain nodelabels.
Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit f23b4fd)
It is defined as spis120 rather than spi120, because spi120 is already used for SPIM120 hardware instance, but their base address is different. Signed-off-by: Nikodem Kastelik <[email protected]> (cherry picked from commit d8506af)
…time PM Extend runtime PM to support fast instance (spis120) which requires additional action in suspend/resume phase. Signed-off-by: Krzysztof Chruściński <[email protected]> (cherry picked from commit 125e5d8)
SPIS120 is a SPI slave device with >8 MHz SCK compatibility. Signed-off-by: Nikodem Kastelik <[email protected]> (cherry picked from commit f13c8a5)
New test case is for building an application simultaneously utilizing SPIM120, SPIM120, SPIS120 and SPIS13x. Signed-off-by: Nikodem Kastelik <[email protected]> (cherry picked from commit 8b77098)
bbf2e51 to
15a2ac1
Compare
|
mstasiaknordic
approved these changes
Mar 26, 2025
adamkondraciuk
approved these changes
Mar 26, 2025
nika-nordic
approved these changes
Mar 26, 2025
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.



PR adds support for SPIS120 instance in dts and spi driver.
zephyrproject-rtos/zephyr#86968