Commit graph

24538 commits

Author SHA1 Message Date
Pieter De Gendt
454cc58246 drivers: dac: Place API into iterable section
Add wrapper DEVICE_API macro to all dac_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 22:05:33 +00:00
McAtee Maxwell
3024392d35 SOC: Remove config PINCTRL from xmc4xxx soc
- Move selection of CONFIG_PINCTRL from soc to individual
	  drivers
	- in accordance with issue #78619

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2024-12-02 22:05:16 +00:00
Jilay Pandya
9bca4921e4 drivers: w1: place api in iterable sections
this commit places w1 driver class in iterable sections

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-12-02 23:04:59 +01:00
Pieter De Gendt
e16dece057 drivers: sensor: shell: Check sensor API type
Update sensor shell commands to filter and verify the device's API type.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 22:04:55 +00:00
Pieter De Gendt
a553af738d drivers: sensor: Place API into iterable section
Add wrapper DEVICE_API macro to all sensor_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 22:04:55 +00:00
Pieter De Gendt
345f7f1155 drivers: watchdog: Place API into iterable section
Add wrapper DEVICE_API macro to all wdt_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 23:04:34 +01:00
Pieter De Gendt
d76d7115d5 drivers: ptp_clock: Place API into iterable section
Add wrapper DEVICE_API macro to all ptp_clock_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 23:04:22 +01:00
Pieter De Gendt
47ed71ad1d drivers: video: Place API into iterable section
Add wrapper DEVICE_API macro to all video_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 23:04:22 +01:00
Pieter De Gendt
c4fbec2377 drivers: sdhc: Place API into iterable section
Add wrapper DEVICE_API macro to all sdhc_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 23:04:22 +01:00
Pieter De Gendt
b54f97edfb drivers: retained_mem: Place API in iterable section
Add wrapper DEVICE_API macro to all retained_mem_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 23:04:22 +01:00
Pieter De Gendt
2376310fcb drivers: mdio: Place API into iterable section
Add wrapper DEVICE_API macro to all mdio_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 18:20:47 +01:00
Jeff Welder
712dff57d8 drivers: sensor: lsm6dsv16x: fix temperature overflow
Fixed integer overflow by explicit casting

Signed-off-by: Jeff Welder <Jeff.Welder@ellenbytech.com>
2024-12-02 18:19:46 +01:00
Jilay Pandya
0fd662febc drivers: sensor: tsic_xx6: fix implicit sign extension
This commit explicitly type-casts data_bits to uint64_t
in order to fix implicit sign extension warning

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-12-02 18:19:35 +01:00
Adib Taraben
1f067843d5 eth_nxp_enet_qos: implement set_config
implements  the set_config api for the eth_nxp_enet_qos_mac driver
as in FRDM_MCXN947

