Commit graph zephyr/drivers
Author SHA1 Message Date
Anas Nashif
f56b5b7109 Revert "drivers: timer: arm_arch: use the generic timer core"
This reverts commit 772b66b9af.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
2093a8a64f Revert "drivers: timer: riscv_supervisor: use the generic timer core"
This reverts commit d367b01e88.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
702a2a91af Revert "drivers: timer: hpet: use the generic timer core"
This reverts commit 8f0b89f00d.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
5315b021df Revert "drivers: timer: mips_cp0: use the generic timer core"
This reverts commit 86b421a8e0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
8c51154db3 Revert "drivers: timer: cmsdk_apb: make the cycle read wrap-safe"
This reverts commit 9a29bf5fac.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
cd2767565a Revert "drivers: timer: cmsdk_apb: derive min timeout from cycle rate"
This reverts commit b2a4659e5e.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
51f0dd7080 Revert "drivers: timer: cmsdk_apb: use the generic timer core"
This reverts commit b5e4dc82a4.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
d0c9d59879 Revert "drivers: timer: cortex_m_systick: derive min timeout from cycle rate"
This reverts commit 1b608c64c9.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
9e2830833e Revert "drivers: timer: cortex_m_systick: use the generic timer core"
This reverts commit d277540ce0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
0a1a94fce9 Revert "drivers: timer: arcv2_timer0: use the generic timer core (non-SMP)"
This reverts commit 72b15164ac.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
fc68c1791a Revert "drivers: timer: renesas_ra_ulpt: use the generic timer core"
This reverts commit 2b432e151b.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
4735f03a72 Revert "drivers: timer: xtensa_sys_timer: use the generic timer core"
This reverts commit 4b0877cebe.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
4788eea582 Revert "drivers: timer: openrisc_tick_timer: use the generic timer core"
This reverts commit fe872510f5.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
2ed81af071 Revert "drivers: timer: leon_gptimer: use the generic timer core"
This reverts commit 112ed46350.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
5ae4107e5c Revert "drivers: timer: native_sim_timer: use the generic timer core"
This reverts commit e8163a1052.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
b78adcb5a0 Revert "drivers: timer: apic_tsc: use the generic timer core"
This reverts commit b63136f402.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
4fc41d796f Revert "drivers: timer: intel_adsp_timer: use the generic timer core"
This reverts commit 72d14283bd.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
5d84d97777 Revert "drivers: timer: esp32_sys_timer: use the generic timer core"
This reverts commit dde56fe906.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
30bde0ca80 Revert "drivers: timer: cortex_m_systick: keep the drift-comp VAL sample raw"
This reverts commit 1f4ecea7f6.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
aa789c4a99 Revert "drivers: timer: fix the equality-match compare catch-up livelock"
This reverts commit 0bbd4843fa.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
919a7f6aac Revert "drivers: timer: declare 64-bit counter widths to the generic core"
This reverts commit 11b5349051.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
ddeb4c1989 Revert "drivers: timer: riscv_supervisor: declare the 64-bit counter width"
This reverts commit c7fa0dbf01.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
12ef92c921 Revert "drivers: timer: openrisc: do not drop a comparator match when rearming"
This reverts commit 2e1bbb20d0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Anas Nashif
57359d618b Revert "drivers: timer: core: skip redundant rearms and protect catch-up reloads"
This reverts commit 4f6aebf11c.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-22 10:27:24 -04:00
Yeray Lois Sanchez
2b920af989 drivers: display: st7789v: make panel tuning properties optional
Some ST7789V panel integrations rely on the controller reset defaults
or on fixed power sequencing and must not receive the default power
and gamma configuration commands during initialization.

Instead of adding a bypass flag, make the power/gamma/tuning
devicetree properties optional (vcom, gctrl, lcm, gamma, porch-param,
cmd2en-param, pwctrl1-param, pvgam-param, nvgam-param, ram-param,
rgb-param) and only send a configuration command when its property is
present, following the existing vrhs/vdvs handling.

