Commit graph

23353 commits

Author SHA1 Message Date
Carles Cufi
e78832034f soc: nordic: Introduce the nRF54L05 and nRF54L10
These two new ICs are variants of the nRF54L15 with different memory
sizes:

- nRF54L05: 500KB RRAM, 96KB RAM
- nRF54L10: 1022KB RRAM, 192KB RAM
- nRF54L15: 1524KB RRAM, 256KB RAM

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-21 09:26:38 +01:00
Carles Cufi
e92323f0c4 manifest: hal_nordic: Update to nrfx 3.9.0
See https://github.com/zephyrproject-rtos/hal_nordic/pull/257.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-21 09:26:38 +01:00
Kai Vehmanen
58df2533bb drivers: dma: intel-adsp-hda: coding style fix
Align to coding style and use braces for all if blocks.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-11-21 09:21:04 +01:00
Kai Vehmanen
1bafbf4f1d drivers: dma: intel-adsp-hda: optimize L1 exit handling in ISR
Use the existing 'atomic' bitmask to speed up ISR processing for
CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT. This bitmask is used
to track enabled DMA channels.

In the common case, only a few DMA channels are active and low
channels are allocated first. Take advantage of this and not
iterate over all DMA channels of all all host devices. Rather
break out as soon as L1 exit handling is done for all enabled
channels.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-11-21 09:21:04 +01:00
Dhruv Menon
20678f9ad5 doc: i2c: Update I2C specification link
The prior link to the I2C specification was broken and no longer
accessible. Updated the link to a valid and current URL

Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
2024-11-21 09:17:50 +01:00
Lucien Zhao
6463dd610d drivers: clock_control:: Update ccm_rev2 clock driver for RT118X
flexspi_clock_set_freq can be applied for RT118X series.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-11-20 16:00:02 -05:00
Valerio Setti
516886be1b mbedtls: MBEDTLS_ENTROPY_POLL_ZEPHYR default on if MBEDTLS_ENTROPY_C
As long as MBEDTLS_ENTROPY_C is enabled, Mbed TLS needs to
poll some entropy source to gather data that will then be
processed by CTR/HMAC-DRBG modules. This means that in most
of the cases, once MBEDTLS_ENTROPY_C is enabled then also
MBEDTLS_ENTROPY_POLL_ZEPHYR needs to be enabled. This was
done manually until now, as the long list of samples/tests
demonstrate.

This commit solves this dependency by defaulting
MBEDTLS_ENTROPY_POLL_ZEPHYR to on as soon as
MBEDTLS_ENTROPY_C is set. As a consequence, all manual
enablement of MBEDTLS_ENTROPY_POLL_ZEPHYR in samples/tests
are removed.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-11-20 15:59:40 -05:00
Declan Snyder
9863dc9fd8 drivers: nxp_enet: Add get_config for ipv6 chksum
Previously, ipv6 being disabled was a dependency of the hw acceleration
of the checksums for the nxp enet driver, because this ethernet has an
errata causing icmpv6 checksum to not be supported. Now, there is a new
config type in ethernet api for checksum types, so we can re-enable
hardware acceleration for ipv6 by implementing this type in the
get_config api in this driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-11-20 15:58:47 -05:00
Yong Cong Sin
6843240196 drivers: intc: plic: use per-instance spinlock
Instead of doing an `irq_lock()`, use per-instance spinlock instead.

Refactored out an unlocked version of `local_irq_is_enabled`
from `riscv_plic_irq_is_enabled()` to achieve that.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-11-20 08:26:02 -05:00
Noemie Gillet
2253a26c10 drivers: nsos: support for AF_PACKET
Handle AF_PACKET family.

Signed-off-by: Noemie Gillet <ngillet@sequans.com>
2024-11-20 08:24:08 -05:00
Noemie Gillet
10bb61ee7d drivers: nsos: support for AF_UNIX
Handle AF_UNIX family sockets for NSOS offloaded driver
Note that the size of struct sockaddr_un is done conditionnaly based on
CONFIG_NET_NATIVE_OFFLOADED_SOCKETS
Also, NET_SOCKADDR_PTR_MAX_SIZE needs to be updated only if
CONFIG_NET_SOCKETS_PACKET is not set. Otherwise, for a AF_PACKET socket,
a struct net_context variable can be corrupted, as local would have be on
16 bytes instead of 20 bytes.

