Commit graph

25,525 commits

Author SHA1 Message Date
Ledion Daja
4c25482ef6 modules: hal_ethos_u: update module revision
Updated revision for hal_ethos_u module, and adapted
ethosu_semaphore_take function prototype accordingly in order to align
with changes in the NPU driver

Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2024-03-21 09:07:35 +01:00
Declan Snyder
d3e2052a69 drivers: clock_control: Support RW MRT
Support RW MRT in clock control syscon driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-21 09:06:48 +01:00
TOKITA Hiroshi
7b61d1c43c drivers: led_strip: Enabling config with DT_HAS_..
Applying the modern way which is adding `default y` and
`depends on DT_HAS_...` to enable configs.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-03-20 17:20:08 -05:00
TOKITA Hiroshi
7d99de6dfa drivers: led_strip: ws2812: Remove WS2812_STRIP and WS2812_STRIP_DRIVER
Removing `choice WS2812_STRIP_DRIVER` to enable the use of multiple
types of WS2812 drivers.
Also, `menuconfig WS2812_STRIP` will be deleted as it does not
correspond to the appropriate settings.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-03-20 17:20:08 -05:00
Johan Carlsson
94351ce2ad drivers: uart_mcux_flexcomm: fix invalid use of status bits.
uart flexcomm driver incorrectly used kStatus enum as mask when
checking for errors and enabling the error interrupts.

Signed-off-by: Johan Carlsson <johan.carlsson@teenage.engineering>
2024-03-20 17:18:48 -05:00
Daniel DeGrasse
adfe4b8359 drivers: clock_control: clock_control_mcux_syscon: allow FlexSPI reclock
Enable support for setting and querying the FlexSPI clock rate to the
clock_control_mcux_syscon driver, as this is required by the
flash_flexspi_nor_driver

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-20 19:08:06 +00:00
Declan Snyder
e336c644be drivers: wdt_mcux_wwdt: Support RW
Support RW soc series in wwdt driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-20 16:19:12 +00:00
Alberto Escolar Piedras
46193f48f6 drivers/sensor/bma4xx/Kconfig: Change native_posix reference to native_sim
As we are replacing native_posix with native_sim, let's
use native_sim instead of native_posix as example platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-20 15:43:05 +01:00
Alberto Escolar Piedras
11530015ad drivers/gpio emul: Fix reference to example overlay
That file does not exist anymore, let's refer
to its new name.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-20 15:43:05 +01:00
Mykola Kvach
ff35a247f1 drivers: pinctrl: pfc_rcar: add dummy IPSR flag to pinctrl driver
Add a dummy IPSR flag to the RCar PFC driver. It is necessary
to ensure that the driver sets the 'peripheral' bit (the driver
resets this bit during the first call of 'pfc_rcar_set_gpsr') for
a pin that doesn't have a pin function defined in IPSR, but always
acts as a 'peripheral', for example, the MMC pins on the Spider
board.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-03-20 15:42:45 +01:00
Pieter De Gendt
2ee4716091 drivers: ethernet: Build ethernet drivers with ETH_DRIVER_RAW_MODE
Allow building ethernet drivers without NET_L2_ETHERNET config symbol.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-20 08:05:55 -05:00
Pieter De Gendt
e99b5228a1 drivers: ethernet: Introduce ETH_DRIVER_RAW_MODE option
Add a Kconfig symbol to allow building ethernet device driver without
an L2 layer.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-20 08:05:55 -05:00
Pieter De Gendt
78457c0499 drivers: ethernet: adin2111: Use ethernet init macro
Use the ethernet specific init macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-20 08:05:55 -05:00
Pieter De Gendt
e1b132771e drivers: ethernet: nxp_s32_gmac: Imply MDIO
The ethernet driver will most likely require the MDIO device to be
enabled.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-20 08:05:55 -05:00
Benedikt Schmidt
04f38ffba2 drivers: sensor: add sensors for MAX31790
Add sensors for fan speed and fan fault for the PWM
controller MAX31790.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-20 07:38:18 -05:00
Benedikt Schmidt
961c985ee4 drivers: pwm: split up driver for MAX31790 into a MFD
Split up the driver for the PWM controller MAX31790
into a multi function device driver.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-03-20 07:38:18 -05:00
Fabio Baltieri
c82b38c7be input: pmw3610: run the whole init with spi clock on
Move the pmw3610_spi_clk_on and pmw3610_spi_clk_off calls so that the
"on" call is before the first write. The datasheet calls for doing this
before any write operations, though some writes seems to work without
this in place, other seems to behave erroneously.