Existing boards set all of these properties, so their initialization
sequence is unchanged.

Signed-off-by: Yeray Lois Sanchez <yerayloissanchez@gmail.com>
2026-07-22 14:16:38 +01:00
Darcy Lu
9d1dece900 drivers: otp: Add support for Realtek RTS5817 OCOTP
This commit adds On-Chip OTP driver for RTS5817

Signed-off-by: Darcy Lu <darcy_lu@realsil.com.cn>
2026-07-22 14:16:16 +01:00
Mathieu Choplain
d310b65d7b drivers: ieee802154: fix CMakeLists formatting issues
Fix formatting issues in the driver class' listfile which caused CI
compliance checks failures.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-07-22 14:15:13 +01:00
Mathieu Choplain
21a39d0169 drivers: ieee802154: stm32wba: check correct variable for blobs_verify
Compatible existence should indeed be checked using the autogenerated
Kconfig option DT_HAS_ST_STM32WBA_IEEE802154_ENABLED as intended by the
code in the listfile; however, in CMake, Kconfig options have the
`CONFIG_` prefix as in C!

Update the listfile to check for compatible existence using the proper
variable (i.e., with the `CONFIG_` prefix).

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-07-22 14:15:13 +01:00
Benjamin Cabé
f92591d53b drivers: dac: dac161s997: Return an error on resolution mismatch
The init sanity check on the DAC_RES status field logged an error but
returned ret, which the preceding successful status read had set to
0, so a failed identity check still reported successful init. Return
-EIO.

Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:14:25 +01:00
Arkadiusz Grzelka
5e4a497236 input: cf1133: report through the common touchscreen helper
The driver reports raw controller coordinates straight to INPUT_ABS_X and
INPUT_ABS_Y, so none of the touchscreen-common orientation properties reach
it: a board wiring this part to a rotated or mirrored panel has no way to
describe that in devicetree. Every other touch driver in the tree goes
through input_touchscreen_report_pos().

Route both report paths through the helper and include
touchscreen-common.yaml in the binding. `select INPUT_TOUCH` comes with it:
input_touch.c is gated on that symbol, so without it the helper is never
compiled and the driver fails to link.

Behaviour is unchanged for existing users -- with none of the orientation
properties set the helper passes the coordinates through untouched.