Signed-off-by: Noemie Gillet <ngillet@sequans.com>
2024-11-20 08:24:08 -05:00
cyliang tw
355d032baa boards: nuvoton: numaker: Drop PINCTRL from board defconfig
To remove CONFIG_PINCTRL from board side for numaker boards.
The Drivers using Pinctrl should be turning Pinctrl on
instead of the responsibility of the board.

Fixes #78619

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-11-20 08:23:58 -05:00
Jerzy Kasenberg
e6c9e9a2dd i2c: target: eeprom_target: Fix buffer write
When larger buffer index was introduced only function:
eeprom_target_write_received() was updated to handle
address-width = 16

This adds the same functionality when buffered API is used,
enabled by CONFIG_I2C_TARGET_BUFFER_MODE.

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-11-20 08:23:37 -05:00
TOKITA Hiroshi
43db55a79b drivers: clock_contrl: Remove renesas,ra-clock-generation-circuit driver
Remove the renesas,ra-clock-generation-circuit driver, which is no longer
needed after migrating to the FSP-based implementation.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-20 10:14:41 +00:00
TOKITA Hiroshi
f0219c35da drivers: pinctrl: Remove renesas,ra-pinctrl driver
Remove the renesas,ra-pinctrl driver, which is no longer
needed after migrating to the FSP-based implementation.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-20 10:14:41 +00:00
TOKITA Hiroshi
8fe5544948 boards: arduino: uno_r4: remove CONFIG_PINCTRL from defconfig of uno_r4
This PR fixes #78619 for the Arduino UNO R4 Minima/Wifi board.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-20 10:14:41 +00:00
TOKITA Hiroshi
183273ed3f dts: arm: renesas: ra4: Use renesas,ra-cgc-pclkblock driver
Switch the clock controller driver to renesas,ra-cgc-pclkblock
which can be used with FSP.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-20 10:14:41 +00:00
TOKITA Hiroshi
397c48a13e dts: arm: renesas: ra4: Use renesas,ra-pinctrl-pfs driver
Switch the pinctrl driver to renesas,ra-pinctrl-pfs which can be
used with FSP.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-20 10:14:41 +00:00
Tomasz Moń
e3acf5fa04 drivers: udc_nrf: handle overwritten Set Address commands
USBD peripheral automatically handles Set Address command which can
lead to state mismatch between USB stack and the host. Keep track of
device address and issue fake Set Address commands on mismatch.

This fixes default vs addressed state mismatch that can occur due to
sufficently high SETUP handling latency. The state mismatch was most
commonly seen as SET CONFIGURATION failure when the enumeration happened
during periods with increased latency.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-19 18:12:04 -05:00
Krzysztof Chruściński
0852af215b drivers: pinctrl: nrf: Optimize access to gpd service
Request and release global power domain only once during setup
of pins. Request and release involves communication over IPC and
it should be avoided if possible. For example if there are 4 pins
(like in UART) where GPD is requested we can limit number of
request/release operations fourfold.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-11-19 18:09:47 -05:00
Sergei Ovchinnikov
55c6a0eaa5 drivers: sensor: npm1300_charger: expose VBUS status
Add possibility to retrieve VBUS status of the nPM1300 charger through
its sensor APIs. Updated shields/npm1300_ek sample to use the new API.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2024-11-19 17:51:13 -05:00
Pisit Sawangvonganan
d81a8d452e drivers: ethernet: w5500: improve type consistency
Improve type safety and consistency by adjusting variable and
parameter types to avoid signed/unsigned comparisons and implicit casts.

Moreover, explicit casts were applied when converting from
`size_t` to `uint16_t`.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-11-19 17:50:58 -05:00
Pisit Sawangvonganan
82e2709ed8 drivers: ethernet: w5500: make ethernet_api as const
This change marks `w5500_api_funcs`, an instance of
the `ethernet_api`, as `const`.

