Do not add a newline when flushing the buffer to the host terminal.
The caller may not want these newlines to be added, and the host
terminal can handle line wrapping on its own.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add buffer size configuration for posix console stdout buffer.
This allows to increase the buffer size for the posix console, which is
needed to avoid message flushed in the middle of ansi escape sequences.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
The macro was incorrectly using the rssi variable as input instead of
its v parameter. This only worked because a variable called rsii was
defined in the calling context.
Signed-off-by: Gabriele Zampieri <gabriele.zampieri@arsenaling.com>
Currently there's no way of disabling an RTC alarm if it's set; only if
it's active. This commit disables the alarm, regardless of the status.
Signed-off-by: Emil Lindqvist <emil@lindq.gr>
rtc_counter rejected rtc_alarm_set_time() before rtc_set_time() because the
epoch offset was not yet established. This breaks rtc_api on boards using
the zephyr,rtc-counter wrapper.
Fix by tracking whether the epoch is valid and deferring counter alarm
programming until rtc_set_time() establishes the epoch (then reschedule).
Also fix alarm pending semantics so an alarm is marked pending when it
fires regardless of whether a callback is installed, and treat -ETIME
from counter_set_channel_alarm() (with EXPIRE_WHEN_LATE) as an immediate
expiry by setting pending.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Replaces the event handling of drivers using gpio_stepper_common with
the new event handling logic.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
The new event handling is based on the one from gpio_stepper_common but
is designed to be useable by different types of stepper motion
controllers.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Fixes callbacks not being executed if ISR_SAFE_EVENTS is disabled and
and the trigger_callback function is executed in an ISR context.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Do not enable this driver class by default.
Whoever needs it should select it instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
WIth the rework of the vlan handeling, the iface init
will only be executed once per instance, so we don't need
that check anymore.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Basic support for GlobalTop PA6H GNSS module.
API added: set_fix_rate, get_fix_rate, set_enabled_systems,
and get_enabled_systems.
Signed-off-by: Hong Nguyen <hong.nguyen.k54@gmail.com>
Add support for reset extended operation to clear all volatile register
settings. Notably, ECC enable and block protection registers are not
reset by a soft reset.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
This update configures the board to support the CYW55513 connectivity
module by enabling the required Kconfig symbols and defining the
HCI UART interface in the Devicetree
Changes:
- dts: Enable the Infineon HCI UART node with hardware flow control.
- pinctrl: Configured UART pins (TX, RX) and hardware flow control
pins (RTS, CTS) specifically for the Bluetooth HCI interface
- defconfig: Adjusted CONFIG_MAIN_STACK_SIZE to provide sufficient
headroom for the Bluetooth HCI driver and event processing.
- kconfig: make AIROC_WIFI6 selection conditional on WIFI to fix
dependency warnings in BLE-only builds.
Signed-off-by: Merin George <merin.george@infineon.com>
Introduces common Kconfig configurations for the CYW55513 connectivity
module, supporting both Murata 2FY and discrete implementations.
Additionally, updates the HCI driver to include a new vendor-specific
command required for updating the SCO route to PCM
Signed-off-by: Merin George <merin.george@infineon.com>
Update the Infineon PDL UART driver to support Zephyr's standard
UART hardware flow control configuration.
Flow control is now derived from uart_config.flow_control allowing
applications to enable RTS/CTS using the generic UART API and
devicetree settings
configure the RTS rx fifo trigger level when flow control is enabled
Signed-off-by: Merin George <merin.george@infineon.com>
Update bindings to consume a NVMEM cell instead of raw addresses, and
update the driver to support obtaining calibration data using the NVMEM
subsystem. For backwards compatibility and reduced footprint, the old
mechanism (direct MMIO read) is retained; a Kconfig option is introduced
to allow selecting which mechanism is used.
The sensor binding and SoC DTSI is updated accordingly.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Update bindings to consume a NVMEM cell instead of raw addresses, and
update the driver to support obtaining calibration data using the NVMEM
subsystem. For backwards compatibility and reduced footprint, the old
mechanism (direct MMIO read) is retained; a Kconfig option is introduced
to allow selecting which mechanism is used.
The sensor binding and SoC DTSI is updated accordingly.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
- Get unit number and memory size from devicetree
- Renesas RZ/T2L uses at25sf128a flash chip which differs from RZ/T2M
and RZ/N2L supported previously. The Write Status Command may write
incorrect data to Status Register or Configuration Register on this
chip. Remove this code to make the driver common for other SoCs.
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Configure Timing Adapter (TA) child nodes during driver initialization.
This allows running inference with user-configured memory bandwidth and
latency models described in Devicetree.
Signed-off-by: Johan Alfvén <johan.alfven@arm.com>
Add RISC-V APLIC driver split into shared core and MSI-specific
modules following the GICv3/ITS pattern:
- intc_riscv_aplic_priv.h: private header with struct aplic_cfg,
register helpers, and aplic_msi_init() declaration
- intc_riscv_aplic.c: core driver with domain enable, source
configuration, device instantiation; calls aplic_msi_init()
when CONFIG_RISCV_APLIC_MSI is enabled
- intc_riscv_aplic_msi.c: MSI-specific code for APLIC target
routing, GENMSI injection, and MSI address geometry setup
This split allows direct delivery mode support to be added later
without touching MSI code.
Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Add RISCV_APLIC base Kconfig (enabled by DT_HAS_RISCV_APLIC_ENABLED)
and RISCV_APLIC_MSI sub-config that is only available when every APLIC
node in the devicetree has an msi-parent property. This prevents
build failures when APLIC is used in direct delivery mode without an
IMSIC. Update CMakeLists.txt to build intc_riscv_aplic.c for the
base config and intc_riscv_aplic_msi.c for the MSI sub-config.
Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
- Fix lp_gpio Kconfig dependency to use proper
DT_HAS_ESPRESSIF_ESP32_LPGPIO_ENABLED symbol instead of
SOC_ESP32C6_LPCORE, and separate GPIO_ESP32 from LPGPIO_ESP32
- fix lp_gpio compatible string to espressif,esp32-lpgpio to
match the corrected Kconfig dependency
- enable global LP core interrupts at startup via
ulp_lp_core_intr_enable() in lp_core_startup(); the LP core
has no interrupt allocator so this must be done once for any
peripheral using the single interrupt vector
- enable lp_gpio in gpio_wakeup sample overlay
- fix ESP_CONSOLE_UART_NUM default for LP HP UART console
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Correct an #if which otherwise is always true, so we do not
refer to a function which does not exist otherwise.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This PR uses the correct macro that actually set VOS0
(thanks to @pillo79 that got the bottom of the problem discovering
that this is a bug in the STM zephyr driver).
A bug report that explains the problem can be found here:
zephyrproject-rtos#104536.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Remove pin slot assignment if GPIO pin interrupt is disabled,
otherwise a new interrupt configured while the interrupt is
disabled will cause re-enabling of the original interrupt
to override the slot assigned of the last interrupt configured.
Signed-off-by: Torbjørn Biering Tvermosegaard <tbt@foss.dk>
Add PWM driver for the Infineon PSoC4 family.
This includes SoC-specific register configurations, API calls,
and hardware instance mapping required for PSoC4 compatibility.
Signed-off-by: Surya Prakash T <suryat@aerlync.com>
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Fix race condition in riscv_clic_irq_set_pending() and other CLIC
functions when called from ISR context. The original code used unsafe
two-step CSR operations (MISELECT write followed by MIREG access) that
could be interrupted between steps, leading to incorrect register access.
Replace runtime IS_ENABLED() conditionals with compile-time preprocessor
directives for better code structure and explicit error handling when
platform configuration is incomplete.
Use atomic micsr_* and micsr2_* helpers that perform IRQ-locked indirect
CSR operations, ensuring proper MISELECT/MIREG register pairing.
Changes:
- Convert all CLIC functions to use compile-time ifdef structure
- Replace unsafe CSR operations with atomic micsr_*/micsr2_* helpers
- Use micsr_* (MIREG) for CLIC_INTIP, CLIC_INTCTRL, CLIC_CFG
- Use micsr2_* (MIREG2) for CLIC_INTIE, CLIC_INTATTR
- Add explicit error messages for unsupported configurations
- Fix bit_offset variable scope to avoid redefinition
Signed-off-by: Alexios Lyrakis <alex_gfd@hotmail.com>
STANDBY state can place the peripheral into a
low‑power state, and transitioning to it before
a TX transmission completes may cause data loss
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
Add explicit clock configuration and enable calls during driver
initialization.
Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
This commit add phy driver support for Maxlinear GPY111. This driver
implements vendor specific behaviour rgmii delay time setup, which is
not present in the generic MII driver.
Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
Corrected the DT_INST_PROP_OR mapping for sda_hold_rx.
It was mistakenly using scl_hold_rx as the property name.
Signed-off-by: Elmo Lan <elmo_lan@realtek.com>
Replace busy-wait synchronization delay with a safety window mechanism
to prevent missed alarm compares when set too close to current counter
value.
- Remove k_busy_wait(100U) after setting API compare value
- Use MINIMUM_RTCVAL/MINIMUM_APIVAL as safety window thresholds
- Trigger SW-pending interrupts for alarms within safety window
- Fix absolute alarm late-to-set detection using forward distance
- Reduce counter test iterations from 100 to 1
This ensures reliable alarm delivery without blocking delays.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Extends the UAOL API with uaol_get_mapped_hda_link_stream_id() to get
the HDA link stream ID mapped in HW to its UAOL stream ID. The streams
mapping is stored in the device tree.
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
This adds a DAI driver for USB Audio Offload Link (UAOL)
individual streams on Intel ACE2.0 and ACE3.0 platforms.
Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
This adds a driver for USB Audio Offload Link (UAOL) IP
on Intel ACE2.0 and ACE3.0 platforms.
Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
When UART_INTERRUPT_DRIVE, PM and UART_CONSOLE_INPUT_EXPIRED are all
defined the driver uses the device flags without the necessary declaratoins
or fetching the hardware register.
Signed-off-by: Keith Packard <keithp@keithp.com>
Support gathering multiple message buffers into a single write
transaction, and scattering read data from a single transaction
to multiple message buffers.
This is required for the i2c_burst_write() API to function as
expected.
The implementation uses a driver-internal buffer whose size is
configurable through the `zephyr,concat-buf-size` devicetree
property for similarity with other I2C drivers in the tree.
Gather write is implemented for both interrupt and DMA based
transfers, while scatter read is only implemented for interrupt
based transfers at this time. In the future, DMA based gather
write should be delegated to the DMA engine to perform
autonomously without needing a temporary buffer.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
I2C_MSG_WRITE is not a bit in `flags`, it's a value of `0`, meaning
the condition is always true. Check for the absence of READ instead,
to avoid mistaking read-read transactions as write-read ones.
Combined write-read transactions should only happen if the RESTART
flag is set on the read message, so check for that too.
Finally, the message index was incremented by one too much for
interrupt-based transfers, causing the next message after a write-read
transaction to be dropped.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
IPv6 addresses were not being removed when WiFi connection fails
from the AP side (STATE_UNASSOCIATED). This causes stale IPv6
addresses to remain on the interface, preventing proper cleanup
and potentially causing issues on subsequent connection attempts.
Set the network interface to dormant state when STATE_UNASSOCIATED
is detected in the WiFi module stats event handler. This ensures
that IPv6 addresses are properly cleaned up during connection
failures.
Signed-off-by: Swamidas Nampalli <Swami.Das@silabs.com>