Commit Graph

1099 Commits

Author SHA1 Message Date
Mathieu Choplain
1d4c5eee6e dts: arm: stm32: update Vref nodes with non-standard resolution
After updating the "st,stm32-vref" binding with a new property containing
the calibration data resolution ("vrefint-cal-resolution"), update the
corresponding nodes in SoC DTSI files with the proper value.

Note that the property is not set on SoCs with resolution of 12, as it is
the default value specified for the property in the binding.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-08 07:50:44 +01:00
Grzegorz Runc
9fcb17400b soc: stm32: add support for stm32h757
Add support for STM32H757 SoC, which shares its design
with STM32H747 with added cryptography peripherals.

Signed-off-by: Grzegorz Runc <g.runc@grinn-global.com>
2025-01-06 17:12:55 +00:00
Fabrice DJIATSA
0ef33f3e77 dts: arm: st: add stm32c071 dtsi files
- provide support for the STM32C071 serie
- add stm32g0-flash-controller compatible on flash node
to fix CI issue on undefined reference to
`flash_stm32_page_layout'

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-12-20 12:37:00 +01:00
Yishai Jaffe
9396c42262 dts: arm: st: f4: fix die_temp channel
The STM32F4 socs have different channels for the temperature sensor.
Some are at channel 16 and some at channel 18. Made changes wherever it
was relevant.
In short, the base configuration is to channel 16 and wherever it is
supposed to be 18 it is overridden.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2024-12-19 21:53:35 +01:00
Sara Touqan
a0380bc61d dts: Add support for additional modules in STM32U0.
This commit Introduces DTS configurations for DMA,
SPI, RNG, Crypto, USB and RTC modules to enable
support in STM32U0.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-19 15:19:56 +01:00
Guillaume Gautier
8e4518a012 dts: arm: st: change sequencer and clock source properties into string
In all STM32 dtsi and board dts, update the st,adc-sequencer and the
st,adc-clock-source properties so they are strings.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>

fu dts: arm: st: use string instead of enum
2024-12-18 15:32:35 +01:00
Guillaume Gautier
057d61ca9d dts: arm: st: add adc oversampler to all stm32 series
Add ADC oversampler type to all ADC of all series.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-12-18 15:32:35 +01:00
Fabio Baltieri
f3eb5280c8 dts: arm: st: h7: add a template for stm32h743Xg
Same as stm32h743Xi.dtsi, half the flash.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-12-13 21:50:52 +01:00
Francois Ramu
7044876b0b dts: arm: stm32f412 device has a clock 48MHz multiplexer
Add a clk48Mhz node to the stm32f412 serie.
This clock is sourced by PLL_Q (default) or PLLI2S_Q
That 48MHz clock is used by the USB /SDMMC/RNG peripherals.
The sdmmc/SDIO clock is sourced by this CK48 (default)
or by the SYSCLOCK.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-13 20:05:11 +01:00
Sara Touqan
3b33aa5450 dts: Add I3C configuration for STM32.
This commit adds the main DTS configurations required
to enable I3C support on STM32.

Signed-off-by: Mohammad Badawi <zephyr@exalt.ps>
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
2024-12-12 11:08:12 +01:00
Marcin Niestroj
f72ef5c237 drivers: usb: stm32: fix support of STM32U5 OTG_HS with embedded PHY
Introduce new binding "st,stm32u5-otghs-phy" for OTG_HS PHY. This allows to
configure clock source and handle STM32U5 specific OTG_HS PHY behavior in
driver implementation in a more readable way.

Move OTG_HS PHY clock selection (previously <&rcc STM32_SRC_HSI48
ICKLK_SEL(0)>) from OTG_HS node to OTG_HS PHY node.

Rename USBPHYC_SEL -> OTGHS_SEL which matches the definition in the stm32u5
CCIPR2 register (RM0456 Rev 5, Section 11.8.47).

Support enabling OTG_HS PHY clock, which is bit 15 (OTGHSPHYEN) in
RCC_AHB2ENR1. Change OTG_HS clock to be bit 14 (OTGEN).

Calculate in runtime OTG_HS PHY clock source frequency. Try to match that
to supported (16, 19.2, 20, 24, 26, 32 MHz) frequencies and select proper
option with HAL_SYSCFG_SetOTGPHYReferenceClockSelection() API (instead of
hardcoded 16 MHz selection).

Co-authored-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Adrian Chadd <adrian.chadd@meta.com>
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-12-11 08:00:03 +01:00
Francois Ramu
444e59e478 dts: arm: stm32h7 hsi clock requires hsi-div property
The compatible: "st,stm32h7-hsi-clock"  has HSI clock divider
required which is set to 1, by default, delevering 64MHz
in the stm32h7.dtsi and stm32h7rs.dtsi
(As done for stm32h5 and other series)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-06 15:17:32 +01:00
Francois Ramu
f4152127ad dts: arm: stm32f411 compatible for PLL I2S
The stm32f411 and stm32f412 and stm32f446 have a PLLI2S
with a div M in front of the PLLI2S input.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-05 19:59:47 -05:00
Ali Hozhabri
9e26341a61 dts: arm: st: wb0: Add BLE feature to STM32WB0x at SOC level
Add BLE feature to STM32WB0x series at SOC level.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2024-11-25 14:42:54 +01:00
Francois Ramu
4864481499 dts: arm: st: Fix memory mapping and size for STM32L4plus
Split and fix the total SRAM size for STM32L4Px/L4Qx/L4Rx/L4Sx
device. Those MCUs with up to 640 Kbytes SRAM:
This is 640KB for the STM32L4Rxxx and STM32L4Sxxx devices :
• 192 Kbytes SRAM1 + 64 Kbytes SRAM2 + 384 Kbytes SRAM3
This is 320KB for the STM32L4P5xx and STM32L4Q5xx devices :
• 128 Kbytes SRAM1 + 64 Kbytes SRAM2 + 128 Kbytes SRAM3

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-11-22 17:42:25 +01:00
Francois Ramu
2eb875618b dts: arm: st: Fix memory mapping and size for STM32L47x/8x/9x/ax
Split and fix the total SRAM size for STM32L47x/L48x/L49x/L4Ax
device. Those MCUs with up to 320 Kbytes SRAM:
• 96 Kbytes SRAM1 and 32 Kbyte SRAM2 on STM32L47x/L48x.
• 256 Kbyte SRAM1 and 64 Kbyte SRAM2 on STM32L49x/L4Ax
The sram0 node at address 0x20000000 and sram1 at address 0x10000000

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-11-22 17:42:25 +01:00
Djordje Nedic
918cbc5146 soc: Move up SRAM definitions for stm32h56/7x
This moves the SRAM definitions for STM32H56/7x chips up to the top
level since they are common to all of them.

Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
2024-11-19 09:52:02 -05:00
Fabrice DJIATSA
94a6ed68a1 dts: arm: st: c0: add spi node in dtsi file
- stm32cO11/31 share the same spi peripheral

- include stm32_dma header to be able to configure
spi with dma config macros (STM32_DMA_PERIPH_TX,...)
in dts

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-11-19 09:50:08 -05:00
Djordje Nedic
5c4f7d9e82 soc: Fix missing mem.h include in stm32h562
This caused failed builds due to the missing DT_SIZE_K(x) macro.

Signed-off-by: Djordje Nedic <nedic.djordje2@gmail.com>
2024-11-16 13:37:52 -05:00
Francois Ramu
5c529919ec dts: arm: st: stm32h7 with dual core have flash clock enable bit
Define the "clocks" property, for the flash "st,stm32h7-flash-controller"
node, only for the stm32H7 dual-core devices
which have the RCC bit 8 present in their RCC AHB3 register.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-11-04 13:41:46 -06:00
Mathieu Choplain
27c2c62c64 dts: arm: st: wb0: add ADC node
Add Device Tree node corresponding to STM32WB0 series ADC.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-27 01:08:25 +02:00
Mathieu Choplain
0e1f80500c dts: arm: st: wb0: add DMA and DMAMUX nodes
Add device tree nodes corresponding to DMA and DMAMUX peripherals to
STM32WB0 series DTSI.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-25 14:22:06 +02:00
Mathieu Choplain
d2410f54e0 dts: arm: st: wb0: use STM32_CLOCK everywhere
PR #79683 missed a few nodes introduced while it was under review.
Replace the remaining raw values with STM32_CLOCK in WB0 DTSI files.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-25 14:22:06 +02:00
IBEN EL HADJ MESSAOUD Marwa
d0751148c1 dts: Introduce stm32h7 ethernet compatible
Add stm32h7 ethernet compatible "st,stm32h7-ethernet",
used also for stm32h5.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2024-10-24 22:04:21 +01:00
Hubert Guan
57723cf405 dts: arm: st: Refactor DTSI files to use macro
Replaces raw hex codes by using STM32_CLOCK macro

Signed-off-by: Hubert Guan <hguan@ucsb.edu>
2024-10-24 17:51:42 +02:00
Hubert Guan
79cf84c6f4 dts: arm: st: Add include to stm32mp157
Fixes error where STM32_CLOCK macro isn't recognized.

Signed-off-by: Hubert Guan <hguan@ucsb.edu>
2024-10-24 17:51:42 +02:00
Mathieu Choplain
a6ffdd3e47 dts: arm: st: wb0: add I2C and SPI nodes
Add I2C and SPI Device Tree nodes in SoC DTSI files to allow usage of these
peripherals.

Note that the SPI driver requires no modification to be functional on WB0.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-17 10:49:34 -04:00
Lucas Dietrich
1d9af414d6 dts: stm32l4: Update AES node for stm32l4 series
The stm32l4 devices were previously assigned the generic STM32 AES driver,
which turned out to be incompatible with the stm32l4 series. This commit
updates the nodes to use the new driver specifically designed for this
series.

Add missing node for stm32l4a6, stm32l4q5, stm32l4s5 and stm32l486 socs.

It appears stm32l4p5 and stm32l496 socs do not have the AES accelerator
present, so the nodes are removed from the dts files.

Signed-off-by: Lucas Dietrich <ld.adecy@gmail.com>
2024-10-11 09:28:12 +02:00
Guillaume Gautier
1d639aabe4 dts: arm: st: add default clock source for asynchronous ADC
For STM32L1, U5 and WBA, the ADC always uses an asynchronous clock source,
so we add the default clock source in the clock node.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-10-07 13:40:06 +02:00
Mathieu Choplain
5a0775b1ab dts: bindings: stm32-temp*: align 'avgslope' to datasheet format
Change the STM32 Temperature Sensor bindings to accept the average slope
value in string form instead of integer. With this change, it is possible
to use the raw decimal value found in each MCU's datasheet instead of
needing to scale it (differently depending on series!). This also allows
regrouping the property in a single file to reduce duplication.

Also update all DTSI files affected by this change and the dietemp driver
to accept the property's new format.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-02 10:03:03 +02:00
Mathieu Choplain
0fd095d6d1 dts: st: stm32f100: add correct 'v25' property on die temp sensor
The typical value for V25 is different on the STM32F100 line compared
to other STM32F1 MCUs. Update the DTS property to the correct value.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-02 10:03:03 +02:00
Mathieu Choplain
577c1b2e9e dts: st: stm32f030: add correct 'avgslope' property on die temp sensor
Add the missing 'avgslope' property to the DTSI for STM32F030/STM32F070.

This fixes improper results being returned by the driver: the correct
value for the average slope is 4.3mV/°C (4300 µV/°C), but the binding's
default value of 2.53mV/°C was used instead, since property was missing.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-02 10:03:03 +02:00
Mathieu Choplain
2cfb21b9df dts: st: stm32f2: remove 'ntc' property from die temp sensor
Remove the "Negative Temperature Coefficient" attribute from the STM32F2
die temperature sensor node, as it does not correspond to the hardware.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-10-02 10:03:03 +02:00
Dan Collins
0e43dd23ae soc: st: adds support for stm32u545xx
This adds support for the stm32u545xx SoC, which extends
the stm32u5 family already present in Zephyr.

Signed-off-by: Dan Collins <dan@collinsnz.com>
2024-09-27 10:56:25 +01:00
Fabrice DJIATSA
301111ead4 dts: arm: st: u0: add adc node in dtsi file
all stm32u0 boards have only one and same
adc peripheral.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-27 10:55:56 +01:00
Alexander Kozhinov
0f576b047f copyright: change email
Change my email copyright address since unavailability of old one

Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2024-09-25 04:04:03 -04:00
Fabrice DJIATSA
ea70f82c18 dts: arm: st: u0: add timers nodes in dtsi file
all stm32u0 boards have the same 7 timers peripherals.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-23 10:02:16 +02:00
Thorsten Spätling
106b2013bb dts: adding flexible memory controller (fmc) to H56x, H533
As requested in

https://github.com/zephyrproject-rtos/zephyr/issues/77888

I'm adding the DT basics for the flexible memory controller.

Signed-off-by: Thorsten Spätling <thorsten.spaetling@vierling.de>
2024-09-18 15:29:49 +02:00
Fabrice DJIATSA
eab0e37e68 dts: arm: st: add digi-temp node in dtsi file
add digital temperature node in board.dtsi file

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-17 17:44:39 +01:00
Joakim Andersson
a624fe0f3d boards: Add MCO support for the stm32c0xx family
Add MCO support for the stm32c0xx family.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2024-09-16 20:19:57 +02:00
Joakim Andersson
3b9c34d085 dts: st: Add MCO node to STM32 boards
Add MCO device nodes to the STM32 boards.
The set of supported boards are chosen to replace what is currently
supported in Kconfig.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2024-09-16 20:19:57 +02:00
Joakim Andersson
efe72a3c7a dt-bindings: clock: Add clock sources for stm32f1x/10x for MCO
Add clock sources that can be output by the MCO on the stm32f1x and
stm32f10 connectivity line devices.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2024-09-16 20:19:57 +02:00
Fabrice DJIATSA
e33e997c7d dts: arm: st: u0: add dac node in dtsi file
all stm32u0 boards have only one and same
dac peripheral.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-16 20:19:01 +02:00
Bas van Loon
77779f321d dts: stm32h7: Add missing ITCM memory to stm32h743.dtsi.
The ITCM is available on all STM32H75x/74x couple to the M7 core.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2024-09-13 13:43:24 +02:00
Mathieu Choplain
6aaa2f8be0 dts: arm: st: wb0: add DTSI for STM32WB0 series
Adds Device Tree include files for all MCUs in the STM32WB0 series.
These DTSI files only contain the supported peripherals for now.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-09-12 10:03:37 +02:00
Fabrice DJIATSA
a9ccef672a dts: arm: st: u0: add i2c nodes in dtsi files
we have four i2C peripherals .
- three shared between stm32u031/73/83
- One between stm32u073/83

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-11 13:59:54 -04:00
Jeppe Odgaard
40cae2d281 dts: arm: st: stm32h5: fix spi 1-3 clocks
The STM32 SPI driver, `spi_ll_stm32.c`, reads the clock frequency via
`clock_control_get_rate()`. The first `clocks` index is used as subsystem
argument if there is no second index, but this is not the source clock for
SPI 1, 2, and 3.
This causes the prescaler value calculation to be incorrect, resulting in a
frequency potentially above the `spi-max-frequency` value.

Add clock source for SPI instances 1, 2 and 3, that matches the default
clock configuration register reset value, which resolves the issue.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-09-05 16:57:32 -04:00
Fabrice DJIATSA
52cb8c07d1 dts: arm: st: h7: remove unnecessary inclusions
since stm32h7.dtsi is already include in st/h7/stm32h743.dtsi
we don't need to include here again.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-05 12:50:26 -05:00
Fabrice DJIATSA
af7a690743 dts: arm: st: u0: add stm32u073 dtsi files
provide support for the STM32U073 series


Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2024-09-05 12:25:43 +01:00
Tomi Fontanilles
17545c17a5 dts: arm: st: h7: fix flash on M4 board targets
The flash controller is nowadays supported on the M4 core.
Add the bank2-flash-size property to the board definitions as required
by the STM32 H7 flash driver.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-09-04 19:10:19 -04:00