Commit Graph

209 Commits

Author SHA1 Message Date
Erwan Gouriou d098c6005a dts: stm32: Fix erroneous RAM sizes when CCM is available
On various stm32 soc packages CCM is available and SRAM size
mentionned in datasheet include CCM.
Though, actual SRAM size defined in dtsi files should not
include CCM sizes.
Fix this on impacted dtsi files.

Fixes #14779

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-03-25 22:31:08 -04:00
Erwan Gouriou ad816f7453 dts/st: stm32f4: uart4 is not available on whole series
uart4 is not available on whole stm32f4 series (not on stm32f401
for instance), remove from stm32f4.dtsi
It is actually correctly defined in f405, f413 but missing in f446,
so add it in there.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-03-15 06:39:37 -05:00
Erwan Gouriou 9e713ae77d dts/arm/st: stm32f3: Provide erase and write block size
On currently supported stm32f3 chips,
erase-block-size = 2048
write-block-size = 2
Set these property in stm32f3 series root dtsi file.

Fixes #9686

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-19 07:45:50 -06:00
Erwan Gouriou 2987ba5a38 boards: nucleo_f091rc: Add nvs support
Add nvs support to nucleo_f091rc board. This requires to
add erase-block-size property to stm32f0.dtsi.
Storage partition is set to 4kb at the end of the flash.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-12 20:16:22 -05:00
Erwan Gouriou 3074e393db drivers/counter: stm32 rtc: Use dts to get RTC clock information
RTC clock information should be provided by dts files

Fixes #10451

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-07 16:14:00 -05:00
Alexander Wachter a2ddfe9863 dts: Fix varying baudrate settings for CAN
This commit fixes the varying baudrate settings for the STM32L4
and STM32F072.

Signed-off-by: Alexander Wachter <alexander.wachter@student.tugraz.at>
2019-02-05 18:47:47 -06:00
Erwan Gouriou 12166b61ee dts: stm32: Add watchdog nodes to STM32 dtsi files
Provide watchdog node definition to stm32 dtsi files to enable
watchdog configuration by device tree.
Add matching st,stm32-watchdog binding.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-01 19:16:59 -05:00
Armando Visconti f322c0b0ab dts/i2s: Extend the I2S dts binding with subnodes capability
This commit introduces the possibility to have multiple
device nodes attached to the same I2S controller. For this
purpose a new i2s-device.yaml description has been introduced
with the a 'reg' property to define the logic number of the
device. For example, if two microphones are attached to the
same I2S port (say 1) to achieve stereo audio, the two microphones
might be described in dts as:

    &i2s1 {
        status = "ok";

        mic@0 {
            compatible = "...";
            reg = <0>;
            label = "...";
        };
        mic@1 {
            compatible = "...";
            reg = <1>;
            label = "...";
        };
    };

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2019-01-28 11:57:25 -06:00
Georgij Cernysiov 26ab183ede drivers: pinmux: stm32: st: add L4 UART4 AF on PC10 and PC11
Added UART4 alternate pin function for L4 µC for PC10 and PC11.
Corrected naming of previously defined UART4 TX and RX defines.

Signed-off-by: Georgij Cernysiov <g.cernysiov@elco-automation.de>
2019-01-28 09:54:00 -06:00
Ioannis Konstantelias 68147a9b83 boards: nucleo_l496zg: Add UART for console
Used LPUART 1 for console subsys. Also, added USART2 and USART3.

Signed-off-by: Ioannis Konstantelias <ikonstadel@gmail.com>
2019-01-23 09:18:35 -06:00
Georgij Cernysiov 3b77737208 soc: st: add STM32L452XC
Adds STM32 L452 soc with L452xC variant. L452 has 160 KB SRAM;
therefore, mpu mem config has been extended; IRQ number is based on
'stm32l452xx.h'.

Signed-off-by: Georgij Cernysiov <g.cernysiov@elco-automation.de>
2019-01-23 03:19:15 -06:00
Pushpal Sidhu 83bc07c826 dts: stm32l4r5: add i2c2 node
Add i2c2 node as it was removed from the parent file.

