This commit implemented nxp (Semaphores2) sema42 peripheral
based on zephyr hwspinlock device driver API.
The hardware information can be find in MCXN947 RM chapter 27.
https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
The I2C driver relies on the SCB oversampling clock (clk_scb) being
within specific frequency ranges for each I2C data rate. On PSOC4, the
peripheral clock dividers default to a division of 1, passing the full
HFCLK (48 MHz) directly to the SCB — far outside the valid range for
any I2C speed. This causes all I2C transfers to fail with -EIO.
Add _i2c_set_peri_divider_psoc4() which calculates the appropriate
divider from HFCLK and configures the peripheral clock using the
Zephyr utility wrappers (matching the UART driver convention).
SCB oversampling clock frequencies (from device reference manuals,
analog filter config AF_in=1, AF_out=0, DF_in=0):
Controller mode:
Standard (100 kHz): 2 MHz
Fast (400 kHz): 8 MHz
Fast Plus (1 MHz): 24 MHz
Target mode:
Standard (100 kHz): 8 MHz
Fast (400 kHz): 12 MHz
Fast Plus (1 MHz): 24 MHz
Tested on CY8CKIT-041S-MAX and CY8CPROTO-041TP in both target and
controller roles.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Strip comments from the source files before the parser extracts syscall
and subsystem metadata. The comment removal is performed directly inside
scripts/build/parse_syscalls.py, after which the filtered source is
processed with the existing regular‑expression based parser.
The underlying problem is that metadata for syscalls and subsystem that
has been commented‑out is still extracted and written to the generated
JSON file.
Signed-off-by: Alexey Nikolaev <alexeynikzzz@gmail.com>
Move PLL frequency array before test_cpu_xtal_src so it can be used
to restore CPU to PLL after XTAL testing. Skip non-exact XTAL
divisions (e.g. 26 MHz / 4) instead of testing invalid frequencies
that would cause the clock driver to fail or hang.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Restrict test modules to those available on each SoC and remove
entries that lack proper clock gate support on newer targets.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Update ESP32 GPIO pin assignment to avoid PSRAM-reserved pins
and add test overlays for ESP32-C6 and ESP32-H2.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use the ZTESTABLE_STATIC macro to define symbols which need to be
accessible from ztests, instead of redefining STATIC which causes
trouble with some hals.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Introduce the macro ZTESTABLE_STATIC, which can be used to define
private (static) symbols which otherwise need to be accessible from
ztests.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The fix replaces PSA_KEY_HANDLE_INIT with PSA_KEY_ID_NULL since the
former has been removed from TF-PSA-Crypto 1.0.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Move the COP watchdog device node to be a child of the SIM node, as COP
is part of the SIM register space. This can fix the duplicate unit
address warning.
Also fix the sram0 node definition in nxp_mcxc444.dtsi by deleting and
redefining it to ensure proper memory layout.
Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
Add @JordanYates, a contributor to and end user of TF-M, as collaborator
to give him the possibility to keep up with changes that are made
in Zephyr.
At the same time remove @ithinuel who has been inactive for a while.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add overlay that defines DTS nodes required to run
the jesd216 sample on nrf54lm20b target.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add information about the introduced cleanup classes, with usage examples.
An explicit warning is added that toolchain support is required.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
- Add a hidden symbol to indicate variable cleanup attribute support.
- Add a symbol to enable cleanup helper macros.
- Provide a macro for the cleanup attribute in the GCC toolchain.
- Disable IAR toolchain support.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The initial test was really just a basic smoke test ensuring that
`west spdx` was outputting valid (syntactically correct) SPDX files.
This tests a lot more thoroughly by checking the files contain what they
are supposed to in terms of captured licenses/copyright information,
relationship between sources and build artifacts, etc.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Instead of using __ASSERT() with an empty string as message,
simply convert it to use __ASSERT_NO_MSG().
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add missing CAN transceivers to the MikroElektronika MCP251xFD shield
overlays.
Without the CAN transceiver added to the MCP251863 Click, the STBY pin will
be pulled high from the internal pull-up resistor in the AT6563 CAN
transceiver, causing the CAN transciever to stay in stand-by mode,
preventing any CAN bus traffic from taking place.
On the two other shields, the default solder jumpers tie the STBY_I signal
to GND, causing the CAN transceivers to always be enabled.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Rearrange the devicetree overlays for the MikroElektronika MCP251xFD
shields to better align with node and property order used in the rest of
the tree.
Use "can" as devicetree node name as recommended in the Devicetree
specification.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Not only checks if writer_ptr is smaller than buffer_end but also
checks that write_ptr + msg_size is smaller than buffer_end to
avoid overflow when copying data.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Borrowing Peter Mitsis rationale in #104283
If someone passes a 0 block_size, then the buffer size must also be 0.
However, we iterate through the loop below num_blocks times, writing a
pointer to the buffer address. If the buffer is truly zero-sized, then
we are overwriting something else. If it is not truly zero-sized, then
we are creating a corrupted linked list as the pointer never actually
changes. This can cause problems later on when attempting to allocate
a slab because k_mem_slab_alloc() will only ever "allocate" the first
zero-sized block and act as though it was never truly consumed because
of the corrupted linked list.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
In cc13xx_cc26xx, the TX interrupt seems to be generated once initially on
enable and subsequently, when buffer goes from full to empty (since we are
operating in 1-byte buffer mode).
Due to this, if the TX interrupt is cleared in the configure function, a
new TX interrupt will not be generated untill we transition from a full to
empty buffer, even though the buffer itself is empty.
When using Zephyr Interrupt-driven UART API, one first needs to enable TX
interrupts `uart_irq_tx_enable()`, and then write data from the interrupt
callback, after checking `uart_irq_tx_ready()`. In case of cc13xx_cc26xx,
calling `uart_irq_tx_enable()` unmasks the TX interrupt, however, it will
not generate a new TX interrupt. Thus the callback will not be called
unless we first write something to the uart (using polling-API), causing a
transition in buffer state.
According to TI docs, writing 1 byte to the buffer will also clear the
TX interrupt, so it does not make sense to try clearing the interrupt
manulally in `configure` function.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
This PR routes the DAC output to the mixer amplifier (not headphone output)
so that volume control via registers 0x24/0x25 on page 1 has any effect
Signed-off-by: Stefan Schmidt <kontakt@stefanschmidt-embedded.de>
Run the user provided callback for the ISR stacks, instead of ignoring
the callback and printing the summary.
Signed-off-by: Jordan Yates <jordan@embeint.com>
m0-gpios and m1-gpios are common in step-dir stepper drivers
and hence placing them in common stepper-controller.yaml along
with step-gpios and dir-gpios
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
When the received data is less than expected, DMA timeout error may occur.
This happens because the DMA transfer is not completed and the TC
(Transfer Complete) flag is never set.
This change adds support for handling cases where the received data length
is smaller than the requested length, preventing false timeout errors.
The CL covers the following scenarios:
1. received < expected (e.g. requested 10 bytes, got 9 bytes)
2. received = expected (e.g. requested 10 bytes, got 10 bytes)
3. received > expected
(e.g. requested 10 bytes, got 10 bytes, but more data is coming, T-bit = 1)
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Just for consistency with the code and to avoid finding them on searches,
use the actually used macro names in the log messages.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use the zvfs macros in the code of the module itself, instead of using
the versions from the POSIX API, and remove the header that defined those
as it is not needed anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Switch the 2 LED aliases, defined in the current devicetree source (dts)
for STM32H7B3I discovery board. This way the naming will be the same as
the corresponding nodes.
Signed-off-by: Denislav Trifonov <trifonovvdenislav@gmail.com>
Document the conditions under which Zephyr bumps its minimum required
Python version, ensuring that support for older versions is only dropped
when they are nearing end-of-life and newer alternatives are widely
available in major LTS distributions (e.g., Ubuntu LTS).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update getting started guide, release notes, CI actions, ruff,
build system, and Python version compliance check to use Python
3.12 as minimum supported version.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit refreshes the pinned versions and SHAs for the
requirements.txt files and requirements-actions.txt files.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>