Add a STM32 LL based driver for the RNG processor. The RNG processor
is a random number generator, based on a continuous analog noise, that
provides a random 32-bit value to the host when read. The RNG passed
the FIPS PUB 140-2 (2001 October 10) tests with a success ratio of 99%.
Signed-off-by: Erwin Rol <erwin@erwinrol.com>
Current implementation of LL_SPI_TransmitData16 on F3/F7/L4 family
generates following warning:
"warning: dereferencing type-punned pointer will break strict-aliasing
rules [-Wstrict-aliasing]"
Besides being forbidden by rule, this cast is not needed, as register is
16 bits wide. Modification has been tested on L4 SoC.
stm32yyxx_ll_spi.h being included in soc.h file, warning is generated
at each compiled object, this commit allows a clean build.
This issue is referenced in ST and tracked under
reference 13359. Code will be updated on upcoming stm32cube updates.
Change-Id: I3ca54a81d849d4852eca86b52b6825b60e18b752
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Enabling the HAL and the LL flags duplicate definitions when
compiling in driver.
Since the i2c HAL is not needed, disable it.
This is a HAL issue that needs to be addressed (not zephyr)
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Align stm32f1xx series clock driver to other parts of stm32 family.
Driver support both Connectivity and Density lines of stm32f1 series,
that are based on different Reset and Clock Control architectures.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32L4XX family
from version: V1.6.0
to version: V1.8.0
Add support for following soc:
stm32l496xx
stm32l4a6xx
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit enables STM32Cube LL based driver for stm32f4 series.
This generic driver provides a unified API to clock driver for all
stm32 series.
LL API allows driver to be lightweight and to keep genericity across
stm32 family to ease further devlopment and maintenance.
Change-Id: Ie31ae8f433313787f9c9eda77de41925721d54dd
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F1XX family
from version: V1.14.0
to version: V1.15.0
Add support for Low Level API on stm32f1 family
Change-Id: I8cb5fe2fd94be3a320e863c7b5ed59e4c2312e87
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F3XX family
from version: V1.6.0
to version: V1.7.0
Minor update
Changes from official delivery:
*dos2unix applied
*trailing white spaces removed
Change-Id: I6ff19632cab6e8350f19aa7e17063c05ec36898f
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F4XX family
from version: V1.14.0
to version: V1.15.0
Add support for Low Level API on stm32f4 familly
Change-Id: I459b61f011ffbc2cc265f58cd3f0be8b77155fc2
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F7XX family
from version: V1.4.0
to version: V1.6.0
Add support for Low Level API on stm32f7 familly
Change-Id: Iabe18f952d2cf0847bd72ce9d894d4c0cbd4c0f9
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This new clock control driver aims at providing a lightweight
generic driver to the whole stm32 family.
Driver is based on LL Cube API and hence is for now available
only for STM32 supporting this API: stm32f3xx and stm32l4xx.
Other families should be supported soon.
Once globally supported, this unique driver will also help
reducing the impact of stm32 clock control heterogeneity in
other drivers.
Change-Id: Id15a8d0d44f03809b2907ef10d6877700459e674
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32L4XX family
from version: V1.5.2
to version: V1.6.0
Add support for following soc:
stm32l451xx
stm32l452xx
stm32l462xx
Change-Id: I116458ff8163f99aec5cf3965296d79728faf672
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F4XX family
from version: V1.13.0
to version: V1.14.0
Add support for following soc:
stm32f413xx
stm32f423xx
Change-Id: I050bdbe5980b2294955379a2ad917d25aa501578
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Provide PWM driver for STM32 series F1/F4/L4.
Driver is ported on STM32Cube HAL and should support other STM32
series with minor updates.
Configuration is done so that PWM sample driver could be run on
all nucleo boards supporting PWM driver.
Change-Id: I6522a565451085df932e0eefd8404268380b5bfe
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Add the initial SoC support for the STM32L4XX family. The code was
tested on STM32L476RG, but should work on any STM32L4XX currently
available.
This implementation was inspired by the stm32f1x implementation.
Change-Id: Id6670bce0c423617284e8467a9c461531f948e0f
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This new README provides guidelines on STM32Cube introduction
into Zephyr.
Change-Id: I06b22852495dbe7e7f23e88be060fe23e8bd18b5
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
STM32Cube based implementation allows single driver file for
all stm32 based SoCs.
By maximizing code reuse, use of STM32Cube eases new SoCs
porting into Zephyr and provides better maintanability and
maturity.
Change-Id: Ief4b723add3dfc8b2a839683559c5a4c5d5eb837
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Change-Id: I5c2de9d5814644855ed4a691fa1712ebd294ca64
Signed-off-by: Adam Podogrocki <adam.podogrocki@rndity.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Get stm32l0xx support ready in build system.
Provide minimal file inclusion to support stm32l0 based board
port.
Change-Id: Ieb572389955e9e79a6100a6b1df35d9d08322789
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32L0
SoCs.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubel0.html
Purpose: Introduction of STM32L0xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32L0xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32L0xx, contains stm32l0xx
socs header files
Change-Id: Ibb8ea2e059b5d4f63848be269765d803f842cc2f
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Get stm32f2xx support ready in build system.
Provide minimal file inclusion to support stm32f2 based board
port.
Change-Id: Ice1231709e778e00a51a395decb3447fc58c0bbf
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32F2
SoCs.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef2.html
Purpose: Introduction of STM32F2xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F2xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F2xx, contains stm32f2xx
socs header files
Change-Id: I78a4716d495ce3f3038a442e19a0403f0f00506c
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Get stm32f0xx support ready in build system.
Provide minimal file inclusion to support stm32f0 based board
port.
Change-Id: I9ce62e34fa77b14f34dd0a4fa8d6be344e67b4f8
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32F0
SoCs.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef0.html
Purpose: Introduction of STM32F0xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F0xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F0xx, contains stm32f0xx
socs header files.
Change-Id: Ic9c1ef904541abb927f061cc0284d8a52ef63dc4
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Get stm32f7xx support ready in build system.
Provide minimal file inclusion to support stm32f7 based board
port.
Change-Id: Idf949ef4a627bbd82e7bf95a9ae1d3d073654115
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32F7
SoCs.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html
Purpose: Introduction of STM32F7xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F7xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F7xx, contains stm32f7xx
socs header files
Change-Id: I7e5b2cdc5b7fe6d9d107ceb74674b910f4a6c0ab
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
The STM32MICRO files for STM32L4xx were dropped in an earlier commit,
but we cannot make any use of them yet because the Kconfig options
and Makefile support is not there yet. This commit adds the ability
for code to use stm32cube from the stm32l4xx code.
Change-Id: I58e85e12e4b4648dc9a203f70703bd54675c3d28
Signed-off-by: Fabien Parent <fparent@baylibre.com>
With this commit we provide header and HAL/LL files for all STM32F3
SoCs (V1.6.0).
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK.
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef3.html
Purpose: Introduction of STM32F3xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F3xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F3xx, contains stm32f3xx
socs header files
Change-Id: I542bec71130bcfc7b720c546b5671e4af4baf2e3
Signed-off-by: Adam Podogrocki <adam.podogrocki@rndity.com>
Import the STM32CUBE files that will be used for the support
of the STM32L4xx series.
The files were taken from stm32cube_fw_l4_v152.zip.
Origin: STM32CubeMX
URL: http://www.st.com/en/development-tools/stm32cubemx.html?icmp=stm32cubemx_pron_pr-stm32cubef2_apr2014&sc=stm32cube-pr2
Version: v152
Purpose: Introduction of STM32L4xx SoC definitions
Maintained-by: External
Change-Id: Ib33a86aa35168827ff2d47f0793554fe35945762
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Create HAS_CUBE config flag to control activation of STM32Cube support.
Generate fitting compilation options for STM32Cube in
/ext/hal/stm32cube/Makefile soc.h is updated to include minimum include
files from ext/hal/stm23cube
Change-Id: If58ce0a4fdb7fbf5f171dfe5f1f8eb75126a8313
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Following previous commits, updating build system files in order
to support stm32cube on stm32f4xx series.
Change-Id: Id74779a7cf15f3fdce372bf8710c3f7c4fff4773
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Following previous commits, adding build system files with
minimum files inclusion to initiate stm32cube based porting
in zephyr
Change-Id: I02be8161a8c63cf05cc6b2de2f3fb0c0a4ef490f
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32F4
SoCs (V1.13.0).
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK.
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef4.html
Purpose: Introduction of STM32F4xx STM32Cube definitions and
Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F4xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F4xx, contains stm32f4xx
socs header files
Change-Id: I34ad6b711273ea27ceb2a07073499b153f37e044
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
With this commit we provide header and HAL/LL files for all STM32F1
SoCs (V1.4.0).
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefit
of a mature SDK
Origin: STM32Cube
URL: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef1.html
Purpose: Introduction of STM32F1xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. hal is split into 2 parts:
-driver: initially Drivers/STM32F1xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F1xx, contains stm32f1xx
socs header files
Change-Id: Ibfe08cea5f7fee54417ec9ecb6e9b4f33c04ec95
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>