Commit graph

77 commits

Author SHA1 Message Date
Benedikt Schmidt 4ba3aedfed dts: arm: st: add SMBus devices
Add SMBus devices to all SoCs which have either
a st,stm32-i2c-v1 or st,stm32-i2c-v2.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-12-12 10:57:41 +01:00
Wilfried Chauveau 5b3d4598a7 dts: arm: Blanket remove all usages of arm,num-mpu-regions
This removes all occurrences of arm,num-mpu-regions relying on the value
reported by the register instead.
A user may still define this property if they need to have a compile time
definition for it.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2023-12-01 10:48:00 +00:00
Guillaume Gautier 6d6d7b5607 dts: arm: st: add st,adc-sequencer properties to all stm32 adc
Add st,adc-sequencer to all STM32 ADC instances.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier fa1f33316d dts: arm: st: remove sensor channels from stm32 adc nodes
Remove temp-, vref- and vbat-channel from STM32 ADC nodes as it is not
used in the driver anymore.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 09:21:34 +02:00
Gerard Marull-Paretas e6b925ac82 dts: arm: st: move cpu-power-states to SoC dts files
The `cpu-power-states` property needs to be defined at SoC dts files,
since it's a property of the SoC, not board.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-07-26 16:49:00 +02:00
Gerard Marull-Paretas e4c43e4cc9 pm: power-states node needs to be a child of cpus
This again aligns with Linux.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-25 09:16:14 +02:00
Kenneth J. Miller ac7f2dad4e dts: arm: st: Add vbat node to supported STM32 SoCs
Add vbat node to DTS definitions of supported SoCs.
Extend/fix ADC channel properties where missing.

Signed-off-by: Kenneth J. Miller <ken@miller.ec>
2023-05-23 08:54:20 +02:00
Kenneth J. Miller 464fa8bb3b dts: arm: st: Add vref node to supported STM32 SoCs
Add new vref node to the DTS definitions of supported SoCs.
Extend DTS ADC channel properties where missing.

Signed-off-by: Kenneth J. Miller <ken@miller.ec>
2023-05-23 08:54:20 +02:00
Filip Kokosinski 093f34927b dts/arm/st: add SoC compatible strings
This commit adds compatible strings to the SoC nodes from the ST family.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-05-12 15:29:00 +02:00
Guillaume Gautier aa2933b42f dts: arm: st: add sampling time properties for stm32 adc
Add the new sampling time properties to all STM32 ADC dts instances.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-05-11 10:25:54 +00:00
Guillaume Gautier 5c68b127d0 dts: arm: st: add adc resolutions property in all stm32 dtsi
Add new ADC resolution property in all STM32 dtsi files, for all ADC
instances.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-04-26 12:53:03 +02:00
Francois Ramu 05d963e231 dts: arm: st: stm32 timer node has counter capability for each timer
Add the counter compatibility for each timer of the stm32 mcus.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-04-24 13:32:29 +02:00
Marc Desvaux 7e11533657 dts: arm: st: Introduce a st,stm32g0-exti compatible
Introduce a st,stm32g0-exti compatible
 added to the matching targets:
C0/G0/U5/L5/MP1:

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-03-21 09:37:30 +01:00
Marc Desvaux 08720b0d2a dts: arm: st: nodes moved from <boards>.dts to <soc>.dtsi
stm32l5x/u5x/g4x/l4x/g0x/wlx/wbx power-states node moved
from <boards>.dts to <soc>.dtsi

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-03-14 10:50:09 +01:00
Guillaume Gautier 4635af398b dts: arm: st: Remove obsolete properties for all STM32 ADC from dts
In all STM32 dts, remove all reference to the following properties:
- has-temp-channel
- has-vref-channel
- has-vbat-channel

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-01-25 15:00:21 +00:00
Guillaume Gautier 009fcb9305 dts: arm: st: Add ADC temperature and Vref channels for all STM32
Now that we have a binding to define the channel number for temperature
and Vref measurement, update all dtsi to include the information.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-01-25 15:00:21 +00:00
Francois Ramu 0470396e0c dts: arm: stm32 devices include the dma definitions for driver
Include the bindings macro to help configuring the dma channels
of a stm32 peripheral

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-01-23 09:15:21 -06:00
Francois Ramu 2b7dc694e5 dts: arm: stm32 devices with adc node have vref-mv default value
Remove the vref-mv = <3300>; property for all the ADC node of
the stm32 devices as it is set by default to 3300mV by the
dts/adc/st,stm32-adc.yaml
(Except for the stm32f303 vref is 3000mV)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-01-20 14:35:17 +01:00
Erwan Gouriou 681cf6d715 dts: stm32: Configure SDMMC 48MHz domain clock
Provide SDMMC domain clock, when required (because it is common)use
the same as the one selected by USB and RNG.
Otherwise, when available use HSI48, otherwise use the most handy (MSI,
sysclk ...).
PLLSAI is not used as not implemented for now.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-19 20:58:15 -08:00
Erwan Gouriou ff231fa20a dts: stm32: Populate new properties for exti nodes
Populate new properties required for exti binding.
This only adds gpio related bits for now.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-19 17:20:48 +00:00
Armin Brauns 149ab4f956 dts: arm: st: add reset properties to sdmmc nodes
This allows the sdmmc driver to reset the peripheral during initialisation.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-01-17 11:27:16 +01:00
Erwan Gouriou ed28c26b8a dts: stm32: Describe default domain clock configuration for usb devices
Describe USB default domain clock on all USB devices.
When available select HSI48.
On some series, a default clock my be set by default at start up.
On those series, in order to be able to compute USB clock at runtime,
clock_control driver needs to be aware of configuration and then this
default config has to be described explicitly too.