Signed-off-by: Pushpal Sidhu <psidhu.devel@gmail.com>
2019-01-10 07:08:34 -05:00
Erwan Gouriou 7f4eda501a dts: stm32f1: add uart5
Add uart5 nodes to stm32f1 series dts.
Provide matching dts_fixup add-on.

Signed-off-by: Chen Han <qq1433255094@outlook.com>
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-01-04 10:07:54 -06:00
Erwan Gouriou a2668f587d dts: stm32f3: GPIO clocks are actually handled from AHB1 bus
Unlike stated in CMSIS file STM32F3 clock should be handled
from AHB1 bus. Update dtsi files accordingly.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-12-26 09:43:36 -05:00
Aurelien Jarno 9fe81e9165 dts: stm32f7: move flash0 node below flash-controller
Due to a bad timing in merging PR #10744 and PR #12083, the flash0 node
in stm32f756Xg.dtsi ended-up at the root of the device tree, while the
flash0 node it is trying to override in stm32f7.dtsi is now under
/soc/flash-controller.

This patch fixes that by moving it at the right location.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2018-12-18 09:38:57 +01:00
AJ Palmer 2f04dc69c0 boards: arm: nucleo_f756zg: Created new board and soc definition
Added board definitions for nucleo_f756zg. Features include gpio,
pinmux, uart (ST Zio, ST-Link and Arduino Uno v3 interfaces).

Added basic documentation and some soc definitions for the
stm32 f756XX soc.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-12-17 11:35:27 -06:00
Aurelien Jarno 6752b5df3f drivers: flash: add driver for STM32F7x series
This patch adds a flash driver for the STM32F7x series, inspired from
the STM32F4x one. It has been tested on the STM32F723, but should also
work on other SoCs of the family.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2018-12-17 08:15:59 -06:00
Kumar Gala f022de6275 dts: stm32: Move usb PHY nodes out of SoC to fix warning
We currently get a number of warnings like:

	Warning (simple_bus_reg): /soc/otgfs_phy: missing or empty
	reg/ranges property

This is due to the usb phy nodes not have a reg property since they
don't have an mmio address associated with them.

Move the phy nodes out of the SoC node so their lack of a reg property
will not cause a warning.  This is similar to how Linux dts files
handle the phy nodes.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-12-14 09:39:09 -06:00
AJ Palmer bd8f15f555 stm32: dts: f7: added i2c4 node
Added i2c4 node to stm32f746.dtsi for stm32f74+ socs.
Added device tree fixup for i2c4.

Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
2018-12-14 07:22:51 -06:00
Manivannan Sadhasivam f8ac865693 arm: stm32f4: Add UART4 pinmux definitions
Add missing UART4 pinmux definitions for STM32F4 series.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2018-12-13 08:07:28 -06:00
Erwan Gouriou f6b014e6dd dts/arm: stm32f0: AHB2 but is not supported
AHB2 bus does not exist on STM32F0 series, replace with AHB1.

Fixes #11904

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-12-07 11:31:48 -05:00
Markus Roppelt 804f164432 dts: arm: st: Add STM32L433 dtsi file
The STM32L433 has the same layout than the STM32L432, additionally it
has GPIOD, GPIOE, I2C2, USART3 and SPI2.

Also move USART3 and SPI2 out of stm32l4.dtsi since STM32L432 does not
have it.

Fixes #10909.

Signed-off-by: Markus Roppelt <markus.roppelt@gmx.de>
2018-12-04 07:45:18 -06:00
Yurii Hamann 2c363bddfe dts: arm: stm32: USART1 fix in device tree for STM32F7 series devices
Fixed mask value for RCC_APB1ENR register.

Signed-off-by: Yurii Hamann <yurii@hamann.site>
2018-12-03 11:36:01 -06:00
Kiril Zyapkov 23cb7dd660 soc: st: add STM32L471xG
This commit adds support for STM32L471xG. Since STM32L475 only adds
USB, stm32l475.dtsi now includes stm32l471.dtsi

