- The issue is caused by the MIN() macro, which expands to
(a)<(b)?(a):(b), where ring_buf_space_get()/ring_buf_size_get()
is used as 'b' and is evaluated twice. The issue occurs when
the (a)<(b) condition evaluates such that (b) is selected,
but the value of (b) changes between evaluations, resulting
in a possibly larger value than (a).
- Fixes the potential incorrect behavior by storing the result
of ring_buf_space_get()/ring_buf_size_get() in a variable
before using it in the MIN macro.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Fixes Direct ISR code example.
- Deletes the wrong comment,
which was likely copy-pasted from
the previous ISR code example.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Some time during the initial review, the CH32V003 clock definitions
were exended to include clocks from the CH32V20x and CH32V30x series.
As the CH32V20x series now has a separate clocks include, remove the
non-existent clocks.
While there, drop the 'A' prefix to match the register names in the
CH32V00X reference manual.
Also add the USART2 clock that's present in the CH32V00x series.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V003 CPU is a QingKe V2A while others in the CH32V00x series
use the QingKe V2C. Prepare for adding support for the CH32V006 moving
to the more specifc qingke-v2a, moving some cases of SOC_CH32V003
actually meaning SOC_FAMILY_QINGKE_V2A.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The bmp581 driver currently returns pressure in pascals, when
the sensor_channel enum specifies kilopascals.
Signed-off-by: Maxmillion McLaughlin <max@sorcerer.earth>
The CH32V003 has a straight-forward watchdog that does not support
callbacks. Add an overlay and support.
To make the sample fit in flash, remove the unused logging from the
project configuration. The sample itself doesn't seem to use logging
so this is (mostly) a no-op.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Flexram is really not a memory controller, and does not belong in memc
namespace or directory. Move it to it's own misc directory and remove
memc_ from the namespace.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Moved to: include/zephyr/drivers/misc/flexram/memc_nxp_flexram.h
This change makes it so that the .h file does not need to be pulled in
using the CMakeLists.txt file, and can be included like other public
includes.
Removes drivers/memc/memc_nxp_flexram.h
Add memc_nxp_flexram.h to include/zephyr/drivers/misc/flexram
Modify drivers/memc/memc_nxp_flexram.c to use the new include path.
Modifies the mimxrt1170 magic_addr sample to include the driver using
the new include path.
Modify the soc file: soc/nxp/imxrt/imxrt11xx/soc.c to use the new path.
Add relevant information to migration-guide-4.2.rst.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
Update the casting of the 'attr' parameter in pthread_cond_init to use
the correct variable name 'att'. Thanks clang for spotting the typo.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Introduce new test for pthread_cond_init verifying successful
initialization with a valid pre-initialized condattr.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This adjust the IPv6 source address selection so that it is possible
to select deprecated IPv6 address if no better preferred address is found.
From RFC 6724 chapter 5:
Rule 3: Avoid deprecated addresses.
If one of the two source addresses is "preferred" and one of them is
"deprecated" (in the RFC 4862 sense), then prefer the one that is
"preferred".
Rule 8: Use longest matching prefix.
If CommonPrefixLen(SA, D) > CommonPrefixLen(SB, D), then prefer SA.
Similarly, if CommonPrefixLen(SB, D) > CommonPrefixLen(SA, D), then
prefer SB.
So the fix allows deprecated address to be selected if it is a better
match than the preferred one. The reasoning here is that an address with
a longer matching prefix is generally considered topologically closer to
the destination. Using such a source address can lead to more efficient
routing, as it's more likely that the source and destination are within
the same network segment or a closely related one.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
adsp_mtrace_log_init() can be called with its argument equal NULL,
mtrace_active shouldn't be set to true in that case.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Adds taking of the task semaphore after creating the display thread
to ensure that the thread is run once, executing the SDL init.
Adjust the threads priority to match the main thread.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Move and rephrase the comment to better explain reason why obtained
IRQ number is decremented.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add PM action for the NXP LCDIC driver so that we can
recover from a lower power mode where we lose the register
settings and we need to reconfigure the block.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Commit 857e5793f1 fix
the flash_mcux_flexspi_nor.c driver to wait for the
FlexSPI to be idle before performing write/erase
operations. Add a similar check to these drivers that
also use the FlexSPI NOR block.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through a dedicated polling thread.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through the system workqueue.
Signed-off-by: Jordan Yates <jordan@embeint.com>
move phy_link_callback_set() to the iface init,
so we don't have to manually check the link state,
as phy_link_callback_set() will also invoke the callback.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add a simple non-XIP transaction before deactivating the QSPI after
a XIP transaction is performed. This prevents a CPU hang from occuring
when another XIP transaction is attempted after the QSPI is activated
again.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Increased the heap mempool size for the socketpairs. This way there will
be enough memory available to allocate 2 * struct spair.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Moved target dependent startup time from header file to
Kconfig option to allow adding new targets with new .conf
file rather that modyfing source of the test. Adjusted
startup time for nRF54L09 and nRF54L20.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
When applying the connection parameter update, the window widening
for the previous connection interval was not applied since that is
normally done in LLL
Fixed by applying the window widening in ull_conn_update_parameters()
instead in this case
Fixes EBQ test failure in LL/CON/PER/BV-10-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Disable GPD for MCUBoot build, as it cannot be
reinitialized later in application (SDFW does not
support reinitialization).
Also, remove the GPD disabling from the mcumgr sample
for nRF54H20 iron board app - it was the reinitialization
that caused problems.
Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
Make sure RS process is stopped if network interface goes down
as there is no point doing it any more.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>