Default clocks are not enabled though. It is up to board configuration
to provide correct clock configuration (and we should not enabled by
default clocks that would not be required by board configuration).

Note: This change doesn't consider STM32F1/F3 devices, which
have a specific USB clock configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-16 11:23:55 +00:00
Patryk Duda 4555c1a695 dts: Introduce 'resets' property to STM32 UART nodes
We are about to add UART reset during driver initialization. First step
is to add 'resets' property, which provides information about reset
register offset and bit.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2022-12-09 09:43:36 -08:00
Patryk Duda 015a21032e dts: Introduce 'resets' property for STM32 timer nodes
We are about to add timer reset during driver initialization. First step
is to add 'resets' property, which provides information about reset
register offset and bit.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2022-12-09 09:43:36 -08:00
Patryk Duda c79cce57b3 dts: arm: st: g4/l4/l5: Add reset controller node
Reset controller node is necessary to enable support for resetting
peripherials using RCC.

This patch also includes RCC reset registers offsets used by STM32_RESET
macro.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2022-12-09 09:43:36 -08:00
Francois Ramu 9512459103 dts: arm: stm32 devices with hsi48 clock
Add the HSI48 clock to the stm32 devices that have this
clock signal.
Within a stm32 family, only few might have the
RCC_HSI48_SUPPORT.
STM32WB has a CLK48 mux.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Gerson Fernando Budke 8921ba1d46 dts: l5: stm32l5: Add rtc node
Add non-secure rtc devicetree node.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2022-11-29 13:40:27 +00:00
Guillaume Gautier 59d6b94a40 dts: arm: st: Add clock names for all STM32 OSPI instances in dts
For all STM32 featuring octospi, clock-names are added to use them
instead of indexing for configuring the clock.
For U5 series, a third clock is added for the OSPI manager.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-11-10 11:28:18 +00:00
Sam Hurst 1db9a87c85 dts: arm: st: include <dt-bindings/adc/adc.h>
Provide macros used for ADC channel configuration from a
devicetree node.

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2022-10-22 18:38:35 -04:00
Gerson Fernando Budke 3fcf46b2ab dts: arm: stm32l5: Add sdmmc1 node
Add SD/MMC slot devicetree configuration.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2022-09-09 09:56:51 +00:00
TLIG Dhaou aab8d1bea2 dts: arm: st: dietemp node generates following warning at compilation:
zephyr.dts:482.21-491.5: Warning (simple_bus_reg): /soc/dietemp: missing
or empty reg/ranges property.
To fix this bug, just move dietemp node outside of soc{}.


Signed-off-by: TLIG Dhaou <dhaou.tlig-ext@st.com>
2022-09-01 10:40:45 +00:00
TLIG Dhaou 93b4fcc611 dts: arm: st: Add adc support of the temperature sensor on stm32
Add the support of the temperature sensor in the ADC device-tree node of
each stm32 where it is available.
- Check all the ADC of the stm32 mcus where the temp and VrefInt monitoring
is available (based on the Ref Man).
- Check that has-temp-channel; and has-vref-channel; in the corresponding
ADC node of the DTS of each stm32 mcu is correctly set.
- Verify the VTEMP/ VREFINT activation in the in adc_stm32.c for example).
-Add the die-temp node (based on the ref man/ datasheet).

Signed-off-by: TLIG Dhaou <dhaou.tlig-ext@st.com>
2022-08-24 11:35:45 +02:00
Francois Ramu 49bdd2b74d dts: arm: stm32 entropy with nist configuration for the RNG
The nist-config and health-test-magic properties are added
to the dtsi file, in the RNG node for the stm32 devices
that supports the RNG entropy source validation.
The health-test-magic nb exists on stm32l552 stm32h723/7a3.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-08-22 10:22:20 +00:00
Kumar Gala 6121df5019 dts: arm: st: Remove label property from devicetrees
Label properties are not required.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-27 23:22:35 +02:00
Francois Ramu 6cc0297b4b dts: arm: stm32l5 octospi clock source
The definition of the octospi clock source is given
by the DTS node. The default value selects the sysclk
(not pclk) for the alternate clock control.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-07-04 15:18:50 +02:00
Aurelien Jarno f00ddfeb76 drivers: sensor: stm32_temp: drop ts-cal-offset property
According to the formulas found in the reference manuals of the SoC
families using the "st,stm32-temp-cal" version of the temperature sensor
(i.e. G0, G4, H7, L0, L1, L4, L5, U5, WB, WL), the temperature is
computed with the following formula:

