Use controller/peripheral terminology in the ESP32 SPI driver,
following coding guideline rule A.2: switch to the renamed core
symbols, make ESP32_SPI_TARGET select SPI_PERIPHERAL instead of the
deprecated SPI_SLAVE, reword the Kconfig prompt/help, and update
comments.
All ESP-IDF HAL names (spi_slave_hal_* API and types,
hal/spi_slave_hal.h, SPI_MASTER_FREQ_* macros) keep their vendor
names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the TI OMAP MCSPI driver,
following coding guideline rule A.2: switch to the renamed core
symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments and
log messages.
The ti,d1-miso-d0-mosi devicetree property and its matching code
tokens keep their names, as the property is defined by the TI binding
and mirrors the TI TRM signal naming.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the ITE IT8xxx2 SPI driver,
following coding guideline rule A.2: switch to the renamed core
symbols and update log messages.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the ITE IT51xxx SPI driver,
following coding guideline rule A.2: switch to the renamed core
symbols and update log messages.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Xilinx AXI Quad SPI
driver, following coding guideline rule A.2: switch to the renamed
core symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments
and log messages.
The SPICR_MASTER*, SPISR_SLAVE_* and IPIXR_SLAVE_* register bit
macros mirror the Xilinx PG153 datasheet register field names and
keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the STM32 SPI driver,
following coding guideline rule A.2: rename the Zephyr-owned
ll_spi_swap_mosi_miso() wrapper to ll_spi_swap_sdo_sdi(), rename
local variables, switch to the renamed core symbols and the
CONFIG_SPI_PERIPHERAL guard, and update comments, log messages and
Kconfig help prose.
All ST LL/HAL API names (LL_SPI_MODE_MASTER/SLAVE,
LL_SPI_StartMasterTransfer, LL_SPI_EnableMosiMisoSwap,
LL_SPI_SetMasterSSIdleness, ...) keep their vendor names, and the
verbatim errata sheet quote in Kconfig.stm32 is left intact.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the LiteX SPI and LiteSPI
drivers, following coding guideline rule A.2: switch to the renamed
core symbols and update comments and log messages.
All master_*/mosi_*/miso_* identifiers tied to LiteX
gateware-generated CSR register names or devicetree reg-names
(master_cs, master_rxtx, master_phyconfig, master_status,
master_ev_*, master_clk_divisor, SPIFLASH_MASTER_*, reg-names
"mosi"/"miso") keep their names, as they must match the LiteX
gateware and devicetree definitions.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Microchip PolarFire MSS
SPI driver, following coding guideline rule A.2: rename the
driver-local mss_spi_select_slave() helper and the
MSS_SPI_MIN/MAX_SLAVE bounds macros, switch to the renamed core
symbols, and update comments.
The MSS_SPI_CONTROL_MASTER register bit macro mirrors the PolarFire
MSS SPI datasheet and keeps its name.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the ADI MAX32 SPI driver,
following coding guideline rule A.2: rename driver-local variables,
switch to the renamed core symbols and the CONFIG_SPI_PERIPHERAL
guard, and update comments.
The MXC_SPI_SetSlave() HAL function and the
ADI_MAX32_SPI_CTRL_MASTER_MODE register bit macro come from the ADI
MSDK and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Bouffalo Lab SPI driver,
following coding guideline rule A.2: rename the driver-local
spi_bflb_trigger_master()/spi_bflb_detrigger_master() helpers, switch
to the renamed core symbols, and update comments.
The GLB_REG_SPI_*_MASTER_MODE_POS register field macros come from the
Bouffalo Lab HAL and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Atmel SAM0 SERCOM SPI
driver, following coding guideline rule A.2: rename
spi_sam0_shift_master() to spi_sam0_shift_controller(), switch to the
renamed core symbols, and update comments.
The SERCOM_SPI_CTRLA_MODE_SPI_MASTER_Val register field value macro
mirrors the Microchip SERCOM header and keeps its name.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Microchip FLEXCOM G1 SPI
driver, following coding guideline rule A.2: rename the driver-local
helpers spi_slave_to_mr_pcs() and spi_sam_shift_master(), switch to
the renamed core symbols, and update comments and log messages.
The SPI_MR_MSTR_Msk register field macro comes from the Microchip SoC
header and keeps its name.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Atmel SAM SPI driver,
following coding guideline rule A.2: rename the driver-local helpers
spi_slave_to_mr_pcs() and spi_sam_shift_master(), switch to the
renamed core symbols, and update comments and log messages.
The Atmel SPI_MR/SPI_CSR register field macros keep their vendor
names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RZ SPI and RSPI
drivers, following coding guideline rule A.2: switch to the renamed
core symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments
and log messages.
Renesas FSP identifiers (SPI_MODE_MASTER/SLAVE, mosi_idle,
*_MOSI_IDLE_VALUE_FIXING_DISABLE, BSP_FEATURE_BSP_MASTER_MPU_*) keep
their names, and the RZ_MASTER_MPU_* macros and related comments keep
theirs as they designate the Renesas RZ "Master MPU" bus-master
hardware block.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RX RSPI driver,
following coding guideline rule A.2: rename the driver-internal
transceive helpers, switch to the renamed core symbols and the
CONFIG_SPI_PERIPHERAL guard, update comments, and reword the
hardware chip-select Kconfig prompt and help text.
The rspi_chnl_settings_t.master_slave_mode member, the
RSPI_MS_MODE_MASTER/SLAVE enum constants (Renesas RDP r_rspi_rx_if.h)
and the SPCR.MSTR register bit field (iodefine.h) come from the
vendor HAL/datasheet and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RA8 SPI-B
driver, following coding guideline rule A.2: rename the
driver-internal transceive helpers, switch to the renamed core
symbols and the CONFIG_SPI_PERIPHERAL guard.
The SPI_MODE_MASTER/SPI_MODE_SLAVE operating mode constants come from
the Renesas FSP HAL and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RA SCI-B SPI
driver, following coding guideline rule A.2: switch to the renamed
core symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments
and log messages.
The SPI_MODE_MASTER/SPI_MODE_SLAVE operating mode constants come from
the Renesas FSP HAL and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RA SCI SPI
driver, following coding guideline rule A.2: switch to the renamed
core symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments
and log messages.
The SPI_MODE_MASTER/SPI_MODE_SLAVE operating mode constants come from
the Renesas FSP HAL and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Renesas RA SPI driver,
following coding guideline rule A.2: rename the driver-internal
transceive helpers, switch to the renamed core symbols and the
CONFIG_SPI_PERIPHERAL guard.
The SPI_MODE_MASTER/SPI_MODE_SLAVE operating mode constants come from
the Renesas FSP HAL and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Microchip SERCOM G1 SPI
driver, following coding guideline rule A.2: rename the
driver-internal peripheral/controller helper functions and ISRs,
switch to the renamed core symbols and the CONFIG_SPI_PERIPHERAL
guard (including the SPI_MCHP_INTER_CHARACTER_SPACE default), and
update comments and log messages.
The SERCOM_SPI_CTRLA_MODE_SPI_MASTER/SLAVE register field macros come
from the Microchip device family pack headers and keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Realtek Ameba SPI
driver, following coding guideline rule A.2: rename
spi_ameba_is_slave() to spi_ameba_is_peripheral(), switch to the
renamed core symbols and the CONFIG_SPI_PERIPHERAL guard, and update
comments and log messages.
The SSI_MASTER/SSI_SLAVE role constants come from the Realtek Ameba
HAL and keep their names; the debug messages that print which HAL
role constant is selected keep referring to them verbatim.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the NXP S32 SPI driver,
following coding guideline rule A.2:
- Add a "peripheral" boolean devicetree property; the old "slave"
property is still accepted, marked as deprecated in the binding,
and used as a fallback when the new one is not set.
- Rename driver-internal identifiers, guards, comments and log
messages accordingly.
The SPI_MCR_MSTR register field macros and the SlaveMode member of
the SPI configuration structure come from the NXP S32 RTD HAL and
keep their names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Realtek Bee SPI driver,
following coding guideline rule A.2:
- Add an is-peripheral devicetree property; the old is-slave property
is still accepted, marked as deprecated in the binding, and used as
a fallback when the new one is not set.
- Rename driver-internal identifiers, guards, comments and log
messages accordingly.
The SPI0_SLAVE_TX/RX_FIFO_SIZE and SPI_Mode_Slave identifiers come
from the Realtek Bee SDK/HAL and keep their names, and the spi0_slave
devicetree node label keeps its name as it designates the dedicated
SPI0 slave-mode hardware instance of the SoC.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the Cadence SPI driver,
following coding guideline rule A.2: switch to the renamed core
symbols and the CONFIG_SPI_PERIPHERAL guard, and update comments and
log messages.
The SPI_SLAVE_IDLE_COUNT register offset macro keeps its name as it
mirrors the "Slave_Idle_count" register of the Cadence SPI controller
datasheet.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the DesignWare SPI driver,
following coding guideline rule A.2: rename spi_dw_is_slave() to
spi_dw_is_peripheral(), switch to the CONFIG_SPI_PERIPHERAL guard and
the renamed core symbols, and update comments and log messages.
The DW_SPI_CTRLR0_SLV_OE register bit macro keeps its name as it
mirrors the "Slave Output Enable" field of the Synopsys DesignWare
SSI databook.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use SDO/SDI and controller/peripheral terminology in the Raspberry Pi
Pico PIO SPI driver, following coding guideline rule A.2:
- Rename the sdo-gpios/sdi-gpios devicetree properties from
mosi-gpios/miso-gpios. The old property names are still accepted,
marked as deprecated in the binding, and used as a fallback by the
driver when the new ones are not set.
- Rename driver-internal identifiers and log messages accordingly.
- Migrate all in-tree boards, samples and test overlays to the new
property names.
The pico-sdk PIO helper APIs used by the driver keep their vendor
names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use SDO/SDI and controller/peripheral terminology in the SPI bitbang
driver, following coding guideline rule A.2:
- Rename the sdo-gpios/sdi-gpios devicetree properties from
mosi-gpios/miso-gpios. The old property names are still accepted,
marked as deprecated in the binding, and used as a fallback by the
driver when the new ones are not set.
- Rename driver-internal identifiers and log messages accordingly.
- Migrate all in-tree boards and sample overlays to the new property
names.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use controller/peripheral terminology in the SPI driver context
helpers, following coding guideline rule A.2:
- Rename spi_context_is_slave() to spi_context_is_peripheral(),
keeping the old name as a compatibility wrapper for out-of-tree
drivers.
- Rename the spi_ctx_runtime_op_mode enumerators to
SPI_CTX_RUNTIME_OP_MODE_CONTROLLER/PERIPHERAL, keeping the old
names as compatibility aliases.
- Guard peripheral-mode code with CONFIG_SPI_PERIPHERAL. The
deprecated CONFIG_SPI_SLAVE option selects SPI_PERIPHERAL, so
drivers that still test CONFIG_SPI_SLAVE keep working unchanged.
- Update comments accordingly.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Rename the SPI_SLAVE Kconfig option to SPI_PERIPHERAL, following
coding guideline rule A.2. The old option is kept as a compatibility
shim that selects SPI_PERIPHERAL, so existing configurations keep
working and both CONFIG macros are defined whenever either option is
enabled. This lets drivers migrate their guards independently.
The shim will additionally select DEPRECATED once all in-tree users
have been migrated.
Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Make rram_write() a non-sleeping single-block primitive so it is safe to
call from interrupt context.
The throttling delay is now realized by the callers: k_usleep() between
blocks on the thread path.
Add as well a new nrf_flash_sync_set_delay() function that spaces
timeslots on the radio-sync path.
This allows SOC_FLASH_NRF_THROTTLING and SOC_FLASH_NRF_RADIO_SYNC_MPSL
to be enabled at the same time.
Signed-off-by: Riadh Ghaddab <riadh.ghaddab@nordicsemi.no>
The zephyr,usb-c-vbus-adc driver expands the optional discharge-gpios
and power-gpios properties into its device config with
GPIO_DT_SPEC_INST_GET_OR(), so the GPIO controller they reference must
be built whenever either property is present in devicetree.
CONFIG_GPIO is no longer enabled by the ST board defconfigs since
commit 90b9c954f0 ("boards: st: *: don't enable CONFIG_GPIO by
default"), so samples/subsys/usb_c/sink no longer links for
stm32g081b_eval:
libdrivers__usb_c__vbus.a(usbc_vbus_adc.c.obj):
(.rodata.drv_config_0+0x20): undefined reference to
`__device_dts_ord_53'
Select GPIO from the driver when either property is used, so that every
board and application using this driver is fixed rather than only the
one that happened to be reported.
Signed-off-by: Nicholas Cadieux <ncadieux@qti.qualcomm.com>
Add device power management so the sensor can sit under a power domain
that may be unpowered at init. Bring-up moves to a PM_DEVICE_ACTION_TURN_ON
handler, and RESUME/SUSPEND toggle the config register shutdown bit.
One-shot mode keeps the sensor shut down between fetches, so RESUME
leaves the shutdown bit set in that configuration.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Validate the message queue with K_SYSCALL_OBJ_STATIC() so that message
queues user mode can free are rejected outright. Every in-tree caller
already uses CAN_MSGQ_DEFINE(), which is the documented way to define a
CAN RX message queue.
Also document the lifetime requirement on can_add_rx_filter_msgq(). It
applies to supervisor callers too: they bypass the system call handler
and must keep the message queue valid until the filter is removed.
Signed-off-by: Flavio Ceolin <flavio@hubble.com>
Update comments, log messages, Kconfig prose, and driver-local
identifiers to use the controller/target terminology ratified by
coding guideline A.2 and already used by the Zephyr I2C API.
Identifiers mirroring the Telink HAL (e.g. i2c_master_init,
i2c_set_master_clk, i2c_master_send_stop) are kept unchanged.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:fable-5
Update comments and driver-local identifiers to use the
controller/target terminology ratified by coding guideline A.2 and
already used by the Zephyr I2C API, including renaming the
driver-composed RCAR_I2C_ICMCR_MASTER convenience mask to
RCAR_I2C_ICMCR_CONTROLLER.
Register mnemonics mirroring the R-Car datasheet (ICMCR, ICSCR, MNR,
MAL, ...) and the comments spelling out their datasheet names are
kept unchanged.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:fable-5
Update comments, log messages, Kconfig prose, and driver-local
identifiers to use the controller/target terminology ratified by
coding guideline A.2 and already used by the Zephyr I2C API.
Identifiers mirroring the NXP MCUX SDK and i.MX HAL
(e.g. I2C_Master* / I2C_Slave*, kI2C_Slave* event/flag enums,
LPI2C_Master* / LPI2C_Slave*) are kept unchanged.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:fable-5
Update comments, log messages, Kconfig prose, and driver-local
identifiers to use the controller/target terminology ratified by
coding guideline A.2 and already used by the Zephyr I2C API.
Identifiers mirroring the NXP LPC11U6x user manual (UM10732)
(e.g. LPC11U6X_I2C_MASTER_TX_*, LPC11U6X_I2C_MASTER_RX_*,
LPC11U6X_I2C_SLAVE_TX_*) are kept unchanged.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:fable-5
Update comments, log messages, Kconfig prose, and driver-local
identifiers to use the controller/target terminology ratified by
coding guideline A.2 and already used by the Zephyr I2C API.
Identifiers mirroring the Cadence IP databook
(e.g. CDNS_I2C_CR_MS, CDNS_I2C_IXR_SLV_RDY) are kept unchanged.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:fable-5
Two-line copyright notices were wrapped in the SPDX "<text>...</text>"
construct, which is only valid in an SPDX document, not a file header.
The REUSE tool then folds the literal "<text>" into the holder name
and drops the second line from the SBOM.
Remove the markers and tag the continuation line. Holder, year and
e-mail are left unchanged; only the syntax is fixed.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Counter 2 of the MCWDT free-runs at the low-frequency clock and is the
cycle domain, while counters 0 and 1, cascaded into a 32-bit match, are
armed as a one-shot relative delay: a RELOAD backend whose alarm is a
separate timer from the counter. Arming resets that pair before setting
the match, so the delay always runs from zero and cannot be programmed
into the past, which is why no reload floor is stated.
The core takes over the tick accounting. announced_cycles, the spinlock
and the cycle-to-tick math go with it, and so do sys_clock_set_timeout(),
sys_clock_elapsed() and sys_clock_cycle_get_32(), which the core emits.
What is left of the interrupt handler is the acknowledge and the announce.
A ticked kernel now works. The core leaves the period of a reload backend
to the driver, and this alarm does not reload itself, so init and the
handler arm one tick. The driver used to arm the full 32-bit range at
init and never again in that configuration, which put the first tick some
36 hours out.
The counter is reported to the kernel as it reads, so the devicetree
clock-frequency and CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC have to agree.
That was already assumed; a BUILD_ASSERT now says so.
Also drop the unused gpio.h and pull in kernel.h, which the removed
headers happened to provide for WAIT_FOR().
Build-tested on kit_psc3m5_evk, ticked and tickless.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
I belive that
tmp = (int16_t)data->current
is more descriptive and straightforward than
if (INA219_SIGN_BIT(data->current)) {
data->current = ~data->current + 1;
sign = -1;
}
tmp = sign * data->current
Thus to make it consistent with signed conversion which is already
done for SENSOR_CHAN_VSHUNT I propose such cosmetic fix.
Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
Implementation of ina219 was missing support for
shunt voltage readouts (SENSOR_CHAN_VSHUNT).
This commit fixes that issue.
Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
The SDL input driver only handled the primary mouse button (reported as
INPUT_BTN_TOUCH) and pointer motion, so the mouse wheel and the middle and
right buttons were silently dropped.
Report the wheel as a relative INPUT_REL_WHEEL event, and report the middle
and right buttons as INPUT_BTN_MIDDLE and INPUT_BTN_RIGHT. The left button
keeps its existing INPUT_BTN_TOUCH behaviour, so the touch/pointer path is
unchanged.
This allows a scroll/rotation input source such as an LVGL encoder input
device to be driven in the native_sim simulator, using the wheel for
rotation and a distinct button for its press.
Signed-off-by: Vandra-Meyer Akos <akos@lvgl.io>
Compilation was failing when one instance is using interrupt driven
API and another one is using asynchronous API with TIMER byte counting.
Compilation was also failing if instance had timer property in DT but
Kconfig was indicating use of the interrupt driven API.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The continuous acquisition path programs the analog calibration
registers and runs the shared front-end without holding the
analog i2c master clock, the same gap the oneshot path had.
Hold the reference counted clock from controller start until
stop so the acquisition does not depend on another user keeping
that clock enabled.
Assisted-by: Claude:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The oneshot read path touched the analog calibration registers
and started conversions without holding the analog i2c master
clock. On SoCs where that clock is root gated it is shared with
the Wi-Fi modem, so the first modem sleep cycle gated it and the
conversion polling never returned.
Hold the reference counted analog clock across channel setup,
calibration load and conversion, and propagate a conversion
failure as -ETIMEDOUT so callers can retry when the shared
analog hardware is temporarily powered down by modem sleep. The
completion wait bound is adjustable through the new
ADC_ESP32_CONVERSION_TIMEOUT_US option.
Assisted-by: Claude:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
axi_dmac_isr() was defined unconditionally, but only referenced via
IRQ_CONNECT when the devicetree node has an interrupts property. A
core synthesized without an interrupt line (dma_get_status() drives
the state machine by polling instead) failed the build with
-Werror=unused-function. Guard the definition the same way
drivers/watchdog/wdt_dw.c does for the identical situation.
Adds a build-only test targeting arty_a7 covering both the IRQ-driven
and the no-IRQ polling configuration, since this AXI core only exists
in FPGA fabric with no SoC/board to instantiate it on.
Signed-off-by: Iustin Stolniceanu <iustin.stolniceanu@analog.com>
Provides DMA transfers for AXI-Stream peripherals through the standard
Zephyr DMA API, supporting both one-shot and cyclic capture modes. In
cyclic mode the transfer is automatically resubmitted on completion,
keeping the destination buffer continuously updated with no CPU
involvement. Cores synthesized without an interrupt line are driven
through the polling path in dma_get_status().
CONFIG_DMA_ADI_AXI_DMAC is auto-selected when DT_HAS_ADI_AXI_DMAC_ENABLED.
Signed-off-by: Iustin Stolniceanu <iustin.stolniceanu@analog.com>