The non static functions do it on their own as they can be called
separately.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-20 09:02:50 +01:00
Fabio Baltieri
2c5b992209 input: pmw3610: add few config options
Add config options for resolution, force awake and smart mode.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-20 09:02:50 +01:00
Sebastian Głąb
7ffafd9b64 drivers: watchdog: wdt_nrfx.c: Fix error code value
Align driver implementation to the watchdog driver API.
https://docs.zephyrproject.org/latest/hardware/peripherals/watchdog.html

int wdt_disable(const struct device *dev)
shall return:
    0 – If successful.
    -EFAULT – If watchdog instance is not enabled.
    -EPERM – If watchdog can not be disabled directly by application code.
    -errno – In case of any other failure.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-03-19 18:00:24 -05:00
Daniel DeGrasse
81ec61c085 drivers: clock_control: clock_control_mcux_syscon: make clock IDs unique
Syscon clock driver previously used a sequence where clock IDs increased
sequentially. This had a few disadvantages:
- if a new SOC was introduced with more instances of a given IP, the
  clock ID could not be sequential with the remaining IDs
- chance of collisions between clock IDs was relatively high

To resolve this, define LPC clock IDs using a bitmask macro. Note that
the CTIMER clock IDs are used within SOC clock files to perform clock
init, and the macro requires that the clock ID expand to an integer
rather than a expression with bitshifts (hence why the macro is not used
for these IDs)

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-19 18:43:58 +00:00
Guennadi Liakhovetski
315ee38b95 ADSP: don't use timer interrupts on secondary cores
When running SOF on Intel ADSP we choose to only serve the timer
interrupt on the primary core.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-03-19 14:30:47 +01:00
Laurentiu Mihalcea
0ff402657b nxp: sai: add support for passing TX/RX data line through DTS
Some SAI instances are mutliline, meaning they can have multiple
TX/RX data lines (channels). Depending on the board, the index
of the TX/RX data lines that are connected to the consumer
(e.g: the codec) may not always be 0. This commit fixes this
issue by adding support for passing the index of the used
TX/RX data lines through the DTS.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-19 14:30:32 +01:00
Henrik Brix Andersen
b39f542537 drivers: can: loopback: remove info log at driver initialization
Remove the LOG_INF() at driver initialization.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-19 14:30:15 +01:00
Tim Lin
9d9d1ff380 ITE: drivers/i2c/target: Remove hardware reset setting
In the interrupt pending routine, only the interrupt status needs to be
cleared at the end of the interrupt routine. There is no need to do a
hardware reset(HALT) to avoid clearing the next transfer interrupt when
the current transfer is completed.

Test: Testing this function does not cause I2C data/clk to get stuck on
the system platform.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-03-19 07:56:19 -04:00
Henrik Brix Andersen
91751f4fc2 drivers: can: fake: use CiA recommeded configurations ranges
Use the CAN clock and configuration ranges recommended by CAN in Automation
(CiA). Adjust the CAN shell test, which makes use of the fake CAN
controller driver, to match the new timing limits.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-19 09:47:24 +01:00
Henrik Brix Andersen
7a1ec980e0 drivers: can: loopback: use CiA recommeded configurations ranges
Use the CAN clock and configuration ranges recommended by CAN in Automation
(CiA).

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-19 09:47:24 +01:00
Andrzej Głąbek
e977a8d623 drivers: pinctrl_nrf: Set clockpin bitfield when necessary
For certain peripheral signal lines in nRF54H20, it is required
to set the clockpin bitfield for pins assigned to them, otherwise
the peripheral may not work properly, for example, there will be
no output from UART.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-03-18 19:11:36 +00:00
Tom Chang
0e4b5de6ca drivers: espi: npcx: workaround Global Reset issue
Apply the workaround for the issue "eSPI global reset" in the
NPCX49nF_Errata

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2024-03-18 19:11:29 +00:00
Daniel DeGrasse
f378fd0282 drivers: dma: dma_mcux_lpc: add workaround for RW61x flexspi
RW61x DMA has the *unique* restriction that DMA access is not routed
through the FlexSPI cache engine, only via the non-cached address space.
To enable DMA to read from the FlexSPI AHB space directly, fixup any
address passed to the DMA engine that is in the FlexSPI AHB cached
region to be in the non cached region

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-18 18:57:03 +01:00
Pieter De Gendt
76cd676050 drivers: ethernet: eth_nxp_s32: Implement HW MAC address filtering
Replace the multicast monitor with a HW MAC filter configuration.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
f900bfc3de drivers: ethernet: eth_stm32: Rework HW MAC address filtering
Rework the driver to use HW MAC address filtering as an ethernet
capability.
Use a counter table for CRC indexes added/removed.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
28e10630c2 drivers: ethernet: eth_enet: Implement HW MAC address filtering
Replace the multicast monitor with a HW MAC filter configuration.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
a3f74ac50e drivers: ethernet: eth_nxp_s32_gmac: Fix multicast filter
Update multicast filter with HW filtering and fix missing CONFIG_ prefix.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
d052822d5d drivers: ethernet: eth_mcux: Implement HW MAC address filtering
Replace the multicast monitor with a HW MAC filter configuration.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Grzegorz Swiderski
a55f67d284 drivers: misc: nordic_vpr_launcher: Update src/exec memory size check
Firstly, build-asserting the execution/source memory sizes to be equal
wasn't working, due to the wrong (non-inst) DT API being used.

