Commit graph

64 commits

Author SHA1 Message Date
Benedikt Spranger
b5061233bb boards: arm: nucleo: Add leds label
The nucleo evaluation boards can be enhanced with shields for additional
functionality. Flat device tree overlays can be used to configure and
support these shields. Regrettably leds can not be simply added due to
a missing label. Tag leds with a label.

Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de>
Reviewed-by: Vasilij Strassheim <v.strassheim@linutronix.de>
2023-08-21 15:11:36 +02:00
Fabio Baltieri
57e0da4d80 boards: add zephyr,code properties to the various gpio-keys nodes
Add gpio-keys codes for all boards. These are mostly INPUT_KEY_0 and so
on but I've used some more specific ones where it was obvious that
there's something else on the boards.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-07 11:26:26 +02:00
Marc Desvaux
e86fc5fb75 boards: arm: nucleo_f746zg: add i2c2
Adds i2c2 on nucleo_f746zg to use the i2c_target_api test case
to enables the board.

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-06-27 16:38:43 +00:00
Kenneth J. Miller
f55ffb5f7b boards: arm: Add vbat node and alias for STM32 SoCs
Add enabled vbat node for all boards of supported STM32 SoC series which
have the required adc node enabled.

Add volt-sensor alias pointing to said vref node.

Signed-off-by: Kenneth J. Miller <ken@miller.ec>
2023-05-23 08:54:20 +02:00
Kenneth J. Miller
4dc16527fd boards: arm: Add vref node and alias for STM32 SoCs
Add enabled vref node for all boards of supported STM32 SoC series which
have the required adc node enabled.

Add volt-sensor alias pointing to said vref node.

Signed-off-by: Kenneth J. Miller <ken@miller.ec>
2023-05-23 08:54:20 +02:00
Guillaume Gautier
fee0c82b24 boards: arm: add support for die_temp_polling sample for stm32 boards
Add die_temp0 alias for all the STM32 boards that already enable the
temperature sensor so that the die_temp_polling samples can be used.
Also enable die_temp for two boards that are supported by the
stm32_temp_sensor sample.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-04-13 09:15:27 -05:00
Francois Ramu
1798ecbd77 boards: arm: nucleo_f746zg change the sysclock for can timings
Because of CAN bus clock, some bitrate values might not not give
a valid timing calculation depending on the CAN bus freq.
The sysclock is changed to the highest common value between
USB 48MHz and CAN.
The result is a sysclock of 192MHz. Then is USB at 48MHz
and the CAN bus freq is the APB1 (PCLK1) at 48MHz

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-02-11 07:57:16 +09:00
Erwan Gouriou
9151af224a boards: nucleo f7xx: Increase core speed
STM32F7 allow to run at significantly higher speed that the one configured
on these boards.
Configure clocks to make benefit of full potential.
Additionally, configure PLL_Q output to provide USB compatible 48MHz freq.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-01-16 11:23:55 +00:00
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
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
Nazar Kazakov
9713f0d47c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-14 20:22:24 -04:00
Francois Ramu
637c659694 boards: stm32 adding dac features on nucleo boards nucleo_f746zg
It enables he DAC peripheral on the nucleo_f746zg target
boards from STMicroelectronics

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-10 13:30:06 -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
ad4e5d85fe boards: arm: stm32: add pinctrl state name for USB peripheral
Add the pinctrl state name (default) for the USB peripherals.

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
ed5ea6022a boards: arm: stm32: add pinctrl state name for ethernet peripheral
Add the pinctrl state name (default) for the ethernet peripherals.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-26 11:36:42 +01:00
Erwan Gouriou
da3fb8faa5 boards: arm: stm32: add pinctrl state name for CAN 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
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
Johann Fischer
e4f894788a boards: add zephyr_udc0 nodelabel to all boards with USB support
USB devicetree nodes in Zephyr have different names,
mostly derived from the designations in data sheets.
Add zephyr_udc0 (USB device controller) nodelabel to
specific USB node to allow generic USB sample to be build.

Follow up on commit b4242a8 ("boards: add USB node aliases")

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-19 16:56:54 +02:00
Alexandre Bourdiol
18f3ac7308 boards: arm: nucleo_f746zg: full Arduino SPI support
Full Arduino SPI support for nucleo_f746zg

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-06-29 11:32:15 -04:00
Erwan Gouriou
0d320b3d6b boards: stm32: Update pwm nodes after change of default "st,prescaler"
Since "st,prescaler" default value is now 0,
set the expected application value on board side.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-06-16 10:41:01 +02:00
Erwan Gouriou
b095d6ce76 boards: nucleo_f746zg: Use dts for clocks configuration
Convert board to use of device tree for clocks configuration.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-04-29 16:41:26 +02:00
Gerard Marull-Paretas
988b61f2e8 boards: arm: nucleo_f746zg: enable backup SRAM
Enable backup SRAM DT node and update documentation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-02-15 08:04:24 -05:00
Erwan Gouriou
b389d1940e tests/drivers/dma: Enable tests on nucleo_f746zg and disco_l475_iot1
This will enable dma device testing on these platforms in ST CI.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-04 12:35:04 -05: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
199cf5668b boards: stm32: Move USB pins to device tree configuration
Move STM32 based board USB pin configuration to device tree.