Signed-off-by: Adib Taraben <theadib@gmail.com>
2024-12-02 18:19:13 +01:00
Pieter De Gendt
b92ad8ae05 drivers: modem: cellular: Place API into iterable section
Add wrapper DEVICE_API macro to all cellular_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 18:19:02 +01:00
Pieter De Gendt
93bb8a0a1a drivers: charger: Place API into iterable section
Add wrapper DEVICE_API macro to all charger_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 18:18:51 +01:00
Rafał Kuźnia
ec1f662dc9 drivers: serial: nrfx_uarte: Fix endtx-stoptx property check
The UART_xyz_ENHANCED_POLL_OUT Kconfig was using an outdated property
for checking whether the peripheral has the endtx->stoptx short. The
property is now updated.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-02 18:18:39 +01:00
Pieter De Gendt
9518dbf3e0 drivers: lora: Place API into iterable section
Add wrapper DEVICE_API macro to all lora_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 18:18:08 +01:00
Pieter De Gendt
75b35adac0 drivers: clock_control: nrf: Place API into iterable section
Add wrapper DEVICE_API macro to all nrf_clock_control_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 18:17:58 +01:00
Michał Stasiak
d04b3e0323 drivers: pwm: nrfx: add pin retention
Add pin retenion if GPD is enabled for nRF54H20.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2024-12-02 14:25:09 +01:00
Michał Stasiak
085a4fa92e drivers: pwm: nrfx: adjust PWM driver to fast PWM120
Fast PWM120 instance works with 320MHz clock, thus
pwm_nrfx_get_cycles_per_sec needs to be adjusted,
applying correct clock frequency.
Also, it uses cachable RAM, thus sys_cache function
needs to be added to flush the cached sequence.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2024-12-02 14:25:09 +01:00
Francois Ramu
278d8e298d drivers: watchdog: stm32 wwdg enable Early WKUP int with pclk
Enable the early WakeUp Interrupt at init, once the WWDG instance
is correclty cloked. Else deadlock can occur.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-02 14:24:51 +01:00
Pieter De Gendt
3e3b3d176d drivers: can: Check CAN device API in shell commands
Update CAN shell commands to filter and verify the device's API type.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 14:24:39 +01:00
Pieter De Gendt
80440b1664 drivers: can: Place API into iterable section
Add wrapper DEVICE_API macro to all can_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 14:24:39 +01:00
Pieter De Gendt
19c9d0894a drivers: can: transceiver: Place API into iterable section
Add wrapper DEVICE_API macro to all can_transceiver_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 14:24:28 +01:00
Pieter De Gendt
7feaf29e7c drivers: i2s: Place API into iterable section
Add wrapper DEVICE_API macro to all i2s_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 14:24:07 +01:00
Kapil Bhatt
302683ef7f wifi: nrf_wifi: Remove duplicate Kconfig option
Remove NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS Kconfig
which was defined twice with different values.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-12-02 11:14:46 +01:00
Pieter De Gendt
c1bccb156b drivers: hwspinlock: Place API into iterable section
Add wrapper DEVICE_API macro to all hwspinlock_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 11:14:21 +01:00
Haiyue Wang
6f26952828 drivers: display: stm32_ltdc: Use local device variable
Similar to `stm32_ltdc_display_blanking_off()`, use local device variable
instead of accessing the config's structure member again.

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
2024-12-02 06:09:38 +01:00
Pieter De Gendt
90ccb28fe9 drivers: entropy: Place API into iterable section
Add wrapper DEVICE_API macro to all entropy_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 06:08:59 +01:00
Maximilian Werner
66df541d6c drivers: pwm: mcux_tpm: allow configuring the clock prescaler
Allow configuring the clock prescaler divider for the NXP Kinetis
Timer/PWM Module (TPM). Setting the prescaler to a lower value
allows for higher resolution for the generated PWM waveforms.
This change is inspired from the pwm_mcux_ftm driver:

Link: https://github.com/zephyrproject-rtos/zephyr/pull/25396

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2024-12-02 01:33:59 +01:00
Stefan Schwendeler
baa49f6f32 drivers: led_strip: ws2812_i2s: code cleanup, runtime optimization
Runtime improvements
- bitstream calculation saves ~12% of runtime (Cortex M33)

Code cleanup
- unused include removed
- use of util macro

Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
2024-11-30 18:33:21 +01:00
Kai Vehmanen
c2f02533a6 drivers: dma: intel_adsp_hda: change L1_EXIT defaults
Enumerate explicitly on which SoC's DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
should be set by default. For new platforms in the ACE series, the
default should be disabled.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-11-30 09:36:29 +01:00
Tomasz Moń
a26d3c2f2e drivers: udc_dwc2: Workaround endpoint disable race condition
Endpoint disable function is racing against bus traffic. If the bus
traffic leads to transfer completion immediately before the endpoint
disable is executed, then the transfer complete interrupt will remain
set when the endpoint is disabled. For OUT endpoints this leads to "No
buffer for ep" errors, while for IN endpoint this can lead to double
buffer pull which causes assertion failure.