Signed-off-by: Kiril Zyapkov <k.zyapkov@allterco.com>
2018-11-20 14:09:04 -06:00
Yannis Damigos 542e6ac823 dts: st: Add USB PHY nodes
Add USB phy nodes and phys property in USB nodes.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-11-15 07:27:23 -06:00
Erwan Gouriou 1e31faad06 dts: stm32f4: Fix clock settings for usart1
Clock mask was not set correctly for usart1 in stm32f4.dtsi

Fixes #11339

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-11-14 08:23:13 -05:00
Pavel Kral 86a4967365 dts: stm32f103: add missing dts binding for port G
STM32F103 micros starting from 64-pin (xE) packages upward have
available port G. This patch defines a dts binding for them.

Signed-off-by: Pavel Kral <pavel.kral@omsquare.com>
2018-11-12 08:26:49 -05:00
Kumar Gala 944f3a90ec dts: Update STM32 PWM device tree binding/nodes for #pwm-cells
Add #pwm-cells to the STM32 PWM binding and dts files.  This is to
support have a pwms clients work properly.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-11-10 10:42:51 -06:00
Kumar Gala 0eb0e78d67 dts: Fix warnings associated with reg/unit-address not matching
Newer DTC now warns about mismatch between the reg and unit-address.
Most of these cases are due to case not matching, so fix thoses so
everything is lowercase.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-11-10 09:11:58 -05:00
Martin Bertsche 9892f40204 gpio: stm32 use dts extracted information to populate gpio instances.
The information extracted from the device tree is now used to initialize
GPIO device instances. Up until now the GPIO device driver made no use
of this information. Actual instance creation is still controlled using
the Kconfig method. Missing GPIO device tree nodes were added in the
process for STM32L073, STM32F413 and STM32F373.

The information for gpio instance initialization has already been
present for supported STM32 SoCs but remained unused. Changes in the
device tree had no effect on GPIO functionality and was essentially
redundant. Using the device tree for hardware description seems
plausible and less painful than a myriad of defines in some SoC
description header.

The change was implemented under the assumption that current device
trees provide a correct description of the SoCs. Base register addresses
and RCC register bits were not explicitly checked for each device.

Manual tests were executed on:
	- NUCLEO-F103RB
	- STM32F429I-DISCO
	- STM32F746G-DISCO
	- NUCLEO-F767ZI

Manual tests consisted of blinky on different GPIOs and pins on each
board.

sanitycheck was executed for all STM32 based boards

Fixes: #10629

Signed-off-by: Martin Bertsche <martin72216@googlemail.com>
2018-11-09 04:49:59 -06:00
Erwan Gouriou 3a1f4650f1 boards: stm32f469i_disco: Conform to default configuration guidelines
Update stm32f469i_disco configuration to match with
default configuration guidelines:
-Configure available connectors
-Update yaml file

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-11-08 17:16:21 -05:00
Erwan Gouriou b3645eb62b boards: stm32l496g_disco: Conform to default configuration guidelines
Update stm32l496g_disco configuration to match with
default configuration guidelines:
-Deactivate features by default
-Configure available connectors

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-11-08 17:16:21 -05:00
Erwan Gouriou 01a0b50c94 boards: disco_l475_iot1: Conform to default configuration guidelines
Update disco_l475_iot1 configuration to match with
default configuration guidelines:
-Deactivate features by default
-Configure available connectors

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-11-08 17:16:21 -05:00
Benoit Leforestier 270ec15482 board: Add support of STM32F143xG SOC
The only difference between the F413xH and F413xG is flash memory size.
STMF413xH: 1536 Kbytes
STMF413xG: 1024 Kbytes