By using `const`, we ensure immutability, leading to usage of only
`.rodata` and a reduction in the `.data` area.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-11-19 17:50:58 -05:00
Adrian Warecki
903b7cf9b6 mm: tlb: Add a mmu support in update page flags function
Platforms that support mmu require memory page access flags to be set in
both tlb and mmu. Add mmu flag update in sys_mm_drv_update_page_flags
function.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-11-19 16:23:52 +01:00
Adrian Warecki
e4a9503706 mm: tlb: Improve the context saving function
Attempt to invalidate cache for an unmapped address results in cpu
exception for the ptl platform. Perform cache invalidation after
translation activation in tlb. Add address mapping in mmu for platforms
that have it.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-11-19 16:23:52 +01:00
Adrian Warecki
750212c2a9 mm: tlb: Remove ARG_UNUSED macro invocation
The flags parameter in the sys_mm_drv_map_page function is used, so the
ARG_UNUSED macro invocation is unnecessary. Remove this macro usage to
clean up the code and improvs code readability and maintainability.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-11-19 16:23:52 +01:00
Krzysztof Chruściński
d231b459df drivers: misc: coresight: Enable log colors for STMESP logging
Allow coloring of error and warning messages decoded by the ETR
decoder.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-11-19 10:12:05 -05:00
Anthony Wertz
a1474a9868 drivers: audio: dmic_nrfx_pdm: change log level in PDM read
Currently the dmic_nrfx_pdm read implementation treats a timeout as an
error, in that a logging error message is produced when no PDM data is
available. However, for non-(or minimally-)blocking applications this is
normal behavior. Classified this way, the logger is flooded with error
messages unnecessarily, unless the log level is changed for the dmic
module, which is not desirable.

This modification simply changes the log-level to debug so the
application user can then decide whether or not a failed read needs to
produce an error message.

Signed-off-by: Anthony Wertz <awertz@pm.me>
2024-11-19 09:53:20 -05:00
Rafał Kuźnia
e18410944e modules: hal_nordic: add NRFX_GPPI config
The nrfx_gppi module is an abstraction over nrfx_ppi and nrfx_dppi
drivers. It now has a Kconfig option that is separate from nrfx_dppi and
by default it enables all PPI/DPPI instances, if available.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-11-19 09:53:10 -05:00
Rafał Kuźnia
d6007690de manifest: update hal_nordic revision
The hal_nordic revision was updated to bring in NRFX v3.8.0.

Aligned the uses of single-instance API to use multi-instance instead.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-11-19 09:53:10 -05:00
Declan Snyder
b070da7c33 dts: nxp,mcux-edma: Convert compats to prop
Convert the numerous revision compatibles to a DT property for the
revision called nxp,version (inspired from a linux DT property from
st called st,version on their DMA).

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-11-19 09:52:57 -05:00
Jilay Pandya
6098b2f673 drivers: stepper: tmc5041: use tmc5xxx generalized macros
This commit refactors tmc5041 driver to use tmc5xxx generalized macros

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-19 09:49:53 -05:00
Jilay Pandya
f3a868ad90 drivers: stepper: tmc5xxx: generalized macros for tmc5xxx
This commit generalizes macros which are common to tmc5xxx drivers

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-19 09:49:53 -05:00
Jan Faeh
2efc8598e3 drivers: sensor: SCD4x Add driver
This adds support for Sensirion's SCD4x co2 sensor.

