- Updates the LED default configuration
- Updates the name of the LEDs as per the silk screen
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
Refer to this comment for more information:
https://github.com/zephyrproject-rtos/zephyr/pull/92923#discussion_r2637725041
This patch enables Non-Secure mode support for the RP2350 MBOX
driver. It replaces the hardcoded SIO base address with the address
derived from the devicetree parent node. This allows the driver to
use the correct hardware alias in both Secure and Non-Secure contexts.
Signed-off-by: Raul Hernandez <raul.hernandez@spaceface.dev>
gdb cannot unwind the stack from exceptions. This adds
CFI annotations to help gdb unwind.
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Kconfig enhancement for mcx series
MCXN: adds comments + begins splitting MCXN547 vs MCXN547_CPU0
(to reflect per-core feature differences similarly).
MCXW2xx: adds new part number MCXW235BIHNAR,
and moves CPU feature selects into the series Kconfig.
Signed-off-by: Hake Huang <hake.huang@nxp.com>
Fix incorrect array index on line 101. Should use cfg_idx (which accounts
for non-contiguous pin layouts) instead of pin when accessing pin_muxes
array elements. This prevents potential out-of-bounds access and ensures
correct pull configuration on i.MX RT118x SOCs.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Fix nRF54Lx DTM implementation when using GRTC. The Radio
start needs to be offset by a maximum ISR latency value that
is less than inter-frame switching, plus minimum counter
compare offset that can be set, plus minimum CPU latency to
set the counter compare register.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use clock startup time from devicetree.
Relates to commit 72dac165d8 ("Bluetooth: Controller: Use
OVERHEAD_XTAL_US from devicetree").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
clang thinks bg_color may be used initialized in case the switch default
branch is taken for native_sim, due to the wrapper this test instroduces
for posix_exit() not being marked as no return.
Let's just skip the wrapper as it is not needed for anything.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Remove inclusions that date back to the original addition of this driver
and that are no more required when PSA API is used.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
i3c_ccc_do_setvendor() uses I3C_CCC_VENDOR(false, id) indicating a
direct CCC, but never sets up the target payload with the target's
address. The memset zeros out targets.num_targets and targets.payloads,
so the CCC is sent with no target address.
Add a ccc_tgt_payload with the target's dynamic address and the
write data, matching how i3c_ccc_do_getvendor() is structured.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
i3c_ccc_do_rstdaa() sets rnw = 1 (read) for the directed RSTDAA CCC,
but per the I3C spec RSTDAA is a Direct Write CCC with zero data
bytes. This causes the wrong R/W bit to be driven on the bus header.
Change rnw to 0 to correctly indicate a write operation.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
i3c_device_desc_alloc() and i3c_i2c_device_desc_alloc() leave the
local desc pointer uninitialized when k_mem_slab_alloc() fails. The
uninitialized garbage is returned to callers that check for NULL,
causing them to dereference a random pointer instead of handling
the allocation failure.
Initialize desc to NULL so callers correctly detect the failure.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
i3c_sec_bus_reset() iterates over the attached I3C and I2C device lists
using SYS_SLIST_FOR_EACH_CONTAINER while removing each node via
i3c_detach_i3c_device()/i3c_detach_i2c_device(). The non-safe iterator
reads the current node's next pointer to advance, but detaching
invalidates that pointer. This causes the loop to either stop early
(skipping devices) or access stale memory.
Add I3C_BUS_FOR_EACH_I3CDEV_SAFE and I3C_BUS_FOR_EACH_I2CDEV_SAFE
macros that wrap SYS_SLIST_FOR_EACH_CONTAINER_SAFE, which saves the
next pointer before executing the loop body. Use these in
i3c_sec_bus_reset() so nodes can be safely detached during iteration.
Also add the new macros to .clang-format ForEachMacros list.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
i3c_sec_get_basic_info() attaches a stack-allocated temp_desc to the
persistent device linked list via i3c_attach_i3c_device(). If
i3c_ccc_do_getpid() fails or i3c_device_desc_alloc() returns NULL, the
function returns without detaching temp_desc. Once the stack frame is
reclaimed, the linked list contains a dangling pointer, corrupting
memory on any subsequent list traversal.
Add i3c_detach_i3c_device(&temp_desc) before each early return to
ensure the stack-allocated descriptor is removed from the list.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
i3c_bus_setmrl() accepts an ibi_len parameter and uses it to update the
cached descriptor value, but never sets mrl_cmd.ibi_len before sending
the SETMRL CCC on the wire. This means the IBI payload size byte sent
to the target is uninitialized stack data when BCR[2]=1.
Set mrl_cmd.ibi_len = ibi_len so the CCC payload matches the spec
(MIPI I3C v1.2 Section 5.1.9.3.15).
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add test case to verify that passing NULL to
pm_policy_latency_changed_subscribe() properly
disables notifications for the given subscription,
as documented in the API.
The test verifies that after subscribing with NULL,
latency change callbacks are no longer invoked when
latency requests are added, updated, or removed.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
The comment for the API pm_policy_latency_changed_subscribe
states: "NULL to disable", but the function implementation
directly saves and subscribes to this node, and subsequently
calls it directly without null checking when changes occur.
This actually poses a risk of calling a null function pointer.
This commit fixes this issue to make the function implementation
consistent with the API description.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
The NUM_IRQS value for MCXW2xx was incorrectly set to 63. According to
the device reference manual, the correct number of interrupts is 61.
Fixes: #98279
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Includes file for mapping DFP macros to follow a common
macro name for sercom uart g1 driver
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
Includes mapping file for macros to standardize macro
names across multiple SoCs for the SERCOM UART G1 driver.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
Use ARRAY_SIZE macro to determine the size of the pm_constraints
array instead of DT_PROP_LEN. Because a practical issue is that
'zephyr, disabling-power-states' may contain multiple power states,
but one of the power states is in a disabled status. In this case,
the size obtained by DT_PROP_LEN is larger than the actual size.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Expanded the existing policy API test to cover the new
hardened behaviors (no-op update/unregister when unregistered,
re-register == update).
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. Updated event-related API docs to fix wording and clarify
semantics ("earliest/soonest event", ticks vs cycles).
2. Improve the event implementation to prevent list corruption on misuse:
- pm_policy_event_register() is now idempotent: re-registering
the same evt updates its time instead of appending a duplicate node.
- pm_policy_event_update() / pm_policy_event_unregister() become clean
no-ops if evt is not currently registered.
- Kept a basic evt != NULL assertion.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
No dma tests are enabled for frdm_mcxc242 board.
Enable loop_transfer test by adding board overlay and conf files.
Signed-off-by: Michal Smola <michal.smola@nxp.com>
Dma is not enabled in board dts and it is not listed in supported
peripherals in frdm_mcxc242.yaml
Enable dma in dts and add it to the list of supported peripherals
to enable dma tests.
Signed-off-by: Michal Smola <michal.smola@nxp.com>
Add $AU1 board variant for stm32f469i_disco. The new board uses nt35510
device for LCD display and change ft5336 I2C address to 0x38 (7-bit)
The LCD Timing Parameters are also updated to work with nt35510
Signed-off-by: Mithilesh Konakanchi <mithileshkonakmit@gmail.com>
Add driver for the AC057TC1 5.7-inch 7-color electrophoretic (e-ink)
display. The driver supports MIPI DBI 4-wire SPI mode and includes:
- GPIO interrupt-driven busy signal handling with semaphore-based waiting
- Deep sleep and PM device support for power management
- 4-bit per pixel (2 pixels per byte) color format with 7 color palette
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds a PIXEL_FORMAT_PRIV_START value to the display header. This allows
displays with unusual color format to still report sensible information in
their display_capabilites via extension of the enumeration.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
The issues fixed for i2c transfer using polling and interrupt
modes which was observed while testing with the pic32cm_jh_01
boards.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
When pinctrl_apply_state() returns 0 (success), the previous condition
(ret != -ENOENT) caused an early return, so i2c_bitbang_init() and
i2c_bitbang_configure() were never run. Only -ENOENT (no pinctrl
entry) should be ignored; real errors should still abort init.
Fix by returning only when ret < 0 && ret != -ENOENT.
Signed-off-by: Leevi Xu <leevi.xu@evenrealities.com>
No test currently builds Zephyr with CONFIG_BT_DID set, meaning errors
in that feature are not caught by CI.
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
This file fails to compile since commit ef7b132bfd ("Bluetooth:
Classic: Fix initialization to support re-initialization"), which added
a LOG_ERR() invocation but didn't setup logging for the file.
Fixes#101810
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>