Exceptions:
* olimex_stm32_h407: Node not enabled and not documented.
Signal added in disabled node.
* L0/G4 based boards as signals are not available yet.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-11-02 09:17:09 -06:00
Gerard Marull-Paretas
fc9f9059b5 boards: arm: move ethernet pinmux to DT pinctrl on all STM32 boards
Move Ethernet pinmux settings to DT pinctrl on all boards based on
STM32.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-10-30 15:54:13 +01: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
Kumar Gala
70015cfe57 boards: arm: st: Update dts for CAN pinmux
Add pinctrl-0 property for CAN nodes and remove pinmux.c.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Martin Jäger <martin@libre.solar>
2020-10-13 13:13:08 +02:00
Jeremy LOCHE
3beceebee8 boards: nucleo_f746zg: configure serial pins from DT
usart2, usart3, usart6 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
00036e25a7 boards: arm: nucleo_f746zg: use DT for PWM pinmux configuration
Use the new DT facilities to configure PWM pinmux on NUCLEO-F746ZG
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
Erwan Gouriou
e8f1c17e79 boards: stm32: Enable ethernet devices through device tree
Update boards that use to declare ethernet support to enable
matching ethernet node.
Similarly to other devices, use dts API to control ethernet pin
settings.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-07-24 12:03:33 +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
Kumar Gala
3f236f2183 can: dts: Convert can-primary alias to zephyr,can-primary chosen prop
Convert CAN to use a chosen node property that is similar to how we
handle zephyr,entroy or zephyr,flash-controller as the means to select a
specific peripheral instance utilized by a subsystem.

Replace references of the form:

alias {
	can-primary = &can1;
};

with:

chosen {
	zephyr,can-primary = &can1;
};

Replace various macro/define references with either
DT_CHOSEN(zephyr_can_primary) or replace DT_ALIAS_CAN_PRIMARY_LABEL
with DT_CHOSEN_ZEPHYR_CAN_PRIMARY_LABEL.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-04-29 14:27:31 -05:00
Erwan Gouriou
012b651e5d boards: stm32: Enable entropy device in device tree
Enable entropy device on 3 additional targets to extend
related driver testing in CI.


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-04-06 09:14:33 -05:00
Erwan Gouriou
fc52f097b8 boards: stm32: Fix buttons and leds configuration
On some stm32 based boards buttons and leds configuration
was wrong. Fix that.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-02-05 12:00:36 +01: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
Alexander Wachter
2f44990e9b can: Introduce can-primary alias
This commit introduces the can-primary alias to identify
the primary CAN interface.
This alias is used for all samples and tests, so they don't
need to probe the right interface.

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2020-01-27 10:25:00 -06:00
Erwan Gouriou
4dc303b99b dts: stm32: Remove pinctrl definitions
dts pinctrl definitions were pushed in tree without the code
available to deal with it. They have been kept waiting for the
code, but this is taking much more time than initially thought.

So in current zephyr tree, for all STM32 boards, we have pinmux.c
file which is used to configure pins and these files that are
basically no-op. This situation is creating a lot of confusion
especially to new comers, and create useless maintenance effort.

Remove these files for now.
When zephyr will ready to use them, this commit could be reverted.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-11-06 18:26:04 +01:00
Erwan Gouriou
628a0336bf boards: stm32: Set arduino gpio connector on nucleo 144 pins boards
Apply same scheme for all nucleo 144 pins boards:
-provide a separate arduino connector dtsi file
-provide complete gpio map
-update board.yaml vs arduino support (i2c, spi and gpio)

Done using following references:
http://www.st.com/resource/en/user_manual/dm00105823.pdf
http://www.st.com/resource/en/user_manual/dm00368330.pdf

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-10-09 18:04:28 -05:00
Alexander Wachter
63157529b3 boards: arm: Activate DTCM for STM32F7 boards with Ethernet
Activate the DTCM for STM32F7 board that have Ethernet.
This is needed because the Ethernet driver puts the DMA buffer
to this section.

Signed-off-by: Alexander Wachter <alexander.wachter@student.tugraz.at>
2019-07-19 10:05:46 +02:00