Add an option to keep the SPI bus in `ACTIVE` while the WiFi module is
powered up. Previous testing has shown transitioning the bus on every
SPI transaction to reduce UDP uplink throughput from 8 Mbps to 6 Mbps.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`SHELL_STACK_SIZE` should not be redefined as a symbol with no
dependencies, it should be applying a new default to the existing
symbol.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The combination of two different return variables (`status` and `ret`)
resulted in most failure paths through the bringup code still returning
success.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Preserve original write length for DCACHE_InvalidateByRange()
Guard declaration of `size` with CONFIG_HAS_MCUX_CACHE to avoid
unused-variable warnings when cache is disabled
Add pointer validity checks before cache invalidation
Signed-off-by: Holt Sun <holt.sun@nxp.com>
In async UART mode with DMA, the RX completion callback was incorrectly
relying on rx_counter which is never updated in DMA mode since data
bypasses the UART FIFO via UHCI+GDMA.
Fix by reading the actual transferred byte count from the DMA
descriptor's length field using gdma_ll_rx_get_success_eof_desc_addr().
Direct LL calls are used because this runs in ISR context where
dma_get_status() is not IRAM-safe.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Added configuration option to disable auto acknowledgment for
virtual wire WARN signals and added a callback to handle them.
This change introduces:
1. Support to disable automatic acknowledgment for VW WARN signals.
2. A callback mechanism to notify application firmware for explicit
handling.
Behavior:
1. If auto-ack is disabled, the callback notifies the application to
handle VW WARN signals.
2. If auto-ack is enabled, the driver acknowledges VW WARN signals
without notifying the application.
Signed-off-by: Yerrajennugari Raj Kumar <yerrajennugari.raj.kumar@intel.com>
25a71f3972 changes the behavior so that :
if "zephyr,entropy" is set in the DT then CONFIG_CSPRNG_AVAILABLE get
enabled;
This breaks our implementation, disable the trng in ns world for now
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Added MCNX947 support in trusted-firmware-m
module Cmake and Kconfig. Cmake is cleaned,
removed unused variables.
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Add initial TF-M support for mcxn947 target
- added ns_decofnig and yml files
- added non secure dts for the MCXN974 SOC
- added checks with CPU0 enabelement in SOC
- added ns memory slot and configs
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
Add workaround that enables `west debug` and `west attach`
on nrf54h20dk/nrf54h20/cpuppr and cpuflpr.
Remove "-if SW" as this generates warning
WARNING: runners.jlink: "f SW" does not match any known pattern
And breaks JLinkGDBServer command by setting option `-select` to
`usb=f SW`.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Fixed the following bugs with the heartbeat monitor
- State did not update on CHAN_ALL
- Adjusted semaphore behavior
- Fixed interrupt setup
- Fixed time calculation bug
- Split heartbeat update into seperate function call
Signed-off-by: Robert Perkel <robert.perkel@microchip.com>
The previous implementation had three issues regarding temperature
reading:
1. The unit scaling was incorrect. The datasheet specifies 0.125 C/LSB,
but the code multiplied by 125 instead of 125000 for micro-degrees,
resulting in values off by a factor of 1000.
2. The MSB and LSB registers were read in two separate transactions,
which is not atomic.
3. The bitwise reconstruction of the 11-bit value was inefficient.
This commit fixes the scaling factor to 125000, implements a burst read
for both temperature registers to ensure atomicity, and optimizes the
bit manipulation logic.
Signed-off-by: Liang Jiaxiang <moonbite233@gmail.com>
In the case, when the connection is established on the local side, the
test script will require peer device to send ACL disconnection
request. But due to the timing issue, the connected event may be not
notified on the peer device side when the peer device received the ACL
disconnection requirement. The exception will happen. It causes the
case to fail.
Wait for the connected event of the peer device before sending the ACL
disconnection request.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The case `sdp_discover_with_range` will consume much time to
exhaustively enumerate all supported attribute id ranges. It will
consume much time.
Optimize the set of the supported attribute ID ranges to reduce
the time consumption.
Such as, the discovered attribute ID list is [1, 2, 3, 4, 7, 9, 256].
In the original implementation, the range count is 35511. While in
the optimized range count is 105.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For the case sm_key_persist_004, the disconnected event may be
printed before the log `Pairings successfully cleared` since there
is no order between log `Pairings successfully cleared` and the
disconnected event. It causes the script discards the disconnected
event in this case and rise the assert issue.
For the case sm_key_persist_004, check the disconnected event in
the captured log. If it is not found, wait the disconnected event
until timeout.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The payload status is evaluated when decoding, which may indicate sharp
distance transitions (from very long to close) and requiring a few more
cycles to stabilize. We don't want to stop the data-stream because of
these, otherwise the data-stream continuity is compromised.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Check the return value of the function `atomic_cas()`. If the new
value cannot be set for the OBEX server, return the error code
`BT_OBEX_RSP_CODE_INTER_ERROR`. If the new value cannot be set for
the OBEX client, return the error code `-EINVAL`.
Fix#100012Fix#100018Fix#100019Fix#100021Fix#100022Fix#100023
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For the case sm_init_035, the similar issue also be found. The
message `Enter 16 digits wide PIN code for` may be printed after
the shell prompt. The assert issue also be found in this case.
For the case sm_init_035, check the message `Enter 16 digits wide
PIN code for` in the captured log. If it is not found, wait the
message until timeout.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The clock options used within the driver are supposed to be ordered
from lowest to highest power consumption, so the lowest/default
option is the most power efficient. The order was reversed to make
the init code of the lfclk a bit simpler, and this was accounted for
in the clock option lookup function. However, the common nrf clock
control request/release feature would request the lowest index, not
the lowest clock option, so the lfclk would default to its highest
power consumption mode.
The clock option init and lookup has been refactored to be sorted
from lowest to highest power consumption, and comments have been
adjusted accordingly.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
- Add overlay files for the pwm_api and pwm_gpio_loopback tests
- Update platform_allow for pwm_gpio_loopback
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
- Update the driver to support the kit_pse84_eval board
- Update to new peripheral clock allocation scheme
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
Fix build issue from the below commit:
c520b3da1a
soc: nxp: imx943: m33: add and reuse api to initialize clocks
error: soc_clock_enable defined but not used.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
New hal_nordic was merged some time ago, fix no longer needed.
This reverts commit fe0b6b3b55.
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
If a warm reboot is issued (e.g., via mcumgr reset), the sam
controller just hangs because of loop in reboot.c. This can
be devastating if no watchdog is present to reboot the controller.
Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
This commit implements a rule that will silently discard incoming mDNS
messages if number of OT free message buffers after message conversion
will be under a user-predefined threshold.
mDNS is making use of OT message buffers, if an mDNS TX message can't be
allocated, it will trigger an assert.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
This commit adds a new configuration flag which is used to compute a
threshold that determines if an incoming mDNS packet will be processed.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
This modification prevents the bet pointer from being nulled at the end
of the loop, which would otherwise render the search for a suitable
erase type ineffective. It also optimize the loop as it omits
unnecessary operations.
Without this change, the erase size defaults to one sector. If the chip
defines fewer than JESD216_NUM_ERASE_TYPES (=4) erase types, this
behavior still works, as the resulting command will correspond to a
sector erase operation. However, if the chip defines all erase types,
the resulting command will be the one specified in the erase type. But
since bet is nulled, the erase size will incorrectly default to the
sector size.
Signed-off-by: Martin Gysel <me@bearsh.org>
depending on build configuration, spi_context_cs_configure_all() is a
no-opt, so mark the data variable as maybe unused.
Signed-off-by: Martin Gysel <me@bearsh.org>
- call spi_stm32_pm_policy_state_lock_xxx functions wenn context is
locked
- do not call spi_stm32_pm_policy_state_lock_put() in internal helper
spi_stm32_complete() (which gets called from various places) but at the
end of a transfer where it belong
Signed-off-by: Martin Gysel <me@bearsh.org>
when in batch mode, we do not need manually 'go'.
with this, we can use `west debug` in twister run test
enable for jlink and linkserver which is tested
example:
west debug --runner jlink -- --batch
Signed-off-by: Hake Huang <hake.huang@nxp.com>
On main.c from sample sensor/accel_polling the header
<zephyr/drivers/sensor.h> is duplicated, as well in
sample sensor/stream_fifo. This is solved on this PR
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
Changes generic clock source for DAC in SAMD5X MCU's.
Generic clock source 0 speed is above the maximum speed
permitted by the DAC.
The generic clock was changed to the same one the ADC uses (0x2).
Compared output of working microchip auto-generated code to the zephyr
implementation to find discrepencaies in register values.
Signed-off-by: Roberto Flores <Roberto.flores@daikincomfort.com>
Move most of the code that is used to interface with IronSide SE on the
nRF54H20/nRF9280 from the soc/nordic directory to the hal_nordic
repository. The interface code is now provided by the new IronSide
support package. Build system code and glue code that makes use of
Zephyr APIs is now located in the modules/hal_nordic directory.
Update the directory path for IronSide SE interface code in
MAINTAINERS.yml to match the move from soc/nordic/ironside to
modules/hal_nordic/ironside.
Also included are some refactoring changes and cleanup to match the new
supporting code.
C code and Kconfigs have been renamed to *ironside_se* / *IRONSIDE_SE*
to match the supporting code changes. Users of these APIs in zephyr
have been updated to match.
Individual configurations for different "IronSide services" have been
removed as the API serialization for all of these is now provided in
a single C file / header file (ironside/se/api.h).
The ironside_boot_report_get() API has been removed. The boot report
structure can be accessed through the IRONSIDE_SE_BOOT_REPORT macro.
Most configs relating to UICR / PERIPHCONF have been moved under the
"IronSide SE" menu to make it clear that these are part of the
IronSide SE interface.
The macros that in uicr.h that were used to add entries to the
PERIPHCONF section have been removed. The supporting code now provides
PERIPHCONF_XYZ() macros that can be used to initialize structures that
go into this section, and the zephyr part now only contains a macro
UICR_PERIPHCONF_ENTRY() that is used to place an arbitrary structure
into the section. The gen_periphconf_entries.py script used to generate
PERIPHCONF entries based on devicetree has been updated to use the new
macro system.
IronSide SE integration code/configs is now guarded by HAS_IRONSIDE_SE.
Note that the UICR build system integration that relies on Sysbuild
remains under the soc/nordic directory for now, but will be moved to
the modules/hal_nordic directory once it is clear how the integration
will look there.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>