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

[nrf fromtree] bindings: net: nfct: Utilize EasyDMA property #1548

Closed
wants to merge 1,624 commits into from

Conversation

dchat-nordic
Copy link
Contributor

This adds additional memory region property
to NFCT peripheral. This is not mandatory
property, it adds possibility to user to
specify memory region for DMA transfer.
If it is not set then data buffer is placed
in default RAM with other data.

Signed-off-by: Kamil Gawor [email protected]
Signed-off-by: Dominik Chat [email protected]
(cherry picked from commit edf8044)

krish2718 and others added 30 commits February 19, 2024 13:07
This check has to be done independent of whether RAM is used for buffers
or not and depends on device maximum length property.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit 0a1eff8)
Signed-off-by: Andrzej Głąbek <[email protected]>
…n nRF52832

While enabling workaround for PAN 58 the PPI driver is used.
This requires the nrfx PPI driver to be enabled thus CONFIG_NRFX_PPI
Kconfig symbol needs to be set.

Jira: NRFX-1616

Signed-off-by: Marcin Szymczyk <[email protected]>
(cherry picked from commit 2a38230)
Signed-off-by: Andrzej Głąbek <[email protected]>
… from RAM region

This patch adds support for RX buffer placed by a linker in
memory region defined in SPIM devicetree node. The buffer is placed
in memory region defined as devicetree node. The memory region node's
reference is then stored in `memory-regions` property of SPIM node.

Added build time assertion to check if `CONFIG_SPI_NRFX_RAM_BUFFER_SIZE`
Kconfig symbol has value greater than 0 when given SPIM node has
`memory-region` property.

Signed-off-by: Adam Wojasinski <[email protected]>
(cherry picked from commit ae75a8f)
Signed-off-by: Andrzej Głąbek <[email protected]>
…nfig symbol

Update documentation for SPI_NRFX_RAM_BUFFER_SIZE Kconfig symbol
to reflect new usage of it. Now the symbol specifies size of RX buffer.
The change introducing support for RX buffer placed by a linker in
memory region defined in SPIM devicetree node is in a parent commit
of that one.

Signed-off-by: Adam Wojasinski <[email protected]>
(cherry picked from commit c88b492)
Signed-off-by: Andrzej Głąbek <[email protected]>
…ly 168

Use the already available in the tree mechanism of adding assembly
instructions right after WFI/WFE to implement the workaround for
nRF5340 anomaly 168 (replace the 4 NOP solution used on the network
core as it turned out to be insufficient) and provide two related
Kconfig options so that users are able to adjust the workaround to
their actual needs (disable it entirely or use it in the extended
version).

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 23e15c4)
With GCC 12.3 and binutils 2.40, the build fails with:

