For Cortex-A Core, Zephyr runs on non-secure world, the bit in PCNS
or ICNS for corresponding GPIO pin is 1, no need to clear it and
Cortex-A Core could access the corresponding pin's regitsters, so
disable this feature for Cortex-A Core.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Defining `__soc_handle_irq` (part of the code path run on every
interrupt) as a jump to `get_irq` introduces unnecessary latency to
interrupt handling and inflates code size. Since `get_irq` is not
otherwise called, rename it to `__soc_handle_irq` and delete the old
trampoline.
The signature of the function is changed to match the declaration of
`__soc_handle_irq`, which is possible since commit
495a3281d4679c19703810afbac9607d16ac6788 corrected its declaration.
Signed-off-by: Peter Marheine <pmarheine@chromium.org>
Replace the single-instance assumption with a zephyr,system-timer chosen
node approach. The timer driver reads its hardware instance directly from
DT_CHOSEN(zephyr_system_timer) instead of assuming instance 0. The
counter driver skips whichever instance is designated as the system timer,
allowing both drivers to coexist on SoCs with multiple LPTMR instances.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
These macros are private to the net subsystem, let's not use them in
drivers
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
These macros are private to the net subsystem, let's not use them in
drivers
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
These macros are private to the net subsystem, let's not use them in
drivers.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add a retry mechanism for the RPMC OP2 command in the eSPI TAF NPCX
driver. If the OP2 command returns a status indicating that the device
is busy, the driver will retry the command up to 3 times.
Signed-off-by: Aditya Bhutada <aditya.bhutada@intel.com>
Use the common touchscreen configuration and replace manual ABS
reporting with input_touchscreen_report_pos() to align with the
Zephyr input subsystem helpers.
Add the touchscreen-common devicetree properties screen-width and
screen-height to in-tree nodes using this controller.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
The internal I2C helper functions max98091_read_reg,
max98091_write_reg, and max98091_update_reg were ignoring the
return values of the underlying I2C driver calls. In the event
of a bus error or NACK, this led to silent failures where
hardware configuration would appear successful despite failure.
This commit evaluates and logs the return codes for all three
helpers to improve driver serviceability and resolve static
analysis warnings.
Fixes#92594
Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
Set DMA_TCD_QUEUE_SIZE default to 4 when I2S_MCUX_SAI is enabled.
The MCUX SAI driver preloads 3 RX DMA blocks and requires the TCD
queue size to be greater than 3 to satisfy its BUILD_ASSERT and avoid
build failures in MCUX SAI I2S configurations.
Fixes#103997
Signed-off-by: Hake Huang <hake.huang@nxp.com>
Add a Kconfig option to configure the RX refill thread priority.
The default is set to 0, which is the same as the previous hardcoded
value. This allows users to set a different priority if needed.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Thread priority was passed to options argument of k_thread_create,
instead of the priority argument.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Using different, more appropriate, error code in
case of timeout, to differentiate from regular EIO.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The driver was using a packet count value read directly from the
hardware to control a loop bound and a register read size. If the
hardware reported a value exceeding the internal buffer size, it
could lead to a buffer overflow or an untrusted loop bound.
Add a check to cap the packet_count based on the actual size of
the driver's FIFO data buffer.
Fixes#90512
Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
H5 series SoCs have a similar Ethernet MAC to the H7 series,
but with some differences with respect to configuration of phy
interface type. As they use a Cortex-M33 core, they have no cache,
so that dma descriptors are always in non-cached memory.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
H7RS series SoCs have a similar Ethernet MAC to the H7 series,
but with some differences with respect to configuration of phy
interface type.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Configure phy connection type to value specified in device tree.
Utilize definitions from STM32 Low-Level APIs instead of open coding
values.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
The IS_ACCEL macro checks if a channel is within the accelerometer
range. Because SENSOR_CHAN_ACCEL_X currently evaluates to 0 and
the channel type is unsigned, Coverity flags this as a redundant
comparison.
Added a coverity[unsigned_compare] annotation to silence the warning.
This preserves the macro's logic, ensuring the check remains valid
even if the underlying enum order is modified in the future.
Fixes#100002
Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
Several of the ST sensor implementations do not return a value to
the fetch caller, even when a fetch fails internally. This is
fixed by returning the value from the internal calls.
Signed-off-by: Eira Siegel <eira@the.cy>
Add driver for the Sensirion STCC4 miniature CO2 sensor. The STCC4
measures CO2 concentration (ppm), temperature, and humidity via I2C
using Sensirion's standard word+CRC protocol.
Features:
- Continuous and single-shot measurement modes
- CRC-8 validation on all sensor data
- Product ID readout at init
- Graceful handling of first measurement delay in continuous mode
Signed-off-by: William Markezana <william.markezana@gmail.com>
Removed the options variable on wdt_cc13xx_cc26xx_init
which was only initialized to zero and not used.
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
This adds a new sensor driver (with custom channels) for the S3KM1110, a
24GHz mmWave radar sensor from Iclegend that uses a UART interface.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The video shell uses a workaround to have different sub-commands use
different completions. Raise the limit of maximum completions from 10 up
to 20 to support more devices.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add a "video tree <device>" command to show the topology of video devices.
This follows the chain of source devices as defined by
VIDEO_DEVICE_DEFINE() in the macros.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The tab completion was not showing the valid devices after the failed
devices. Fix it by continuing to search for devices after a failed device.
Signed-off-by: Josuah Demangeon <me@josuah.net>
A lot of BeagleBoard.org boards contain SOCs with co-processors such as
M4F in AM62x (PocketBeagle 2 [0]), R5s in AM67A (BeagleY-AI [1]). In such
targets, the application is normally loaded by the Linux host using
remoteproc.
There have been some out of tree patches to have micropython and other
Zephyr applications output to allow having a console without requiring
manual connections. This patch attempts to provide a more concrete and
upstream way to have that functionality.
The implementation uses existing rpmsg service subsystem.
Only implemented poll_out
Tested on PocketBeagle 2 M4F core.
[0]: https://docs.zephyrproject.org/latest/boards/beagle/pocketbeagle_2/doc/index.html
[1]: https://docs.zephyrproject.org/latest/boards/beagle/beagley_ai/doc/index.html
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Implements PWM driver support for the MAX22216/MAX22217 device.
This driver integrates with the Zephyr PWM API and uses the parent
MFD device to perform register access.
Signed-off-by: Cherrence Sarip <cherrence.sarip@analog.com>
Add MISC driver support for the MAX22216/MAX22217 device.
The driver provides miscellaneous functions and uses the parent
MFD device for register access.
Signed-off-by: John Erasmus Mari Geronimo <johnerasmusmari.geronimo@analog.com>
Signed-off-by: Cherrence Sarip <cherrence.sarip@analog.com>
1. adjusted enet_qos driver to cope with features missing on mcxa577
2. enabled enet_qos support
3. verified samples/net/zperf
Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
Mode is no longer fixed to full-duplex, it is set to half-duplex or
full-duplex in PHY callback.
Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
Add padded formats as seen on Himax image sensors used with 8-bit
DVP receivers, where half of the pins are used, leading to empty
bits in memory. This replaces the Y4 format which is 8-bit despite
only giving 4-bit filled with data per byte.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Driver initialization is expected to keep the driver in the
suspended stage before calling pm_device_driver_init. It means
that initialization should set pinctrl SLEEP stage. Nordic SPIS
driver was not doing that. If device runtime PM was enabled it
resulted in pins being in the default state when it was expected
that they are in the sleep state.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
MSPI type is just a rename of QSPI type. Code
provided for nrf-qspi-v2 binding should work with both.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Plca nodes with node_id not 0 do not manage transmit windows and
should therefore not be required to provide plca_node_count.
This change makes plca_node_count optional for (node_id != 0)
and if omitted sets the default value to 0.
The behaviour for node with id 0 stays the same.
Signed-off-by: Julian Paul <julian.paul@siemens.com>
With stm32wba_set_stack_options function call set
the BLE stack Options flags initialization according
to the zephyr Kconfig options.
Signed-off-by: Eric Mechin <eric.mechin@st.com>
In the transition to new PLLSAI bindings, part of the
previous symbols are remaining, especially STM32_PLLSAI2_DIVR_DIVISOR
which is used to compute the clock rate and leads to division by
zero when checking the clock rate.
Fix the remaining PLLSAI2_DIVR parts in order to allow proper
behavior of the PLLSAI2 on STM32L4.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add VIDEO related mode_flags whenever performing mipi_attach
and ensure that default column and page address configuration
are done.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Use the macro DISPLAY_BITS_PER_PIXEL in order to compute each format
BPP and thus avoid requiring each format BPP written within the
driver.
Thanks to that, simply the function stm32_ltdc_set_pixel_format to
avoid code duplication.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
As stm32mp215fxx SoC supports less peripherals than stm32mp257fxx,
some definitions are not available in the HAL. To avoid compilation
issues, put these definitions depending on their activation in the DT.
Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
The buffer index is to track the buffers in the whole video buffer pool
which may be used for several video pipeline, each can use up to an
uint8 buffer. Extend the type to uint16 to account for this fact.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>