Commit graph

115105 commits

Author SHA1 Message Date
Daniel Schultz
3112f856d2 soc: Add aesc
Currently, the only available platform is Nitrogen, featuring a
VexRiscv CPU that boots from external SPI flash and runs code from
external HyperRAM.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
14b83d130d MAINTAINERS: Add Aesc Platform
aesc silicon is a startup focused on developing open-source
silicon solutions.

Add a new platform to the MAINTAINERS file to ensure changes
get reviewed.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Daniel Schultz
24322dd555 dts: bindings: Add aesc
aesc silicon is a startup focused on developing open-source
silicon solutions.

Link: https://github.com/aesc-silicon/ElemRV

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Sudan Landge
8c02ffc6dd arch: arm: enable pxn support at arch level
Move PXN support selection to arch so that it is enabled
for all Armv8.1-m socs.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 14:09:31 +02:00
cyliang tw
3a4e12899c tests: drivers: pwm: pwm_loopback: support numaker_m55m1
Add support for Nuvoton numaker board numaker_m55m1.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-05-14 11:04:17 +01:00
cyliang tw
a5f8645038 drivers: pwm: support for numaker m55m1x
Modify Nuvoton numaker pwm driver for m55m1x series.
Add pwm nodes in m55m1x.dtsi

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-05-14 11:04:17 +01:00
Jeppe Odgaard
46a3bbb35a drivers: sensor: ti: tmp11x: fix get ambient offset
The sensor value was accidentally set a second time.

Refactor `tmp11x_attr_get` to fix the issue and align more with
`tmp11x_attr_set`.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-05-14 11:04:08 +01:00
Marcin Szymczyk
a068709171 drivers: spi: nrfx_spim: use clock phandle for HSFLL nodes
Instead of explicitly defining the SPIM instances that need it.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-14 11:03:51 +01:00
Alain Volmat
cc837284fd dts: arm: st: add MCOs and PLL2 to PLL4 in stm32mp13.dtsi
The stm32mp13 has 2 MCOs and 4 PLLs available.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
88d8003109 clock_control: stm32: add handling of clocks for the stm32mp13
Add enabled_clock, on / off and configure support for the clocks of
the stm32mp13. Describes the peripheral clock source selection.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
983d891829 drivers: clock: stm32mp13: rename frac-v binding into fracn
Rename the frac-v PLL binding into fracn in order to make it
consistent with other STM32 PLL bindings.
This commit also correct the range which should be 0 - 8191.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
d95b7c4e64 dts: bindings: stm32: add div-q and div-r on stm32mp13 plls
Depending on the PLL, all DIV-P / DIV-Q and DIV-R are available
on STM32MP13 PLLs.
Adjust valid range in order to be able to set for all 4 PLLs.
Clarify DT properties description.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
933446ff4a drivers: clock: stm32-mco: support MCO with enable bit
On STM32MP13, a dedicated MCO enable bit within the MCO clock control
register must be set in order to activate the MCO.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Furkan Akkiz
13a36718fa tests: drivers: Enable new test for MAX32650 boards
This commit enables following tests for MAX32650EVKIT and MAX32650FTHR:
- counter/counter_basic_api
- dma/chan_blen_transfer
- dma/loop_transfer
- i2c/i2c_target_api (only for MAX32650EVKIT)
- spi/spi_loopback

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
02d91a647e boards: adi: Enable new nodes of MAX32650 boards
This commit enables dma, i2c, spi, wdt and rtc_counter nodes for
MAX32650EVKIT and MAX32650FTHR boards.

