Commit graph

115020 commits

Author SHA1 Message Date
Sai Santhosh Malae
a1913f9d9f drivers: counter: siwx91x: Enable siwx91x Counter driver
Enable sleeptimer counter driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-05-13 17:46:46 +02:00
Mathieu Choplain
77378a8c75 arch: arm: pm_s2ram: fix compatibility with ARMv6-M again
The original 'arch_pm_s2ram_resume' implementation saved lr on the stack
using 'push {lr}' and restored it using 'pop {lr}'. However, the Thumb-1
'pop' does not support lr as a target register, so this code would not
compile for ARMv6-M or ARMv8-M Baseline. r0 was added to these push/pop
later in 2590c48d40.

In 474d4c3249, arch_pm_s2ram* functions were
modified to no longer use the stack, which incidentally "fixed" this issue.
b4fb5d38eb reverted this commit and brought
back 'pop {r0, lr}' as-is, without taking compatibility into account.

Modify the sequence to use "pop {r0, pc}" which is supported on all
ARM M-profile implementations (v6/v7/v8 Baseline/v8 Mainline), and
add comments to (hopefully) prevent this issue from re-appearing.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-05-13 17:46:40 +02:00
Robert Hancock
0e248419b7 arch: arm: cortex_a_r: Fix memory corruption when disabling dcache
On the Xilinx MPSoC (Cortex-R5) platform, erratic operation was often
seen when an operation which disabled the dcache, such as sys_reboot,
was performed. Usually this manifested as an undefined instruction trap
due to the CPU jumping to an invalid memory address.

It appears the problem was due to dirty cache lines being present at the
time the cache is disabled. Once the cache is disabled, the CPU will
ignore the cache contents and read the possibly out-of-date data in main
memory. Likewise, since the cache was being cleaned after it was already
disabled, if the CPU had already written through changes to some memory
locations, cleaning the cache at that point would potentially overwrite
those changes with older data.

The fact that the arch_dcache_flush_and_invd_all function was being
called to do the cleaning and invalidation also contributed to this
problem, because it is a non-inline function which means the compiler
will generate memory writes to the stack when the function is called and
returns. Corruption of the stack can result in the CPU ending up jumping
to garbage addresses when trying to return from functions.

To avoid this problem, the cache is now cleaned and invalidated prior to
the dcache being disabled. This is done by directly calling the
L1C_CleanInvalidateDCacheAll function, which, as it is declared as force
inline, should help ensure there are no memory accesses, which would
populate new cache lines, between the cache cleaning and disabling the
cache.

Ideally, for maximum safety, the cache cleaning and cache disabling
should be done in assembler code, to guarantee that there are no memory
accesses generated by the compiler during these operations. However, the
present change does appear to solve this issue.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-05-13 17:46:28 +02:00
Samuel Quiniou
d0aa263c1d boards: stm32h573i_dk: add display support
Add display support for the st7789v LCD controller.
Automatically enable the LCD backlight at boot
to use the display sample as is,
because the LCD backlight is normally off.