T = ((TS_CAL2_TEMP - TS_CAL1_TEMP) / (TS_CAL2 - TS_CAL1))
    * (TS_DATA - TS_CAL1) + TS_CAL1_TEMP

What is called ts-cal-offset in the stm32_temp driver is therefore the
same value as TS_CAL1_TEMP1. Use it directly instead of defining another
property.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-07-01 11:38:02 +02:00
Francois Ramu 5865d13117 dts: arm: stm32l5 Invalid wwdg interrupt priority
Set the priority of the wwdg instance to 6
else a build error happens :
static assertion failed: "Invalid interrupt priority.
Values must not exceed IRQ_PRIO_LOWEST"

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:55:16 -07:00
Francois Ramu dcd13c07fc dts: arm: stm32l5 as a octospi node
Add the octospi node to the stm32l5 family

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-12 14:56:25 -05:00
Gerard Marull-Paretas 0d85931315 dts: migrate includes to <zephyr/...>
In order to bring consistency in-tree, migrate all dts code to the new
prefix <zephyr/...>. Note that the conversion has been scripted, refer
to zephyrproject-rtos#45388 for more details.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-06 19:54:54 +02:00
Benedikt Schmidt 86469b1d0b drivers: clock_control: Make LSE driving configurable
Make the LSE driving capability configurable for the STM32 series.
Fixes #44737.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2022-04-29 16:11:34 +02:00
Erwan Gouriou b636e4c799 drivers/clock_control: stm32 common: Use new bus clock bindings
Make use of new bus clocks bindings and make subsequent code
simplifications.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Erwan Gouriou 693ba04796 dts: stm32: Add rcc prop undershoot-prevention
On some parts,  it could be required to use steps before applying
highest frequencies.
This was previously done as part of LL_PLL_ConfigSystemClock_FOO
utility functions which are no more used.
Use device tree to mention when this is required and implement it
in stm32_clock_control_init().

Additionally, fix the calls tp LL_RCC_SetAHBPrescaler, which require
use of ahb_prescaler helper.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Gerard Marull-Paretas 8b1b10ddbd dts: arm: st: include <dt-bindings/pwm/stm32_pwm.h>
STM32 supports now custom PWM flags, include them by default as done for
the standard flags.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-04-07 09:35:16 +02:00
Benedikt Schmidt 0907e35bef dts: arm: stm32: introduce ADC properties for temp and vref channel
Introduce ADC properties which indicated if the ADC instances have
dedicated channels for the internal temperature sensor or voltage
reference.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2022-03-15 10:50:52 +01:00
Wouter Cappelle c3ca3aa27d sensors: STM32: Add support for L5 die temp sensor
This PR adds the different handling of temperature sensor for the
STM32L5 soc. In this soc, there are some calibration settings which
need to be applied for temperature conversion.

Signed-off-by: Wouter Cappelle <wouter.cappelle@crodeon.com>
2022-01-13 10:34:10 +01:00
Alexandre Bourdiol a2035cd2f4 dts: arm: st: stm32: add health configuration support
Some STM32 series need to configure health test register
for proper RNG behavior.
In addition, some also require to write a Magic number
before writing the configuration.
Note: on stm32h7 not all product lines support this configuration.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-12-21 17:09:02 +01:00
Abel Radenac 024fd49e7b dts: arm: stm32l5.dtsi: declare i2c2 peripheral
The peripheral i2c2 declaration was missing in dts/arm/st/l5/stm32l5.dtsi.

Signed-off-by: Abel Radenac <a.radenac@lacroix-sofrel.com>
2021-12-20 17:42:53 +01:00
Sam Hurst d26979b11a dts: arm: stm32l5: Add UCPD1
This commit adds UCPD1 dts bindings for stm32l5xx

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2021-11-24 14:21:04 -05:00
Alexandre Bourdiol 7f3423ae48 dts: arm: st: stm32: move "st,prescaler" to timers instead of pwm
Prescaler was misplaced in pwm binding, instead of timers binding.
For example, TIM6/TIM7 doesn't have PWM capability,
but have a prescaler.
This change also prepares the introduction of timer based counter
(which requires prescaler at timer level)

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-11-16 09:55:30 -06:00
Luc Viala d1921cd979 usb: stm32l5: add usb_fs definition to devicetree
Add USB_FS device definition to devicetree of all STM32L5 SoC family

Signed-off-by: Luc Viala <luc.viala19@gmail.com>
2021-10-13 06:15:58 -04:00