For stm32h7 the order matters to get the pwm to output the values as
expected. As reported for the the H730 doesn't produce PWM output when
the LL_TIM_OC_SetDeadTime is called after LL_TIM_EnableAllOutputs. So,
switch the order of the calls and this doesn't impact the stm32f413zh
boards.
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
Add a config for the nrf52840dongle to use the CDC_ACM interface
for the ot_uart. Without this building the OpenThread coprocessor
fails to build when using the nrf52840 dongle because the UART
isn't defined so fix it.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
This enables building the UART shell alongside with the UART
backend test. The UART shell source file was not built in CI
before this, so this will provide build coverage.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Extend the number of SPI data sizes supported for series that allow it.
The driver uses the new property st,stm32-data-width to create a table
with all compatible data widths and to check if the SPI instance
support the required width (some instances may have a limited set
of widths compared to others on the same SoC).
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Inverts ll_func_spi_dma_busy logic so that the function returns true if
the SPI DMA is busy (as suggested by the name) instead of the other way
around.
Also completes the check for H7-compatible with the LL_SPI_IsActiveFlag_EOT
function when transfer size is set.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Adds a new property for STM32 SPI bindings to indicate which data widths
are supported by each SPI instance.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
The xmc47_relax_kit i2c driver is incorrectly using the
I2C_SPEED_STANDARD macro to set the clock frequency. The correct macro
to use is XMC4_I2C_SPEED_STANDARD which is defined by the XMC4 driver.
Signed-off-by: Yassine Safraoui <yassine.safraoui@grenoble-inp.org>
Increase CONFIG_SPI_IDEAL_TRANSFER_DURATION_SCALING to
compensate for the additional burst size calculation in
the SPI driver, which slightly increases transfer time.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Guard callback registration with CONFIG_SPI_ASYNC to avoid
build error for blocking SPI transfers using DMA
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Swap the write and read data paths within the GSPI controller to ensure
correct data is seen on the SPI lines during 16-bit transfers.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Updated mosi_overrun alignment from 4 bytes to 32 bytes to
ensure compatibility with the GPDMA driver. This prevents
alignment-related errors during DMA transfers.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Enable higher SPI burst sizes when using GPDMA to improve throughput.
Bursts are only enabled when both TX and RX channels use GPDMA and
the SPI clock frequency is at least 10 MHz, as DMA flow control is
unreliable at lower SPI rates.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Add gspi_siwx91x_pick_lower_freq() to select the nearest lower
supported GSPI clock frequency based on the requested value.
The GSPI clock can operate only at discrete frequencies such as
80 MHz, 40 MHz, 26.6 MHz, 20 MHz, and so on (80 MHz divided by
integer factors). If the requested frequency does not match one
of these valid steps, it is rounded down to the nearest lower
supported frequency.
The driver now logs both the requested and the actual programmed
frequency along with the divider value, helping users verify the
effective SPI clock configuration.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
The GSPI and QSPI peripherals run on the interface PLL clock.
To ensure correct operation, the interface PLL frequency should
be set to 160 MHz. This provides a base clock of 80 MHz to the
QSPI peripheral, which matches its required operating frequency.
The GSPI peripheral can continue to operate at higher frequencies
as it receives the full interface PLL clock.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Wait a bit before performing timed spi_loopback_transceive() in
test_spi_complete_multiple_timed to ensure the console is idle,
otherwise the console completing and suspending in the "background"
near the end of the spi transaction can introduce latency.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Update some header files with nested COND_CODE_1 macros to use a single
COND_CASE_1 macro instead.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Update the gpio_basic_api test to support device runtime
power management. This ensures the test runs correctly when
runtime PM is enabled on GPIO devices.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
The existing device runtime PM model requires applications to call
pm_device_runtime_get()/put() on the GPIO controller device directly,
which is not ideal when GPIO ports are exposed as child nodes.
This update enables runtime PM at the GPIO port (child node) level,
allowing applications to manage power through the port devices instead
of the top-level controller.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
This patch introduce multiple silabs boards overlay that are needed to
test different ip version of the peripheral.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Without this clock definition, you will get compilation error
when using acmp device on board that use xg21 SoC.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Add `get_calibration` and `set_calibration` subcommands to allow users
to read and modify the RTC calibration settings from the shell.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Adds a new sub-group to nRF platforms, specifically for board
files, and add myself to this sub-group as a collaborator
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Generate PERIPHCONF SPU/CTRLSEL entries based on pinctrl properties
on the local domain peripherals as well as the global ones.
This fixes an issue where the required pin configuration was not
generated for the pinctrls on the radio local domain GPIOTE0 on
nrf54h20.
The secure attribute of nodes without an address and without a bus node
are now interpreted as being secure by default, instead of failing with
an error. This prevents the parsing of certain nodes from triggering
failing the build (in particular the 'ieee802154' node in
cpurad_peripherals).
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Update migration guide for HL78xx Kconfig option renames and startup
time changes. Add release notes for new AT Shell and AirVantage FOTA
support.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
The previous delay could cause missed URCs because the pipe and chat
layer were not yet attached when the modem started sending its first
messages (+KSUP). The modem boot takes ~1.8s, while the driver only
needs ~120ms to set up the interfaces, so reducing the delay ensures
the receiver is ready before the modem outputs any URCs.
Increase hl78xx_init_chat_script command limit from 10 to 100 to allow
longer initialization sequences.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
This update refactors the HL78xx initialization and runtime state
machine to provide robust handling of unexpected modem restarts
and improve PDP and boot status management.
Key changes:
- Add KSUP unsolicited response to the global chat match table
so modem boot status is monitored independently from the
initialization script.
- Introduce a boot-status structure tracking previous boot state
to detect unexpected restarts.
- Dispatch a new MODEM_HL78XX_EVENT_MDM_RESTART event when the
modem reports a READY status after having been previously
booted.
- Add restart-handling transitions across relevant states
(await-power-on, RAT-config, await-registered, carrier-on) to
ensure the driver cleanly re-enters the initialization
sequence.
- Rework init and post-restart script entry points to run
asynchronously via hl78xx_run_init_script_async() and
hl78xx_run_post_restart_script_async().
- Move bus-open and chat-attach operations out of the
init-script state and into the await-power-on state for
clearer separation of responsibilities.
- Expose a getter for the AT-ready match structure.
These changes improve resilience during modem restarts, clarify
the state machine flow, and prepare the driver for multi-PDP-
context configurations.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Fix several issues in GSM mode for the HL78xx modem driver to
ensure correct registration reporting, RAT handling, and PDP
context activation.
Changes include:
- Skip band configuration when RAT=GSM to prevent +CME ERROR
responses.
- Explicit PDP activation (AT+CGACT=1,1) for GSM data sessions.
- Parse +CGACT URCs and track PDP activation state internally.
- Introduce gprs status struct and update initialization
scripts to handle GSM reliably.
- Add helper functions and chat scripts to manage GSM
registration and PDP flow.
- Correct GSM registration-status handling: enable CREG=3 and
disable unused CEREG.
- Dynamically switch between CREG (GSM) and CEREG (LTE/NB-IoT)
based on active RAT.
These changes improve driver stability and ensure reliable data
and registration behavior on GSM networks.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
This patch applies multiple small cleanups across the HL78xx modem
driver, improving readability, consistency, and diagnostics without
changing logic.
Key changes:
- Added missing blank lines in Kconfig sections for readability.
- Improved several log messages for clarity and guidance to users.
- Added a debug log when RAT/Band configuration requires a modem restart.
- Replaced an incorrect SET_RAT_GMS_CMD macro name with SET_RAT_GSM_CMD.
- Added TODO marker for unhandled script failure case.
- Corrected log format string in event handler to include event ID.
- Added an informational log on modem initialization.
- Added clarifying comments in header structures and APN lookup path.
- Normalized #endif comment style throughout the driver.
- Fixed use of CME_ERROR_STRING in chat match definitions.
- Applied formatting hints (clang-format off/on) around multi-line
MODEM_CHAT_MATCHES blocks.
- Improved enum documentation in public API header.
These changes improve maintainability and developer usability without
modifying driver behavior.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
In current implementation, the useless for loop is called in function
`_wait_for_shell_response()` if the target message has been found. It
causes the case will consume too much time.
Exit the useless for loop to reduce the time consumption when the
target message is found.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, the useless for loop is called in function
`_wait_for_shell_response()` if the target message has been found. It
causes the case will consume too much time.
Exit the useless for loop to reduce the time consumption when the
target message is found.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Preprocessor evaluates CYC_PER_TICK as zero in condition
`(COUNTER_MAX / CYC_PER_TICK) == 1` when
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is defined.
This commit skips the check when
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is defined.
Fixes: #100040
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
moves the fixed link functionality of the
generic ethernet phy into its own driver.
This makes both drivers more readable and
efficient.
Also makes it easier to use the normal generic
phy as a base for a vendor specific driver, as
the fixed link functionality is not needed on
them.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>