Signed-off-by: Samuel Quiniou <samuel.quiniou@rtone.fr>
2025-05-13 17:46:11 +02:00
Mirai SHINJO
e4650bc349 scripts: ci: check_compliance: fix identity check for multiple DCOs
The current implementation of the identity check fails if multiple DCO
signoff lines are present and the first instance of the signoff line
does not belong to the author of the commit. This patch proposes a solution
that allows patches with multiple DCO signoff lines to pass the identity
check, regardless of the order of the signoff lines.

Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
2025-05-13 17:46:01 +02:00
Sreeram Tatapudi
f61efef6b0 drivers: bluetooth: Add BLE low power mode for cyw920829m2evk_02
Add BLE low power mode for cyw920829m2evk_02

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-13 17:45:47 +02:00
Sreeram Tatapudi
2ef8ff4e04 drivers: clock_control: infineon_cat1: Support for LF clocks
Add support to configure LF clocks: clk_pilo, clk_wco, clk_ilo, clk_lf

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-13 17:45:47 +02:00
Michał Stasiak
a397a7e939 tests: boards: nrf: comp: Move AIN index to Kconfig
Moved index of analog input used in test from source
code to Kconfig option to simplify adding new targets.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 17:45:18 +02:00
Michał Stasiak
03a9df38e9 drivers: comparator: comparator_nrf: Add analog pins for nRF54L20
Added set of analog pins for nRF54L20 COMP and LPCOMP.
Moved the array of analong pins for both comparator
variants to avoid code duplication.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 17:45:18 +02:00
Michał Stasiak
8b998060f2 drivers: adc: adc_nrf_saadc: Add analog pins for nRF54L20
Added set of analog pins for nRF54L20 SAADC.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 17:45:18 +02:00
Carles Cufi
6659d2d711 scripts: runners: nrfutil: Check return code after Popen
The code invoking nrfutil was not checking the return code of the
subprocess, which meant that if the underlying tool was exiting with a
failure error code it remained undetected.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-05-13 17:45:09 +02:00
Arkadiusz Balys
bfc5094dcd openthread: Fix kconfigs according to the Kconfig Style Guidelines
Removed redundant new lines, and added new lines if needed.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
2025-05-13 17:44:59 +02:00
Robert Hancock
54eeb7bee8 arch: arm: arm_mpu_v7m: Fix unsupported Cortex-R access permission mode
This file previously defined an MPU access permission mode of 0x7 which
corresponded to privileged read-only, unprivileged read-only, similar to
mode 0x6. However, it appears that at least Cortex-R5 does not support
this mode, defining 0x7 as UNP (Unpredictable) or a value which should
not be used.

This value was in turn referenced by the REGION_FLASH_ATTR macro, which
caused the offending value to be used when a memory region was declared
as DT_MEM_ARM(ATTR_MPU_FLASH) in the device tree, causing such regions
to not work properly on Cortex-R5.

Since 0x6 is supported by both Cortex-M and Cortex-R and does the same
thing, there is no reason to use 0x7. Remove the RO_Msk definition which
referenced it, and change REGION_FLASH_ATTR to use P_RO_U_RO_Msk instead.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-05-13 17:44:40 +02:00
David Schneider
d85ed3212c cmake: fix syscall dependencies
Replace _parse_syscalls_target_ custom target with explicit
dependency management for syscall depending file generation.

Signed-off-by: David Schneider <schneidav81@gmail.com>
2025-05-13 16:23:54 +02:00
Robert Lubos
be46c94e3e net: l2: openthread: Fix error logs on adding already present address
Error checking of otIp6AddUnicastAddress() and
otIp6SubscribeMulticastAddress() was added recently, however it wasn't
taken into account that those APIs return an error on attempt to
register an IPv6 address that is already present on the OT interface.
Therefore, add more specific error checks, to return silently in case
address was already present.