<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S: Assembler messages:
<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S:51: Error: junk at end of line, first unrecognized character is `n'
<...>/zephyr/arch/arm/core/cortex_m/cpu_idle.S:133:   Info: macro invoked from here

Because the SOC_ON_EXIT_CPU_IDLE macro puts all the statements on a
single line, there must be a semicolon after .rept

Signed-off-by: Ben Wolsieffer <[email protected]>
(cherry picked from commit 37352d3)
Signed-off-by: Andrzej Głąbek <[email protected]>
... so that it is possible to use a GPIO expander pin as the CS line.
Communication with the expander may involve an operation that cannot
be done from the interrupt context (e.g. an I2C transaction).

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit db4344b)
…ion layer

Whenever UART_RX_DISABLED event is received module attempts to
re-enable receiver since in interrupt driven API receiver is
always on. However, it is possible that there is no free buffers
and in that case attempt to enable the receiver will fail with
-EBUSY. That scenario shall be accepted since the receiver will
be re-enabled when at least one buffer will be freed.

Given that, -EBUSY return shall be accepted (no assert) and
number of pending RX buffer requests shall be reset only on
successful enabling.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit f6ecad2)
Signed-off-by: Andrzej Głąbek <[email protected]>
…eemption

UART_RX_RDY event can be generated from UARTE interrupt or k_timer
handler. When ENDRX event occurs then k_timer is stopped (it can
be restarted if there is another buffer provided). However, if UARTE
interrupt priority is higher than k_timer priority (RTC is used
underneath) then k_timer handler may still be executed later.
K_timer notifies new bytes based on RXDRDY HW event which is
counter by the TIMER (using PPI). It may happen that RXDRDY
event arrives due to byte received into RX FIFO but since there is
not buffer provided it stays in that FIFO. Given all this, it
was possible that RX_RDY event was reported from ENDRX UARTE event,
timer was stopped but because UARTE interrupt had higher priority
timer handler is executed after UARTE interrupt is handled. In
timer handler TIMER counter reports more bytes and calls
UART_RX_RDY event with null buffer and non-zero amount of bytes.

Fixed by generating UART_RX_RDY event only if RX buffer is not
null.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 5db338c)
Signed-off-by: Andrzej Głąbek <[email protected]>
Now that we are using the shell macro to enforce argument count check,
both mandatory and optional arguments, these additions checks are
unnecessary.

Signed-off-by: Chaitanya Tata <[email protected]>
(cherry picked from commit c07d648)
Add command to query to WiFi driver/firmware revision. The API is expected
to return the firmware revision and driver version as a string, and can be
used by the user to determine what revision of the WiFi driver is in use.

Signed-off-by: Sandip Dalvi <[email protected]>
(cherry picked from commit 4c7eb60)
This commit introduces a local variable 'sh' to store 'context.sh' for
use with the 'shell_fprintf' function.

By doing so, we avoid the repeated dereferencing of 'context.sh',
thereby reducing the code footprint.

Signed-off-by: Pisit Sawangvonganan <[email protected]>
(cherry picked from commit a8a3923)
…struct

Moved 'scan_result' from a standalone variable into the 'context' struct
to enhance code optimization.

Signed-off-by: Pisit Sawangvonganan <[email protected]>
(cherry picked from commit 10939c7)
…rivate.h"

Replaced direct shell_fprintf calls with PR, PR_ERROR, PR_INFO
and PR_WARNING macros.

This change simplifies the code by using predefined macros.

Signed-off-by: Pisit Sawangvonganan <[email protected]>
(cherry picked from commit 8134213)
Additionally, replace the local print(sh, level, fmt, ...) macros
with PR, PR_ERROR, and PR_WARNING macros.

Then remove the print(sh, level, fmt, ...) macros.

Signed-off-by: Pisit Sawangvonganan <[email protected]>
(cherry picked from commit 055ac61)
WIFI scan result shows junk character in SSID because of
the length of ssid is maximum(32 character) which leads
to buffer overflow. It required one character for null
terminator ‘\0’.

Signed-off-by: Kapil Bhatt <[email protected]>
(cherry picked from commit 2207fed)
Enable all these tests which run in native_posix in native_sim
And add native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 13b7557)
Enable all these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform
And switch native_posix overlays to native_sim.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
(cherry picked from commit 7b1813e)
Add a generic NMEA GNSS driver.

Signed-off-by: Fabio Baltieri <[email protected]>
(cherry picked from commit d14066b)
Add a generic test for GNSS devices.

Signed-off-by: Fabio Baltieri <[email protected]>
(cherry picked from commit 407e9a4)
Printing fractionals currently put the sign on integer values on the
fractional part, for example:

longitude : -6.-207483333

Run an extra abs to get rid of the sign there for latitude, longitude
and altitude, compute the sign separately so it works for numbers
between -1 and 0 as well.

Signed-off-by: Fabio Baltieri <[email protected]>
(cherry picked from commit 96b9bd4)
Move gnss_publish.h in include/ so that out of tree drivers and tests
can use it.

Signed-off-by: Fabio Baltieri <[email protected]>
(cherry picked from commit f9ab050)
Some modems or networks require PAP authentication for successful
LCP handshake. Tested on U-blox SARA-R5 with zephyr,gsm-ppp.

Signed-off-by: Emil Lindqvist <[email protected]>
(cherry picked from commit 79c2faf)
U-blox SARA-R4 already exists but the behavior is different,
requiring a separate driver instance. For instance, R5 autostarts,
so this commit also adds support for skipping power on pulse.

Signed-off-by: Emil Lindqvist <[email protected]>
(cherry picked from commit 1cd7c55)
Added missing command and message handling for use existing
modem cmux for DCE role.
DCE CMUX connection can be now initialized from DTE side.

Signed-off-by: Juha Heiskanen <[email protected]>
(cherry picked from commit 093efc4)
Added possibility for link 2 modem mock instance for
validating P2P communication without any data stubbing.

Signed-off-by: Juha Heiskanen <[email protected]>
(cherry picked from commit 6943cd4)
Added unite test for for validate modem CMUX DTE & DCE role
communication together.

Signed-off-by: Juha Heiskanen <[email protected]>
(cherry picked from commit 34d4e50)
Adds two APIs which allow for configuring the cellular
network configuration of a cellular network device. like
a cellular modem. The first allows for configuring which
access technology to use, and optionally, which bands to
use. The second allows for getting all supported access
technologies are supported, and which bands for each tech
are supported.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
(cherry picked from commit ad01169)
Implement modem info pulling using the init and periodic chat scripts

Signed-off-by: Lucas Denefle <[email protected]>
(cherry picked from commit d1ba79a)
Fixed Kconfig to remove dependency between modem_socket and
modem_context, the two do not depend on each other and
should be possible to use independently

Signed-off-by: Alessio Lei <[email protected]>
(cherry picked from commit 733b81d)
gmarull and others added 3 commits February 28, 2024 18:09
… memory

Add shared memory for APP<->PPR, used for IPC.

Upstream PR: zephyrproject-rtos/zephyr#69487

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 40655660b22ce0a7f8e7c67a1c4c31798505731a)
…ions

Add memory regions shared between APP and RADIO cores.

Upstream PR: zephyrproject-rtos/zephyr#69487

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 34583f1bdd77a17a3bf63d6002134b5537d80df1)
This adds additional memory region property
to NFCT peripheral. This is not mandatory
property, it adds possibility to user to
specify memory region for DMA transfer.
If it is not set then data buffer is placed
in default RAM with other data.

Signed-off-by: Kamil Gawor <[email protected]>
Signed-off-by: Dominik Chat <[email protected]>
(cherry picked from commit edf8044)
@de-nordic
Copy link
Contributor

@dchat-nordic Rebase needed here.

@dchat-nordic
Copy link
Contributor Author

The same commit is included in upmerge #1555 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.