Commit graph

118,807 commits

Author SHA1 Message Date
Yasin Ustuner
3efeb245a7 drivers: serial: Change Tx Status macro for MAX32
TX status macro is different for MAX32650 SoC.
The common macro is added to the hal.
This commit changes the tx status macro with
the common one.

Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
2025-02-14 13:35:26 +01:00
Yasin Ustuner
fe06d5422b manifest: Add MAX32650 hal files
This commit adds necessary hal files for
MAX32650 board.

Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
2025-02-14 13:35:26 +01:00
David Siorpaes
65b9a7be69 boards: st: nucleo_n657x0: added missing led aliases.
Fixes 'samples/basic/threads' example build.

Signed-off-by: David Siorpaes <david.siorpaes@st.com>
2025-02-14 13:35:08 +01:00
Dominik Kilian
0e4efdb2a6 tests: ipc_service: Test restarting session in different scenarios
This commit adds a test that checks if disconnecting
and restarting the IPC session works correctly. The
test is also focused on the "unbound" callback.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
Co-authored-by: Radoslaw Koppel <radoslaw.koppel@nordicsemi.no>
2025-02-14 13:34:49 +01:00
Dominik Kilian
84a215aff8 ipc_service: icmsg: Add "unbound" functionality
In some cases, CPUs that may need to reset or
temporary stop communication. This commit adds "unbound"
functionality that provides a callback to IPC service user
when connection was interrupted for some reason, e.g.
expected or unexpected CPU reset, closing the
endpoint. The "unbound" callback is optional to implement
by endpoints. This commit implements it in the ICMsg
backend.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2025-02-14 13:34:49 +01:00
Guillaume Gautier
5155cb673f tests: drivers: adc: adc_api: boards: add overlays for stm32n6 boards
Add dts and conf overlay for nucleo_n657x0 and stm32n6570_dk boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
ed673d5e88 tests: drivers: adc: adc_api: src: change data size for stm32n6
STM32N6 needs to have a buffer of 32-bit data instead of 16-bit.
Adds a Kconfig to select whether the test shall use a 32-bit buffer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
e7ca08525e boards: st: stm32n6: enable adc node for stm32n6 board
Enable ADC for STM32N6570-DK and Nucleo N657X0 boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
20d1b6c6c7 dts: arm: st: n6: add adc node to stm32n6 dtsi
Add ADC1 and ADC2 to STM32N6 device tree.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
a0761d6353 drivers: adc: stm32: configure data size for stm32n6
On STM32N6, the register holding the data is 32 bits and DMA must operate
in word transfer to work properly. So we change the type of the buffer in
which we store the ADC data from uint16_t to uint32_t for N6.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
a28381f459 drivers: adc: stm32: enable analog supply in dedicated function
Move code to enable the analog supply in a dedicated function.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
9ee33e990e drivers: adc: stm32: add support for stm32n6 adc
Add support for STM32N6 ADC in the STM32 ADC driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
8cdee9fe51 dts: bindings: adc: add adc bindings for stm32n6
STM32N6 ADC doesn't have an integrated prescaler, so these properties have
to be removed.
Though the F1 compatible also removes these two same properties, grouping
the N6 with the F1 would not be convenient since there are lots of
differences between the two.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Daniel Schultz
e7fb3c6848 drivers: gpio: davinci: Select PINCTRL
This driver includes pin-muxing functions and requires to have
CONFIG_PINCTRL enabled. Automatically set this config when this
driver is enabled.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2025-02-14 10:48:20 +01:00
Helge Juul
b7bbfbf1f2 net: dns: Log with debug level instead of error level when recv fails
This condition can happen if there is MDNS activity on the network that is
either not according to specifications or not supported by Zephyr.

Lowering the log level from ERR to DBG, since this does not indicate an
error in the Zephyr application.