Signed-off-by: Jan Faeh <jan.faeh@sensirion.com>
2024-11-18 19:38:10 -05:00
Jilay Pandya
1e142b0001 drivers: stepper: shell: fix null pointer check
This commit introduces null pointer check in print_callback

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Jilay Pandya
195c2c1360 drivers: stepper: fix stepper_set_event_callback c prototype and definition
This commit fixes incorrect c prototype and defintion of
stepper_set_callback to stepper_set_event_callback

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Jilay Pandya
843625a29b drivers: stepper: change gpio-stepper dt-compatible
This commit changes compatible of gpio-stepper in driver

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Jilay Pandya
df3b76b55a drivers: stepper: gpio: introduce power down coils function
power down coils when gpio stepper is disabled

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Eric Ackermann
c9ce311aaa drivers: dma: Add Xilinx AXI DMA driver
The Xilinx AXI DMA Controller is commonly used in FPGA designs.
For example, it is a part of the 1G/2.5G AXI Ethernet subsystem.
This patch adds a driver for the Xilinx AXI DMA that supports
single MM2S and S2MM channels as well as the control and status
streams used by the AXI Ethernet subsystem.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2024-11-18 19:31:20 -05:00
Pisit Sawangvonganan
3a6e36d548 drivers: serial: stm32: make poll-out function to pass data by value
Passing data by value is more efficient in this context. As such,
revise `poll_out_fn` and `uart_stm32_poll_out_visitor` to accept
the `out` argument by value instead of by address.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-11-18 19:30:17 -05:00
Jukka Rissanen
7bf9f599b1 drivers: net: loopback: Allow tests to control address swapping
Some of the network tests require that source and destination
addresses are not swapped so allow test to control the address
swapping from the test.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 19:29:58 -05:00
Dane Wagner
2f3a70ea4e drivers: i2c: Call correct I2C device definition macros
If CONFIG_I2C_STATS is enabled, the device state for all I2C controller
drivers must contain the I2C stats. This space is allocated by calling
Z_I2C_INIT_FN as part of the device definition; this is done automatically
when using I2C_DEVICE_DT_DEFINE instead of DEVICE_DT_DEFINE. If space
for statistics is not properly allocated but CONFIG_I2C_STATS is enabled,
an unexpected write to memory outside of the stats region may occur on
an I2C transfer. This commit uses I2C_DEVICE_DT_DEFINE or
I2C_DEVICE_DT_INST_DEFINE for all in-tree SPI controller drivers that do
not already.

Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
2024-11-18 19:29:42 -05:00
Jianxiong Gu
4a2f89bcc6 drivers: tcpc: ps8xxx: Remove unreachable return
Remove unreachable return in ps8xxx_tcpc_vconn_discharge.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2024-11-18 14:03:23 -05:00
Georgij Cernysiov
d52438f435 drivers: clock_control: stm32h7: disable PLLs before configuration
Disable every PLL before configuration. That allows
an application to reconfigure PLLs after a bootloader
configuration.

Don't disable the PLL clock if it is used by (Q|O)SPI
when executing from external memory. That will lead
to a stall.

Note: when (Q|O)SPI runs from PLL, the bootloader
dictates the clock configuration. There is no clock
reconfiguration support for memory map mode in
(Q|O)SPI drivers.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2024-11-18 13:19:00 -05:00
Fin Maaß
cf4a398477 drivers: flash: spi_nor: add option for 4byte opcodes
some flashes support special opcodes
for 4-byte addressing, that can be used
without switching to 4-byte mode.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-11-18 13:18:08 -05:00
Sylvio Alves
c7a592b3e0 soc: esp32c6: add Wi-Fi support
Enables Wi-Fi support.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-11-18 13:17:54 -05:00
Martin Stumpf
b816a2926d drivers: display_sdl: fix incorrect color conversion
Non-alpha colors were converted to colors with `0x00` alpha, which makes
them fully transparent.

The correct way would be to add a `0xff` alpha, which this change does.

Signed-off-by: Martin Stumpf <finomnis@gmail.com>
2024-11-18 13:17:43 -05:00
Martin Stumpf
02d562e9b8 drivers: display_sdl: add alpha support
While the driver was already capable of processing `ARGB8888` data,
it did not actually show the alpha value in any way.

This change adds a checkerboard background that shows transparent
regions.

Signed-off-by: Martin Stumpf <finomnis@gmail.com>
2024-11-18 13:17:43 -05:00
David Schneider
ded2e0ba4a drivers: udc_stm32: set address only for standard device requests
Any request 5 did set the address even if it's a non standard
request like vendor specific requests.

Signed-off-by: David Schneider <schneidav81@gmail.com>
2024-11-18 13:17:31 -05:00
Yong Cong Sin
ea23856336 drivers: intc: plic: remove incorrect arch_proc_id() usage
The `arch_proc_id()` returns the hartid of a CPU, which may not start
from zero. The way that it's used as an index to access `save_irq[]`
array is wrong, use `arch_curr_cpu()->id` instead.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-11-18 07:25:31 -05:00