Commit graph

126,787 commits

Author SHA1 Message Date
Benjamin Bigler
7609ceadc4 drivers: adc: tla2021: rename everything from tla2021 to tla202x
Rename everything from tla2021 to tla202x (except dtcompatible)
in preparation to add support for tla2022 and tla2024

Signed-off-by: Benjamin Bigler <benjamin.bigler@securiton.ch>
2024-12-18 08:33:49 +01:00
Benjamin Bigler
25c210e8eb drivers: adc: tla2021: sleep until sampling is done
Sleep until sampling is done instead of polling. This avoids
blocking of other threads.

Signed-off-by: Benjamin Bigler <benjamin.bigler@securiton.ch>
2024-12-18 08:33:49 +01:00
Nathan Olff
6b03380778 tests: drivers: adc: adc_emul: write test for raw func set
write test for raw value func set function

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-12-18 08:33:26 +01:00
Nathan Olff
42e7095d1e drivers: adc: adc_emul: implement raw func set function in adc_emul
allow setting a function as generator of raw adc values in adc_emul

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-12-18 08:33:26 +01:00
Nathan Olff
3f55e21691 tests: drivers: adc: adc_emul: add test for const raw value function
write test for raw const adc emul function

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-12-18 08:33:26 +01:00
Nathan Olff
d793b86a82 drivers: adc: adc_emul: write function to set const raw value
implement storage and retrieval of raw value in adc_emul

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2024-12-18 08:33:26 +01:00
James Roy
ab959d5a3b scripts: dts: Use better string concatenation
Replace string concatenation operator with f-string.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2024-12-18 08:33:13 +01:00
Xavier Ruppen
06b7dc81a5 drivers: ethernet: enc28j60: disable/enable interrupts to avoid races
Currently, there is a small race window where we can miss an interrupt.
Right after we're done reading the RX buffer but just before decrementing
the RX counter to zero, the ENC28J60 may receive a packet. The chip will
raise an interrupt, but the line is still asserted. That means that the
callback will not be invoked since it is edge-triggered.

To avoid that, disable interrupts on the chip itself before processing
the RX buffer.

In fact, the ENC28J60 datasheet specifically says:

	"After an interrupt occurs, the host controller should
	clear the global enable bit for the interrupt pin before
	servicing the interrupt. Clearing the enable bit will
	cause the interrupt pin to return to the non-asserted
	state (high). Doing so will prevent the host controller
	from missing a falling edge should another interrupt
	occur while the immediate interrupt is being serviced.
	After the interrupt has been serviced, the global enable
	bit may be restored. If an interrupt event occurred while
	the previous interrupt was being processed, the act of
	resetting the global enable bit will cause a new falling
	edge on the interrupt pin to occur."

This is also what is being done in the Linux driver [1].

[1] https://elixir.bootlin.com/linux/v6.11.2/source/drivers/net/ethernet/microchip/enc28j60.c#L1126

Signed-off-by: Xavier Ruppen <xruppen@gmail.com>
2024-12-18 08:32:49 +01:00
Xavier Ruppen
7d95cc4ce3 drivers: ethernet: eth_enc28j60: do not check PKTIF on interrupt
The enc28j60 errata sheet says:

	"The Receive Packet Pending Interrupt Flag
	(EIR.PKTIF) does not reliably/accurately report
	the status of pending packets."

	"In the Interrupt Service Routine, if it is unknown if
	a packet is pending and the source of the interrupt
	is unknown, switch to Bank 1 and check the value
	in EPKTCNT.
	If polling to see if a packet is pending, check the
	value in EPKTCNT."

A workaround has already been implemented inside of eth_enc28j60_rx().
But checking PKTIF before calling eth_enc28j60_rx() completely defeats
the purpose of the workaround. Do not check it.

Moreover, clearing ENC28J60_BIT_EIR_PKTIF is useless since it is
automatically cleared once all packets are read. So remove that check
and clarify comment.

Also please refer to the Linux driver [1].

[1] https://elixir.bootlin.com/linux/v6.11.2/source/drivers/net/ethernet/microchip/enc28j60.c#L1090

Signed-off-by: Xavier Ruppen <xruppen@gmail.com>
2024-12-18 08:32:49 +01:00
Robin-Charles Guihéneuf
3a2ac9aa64 drivers: i2c: Fix SMBus build with stm32f4 family chip
The build condition was only dealing with the new line of SoC.

