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

tests: drivers: uart: Extend testing for nrf54h20 (including UARTE120 and cpuppr) #2259

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

nordic-krch
Copy link
Contributor

Set of changes in the tests to cover tests on PPR and tests for UARTE120.

Add test which is using two independent UART devices. Validate behavior of
asynchronous API.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Rework test to be able to support running on multiple
set of instance(s).

Signed-off-by: Krzysztof Chruściński <[email protected]>
Use multi-instance testing and add UARTE120 configuration to nrf54h20
overlays.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add configurations in which runtime PM is enabled. There are 2
configurations:
- Test does not call PM API for getting and putting the device.
 In that configuration UART device shall be suspended whenever
 not active.
- Test is calling PM API which should keep device active as
 long as requested (e.g. during packet reception which consists
 of multiple chunks).

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add configuration for nrf54h20dk/nrf54h20/cpuppr.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Multiple variable in the test were missing static keyword.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Rework the test to be able to run on multiple instances.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Fix target which was failing due to lack of memory for DMA
buffers.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add second instance to be tested on nrf54h20dk. uart120 is a fast UARTE
which works on fixed pin locations. It is not available for cpuppr core.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add configuration for nrf54h20dk/nrf54h20/cpuppr.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Rework test to allow testing multiple UART instances in a single
run.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add configuration for UARTE120 fast instance. Use multi-instance capability
of the test to run same test on UARTE120 and slow UARTE peripheral.

Signed-off-by: Krzysztof Chruściński <[email protected]>
b6d4542 Added support for pin retention but it was added
only to the case when device PM is used. There is another mode
in which UARTE is disabled when idle (low power mode) and in
that case pin retention must also be added.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add property to nrfx_uarte which indicates that pins must
be retained for the given instance when it is disabled.

Add that property to uart120 instances as those always
require that since pins are routed through CTRLSEL. For
other instances there are exceptions when CTRLSEL is used
(see the specification).

Signed-off-by: Krzysztof Chruściński <[email protected]>
Since pin retantion is done as a part of suspend/resume which
is done in the critical section, it shall be done only when
needed. Use DT flag to determine which UARTE instance needs it.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant