Commit graph

38 commits

Author SHA1 Message Date
Guillaume Gautier
dbbfff5002 boards: arm: Add RTC clock source for STM32 boards dts
For every board using an STM32, add the RTC clock source in its dts

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-11-10 11:27:49 +00:00
Thomas Stranger
9d806b1bb5 boards: nucleo_g474re: add dts domain clock selection for fdcan
Domain clock selection is going to be moved from Kconfig
to devicetree, therefore make sure the same default clock
is selected on this board.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-09-05 14:44:45 +00:00
TLIG Dhaou
d97b51d248 boards: arm: Enable the die-temp capabilities of ADC
-Enable the die-temp capabilities of ADC in each dts file of stm32
 boards where it is available.
-Execute the testcase running the samples/sensor/stm32_temp_sensor on each
 available target board.

Signed-off-by: TLIG Dhaou <dhaou.tlig-ext@st.com>
2022-08-24 11:35:45 +02:00
Benjamin Björnsson
ab4a926c27 boards: Add alias to boards with watchdog enabled
Add alias to boards with watchdog enabled to facilitate the
move of samples/drivers/watchdog to use DT_ALIAS.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-07-19 09:28:43 -05:00
Henrik Brix Andersen
1044d29aeb boards: arm: nucleo_g474re: increase size of storage partition
Increase the size of the flash storage partition from 2KB (one page) to
4KB (two pages) in order to support NVS.

Fixes: #44977

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-04-22 10:09:10 -05:00
Gerard Marull-Paretas
5a0b12c230 boards: arm: stm32: set LEDs period to 20ms
Most LEDs had 0 or 4 nanoseconds set as a period, a value that doesn't
make sense for a PWM signal driving an LED. A period of 20ms (50Hz) is a
frequently used value as it is above the flicker fusion threshold. All
STM32 based boards have been updated.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-04-06 07:58:16 -07:00
Erwan Gouriou
2b3f728173 boards: Remove superfluous comments in boards.dts
If more information is required on anything, one should look at
documentation, no point to add a specific comment about it.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-22 12:34:22 +01:00
Francois Ramu
ae13f45c27 boards: stm32 adding dac features on nucleo boards nucleo_g474re
It enables he DAC peripheral on the nucleo_g474re target
boards from STMicroelectronics

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-10 13:30:06 -05:00
Francois Ramu
08e3ce0ebc boards: arm: stm32l073, stm32f091 stm32g474 nucleo board has pwm feature
This adds the pwm feature to the nucleo_f091rc and nucleo_l073rz
and change the pin for nucleo_g474re from STMicroelectronics.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-10 13:25:54 -05:00
Henrik Brix Andersen
da2a0befbb drivers: can: unify CAN controller configuration in devicetree
Unify the CAN controller configuration done in Zephyr devicetrees:

- Specify a resynchronization jump width (sjw) of 1 time quanta in SoC
  devicetrees as this is the most common. Boards can override this if
  needed.
- Specify a sample point of 87.5% as recommended by CAN in Automation
  (CiA) in SoC devicetrees. Boards can override this if needed.
- Specify a bus speed of 125 kbits/second (arbitration phase) and 1
  Mbits/second (CAN-FD data phase) in board devicetrees as this is what
  is used by all Zephyr CAN samples.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-02-24 13:48:55 -08:00
Erwan Gouriou
1d14517ede boards: arm: stm32: add pinctrl state name for PWM peripheral
Add the pinctrl state name (default) for the PWM peripherals.
Changes performed based on the script proposed in
"boards: arm: stm32: add pinctrl state name for UART peripheral"

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Erwan Gouriou
1c66ccdac3 boards: arm: stm32: add pinctrl state name for SPI peripheral
Add the pinctrl state name (default) for the CAN peripherals.
Changes performed based on the script proposed in
"boards: arm: stm32: add pinctrl state name for UART peripheral"

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Erwan Gouriou
dfbaa4149d boards: arm: stm32: add pinctrl state name for I2C peripheral
Add the pinctrl state name (default) for the I2C peripherals.
Changes performed based on the script proposed in
"boards: arm: stm32: add pinctrl state name for UART peripheral"

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Erwan Gouriou
274e83409d boards: arm: stm32: add pinctrl state name for FDCAN peripheral
Add the pinctrl state name (default) for the FDCAN peripherals.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Erwan Gouriou
36204c3c80 boards: arm: stm32: add pinctrl state name for ADC peripheral
Add the pinctrl state name (default) for the ADC peripherals.
Changes performed based on the script proposed in
"boards: arm: stm32: add pinctrl state name for UART peripheral"

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Gerard Marull-Paretas
4b9c3d7134 boards: arm: stm32: add pinctrl state name for UART peripheral
Add the pinctrl state name (default) for the UART/USART/LPUART
peripherals. Changes performed using the following Python script run
from the repository root:

```
from pathlib import Path
import re

for fpath in Path(".").glob("boards/arm/**/*.dts"):
    lines = open(fpath).readlines()

    is_stm32 = False
    for line in lines:
        if "stm32" in line:
            is_stm32 = True
            break

    if not is_stm32:
        continue

    with open(fpath, "w") as f:
        for line in lines:
            f.write(line)

            m = re.match(r"(\s+)pinctrl-0.*us?art.*", line)
            if m:
                f.write(m.group(1) + "pinctrl-names = \"default\";\n")
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-11-26 11:36:42 +01:00
Alexandre Bourdiol
877379fba4 boards: arm: 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
Henrik Brix Andersen
c817a09b0a canbus: rename zephyr,can-primary chosen property to zephyr,canbus
Rename the Zephyr chosen property for specifying the default CAN bus
controller from "zephyr,can-primary" to "zephyr,canbus".

The "zephyr,can-primary" property name was selected in antipation of
adding support for redundant CAN networks, which we have yet to
add. Meanwhile, the "primary" term causes confusion for non-redundant
CAN bus configurations (and the "can" term doesn't match the name of the
Zephyr CAN bus subsystem).

The CAN in Automation (CiA) 302-6, which deals with CANopen network
redundancy, uses the terms "default interface" and "redundant
interface". If/when we add support for redundant CAN networks, the
"zephyr,canbus" chosen property can be supplemented with a
"zephyr,canbus-redundant" chosen property.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-11-07 09:05:39 -05:00
Thomas Stranger
405c6977bf boards: nucleo_g0b1 add timers, move spi2, nucleo_g474, add timers
nucleo_g0b1re:
removes spi2 from arduino header pins to ST morpho pins in order to
free pins for other peripherals.
Adds tim15 with pwm on pb14, changes tim3 pwm to pb4.
As a result timers are available on arduino pins D5 and D6.

nucleo g474re:
Adds timer 3 with pwm  pin on pb4 and changes tim2 pwm pin
from pa5 to pb10.
As a result timers are available on arduino pins D5 and D6.

Use default prescaler (==1) for 32-bit timer and
10.001 for 16-bit timers as these are commonly used.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-08-13 07:33:09 -04:00
Alexandre Bourdiol
cab576fb82 boards: arm: nucleo_g474re: fix Arduino SPI support
Fix Arduino SPI support for nucleo_g474re.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-06-29 11:32:15 -04:00
Alexander Wachter
3e9d87f68d board: nucleo_g474re: Add CAN support.
This commit adds CAN support to the nucleo_g474re board.

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2021-05-07 12:36:10 -05:00
Alexandre Bourdiol
8737587f2c boards: nucleo_g474re: Use dts for clocks configuration
Convert board to use of device tree for clocks configuration.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-05-03 19:58:06 -04:00
Gerard Marull-Paretas
394c7d0bef boards: arm: update pwm signals on all STM32 based boards
Update PWM pinctrl signal names of all non-F1 STM32 boards.
`pwm` variant is not available anymore on non-F1 series.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-11-09 16:04:24 -06:00
Erwan Gouriou
afd899ee6f boards: nucleo_g4*: Remove USB support
There is no user USB port available on these boards.
Remove support and remove files when no more needed.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-11-04 12:21:30 -06:00
Erwan Gouriou
0edf368baa boards: stm32: Move STM32 boards SPI pin configuration to device tree
Move SPI pin configuration to device tree for all STM32 based
boards.
This should not bring any change in pin configuration.

Though, some adjuments have been made on following boards for
coherency:

* b_l4s5i_iot01a1: Removed "very-high-speed" on SPI3 MOSI pin.
Tested with no impact.
* black_f407zg_pro: SPI1 pins configured but not SPI1 node.
Removed pin config as not documented neither.
* sensortile_box: SPI2 pins configured but not SPI2 node.
Removed pin config as not documented neither.
* nucleo_g431rb/nucleo_g474re/nucleo_l476rg/nucleo_l4r5zi:
SPI2 and SPI3 pins were configured but missing.
Added since they were documented.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-21 06:29:48 -05:00
Erwan Gouriou
cb22d8ece7 boards: stm32: Convert boards I2C pins to devicetree
Get STM32 boards configuring I2C using device tree and
remove configuration from pinmux.c

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-14 11:14:15 -05:00
Martin Jäger
cd908d9085 boards: arm: stm32: use DT for ADC pinmux
Use the new DT facilities to configure ADC pinmux on all boards with
STM32 MCUs currently supporting the ADC.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-10-14 07:15:12 -05:00
Jeremy LOCHE
ba910f8920 boards: nucleo_g474re: configure serial pins from DT
usart1, lpuart1 pinmuxes are now configured from DT pinctrl.

Signed-off-by: Jeremy LOCHE <lochejeremy@gmail.com>
2020-10-08 05:05:20 -05:00
Gerard Marull-Paretas
8b764ceb58 boards: arm: nucleo_g474re: use DT for PWM pinmux configuration
Use the new DT facilities to configure PWM pinmux on NUCLEO-G474RE
board.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-10-07 12:27:37 -05:00
Erwan Gouriou
8efd1d7767 boards/arm: Remove soc compatible from board compatible
There's no reason to add soc compatible at this level.


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-09-30 09:54:41 -05:00
Alexandre Bourdiol
99396031b8 boards: arm: nucleo_g474re add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
2f6beb31d4 boards: arm: nucleo_g474re: add device tree rng okay
Tested with tests/drivers/entropy

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-03 13:52:04 +02:00
Eug Krashtan
a6ea1cffc9 boards: dts: Fix broken link in comment
Update broken hyperlink in comment to current location

Signed-off-by: Eug Krashtan <eug.krashtan@gmail.com>
2020-07-31 09:00:32 -05:00
Gerard Marull-Paretas
76f0d72e5d drivers: pwm: stm32: add support for polarity
Add support for the polarity flag in the STM32 PWM driver.

STM32 boards using PWM have been updated accordingly.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-06-19 15:18:50 +02:00
Gerard Marull-Paretas
c6b1375400 drivers: pwm: stm32: remove remaining Kconfig instances
Following other drivers, Kconfig based instances are now entirely
removed. In order to do this change, PWM nodes in board DT files have
been given a pwm{N} label so that both:

- DT API checks such as #if DT_HAS_NODE(DT_NODELABEL(pwmN)) can be
  used (N being PWM instance number).
- DT references can be written as pwms = <&pwmN x y>; instead of
  pwms = <&{/soc/timers@XXXXXXXX/pwm} x y>;

This approach is also used on the Linux Kernel.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-05-05 10:52:51 -05:00
Francois Ramu
dac1ea6c86 boards: stm32: g474 nucleo board has no hw pins for usart2
Remove the USART 2 definition from the nucleo_g474re board
as it could cause a pin conflict on LPUART1 TX pin (PA2).
The USART2 is not present on this nucleo hardware and then
the g474re board definition is aligned with the nucleo_g431rb.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-05-04 16:59:15 -05:00
Erwan Gouriou
31ed7e931b boards: stm32: Update board definition using new GPIO api
Move GPIO_ACTIVE_INT_HIGH/LOW to GPIO_ACTIVE_HIGH/LOW.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-02-05 12:00:36 +01:00
Francois Ramu
dbc1d6370f boards: stm32: add nucleo board stm32g474re
This patch adds the nucleo_g474re board
         based on the stm32g474 from STMicroelectronics.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-01-30 08:30:15 -06:00