As those two APIs are not very consistent, and otIp6AddUnicastAddress()
returns OT_ERROR_INVALID_ARGS in such cases, add an extra check if the
address is already present before attempting to register the address.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-05-13 16:23:37 +02:00
Hao Luo
d89c61bd64 drivers: iom: define ambiq spi/i2c dma mode as a binding property
Changed to define ambiq spi/i2c dma mode as a binding property
instead of kconfig macros, making it more flexible for different
spi/i2c instances.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-13 16:23:26 +02:00
Christian Rask
bd14664e85 test: driver: display: add test case for x_nucleo_gfx01m2
Add test case for x_nucleo_gfx01m2 shield with nucleo_g071rb board.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-05-13 16:22:52 +02:00
Christian Rask
b8ce134733 boards: shields: x_nucleo_gfx01m2: add x_nucleo_gfx01m2 board support
The x_nucleo_gfx01m2 is an evaluation shield sold by
STMicroelectronics. It features a MIPI DBI SPI serial TFT LCD display
and a SPI NOR Flash for graphical assets storage. A button joystick
can be used to control the GUI.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-05-13 16:22:52 +02:00
Timothy Keys
cc9279e3ce Bluetooth: Controller: Only select BT_TICKER_LAZY_GET for ZLL
BT_TICKER_LAZY_GET is a ZLL only kconfig and should not be selected for
other controllers.

Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
2025-05-13 16:22:43 +02:00
Andrej Butok
2a207879d1 boards: Remove nxp board-vendor from non-NXP boards
- Delete nxp board-vendor references from non-NXP board .yaml files.
- board.yml files already contain the correct board-vendor names.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-05-13 12:12:51 +02:00
Dave Joseph
62941d7856 boards: ti: A53 west build target for AM62 SK EVM
Added west build target for the AM62 SK EVM for the A53 cores.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
2025-05-13 12:12:36 +02:00
Alberto Escolar Piedras
5c959c6136 drivers/counter/counter_native_sim: Merge if statements
To reduce the perceived code complexity

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
e521d5c838 drivers/serial/uart_native_tty: do not discard const qualifier
So it is clearer the data is not modified

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
98b05b3062 drivers/timer/native_sim: Use upper case long suffix
For better readability

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
b3c5b3a7dc boards/native/nrf_bsim: Declare as pointer to constant data
To be clearer to the compiler and users.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
1286f15543 boards native: Move int declaration into loop
To reduce its scope and please static analyzers

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
e32b98c3a1 soc posix: Be explicit about wanting the function address
To be more readable

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
602bb0dbc6 arch/posix: Add comment on empty function
So it is clearer this kernel required API does not need to do anything.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Andrew Davis
b73ff5a517 boards: beagley_ai_j722s_mcu_r5f0_0: Add IPC support
Add IPC memory and mailbox chosen properties. The mailbox channels
used are as expected by Linux.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-05-13 12:09:16 +02:00
Andrew Davis
b3e29bdd16 boards: beagley_ai_j722s_main_r5f0_0: Add IPC support
Add IPC memory and mailbox chosen properties. The mailbox channels
used are as expected by Linux.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-05-13 12:09:16 +02:00
Andrew Davis
27f4cbd55f boards: beaglebone_ai64: Add IPC support
Add IPC memory and mailbox chosen properties. The mailbox channels
used are as expected by Linux.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-05-13 12:09:16 +02:00
Robert Hancock
3a2639a9de drivers: flash: spi_nor: Add fast read support
Most SPI NOR flash devices support a "fast read" command which uses
dummy bits between the address and the start of the data transfer. In
many cases, the maximum SPI clock speed of the device is lower for the
regular read command due to the limited time between the address and
data phases, so using the fast read command will remove this restriction
and allow for faster transfers.

Add a device tree flag to indicate that fast reads should be used for
the device.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-05-13 12:09:06 +02:00
Robert Hancock
ecacf3d5e3 drivers: flash: spi_nor: Added flag status register support
Some Micron (and possibly other) SPI NOR devices implement a flag status
register which provides more information on the success/failure of erase
and program operations. In addition to better error checking, some of
these devices actually don't function properly if the flag status
register is not read after a program operation (subsequent reads will
only return 0xFF bytes).

Add a device tree parameter to indicate that the flag status register is
supported. When specified, the flag status register will be used for
ready/error checks rather than the standard status register.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-05-13 12:09:06 +02:00
Robert Hancock
1fdb43cf27 drivers: flash: spi_nor: optimize SPI buffer usage
This driver was providing SPI buffers for both TX and RX on the data
payload portion of read transfers, even though the TX buffer is not
meaningful in these cases. As well as being less efficient, this also
caused likely uninitialized data to be transferred to the device, which
is possibly problematic.