Signed-off-by: Arkadiusz Grzelka <devitwise@gmail.com>
2026-07-22 14:14:13 +01:00
Benjamin Cabé
2bcf58806f drivers: input: rx_ctsu: Cache the wheel count in the report loop
Load the wheel count into a local before the report loop instead of
walking data->touch_instance.p_cfg->num_wheels on every iteration.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:49 +01:00
Benjamin Cabé
7cde7267b9 drivers: input: rx_ctsu: Cache the slider count in the report loop
Load the slider count into a local before the report loop instead of
walking data->touch_instance.p_cfg->num_sliders on every iteration.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:49 +01:00
Benjamin Cabé
982267d7a8 drivers: input: rx_ctsu: Constify the touch context tables
The devicetree-derived button, slider and wheel context tables are only
read, so mark them and their matching config pointer fields const; the
mutable runtime state already lives in separate arrays.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:49 +01:00
Benjamin Cabé
aa529b3d32 drivers: input: gpio_kbd_matrix: Hoist the changed-column mask
The changed-column mask is loop invariant, so compute it once before the
drive loop instead of reloading last_col_state through the escaped data
pointer on every iteration.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:35 +01:00
Benjamin Cabé
e7f46a04d4 drivers: input: gpio_qdec: Cache the idle polling mode
gpio_qdec_idle_polling_mode() only depends on the static const config,
so evaluate it once and reuse the result for the LED enable and disable
branches.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:22 +01:00
Benjamin Cabé
f9ccfc8e70 drivers: input: analog_axis: Cache the axis count in the log loop
analog_axis_num_axes() is defined in another translation unit and cannot
be inlined here, so cache its result in a local instead of calling it on
every loop iteration, matching the save and load helpers.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:13:09 +01:00
Benjamin Cabé
cd2fb185ac drivers: ethernet: sy1xx_mac: Use memcpy for TX linearize
Replace the byte-at-a-time per-fragment linearization loop with memcpy
and an equivalent up-front bounds check.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:58 +01:00
Benjamin Cabé
055c4bb8c0 drivers: ethernet: sy1xx_mac: Use memcpy for TX DMA copy
Replace the byte-at-a-time copy into the TX DMA buffer with memcpy.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:58 +01:00
Benjamin Cabé
5bfb26c0b1 drivers: ethernet: numaker: Cache last-descriptor check
Call synopGMAC_is_last_tx_desc() once and reuse the result instead of
evaluating it twice with identical arguments.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:48 +01:00
Benjamin Cabé
1f9200b6aa drivers: ethernet: wch: Snapshot RX descriptor status
Read the volatile RX descriptor status word once per frame and reuse
it. After OWN reads clear, the descriptor is CPU-owned and stable.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:34 +01:00
Benjamin Cabé
0c1f3e3133 drivers: ethernet: adin2111: Zero only the TX buffer pad
The whole SPI burst buffer was cleared even though the header and
payload are written unconditionally afterwards. Zero only the trailing
pad.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:22 +01:00
Benjamin Cabé
45a4e5b224 drivers: ethernet: adin2111: Hoist loop-invariant OA RX header
The OA data chunk header is constant across chunks. Compute it once
before the loop instead of on every iteration; the transmitted bytes
are unchanged.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:22 +01:00
Benjamin Cabé
d34c1c7295 drivers: ethernet: oa_tc6: Hoist loop-invariant RX header
The RX chunk request header is constant across chunks. Compute it once
before the receive loop; the SPI traffic is unchanged.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:12 +01:00
Benjamin Cabé
29d8ba7f01 drivers: ethernet: mchp_gmac_g1: Collapse RX descriptor writes
Replace the three read-modify-write operations on the RX descriptor
address word with one read and write producing the same value.

Assisted-by: Claude:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 14:12:01 +01:00
Jordan Yates
3d1412770a wifi: hwsim: ensure non-NULL memcpy arg
Fix SonarQube issue, possible `NULL` parameter passed to `memcpy`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-07-22 11:13:55 +01:00
Jordan Yates
a49098d26c dma: emul: use typedef instead of #define
Fix SonarQube issue (rule c:S5825).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-07-22 11:13:55 +01:00
Benjamin Cabé
1f21d40299 drivers: dma: mcux_lpc: Fix channel bounds check in get_status
get_status() indexed the channel table before validating the
channel and accepted a channel equal to the channel count, reading
one past the array. Validate first with an exclusive bound like
the other entry points.

Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 11:13:44 +01:00
Benjamin Cabé
66be6204a7 drivers: dma: esp32_gdma: Check RX configuration result
In the memory-to-memory path the RX configuration result was
immediately overwritten by the TX call, so a failed RX descriptor
setup was reported as success.

Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 11:13:37 +01:00
Benjamin Cabé
f380eff583 drivers: dma: stm32u5: Fix priority bounds check
A priority equal to the table size passed the check and read one
entry past the priority table.

Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 11:13:34 +01:00
Benjamin Cabé
5813cac8cf drivers: i2s: stm32: Fix inverted busy check on non-H7 parts
ll_i2s_dma_busy() returned true when the transmitter was idle (TX
empty and not busy), the opposite of its name, its H7 branch and
what both callers expect. A STOP or DRAIN issued mid-transfer
disabled the stream immediately, while one issued when idle parked
the stream in STOPPING forever. Return the negated expression.

Assisted-by: Claude:fable-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-07-22 11:13:19 +01:00