Initial parts of the SRAM is used during the boot process, this causes
problems for some tests (e.g. tests/drivers/watchdog/wdt_basic_api).
To avoid these problems, this commit changes choosen SRAM to SRAM4.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
40a60a6ac2 dts: arm: adi: max32650: Add more peripheral nodes
This commit adds following updates to MAX32650 SoC:
- Divide SRAM to sections according to UG.
- Add DMA and SPI nodes
- Add WDT nodes without adding clock property
- Include dma binding to SoC dts file.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
2025-05-14 11:03:22 +01:00
Burak Babaoglu
9de258c50f drivers: i2c: Update driver to enable I2C for MAX32650 SoC
This commit adds new wrapper functions into driver to handle
differences of MAX32650 SoC.

Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
ccc26a53bb drivers: watchdog: Update driver to enable WDT for MAX32650 SoC
This commit changes clock property of watchdog to optional and updates
driver according to this change.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
46ab3b4ff3 drivers: spi: Update driver to enable SPI for MAX32650
This commits changes a macro name to enable SPI support for MAX32650
SoC.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
d19e318a71 drivers: spi: clang-format changes for MAX32 SPI driver
This commit applies clang-format changes for MAX32 SPI driver.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
fb8a8e592c manifest: Update hal_adi revision
This commit updates 'hal_adi' module's revision to get MAX32650
developments.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Fabio Baltieri
8355418558 MAINTAINERS: add modulino files to the Arduino area
Add modulino drivers path to the Arduino area.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
560a6b7de9 shields: add two shield definitions for modulino boards
Add two shield definitions for the the modulino buttons and smartleds
modules.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
1d1dc09ca3 leds: add arduino,modulino-smartleds
Add an led_strip driver for the modulino smartleds module. This is a
pluggable I2C board with 8 addressable RGB LEDs

The I2C protocol is implemented on an microcontroller on the modulino
board itself, the firmware for that is open source and can be updated
using an Arduino sketch:

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
8060a59f3a leds: add arduino,modulino-buttons-leds
Add an LED driver for the modulino buttons module, this has three LEDs
that are controllable independently of the buttons.

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
82509f7295 input: add arduino,modulino-buttons
Add an input driver for the modulino buttons module. This is a pluggable
I2C board implementing three buttons and three LEDs, the I2C protocol is
implemented on a microcontroller on the modulino board itself, the
firmware for that is open source and can be updated using an Arduino
sketch:

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Pavel Vasilyev
971c2c9426 Revert "Bluetooth: host: extract sending of host num complete"
This reverts commit 32212bfb63.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-05-14 11:03:02 +01:00
Pavel Vasilyev
da9acbcf11 Revert "Bluetooth: host: Send host num completes as early as possible"
This reverts commit 147ee3daaf.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-05-14 11:03:02 +01:00
Camille BAUD
f2f036fd0d boards: wch: Introduce Weact CH32V203 bluepill
Introduces WeActStudio Blue Pill Plus CH32V203

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Camille BAUD
dd51655b25 drivers: add CH32V203 to wch systick
Adds CH32V203 to the systick timer driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Camille BAUD
e4783692e4 modules: hal_wch: add CH32V203 support
Adds CH32V203 support

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Camille BAUD
2013d6e129 dts: wch: Introduce CH32V203
Introduce CH32V203 SoC

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Camille BAUD
72dadd3242 soc: wch: Introduce Qingke V4B
Introduces the Soc for ch32v203

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Ayush Singh
88b108d201 drivers: gpio: davinci: Allow empty pinctrl
Ignore error if default pinctrl missing. Some devices allow specifying
pinctrl in them, which is better to do , specially for static (on-board)
devices to keep overlays simpler.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-05-14 09:11:52 +02:00
TOKITA Hiroshi
431f202732 drivers: entropy: add iproc_rng200 (rpi_5) random generator driver
Add driver for iproc_rng200 entropy generator.
This device is used by rpi_5.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-05-14 09:11:42 +02:00
TOKITA Hiroshi
10f614db9a drivers: entropy: Add sort directives
Add sort directives to CMakeLists.txt and Kconfig

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-05-14 09:11:42 +02:00
Sudan Landge
f726cb5123 modules: CMSIS_6: Switch to CMSIS_6 for Cortex-M
What is the change?
Switch to module CMSIS_6 for Cortex-M while continuing to use
cmsis module (version 5.9.0) for Cortex-A/R.

Why do we need this change?

The current cmsis module consists of:
- Cortex-M support from upstream cmsis 5.9.0
- Cortex-A/R support which was not upstreamed to CMSIS

Upstream cmsis 5.9 was deprecated so we should be using CMSIS_6 however,
it seems due to lack of Cortex-A/R support in upstream and other reasons,
this was pushed back.

While upstreaming Cortex-A/R support to CMSIS_6 could take its time,
this shouldn't stop Cortex-M to start using CMSIS_6.

