Commit Graph

27 Commits

Author SHA1 Message Date
Erwan Gouriou 4827f2f386 pwm/stm32: add PWM driver for STM32 F1/F4/L4
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>
2016-12-06 10:31:46 -06:00
Neil Armstrong 8833e44f6d stm32l4: add initial soc support for stm32l4
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>
2016-12-06 09:50:11 -06:00
Erwan Gouriou 973154518c stm32cube: Add README as porting guidelines
This new README provides guidelines on STM32Cube introduction
into Zephyr.

Change-Id: I06b22852495dbe7e7f23e88be060fe23e8bd18b5
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2016-12-06 09:50:11 -06:00
Erwan Gouriou 8c079e91c9 serial: Provide STM32Cube based serial driver on stm32f1, stm32f4
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>
2016-12-06 09:50:11 -06:00
Adam Podogrocki 726af91d3a stm32cube: Add Zephyr build system files for stm32f3 series
Change-Id: I5c2de9d5814644855ed4a691fa1712ebd294ca64
Signed-off-by: Adam Podogrocki <adam.podogrocki@rndity.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-11 22:12:14 +00:00
Kumar Gala 20b60f99f3 Revert "stm32cube: Introduce STM32Cube for STM32F0xx series"
This reverts commit bf524b4e9d.

Change-Id: Ia4697d0a725a3a6921df2f44a188ef9471260f23
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:49 -06:00
Kumar Gala 0083c7d395 Revert "stm32cube: Update build system to support stm32f0xx"
This reverts commit 7e19c8a6ec.

Change-Id: Ie3bd2596445a6b544db468bfa5c5cde13f2557c4
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:39 -06:00
Kumar Gala 0a0194e637 Revert "stm32cube: Introduce STM32Cube for STM32F2xx series"
This reverts commit 00155448cf.

Change-Id: I08e929b81112f10ee0de6ddab1f28a0124722d33
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:34 -06:00
Kumar Gala f9901a2df3 Revert "stm32cube: Update build system to support stm32f2xx"
This reverts commit 0cb9bcb84e.

Change-Id: I442750ad91f1297f46aed8066828cbff7fd0c4ad
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:30 -06:00
Kumar Gala 4bbefce79f Revert "stm32cube: Introduce STM32Cube for STM32L0xx series"
This reverts commit cc5842df70.

Change-Id: I397f8a769d839c39c89c3be6f3880ba9e419bf29
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:25 -06:00
Kumar Gala 66f85f6078 Revert "stm32cube: Update build system to support stm32l0xx"
This reverts commit d4e15f027a.

Change-Id: Idc75aa1b83c403ec19a62c889e72b2a3af7a998a
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 13:41:16 -06:00
Erwan Gouriou d4e15f027a stm32cube: Update build system to support stm32l0xx
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>
2016-11-11 19:04:39 +00:00
Erwan Gouriou cc5842df70 stm32cube: Introduce STM32Cube for STM32L0xx series
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>
2016-11-11 19:04:38 +00:00
Erwan Gouriou 0cb9bcb84e stm32cube: Update build system to support stm32f2xx
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>
2016-11-11 19:04:38 +00:00
Erwan Gouriou 00155448cf stm32cube: Introduce STM32Cube for STM32F2xx series
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>
2016-11-11 19:04:36 +00:00
Erwan Gouriou 7e19c8a6ec stm32cube: Update build system to support stm32f0xx
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>
2016-11-11 19:04:36 +00:00
Erwan Gouriou bf524b4e9d stm32cube: Introduce STM32Cube for STM32F0xx series
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>
2016-11-11 19:04:35 +00:00
Erwan Gouriou 9e113fa98e stm32cube: Update build system to support stm32f7xx
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>
2016-11-11 19:04:34 +00:00
Erwan Gouriou 9eff2a32c2 stm32cube: Introduce STM32Cube for STM32F7xx series
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>
2016-11-11 19:04:34 +00:00
Fabien Parent c4f12d7fe1 stm32cube: add build support for stm32l4xx
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>
2016-11-11 16:03:45 +00:00
Adam Podogrocki a1aba18227 ext/hal: Introduce STM32Cube SDK for STM32F3xx family
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>
2016-11-10 16:23:00 +00:00
Fabien Parent 060cca0c78 stm32cube: import stm32cube files for STM32L4xx
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>
2016-11-07 18:57:46 +00:00
Erwan Gouriou dc70dc0977 stm32f1: Enable STM32Cube SDK support on stm32f1 family
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>
2016-11-03 20:29:07 +00:00
Erwan Gouriou cde082a8dc stm32cube: Add Zephyr build system files for stm32f4 series
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>
2016-11-03 20:29:05 +00:00
Erwan Gouriou deaa468432 stm32cube: Add Zephyr build system files for stm32f1 series
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>
2016-11-03 20:29:04 +00:00
Erwan Gouriou 5125475d7c ext/hal: Introduce STM32Cube SDK for STM32F4xx family
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>
2016-11-03 20:29:03 +00:00
Erwan Gouriou 9b1a23f6e6 ext/hal: Introduce STM32Cube SDK for STM32F1xx family
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>
2016-11-03 20:29:03 +00:00