Signed-off-by: Helge Juul <helge@fastmail.com>
2025-02-14 10:48:06 +01:00
Steffen Jahnke
16c4b6a51a tests: Add necessary configurations for PAN B511 EVB
Running tests for PAN B511 evaluation board needs additional
configuartion.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2025-02-14 10:47:54 +01:00
Steffen Jahnke
fa0ac75151 samples: Add necessary configurations for PAN B511 EVB
Running samples for PAN B511 evaluation board needs additional
configuartion.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2025-02-14 10:47:54 +01:00
Steffen Jahnke
d68763be42 boards: panasonic: Add PAN B511 Evaluation Board
The PAN B511 evaluation board is a development tool for the
nRF54L15 from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2025-02-14 10:47:54 +01:00
David Brown
33301e69de modules: optional: Feature update for Rust
Move to the latest Rust.

This moves the rust support to the latest version of the module:

    commit 49c6712fe53b5b82e5c09e94548a4a51a021acfe
    Author: David Brown <david.brown@linaro.org>
    Date:   Wed Feb 12 12:16:22 2025 -0700

        zephyr: various comment cleanups from review suggestions

This primarily brings in support for Zephyr Work queues, along with an
implementation of an Async Executor built using work queues and triggered
work to schedule the execution.

Signed-off-by: David Brown <david.brown@linaro.org>
2025-02-14 10:43:55 +01:00
Guillaume Gautier
c0164e4afe tests: drivers: i2c: target_api: add stm32n6 overlays
Add overlays for STM32N657X0-DK and Nucleo N657X0 boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:43:44 +01:00
Guillaume Gautier
5d2b0a57c8 boards: st: stm32n6: enable i2c
Enable I2C on STM32N657X0-DK and Nucleo N657X0 boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:43:44 +01:00
Guillaume Gautier
ba251072b8 dts: arm: st: n6: add i2c
Add I2C nodes to STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:43:44 +01:00
Yishai Jaffe
c1d05bfaea dts: st: use ST DMA defines
Use dma_stm32.h DMA defines instead of using hard-coded values

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-02-14 10:43:37 +01:00
Van Petrosyan
2a250b0d65 sensor: scd4x: Fix ID for power down command
Fixed command ID for power down command in SCD4X sensor driver

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-02-14 10:43:29 +01:00
Alexander Kozhinov
2f211f415b soc: st: stm32: stm32h7x
This change splits eth sram region name definition
and configuration.
In the end the configuration is stored only once
er declared name.
This name shall increase readability and maintainability

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2025-02-14 10:43:00 +01:00
Titouan Christophe
74bef41e0a samples: drivers: i2s: i2s_codec: add support for stm32f4_disco
Add configuration and board overlay in the I2S audio codec sample to
demonstrate usage of the newly introduced audio output feature.

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-14 10:42:53 +01:00
Titouan Christophe
88454c2e67 boards: st: stm32f4_disco: add support for audio output
The stm32f4_disco board features an audio codec (cs43l22) connected to
an audio jack (TRS) output, and to the stm32f4 via I2S and I2C. To set
this up, several peripherals must be configured:

- Enable I2S3 and the PLLI2S (tuned for 22.05/44.1/88.2 kHz audio)
- Enable DMA1 (used by I2S3)
- Enable I2C1, and add definition for the CS43L22 on the bus
- Disable USART1 and CAN1 which have conflicting pinctrl with I2C1

This new setting is more appropriate, because this gives access to the
audio jack output by default (instead of "bare" pins not connected to
anything on the board).

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-14 10:42:53 +01:00
Titouan Christophe
d2818c4d49 audio: codec: add new cs43l22 driver
Add new driver for the Cirrus CS43L22 audio DAC.

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-14 10:42:53 +01:00
Khaoula Bidani
1c6915b9b1 dts: bindings: clock: make clocks property required
Modify properties clocks as required in stm32-clock-mux.yaml.


Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-02-14 10:42:42 +01:00
Keith Packard
dc0fd3af17 picolibc: Use common abort(), call from assert when !__ASSERT_ON
Switch to the common abort implementation so that we can use it
from the assert hooks to avoid undefined behavior.