Update to not include the TX buffer for the read data payload SPI
transfer, so that the SPI driver can generate dummy TX data internally.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-05-13 12:09:06 +02:00
Francois Ramu
4278e98210 drivers: flash: stm32 octospi supports the 4Bytes address mode
Add the 4Bytes program mode to the stm32_ospi driver
to enter 4-Byte Address Mode (SPI_NOR_CMD_4BA) when flash is supporting it.
This is given by the JESD216 SFDP table.
Based on the stm32 qspi driver.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-13 12:08:51 +02:00
Michał Stasiak
63f2fe9dd4 soc: nordic: nrf54l: Clean up internal capacitance calculations.
Code responsible for internal capacitor values containted
leftover workarounds in the calculations after PS update.
Removed redundant conversions and cleaned up both code
and comments to align both LFXO and HFXO calculation.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 10:06:01 +02:00
Alex Fabre
e163b2ca0e arm: exception: fix comparison of int of different signs
Clang 20.1.0 -Wsign-compare warning on int being compared with uint32_t.

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-05-13 10:05:52 +02:00
Alex Fabre
da2ecd3eb8 utils: bitarray: fix comparison of int of different signs
Clang 20.1.0 -Wsign-compare warning on int being compared with size_t
(unsigned int).

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-05-13 10:05:52 +02:00
Alex Fabre
c8a37d009a kernel: priority_q: fix comparison of int of different signs
Clang 20.1.0 -Wsign-compare warning on int being compared with size_t
(unsigned int).

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-05-13 10:05:52 +02:00
Maochen Wang
9dd9661836 samples: net: wifi: update the RSA3K certificates
The original Wi-Fi certificates are from WFA. Now replace them with
certificates that generated by myself. These certificates use
sha384WithRSAEncryption signature algorithm, and use 3072 bit RSA
public-key.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-05-13 10:05:24 +02:00
Abderrahmane JARMOUNI
306983d817 MAINTAINERS: Add myself as collaborator for Display
Add myself as collaborator for Display drivers

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-13 10:05:08 +02:00
Vit Stanicek
d53181fffd boards: mimxrt685_evk/mimxrt685s/cm33: Enable MU
Enable the MU peripheral for the CM33 domain of the mimxrt685_evk.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-13 10:05:04 +02:00
Jeremy Dick
b5c0984eb1 drivers: flash: flash_hp_ra: perform blank check before reading
The value read from unwritten areas of Renesas RAxxx SoCs data
flash is undefined. To prevent reading unwritten areas a
blank check command is performed first. If the area is blank, we
return dummy data so it behaves the same as other flash devices.

Signed-off-by: Jeremy Dick <jdick@pivotint.com>
2025-05-13 07:24:39 +01:00
Jeremy Dick
48680298c1 dts: arm: renesas: Add erase-value-undefined property for Renesas RA flash
Add an erased-undefined property for Renesas RA series MCUS
data flash that will read back undefined values when erased

Signed-off-by: Jeremy Dick <jdick@pivotint.com>
2025-05-13 07:24:39 +01:00
Sercan Erat
168395f195 boards: rakwireless: rak3172: Fix clock settings
Enabling HSE and LSE clock settings.

Signed-off-by: Sercan Erat <sercanerat@gmail.com>
2025-05-13 07:24:23 +01:00
Sercan Erat
01a92d0a42 boards: rakwireless: rak3172: Fix RF controller pins
Fixing wrongly defined tx-enable and rx-enable pins.

Signed-off-by: Sercan Erat <sercanerat@gmail.com>
2025-05-13 07:24:23 +01:00
Abderrahmane JARMOUNI
7a9fb5463c samples: lvgl: multi_display: doc fix
Trivial doc fix concerning which demos are run by default.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-13 03:20:50 +02:00
Dipak Shetty
4c38b16f03 drivers: stepper: adi_tmc: tmc5xxxx: fixed standstill detection
The standstill detection logic now stands corrected. Moving would
be indicated when the standstill bit is not zero.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-05-13 03:20:39 +02:00
Florijan Plohl
f72f1ebf6a boards: mimxrt1170_evk: Enable DAC
Enable DAC on MIMXRT1170-EVK for both Cortex M7 and M4.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-05-13 03:20:29 +02:00
Florijan Plohl
f4d2757cef dts: arm: nxp: add DAC support for RT11xx
Add DAC support for RT11xx SOCs.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-05-13 03:20:29 +02:00