Secondly, this assert can be relaxed so that the source memory region
only needs to have greater than or equal size to the execution region,
as VPR firmware needs to fit into execution memory first and foremost.
This will come in handy, since MRAM partitions (typical source memory)
have stricter alignment requirements than RAM regions.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-18 10:13:11 +01:00
Daniel DeGrasse
8347abd001 drivers: counter: counter_nxp_mrt: include soc.h for MRT CMSIS defines
Include soc.h in nxp MRT driver, so that CMSIS register definitions will
be available in this file

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-15 17:12:08 -04:00
Ren Chen
765a4eb0b8 drivers: timer: it8xxx2: enhances the accuracy of hw cycle calculation
This commit enhances the accuracy of hardware cycle calculation before
setting the IT8xxx2 event timer. The next target cycle is calculated by
the last, elapsed, and expected timeout ticks. And then, the difference
in hardware cycles between the target cycle and the current cycle is set
into the event timer. This increased accuracy effectively resolves the
clock drift issue.

Tested with:
west build -p always -b it8xxx2_evb tests/kernel/timer/timer_api
     -T kernel.timer.tickless
west build -p always -b it8xxx2_evb tests/kernel/timer/timer_behavior
     -T kernel.timer.timer

Fixes #67474 #67833

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2024-03-15 17:11:33 -04:00
Samy Francelet
4163ea0207 drivers: eswifi: Add option for maximum data size
Default MAX_DATA_SIZE might be too small depending
on application (e.g. handling the scan result with 12 APs detected)
Added config option for MAX_DATA_SIZE and warning for the user

Signed-off-by: Samy Francelet <samy.francelet@ik.me>
2024-03-15 15:16:27 -05:00
Jeppe Odgaard
20f747bb63 drivers: sensor: qdec_stm32: fix inverted polarity
Use the Polarity member instead of the ActivityInput.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-03-15 17:43:51 +01:00
Michele Sardo
aa58fb0f0a drivers: bluetooth: hci: Enable SPI_LOCK_ON mode
Use SPI_LOCK_ON to lock configuration for multiple transaction while CS is
kept low.

Change control of CS line from direct GPIO manipulation to SPI driver API.

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2024-03-15 15:50:03 +02:00
Michele Sardo
ca4ff1e6fe drivers: spi: keep SPI enabled if SPI_HOLD_ON_CS is used
Keep the SPI enabled when performing multiple transaction with
SPI_HOLD_ON_CS.
In such case, the end of transaction is marked by application calling
spi_release.

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2024-03-15 15:50:03 +02:00
Vidar Berg
ceff785434 drivers: bluetooth: hci: Apply workaround for HW anomaly on nRF53
Use the nrf_reset_network_force_off() function to release and set the
force-off signal.This ensures that the workaround for errata 161 is
applied.

Signed-off-by: Vidar Berg <vidar.berg@nordicsemi.no>
2024-03-15 14:32:01 +01:00
YunZe Li
8c19142278 drivers: watchdog: fix wdt_counter_setup option checking condition
The expression (options & WDT_OPT_PAUSE_IN_SLEEP) is duplicated. Fix it
by replacing the second one with (options &WDT_OPT_PAUSE_HALTED_BY_DBG).

Signed-off-by: YunZe Li <yzli.cs@realtek.com>
2024-03-15 13:06:51 +01:00
Steven Chang
b231905e38 drivers: i2c: initial device driver for ENE KB1200
Add i2c driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
5c354ca055 drivers: watchdog: initial device driver for ENE KB1200
Add watchdog driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
1b028ca2ce drivers: tach: initial device driver for ENE KB1200
Add tachmeter driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
1147c39fe9 drivers: pwm: initial device driver for ENE KB1200
Add pwm driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
7d12798a22 drivers: adc: initial device driver for ENE KB1200
Add adc driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
9f22c8951b drivers: uart: initial device driver for ENE KB1200
Add uart driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00
Steven Chang
62245b3ba9 drivers: gpio: initial device driver for ENE KB1200
Add GPIO driver for ENE KB1200

Signed-off-by: Steven Chang <steven@ene.com.tw>
2024-03-15 09:39:48 +00:00