Closes: 84824

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-02-14 10:42:16 +01:00
Wilfried Chauveau
e9f95b7c92 drivers: gpio: mmio32: remove redundant mask field.
The pin mask is already present in the common structure.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-02-14 10:42:02 +01:00
Wilfried Chauveau
c0139fad06 drivers: gpio: mmio32: update gpio_mmio32 to behave like other divers
The current implementation requires SoCs/Boards to manualy instantiate
the preripherals and initilize them.

The change lets Zephyr rely on the device tree setup to instantiate &
initialize the relevant gpio peripheral.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-02-14 10:42:02 +01:00
Kacper Brzostowski
eb4c8fc319 boards: weact: Add support for WeAct STM32H5 Core Board
Low cost STM32H5 series development board with bare minimum to run the MCU

Signed-off-by: Kacper Brzostowski <kapibrv97@gmail.com>
2025-02-14 10:41:51 +01:00
Kacper Brzostowski
d6fdbb8953 dts: st: h5: addSTM32H562xG SoC support
Added STM32H562xG dts file

Signed-off-by: Kacper Brzostowski <kapibrv97@gmail.com>
2025-02-14 10:41:51 +01:00
Titouan Christophe
baa41f43af boards: stm32h7s78-dk: add support for OTGFS (USB port 2)
Add OTGFS peripheral to the stm32h7rs soc series, and enable it on the
Discovery board STM32H7S78-DK, where it is wired to USB Type-C port 2.

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-14 10:41:43 +01:00
Grygorii Strashko
e549bc702a drivers: xen: gnttab: process gnttabs in reverse order
The Xen extends domain grant tables every time domain requests gnttab
basing on gnttab idx. If idx > xen_current_max_gnttab_idx the Xen extends
grant table so that idx <= xen_current_max_gnttab_idx. The growing grant
tables on every hypercall is a bit costly operation and it also results in
the bunch of log messages:

(XEN) xen-source/xen/common/grant_table.c:1909:d0v0 Expanding d0 \
  grant table from 1 to 2 frames

This patch changes gnttab processing from gnttab max_idx to low_idx, so the
first hypercall has the largest index, ensuring that the grant table will
grow only once. It also reduces number of log messages.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
71b9ec2c2c drivers: xen: gnttab: remove redundant GNTTABOP_setup_table call
Initially this driver was a port from mini-os. Michal Orzel
(@orzelmichal) pointed that it contains incorrect grant table
initialization sequence and redundant calls. Driver mapped grant table
frames via loop of XENMEM_add_to_physmap calls and then tried to do the
same but via GNTTABOP_setup_table operation. After completion of latter
it did not even use provided frames list. This did not cause any major
issues, since XENMEM_add_to_physmap correctly map gnttab frames that
were used.

Remove redundant GNTTABOP_setup_table call from grant table driver to
clean up its initialization sequence.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
cd31a41328 drivers: xen: gnttab: limit number of grant frames via config
Xen allocates a region that should be used as a place for grant table
mapping and passes it via the device tree. By design, this region may
be quite large (up to 4096+ frames/pages), but the number of frames is
usually limited by the max_grant_frames domain parameter (usually 32 or
64).

Linux maps these frames on demand and when reaches mentioned limit
it just stops expanding. At the same time, previous implementation of
Zephyr gnttab driver calculated the number of grant frames by dividing
whole region by page size and tried to map it during init. If the
region specified in the device tree was larger than the
max_grant_frames set by Xen, it would fail on ASSERT, since Xen would
return an error.

To address these issues CONFIG_NR_GRANT_FRAMES was introduced. It
allows to limit size of grant table and map only required number of
pages. Additionally, a check for max_grant_frames Xen limit was
introduced to initialization - if this value will be less than
CONFIG_NR_GRANT_FRAMES, k_panic() will be called.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
0e21b25245 drivers: xen: gnttab: prevent double-free for grant refs
Grant references are allocated via simple O(1) allocator - idx of first
free gref is always stored in the "0" list entry (e.g. list[0] == "A").
Next free gref (e.g. B) will be stored inside list entry with the index
of previous (list[A] == B) and so on. This allows to find free gref
instantly if available. However, current implementation allows a user
to perform a double-free of some taken grefs since it doesn't store any
information about entries being currently claimed. This may cause
gref_list to break.