Signed-off-by: Benoit Leforestier <benoit.leforestier@gmail.com>
2018-11-08 07:05:04 -06:00
Erwan Gouriou be74a13b5b dts/arm/st: Fix I2C issues in stm32l4 series
Add clocks property in stm32l4r5 devices.
Replace i2c2 node by i2c3 node in l4.dtsi as i2c3 available
in all stm32l4 SoCs while i2c2 is not available in some parts.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-11-06 16:14:13 -05:00
Erwan Gouriou 48f65c47f0 dts/arm/st: f4: gpioh node is defined twice for stm32f405
Remove duplicated gpioh node in stm32f405.dtsi,
as already defined in stm32f4.dtsi.


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-29 13:17:39 +00:00
Yannis Damigos a39497dada dts: stm32f334: Delete usb node
STM32F334 SoCs don't include USB controller,
so delete USB node for theses SoCs in DT.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-10-24 10:38:33 +01:00
Christian Taedcke 743938b450 dts/arm/st_stm32: Add SPI nodes to STM32 F7 series
This patch adds SPI nodes to STM32 F7 series, as well as the
corresponding dts fixup entries.

Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2018-10-23 09:19:15 +01:00
Christian Taedcke 2e06fd50fd drivers/rtc: Enable RTC driver for STM32F7 series
Enable RTC driver for STM32F7 series.

Signed-off-by: Christian Taedcke <hacking@taedcke.com>
2018-10-23 09:19:15 +01:00
Yannis Damigos c524743228 dts: stm32f302: Delete spi1 node from STM32F302X8
STM32F302X8 SoCs don't support SPI1 port,
so delete SPI1 node for these SoCs in DT.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-10-23 09:17:56 +01:00
Galen Seitz 9f343ad586 dts: arm: st: Add STM32F302x8 SoC device tree
Added device tree for the ST Micro STM32F302x8 processor.

Signed-off-by: Galen Seitz <galens@seitzassoc.com>
2018-10-16 22:52:07 -04:00
Armando Visconti ab10f417d8 dts/arm/st/stm32f4: Add I2S support to DTS
Add I2S bus initial support to stm32f4 SOC family.
On stm32f4 the I2S shares same controller as SPI, so
the declarations have been adapted from SPI ones.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2018-10-11 16:55:00 +02:00
Yannis Damigos 84737529d3 dts: st: f2/l4: Add missing maximum-speed property
Add missing maximum-speed property to usb nodes
for F2 and L4 series.

Fixes: #10472

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-10-10 12:27:55 -05:00
Galen Seitz 7ee607c034 dts: arm: st: f3: Fix the unit-address for gpiof
Removed the extra zero from the unit-address for gpiof.

Signed-off-by: Galen Seitz <galens@seitzassoc.com>
2018-10-10 11:27:24 -05:00
Yannis Damigos a2e7477c8a dts: st: Add maximum-speed property to usb nodes
Add maximum-speed property to usb nodes and set it to
their maximum on-chip PHY capability.

SoCs with USB device controllers only support full
speed, so we don't add maximum-speed to these nodes.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-10-09 12:59:34 -04:00
Pushpal Sidhu f1d78d8f38 arm: st: add stm32l4r5xx support
New parts from ST. See http://www.st.com/en/microcontrollers/stm32l4r5-s5.html
for more details.

Signed-off-by: Pushpal Sidhu <psidhu.devel@gmail.com>
2018-10-08 12:52:00 -04:00
Aurelien Jarno 335222d189 dts/arm/st_stm32: Add timers and PWM nodes to STM32 F7 series
This patch adds timers and PWM nodes to STM32 F7 series, as well as the
corresponding dts fixup entries.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2018-10-02 14:08:00 -07:00
Kumar Gala 1ec4b68984 dts: arm: st: mem.h
Now that we've cleaned up all the STM32 related .dtsi files we don't
use dts/arm/st/mem.h so we can remove it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-09-28 11:46:03 -05:00
Kumar Gala b9ee9bba2c dts: arm: st: Remove use of CONFIG_SOC_* from STM32 F7 dts files
To move forward and remove use of Kconfig in dts files lets just create
SoC specific dtsi files that the boards can include.  We also seperate
out the F7 dtsi files into their own dir.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-09-28 11:46:03 -05:00
Kumar Gala 52646287fd dts: arm: st: Remove use of CONFIG_SOC_* from STM32 F4 dts files
To move forward and remove use of Kconfig in dts files lets just create
SoC specific dtsi files that the boards can include.  We also seperate
out the F4 dtsi files into their own dir.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-09-28 11:46:03 -05:00