Skip to content

Conversation

mib1-nordic
Copy link
Contributor

No description provided.

@mib1-nordic mib1-nordic force-pushed the nrfx_timer_rework branch 2 times, most recently from d43aea6 to ab100eb Compare October 3, 2025 14:01
nordic-krch and others added 12 commits October 21, 2025 11:41
Timer property indicates which TIMER instance should be used for
byte counting. If timer property is present then given instance
is using TIMER to count received bytes.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Rearrange code to prepare for upcoming extension that adds special
receive mode.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add mode to be used on UARTE with frame timeout which is using a bounce
buffers and TIMER to count bytes. This mode shall be used to reliably
receive data without HWFC as frame timeout approach is not 100% reliable
because it can loose or corrupt a byte when new byte arrives after
frame timeout is detected but before it is fully handled. This mode is
similar to the one enabled with CONFIG_UART_x_NRF_HW_ASYNC but
additional bounce buffers are used and UARTE is receiving data to
internal buffers and copies data to the user buffer. Legacy apporach
cannot be used because in new SoC DMA attempts to copy data in words
so when byte is received it stays in the DMA internal buffer until
4 bytes are received or end of transfer happens then internal DMA
buffer is flushed.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add reporting about the test progress. Test lasts few seconds and
progress report helps to see if test stuck or how it is progressing.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Extend test with a mode where HWFC is off and receiver is providing
buffers on time. In that case receiver should be able to continuously
receive data without losing any byte (even without HWFC). Additionally,
TX data is chopped to verify that receiver does not loose bytes when
new TX data collides with detected RX timeout.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add timer property to the uart device under test.
Add zephyr,pm-device-runtime-auto to the uart device under test.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add workaround timer to instances that are used for reception in the
test.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Stress test is executed on CPUs with slow clock (16MHz). Handling of test
data in UART_RX_RDY event is optimized to reduce time spent in the
interrupt context. Since payload is always a decrementing sequence, fixed
array is used to compare memory which allows to use standard memcmp
instead of byte by byte comparison.

Signed-off-by: Krzysztof Chruściński <[email protected]>
Add macro for translating new errno error codes to strings.

Signed-off-by: Michał Bainczyk <[email protected]>
Remove TIMER config symbols to align to changes in nrfx driver.

Signed-off-by: Michał Bainczyk <[email protected]>
Remove TIMER config symbols to align to changes in nrfx driver.

Signed-off-by: Michał Bainczyk <[email protected]>
Align feedback_nrf to changes in nrfx TIMER driver.

Signed-off-by: Michał Bainczyk <[email protected]>
Align driver to changes in nrfx UARTE driver.

Signed-off-by: Michał Bainczyk <[email protected]>
@sonarqubecloud
Copy link

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.

2 participants