Signed-off-by: Robin-Charles Guihéneuf <robin-charles@hotmail.fr>
2024-12-18 08:32:32 +01:00
Mikhail Siomin
36bbd67653 drivers: gpio_pca95xx: add pins initialization to default state
After a non-power reset (wdt) pins may remain in non-default state.
To ensure that a system initialization is the same after any reset,
it is necessary to initialize pins to the default state.

Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
2024-12-18 08:32:15 +01:00
Neil Chen
417868665b boards: nxp: frdm_mcxa156: Support ctimer for NXP frdm_mcxa156 board
Support ctimer for NXP frdm_mcxa156 board.
Test using tests/drivers/counter/counter_basic_api.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-18 08:32:03 +01:00
Neil Chen
a12bfa6c09 dts: arm/nxp: Add ctimer nodes to NXP MCXA156 dtsi file
Add ctimer nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-18 08:32:03 +01:00
Jiafei Pan
3e09f72bfd dts: mimx8mp: add gpio device node
Add GPIO dts nodes for imx8mp.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-12-18 08:31:52 +01:00
Jiafei Pan
3fc6cae69c soc: imx8mm/n/p: enable CONFIG_HAS_MCUX_IGPIO for A-Core
Enable CONFIG_HAS_MCUX_IGPIO because device driver CONFIG_GPIO_MCUX_IGPIO
depends on it, so that the driver can be enabled by dts nodes.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-12-18 08:31:52 +01:00
Jiafei Pan
55f0b87143 drivers: gpio: mcux_igpio: add MMIO mapping support
Map MMIO memory by using DEVICE_MMIO_NAMED_x() APIs.

And some platforms has no soc.h, so use __has_include to check it
firstly.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-12-18 08:31:52 +01:00
Jordan Yates
06c29b1b61 i2c: nrfx_twim: mark as PM_DEVICE_ISR_SAFE
Mark the I2C instances as `PM_DEVICE_ISR_SAFE`, as the transition
operations are short, it saves RAM resources, and the spin-locking fixes
the non-atomic behaviour of the PM usage counter.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-18 08:31:30 +01:00
Anthony Williams
4272353e29 Tracing: Fix extra function calls when using FIFO tracing macros.
Fixes issue where function returns being used as data arguments to
k_fifo tracing macros were being called mulitple times due to
preprocessor copying  macro arguments during expansion.

Signed-off-by: Anthony Williams <anthony289478@gmail.com>
2024-12-18 03:05:13 +01:00
Wei-Tai Lee
913fddb80e drivers: cache: andes: Decouple cache line size calculation
Eliminate the dependency on specific configuration options
for calculating the cache line size.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-12-18 03:04:57 +01:00
Wei-Tai Lee
c351a0e044 drivers: cache: andes: Fix incorrect DT_PROP usage
Remove redundant quotation marks when parsing
cache line size from DTS properties.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-12-18 03:04:57 +01:00
Wei-Tai Lee
b3d3c0f702 driver: cache: andes: Support enable/disable on CPUs lacking CCTL CSRs
For CPUs without CCTL CSRs, return ENOTSUP in cache operations.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-12-18 03:04:57 +01:00
Wei-Tai Lee
5cf6137b38 drivers: cache: andes: Dynamically calculate L2 cache parameters
Enhance the driver to calculate the L2 cache line size and number
of ways at runtime. The L2 cache line size is assumed to match
the L1 cache line size, while the number of ways is determined
based on the total L2 cache size.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-12-18 03:04:57 +01:00
Stoyan Bogdanov
92aeb787c7 drivers: gpio: max22190: Add MAX22190 octal input with diagnostics
Add max22190 gpio driver with input functionality, since device
support only input without output.

Implemented diagnostic functionality for all 8 channels
which include various check to over/under voltage and wire break.
Filtering configuration is done from devicetree on per channel
bases and is configured on chip start.

In case some fault condition occure FAULT pin drive LOW which
prop to FAULT registers to be read. Data is stored in data structure
for furter analizes and ERR message is printed in console.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2024-12-18 03:04:46 +01:00
Aurelie Fontaine
e12b23d3de tests: sensor: update sensor compatible icm42670p
Update i2c and spi dtsi test to comply with new compatible icm42670p.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Aurelie Fontaine
26e2e1d1e1 samples: sensor: TDK APEX generic sample
It reports Advanced Pedometer and Event Detection features,
such as Pedometer, Tilt detection, Wake on Motion and
Significant Motion Detector. Device tree options.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Aurelie Fontaine
0b9b2fbb5e samples: sensor: 6DOF motion DRDY generic sample
It reports IMU 6-axis accelerometer and gyroscope data
using DRDY interrupt.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Aurelie Fontaine
78c62d495f dts: bindings: sensor: Add invensense icm42670 properties
Add the power mode, accel and gyro filtering options,
 and apex features. Add -p and -s compatible.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Aurelie Fontaine