Add GNTTAB_GREF_USED value and mark all taken grefs with it to prevent
double free in put_grant_entry().

These changes also required updates for allocator and semaphore init
sequences, since we can not use put_free_entry() during driver
initialization anymore.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
63ea48cacc include: xen: add gnttab_query_size struct to public headers
Xen public headers were imported into Zephyr source tree and only used
structs were added (not copied as is). Mow, for refactoring and
improving gnttab driver we need to augment grant table public header
with one more struct. It will be used for reading actual number of
available Xen grant frames.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
3f92a8bbdd drivers: xen: gnttab: use correct struct for grant frames unmapping
Previously the driver's 'gnttab_unmap_refs()' signature used incorrect
struct - the same one that is used for mapping. Since 'host_addr'
membber, that is used to point to required frame is first in both
structures it somehow worked.

Fix mistake and use 'struct gnttab_unmap_grant_ref' for grant frames
unmapping hypercalls.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Lubos Koudelka
64e48014cd samples: boards: Add MCO support for nucleo_wba55cg
Added overlay and modified sample.yaml to support the nucleo_wba55cg
board in the MCO example. Due to GPIO conflict, UART print out is not
functional.

Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
2025-02-14 10:41:18 +01:00
Lubos Koudelka
21e4084917 dts: arm: st: wba: Add MCO1 peripheral to STM32WBA device tree
Added MCO1 peripheral definition to the STM32WBA device tree to enable
MCO functionality.

Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
2025-02-14 10:41:18 +01:00
Lubos Koudelka
099970e130 dt-bindings: clock: Add MCO register definition for STM32WBA
Added MCO register definition to support MCO functionality in the STM32WBA
series. This update also includes the addition of MCO_PRE_DIV and MCO_SEL
defines.

Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
2025-02-14 10:41:18 +01:00
Camille BAUD
ee37a94aa8 sensor: xbr818: struct sensor... to DEVICE_API
This makes static const struct sensor_driver_api into DEVICE_API(sensor

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-02-14 08:45:13 +01:00
Alberto Escolar Piedras
2f2a91a8db samples/*/*shell: filter test with shell harness on bsim targets
The shell harness expects the UART can be routed to stdin/out on POSIX
arch based targets, but this is not the case for the bsim targets (at
least not yet, and not using the native_posix UART configuration option)

This causes these tests to fail timing out in CI => let's filter these
platforms by now.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-02-14 08:45:04 +01:00
Mubin Sayyed
16d5d5e480 west_commands: runners: Fix parameters passed to xsdb
Existing logic is passing elf file as parameter only when fsbl
or bit file parameter is present. This is incorrect, elf file should
be always passed irrespective of other parameters.

Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
2025-02-14 08:44:54 +01:00
The Nguyen
c684fea123 boards: renesas: add support for USBFS port on Renesas RA boards
Add USB support on USBFS port on these boards:
- RA8: ek_ra8m1, ek_ra8d1, mck_ra8t1
- RA6: ek_ra6m1, ek_ra6m2, ek_ra6m3, ek_ra6m4, ek_ra6m5
- RA4: ek_ra4m2, ek_ra4m3, voice_ra4e1

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-02-14 08:44:39 +01:00
The Nguyen
b513a8db34 dts: arm: renesas: add phys-clock for usbhs node
Add phys-clock to usbhs node in case internal phys-clock-src is used

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-02-14 08:44:39 +01:00
The Nguyen
164847f3a6 dts: arm: renesas: add UDC support for USBFS module
Add device node of usbfs on Renesas RA SoC

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-02-14 08:44:39 +01:00