Also, if we do not use CMSIS_6 for Cortex-M then using the
newer GCC 14.2 toolchain will return below compiler error:
```
zephyrproject/modules/hal/cmsis/CMSIS/Core/Include/core_cm85.h:4406:10:
fatal error: pac_armv81.h: No such file or directory
 4406 | #include "pac_armv81.h"
```
Using CMSIS_6 for Cortex-M will fix this.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 09:11:32 +02:00
Sudan Landge
c4235fa489 modules: CMSIS_6: fix path and use it for TF-M
What is the change?
Fix the path for module CMSIS_6 and use CMSIS_6 module for TF-M.

Why do we need this change?

After Zephyr updated TF-M to v2.1.0,
bb037d4469842c96f5872b271490aceb0734d965 added a local copy of CMSIS_6
to stop Zephyr's TF-M from downloading the CMSIS_6 from upstream.
The correct way would be to have CMSIS_6 as a module in Zephyr (which
we have now) and pass the path of this module to TF-M.
A fork of the upstream CMSIS_6 was added to Zephyr however,
the path in west.yml makes it a lib and not a module.
Fixing the path generates the ZEPHYR_CMSIS_6_MODULE_DIR symbol which
can now be used to pass to TF-M and the copy in TF-M would no longer be
required.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 09:11:32 +02:00
Hao Luo
4bc2de23a9 drivers: flash: Add support for Apollo510 flash controller
This commit adds support for Apollo510 SoC in ambiq flash driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00
Hao Luo
95153de15b drivers: hwinfo: Add support for Apollo510 hwinfo
This commit adds support for Apollo510 SoC in ambiq hwinfo driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00
Hao Luo
ba52a93ac9 drivers: adc: Add support for Apollo510 ADC
This commit adds support for Apollo510 SoC in ambiq adc driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00
Chris Friedt
3c7e43f4e2 tests: posix: add posix_clock_selection testsuite
Add a testsuite for the POSIX_CLOCK_SELECTION Option Group which
consists of clock_nanosleep(), pthread_condattr_getclock(), and
pthread_condattr_setclock().

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
ae4a1dbf2c posix: implement the POSIX_CLOCK_SELECTION Option Group
Implement the POSIX_CLOCK_SELECTION Option Group.

This was mostly already done, but compiled / linked in the wrong places.

E.g. pthread_condattr_getclock() and pthread_condattr_setclock() were
in pthread.c and part of POSIX_THREADS_BASE. clock_nanosleep() was in
clock.c and part of POSIX_TIMERS.

This change builds them as part of clock_selection.c with
CONFIG_POSIX_CLOCK_SELECTION.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
4c9fb2e274 doc: posix: add doc for XSI_SINGLE_PROCESS Option Group
Mark the XSI_SINGLE_PROCESS Option Group as supported.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
8673d7408b tests: posix: add test for the xsi_single_process option group
Add tests for the XSI_SINGLE_PROCESS Option Group.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
cfae041834 posix: implement the XSI_SINGLE_PROCESS Option Group
gettimeofday() was already implemented, but incorrectly lumped into
POSIX_TIMERS.

putenv() is really just a wrapper around setenv().

The only one left to implement was gethostid() which was relatively
trivial.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
0b869efe6a posix: clock: move most implementations to clock_common.c
Move most implementations to clock_common.c in preparation for
moving gettimeofday() and clock_nanosleep() to different compilation
units.

We also take this as an opportunity to switch from using k_spinlock
to sys_sem.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
73ee23e3ad posix: clock: create z_clock_gettime().. convenience functions.
To facilitate moving gettimeofday() and clock_nanosleep() to separate
compilation units, make z_clock_nanosleep(), z_clock_gettime(),
and z_clock_settime() convenience functions.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
5c46fcb1e9 posix: env: move most implementations to env-common.c
Move most implementations to env-common.c in preparation for adding
putenv.c .

We also take this as an opportunity to switch from using k_spinlock
to sys_sem.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00
Chris Friedt
4137c489d8 posix: env: create z_getenv()..z_setenv() convenience functions
To facilitate adding putenv in a separate compilation unit,
make z_getenv(), z_getenv_r(), z_setenv(), and z_unsetenv()
convenience functions.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:23:21 -04:00