8a0469dc4f drivers: sensor: icm42670: supports icm42670-P/-S
Prepare to use official TDK Invensense Inc. driver for icm42670-P/-S
sensor in tdk_hal module. Simplify I2C and SPI transport files.
Driver code moves in hal_tdk module.
Adds APEX features, such as Pedometer, Tilt detection, Wake on Motion
and Significant Motion Detector.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Aurelie Fontaine
98dc480603 module: hal_tdk module
https://github.com/tdk-invn-oss/zephyr.hal_tdk

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
Hiago De Franco
87b08cc5bb boards: toradex: add toradex verdin imx8mm board
Add Toradex Verdin iMX8M Mini board based on NXP MIMX8MM EVK using the
i.MX8MM SoC. This code is intented to be used with the Cortex-M4.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-12-18 01:02:02 +01:00
Lucien Zhao
96c15bac71 samples: sensor: thermometer: add shield description
add mimxrt1180-evk board support description
add shield parameter description for RT1180 board by i3c/i2c ways

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
0ba7837da6 boards: nxp: mimxrt1180_evk: add i3c2/lpi2c support for p3t1755dp_ard
add the i3c2 pin setting
set i3c2 instance as ok status
add p3t1755dp_ard_i3c_interface/p3t1755dp_ard_i2c_interface node label

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
c0b21f4a30 drivers: sensor: nxp: add code judge whether read back correctly
find a sensor driver bug don't judge the data whether read back
correctly, deal with buffer data directly.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
a831f7df6d drivers: clock_control: add i3c clock for clock_control_mcux_ccm_rev2.c
add i3c case to get i3c instance clock

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
08b8b160a9 dts: arm: nxp: add two i3c instances for RT1180
add i3c instances
enable i3c clock under soc folder

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
43ef363652 boards: shields: Add shield for P3T1755DP-ARD-I3C modules
Add a shield for P3T1755DP-ARD-I3C modules.
Support the shield on MIMXRT1180-EVK board by I3C way.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Lucien Zhao
ed1666e16f boards: shields: Add shield for P3T1755DP-ARD-I2C modules
Add a shield for P3T1755DP-ARD-I2C modules.
Support the shield on MIMXRT1180-EVK board by I2C way.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Immo Birnbaum
63b65299df drivers: ethernet: xlnx_gem: enable querying of HW checksum support
Add a get_config function for this driver as specified in the
Ethernet subsystem API. The implementation supports querying
the hardware checksum generation capabilities of the specified
GEM device instance. This prevents the transmission of packages
without a valid checksum for protocols such as ICMP, as the
hardware only supports IPv4/IPv6 TCP and UDP checksum generation.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2024-12-18 01:01:22 +01:00
Gerson Fernando Budke
01fc0a750a dts: atmel: samr21: Use samd21 as base
The samr21 is a samd21 with a builtin at86rf233 radio. Use the samd21 as
base for these SoC and drop all duplicated nodes.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Gerson Fernando Budke
34fc01e008 dts: atmel: saml2x: Define USB node
The saml2x series provide USB to all SoC series. This moves the USB node
from saml21.dtsi to the base file saml2x.dtsi.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Gerson Fernando Budke
2e7599eac6 dts: atmel: saml21: Exclude DMA node
The DMA is already defined on the base header. This exclude the
duplicated node.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Gerson Fernando Budke
748bbd012b dts: atmel: sam0: Fix aliases and chosen nodes
Reorder and add missing aliases and chosen nodes.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Gerson Fernando Budke
162f728787 dts: atmel: sam0: Explicity disable nodes
When running tests on sam0 platform was detected that pinctrl for ADC
were not defined for some boards. To force an error at build time
nodes should be explicity disabled. This explicity disable nodes on
devicetree that require some user configuration.

In addition, the adc feature were excluded in some boards and
samr21-xpro was correct updated.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Gerson Fernando Budke
6f1f598a72 dts: atmel: sam0: Normalize dtsi nodes
Keep a consistent order on the nodes definitions to make it easy to read
between all the SoC series.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2024-12-18 01:01:09 +01:00
Piotr Pryga
233095c3f4 drivers: clock_control: nrf: hfxo: Remove redundad code
There were redundant code in full_irq_lock(), full_irq_unlock()
functions that supposed to be used when ZLI IRQs are disabled.
These functions are compiled in only when CONFIG_ZERO_LATENCY_IRQS
is set, hence the non-ZLI execution path was never included
in final binaries.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-12-18 01:00:56 +01:00
Yanir Levin
d1f8e1f823 include: sys: util: Fix LOG2CEIL macro
LOG2CEIL(1) results in undefined behaviour,
as LOG2CEIL(1) expands to __builtin_clz(0),
which is undefined according to GCC docs.

Signed-off-by: Yanir Levin <yanir10@gmail.com>
2024-12-18 01:00:45 +01:00
Yishai Jaffe
3d68d0543e boards: silabs: radio_boards: fix board.yml format
Fixed board.yml format for the silabs radio_boards and added the silabs
vendor line.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2024-12-18 01:00:18 +01:00
Mario Paja
9dde4b97c0 drivers: ethernet: lan9250: implement set_config
Implements set_config api to set mac address

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2024-12-18 01:00:00 +01:00
Mathieu Choplain
4dc8acc6d1 scripts: west: runners: stm32cubeprogrammer: add start address argument
Add new '--start-address' argument to the STM32CubeProgrammer west runner.
This argument can be used to specify an address from which the MCU should
start executing, instead of relying on the default value in CubeProgrammer.

Also update STM32CubeProgrammer runner tests to support new argument.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-12-17 23:15:13 +01:00
Marcin Niestroj
18257843b7 boards: nordic: nrf5340dk: add arduino_* supported tags
This allows to build samples by twister which depend on 'arduino_gpio',
'arduino_i2c', 'arduino_serial' and 'arduino_spi'.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-12-17 23:14:59 +01:00