The proper solution would be to change endpoint disable to not actually
wait for the individual events (and accept that the endpoint may not
need to be disabled because the transfer can just finish). For the time
being workaround the issue by clearing XferCompl bit on endpoint
disable.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Tomasz Moń
edbb05368d drivers: udc_dwc2: Queue next packet on incomplete iso IN interrupt
When handling incomplete iso IN interrupt mark current transfer as
complete and program the endpoint with any subsequently queued packet.
Program the endpoint directly in interrupt handler because the data
must be programmed before SOF (by the time incomplete iso IN interrupt
is raised there is less than 20% * 125 us = 25 us before SOF).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Tomasz Moń
8b212d80fd drivers: udc_dwc2: Fix isochronous endpoint disable
The NAKSts bit may be set on isochronous OUT endpoints when incomplete
ISO OUT interrupt is raised. The code would then assume that endpoint is
already disabled and would not perform the endpoint disable procedure.
This in turn was essentially halting any transmission on the isochronous
endpoint, abruptly terminating the data stream.

Fix the issue by always following full endpoint disable procedure on
isochronous endpoints.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Pieter De Gendt
190e3b9fe1 drivers: ethphy: Place API into iterable section
Add wrapper DEVICE_API macro to all ethphy_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:49 +01:00
Pieter De Gendt
0c75641c98 drivers: fpga: Place API into iterable section
Add wrapper DEVICE_API macro to all fpga_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:37 +01:00
Pieter De Gendt
b51c8cbe5b drivers: gnss: Place API into iterable section
Add wrapper DEVICE_API macro to all gnss_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:26 +01:00
Flavio Ceolin
11aeddbbfa serial: uart_hostlink: Use __noinline macro
Use Zephy's toolchain definition instead of re-define here.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
2024-11-30 01:04:11 +01:00
Przemyslaw Bida
e0f94f8823 drivers: ieee802154: New API for modulated carrier wave transmission.
Added new API function to start modulated carrier wave transmission

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2024-11-29 21:46:46 +01:00
Pieter De Gendt
c25e31512c drivers: clock_control: Place API into iterable section
Add wrapper DEVICE_API macro to all clock_control_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 21:46:34 +01:00
Trung Hieu Le
ecd6c616f5 drivers: video: ov5640: Fix bug out-of-bound buffer read
Fix the out of bound buffer read by checking the lower-bound index
in the ov5640_enum_frmival function.

Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
2024-11-29 21:46:24 +01:00
Pieter De Gendt
401a8a29f4 drivers: counter: Place API into iterable section
Add wrapper DEVICE_API macro to all counter_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 21:46:15 +01:00
Alberto Escolar Piedras
fedda6d25c drivers serial nrfx: Apply workaround also for bsim targets
Or more precisely, do not remove the workaround for them.
The current HW models are accurate enough in this area for the
workaround to work properly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-11-29 15:30:11 +01:00
Pieter De Gendt
8442b6a83f drivers: adc: Place API into iterable section
Move all adc driver api structs into an iterable section, this allows us
to verify if an api pointer is located in compatible linker section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 14:50:40 +01:00
Pieter De Gendt
b6253be8e1 drivers: adc: adc_emul: const API structure
Do not update the ref_internal value in the API structure.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 14:50:40 +01:00
Pieter De Gendt
8ee7b429a3 drivers: auxdisplay: Place API into iterable section
Add wrapper DEVICE_API macro to all auxdisplay_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 14:50:02 +01:00
Pieter De Gendt
e9e64bab35 drivers: bluetooth: hci: Place API into iterable section
Add wrapper DEVICE_API macro to all bt_hci_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-29 14:49:53 +01:00
James Roy
5df9611dc9 drivers: sensor: st: Fix uninitialized variable in lsm6dsv16x
Fix uninitialized val variables scanned by Coverity.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2024-11-29 11:45:32 +01:00