Commit Graph

77 Commits

Author SHA1 Message Date
Vincent Veron
096314872a drivers: sensor: vl53l0x: ST library customization for Zephyr
The generic library provided by ST in ext/hal/st/lib/sensor/vl53l0x
needs to be adapted to the platform. In this case, the main
modification is the way to use I2C. This is now using the Zephyr
I2C API.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron
2862c8559b ext: enable st/lib compilation
This commit modify the ext/ build system to add
the ST Microelectronics libraries.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron
45bf893164 ext: Fix warnings in vl53l0x ST library when compiling on Zephyr
Warning are present in the default ST source code, fix them here.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Vincent Veron
81d4342dc0 ext: Add official ST library for vl53l0x
In order to ease the usage of its sensors, STMicroelectronics provides
some generic libraries. The first sensor to use that is vl53l0x time of
flight sensor. I have made the implementation generic enough to add some
more libraries in the future.

All the libraries will be located in ext/hal/st/lib.

The vl53l0X library is made of 2 parts :
    * the core, that is generic to all platforms
    * the platform, contains the adaptation layer. This will be
      implemented in driver as it is Zephyr specific.

Origin: ST Microelectronics
License: BSD-3-Clause
URL: http://www.st.com/en/embedded-software/stsw-img005.html
Commit: 1.0.2
Purpose: API to ease the usage of vl53l0x sensor
Maintained-by: External

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2018-01-23 10:14:49 -06:00
Erwin Rol
2e0c11d604 ext: hal: stm32cube: update README
Update the README file to reflect the new Kconfig structure.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2018-01-23 08:46:16 -06:00
Erwin Rol
772ac20336 ext: hal: stm32cube: allow HAL/LL files to be selected via Kconfig
By providing USE_STM32_HAL_* and USE_STM32_LL_* menuconfig
options drivers and user aplications can select parts of the HAL
without needing to change the Zephyr source code.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2018-01-23 08:46:16 -06:00
Erwan Gouriou
28c2079c63 ext: stm32cube: update stm32l4xx cube version
Update Cube version for STM32L4XX family
from version: V1.9.0
to version: V1.10.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Erwan Gouriou
366c31c03b ext: stm32cube: update stm32f4xx cube version
Update Cube version for STM32F4XX family
from version: V1.16.0
to version: V1.18.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Erwan Gouriou
a6d9fef241 stm32cube: f3: fix wrong package version
Fix stm32f3xx README with actual package version : V1.9.0


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-01-17 09:55:30 -06:00
Neil Armstrong
5f5480ac7d hal: stm32cube: Fix warning when SPI STM32F0 LL API is compiled
Current implementation of LL_SPI_TransmitData16 on F0 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 F0 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.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-01-11 19:00:19 -05:00
Neil Armstrong
b5938c43fb ext: hal: stm32cube: build LL SPI code for STM32F0
Build the STM32Cube LL SPI Code for STM32F0

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-01-11 19:00:19 -05:00
Neil Armstrong
cc9642402d ext: stm32cube: build I2C+RCC LL for STM32F0
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-12-12 12:36:08 -06:00
Johann Fischer
a14dd6309e cmake: fix build of the entropy drivers
Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2017-11-11 19:01:42 -05:00
Sebastian Bøe
fc978328b5 cmake: ext/hal/st/stm32cube: Fixed formatting and removed hal_uart
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe
0829ddfe9a kbuild: Removed KBuild
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe
12f8f76165 Introduce cmake-based rewrite of KBuild
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.

Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.

This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.

For users that just want to continue their work with minimal
disruption the following should suffice:

Install CMake 3.8.2+

Port any out-of-tree Makefiles to CMake.

Learn the absolute minimum about the new command line interface:

$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..

$ cd build
$ make

PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Bobby Noelte
3849b36f09 arch: arm: soc: provide support for stm32f091
Support the ST STM32F091xC SoC.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2017-11-06 11:39:16 -06:00
Leandro Pereira
da9b0ddf5b drivers: Rename random to entropy
This should clear up some of the confusion with random number
generators and drivers that obtain entropy from the hardware.  Also,
many hardware number generators have limited bandwidth, so it's natural
for their output to be only used for seeding a random number generator.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-11-01 08:26:29 -04:00
Maciej Debski
cfe28f579e ext: hal: stm32cube: provide build method for stm32f0 HAL/LL lib.
Fixes #3923

Signed-off-by: Maciej Debski <maciej.debski@rndity.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-10-23 12:31:47 +02:00
Maciej Debski
3f0da4ba16 ext: hal: stm32cube: HAL/LL static library for stm32f0xx v.1.9.
The commit delivers HAL/LL static library source files for STM32F0 SoC.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefits
of a mature SDK.

Origin: STM32Cube
URL: http://www.st.com/en/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.

Fixes #3923

Signed-off-by: Maciej Debski <maciej.debski@rndity.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-10-23 12:31:47 +02:00
Erwan Gouriou
de770f56b4 stm32cube: clean kbuild after removing usage of HAL in serial driver
Since STM32 serial driver is no more using HAL, update kbuild for all
STM32 series.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-10-20 12:28:11 -05:00
Yannis Damigos
a172f72d84 boards: stm32f3_disco: Add I2C support
Add I2C support to STM32F3DISCOVERY board

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Yannis Damigos
b248b85c76 ext: stm32cube: Define USE_FULL_LL_DRIVER
This patch enables the LL API get funtions for system and
peripherals clocks frequency.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Yannis Damigos
213df22c99 ext: hal: stm32cube: Fix LSI_VALUE for F1, F3 families
This patch sets the correct LSI_VALUE, according to
STM32F3 reference manual's (RM0316) section 9.2.5 and
STM32F1 reference manual's (RM0008) section 7.2.5.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2017-10-20 12:28:11 -05:00
Loic Poulain
8a11f91252 usb: Add support for STM32 family USB driver
This is a USB controller driver for STM32F4xx devices using
the STM32 Cube HAL_PCD framework. This has been tested with
the cdc_acm driver on a 96b_carbon board (STM32F401RE).

This is a refactoring of:
usb: usb_dc_stm: Add support for STM32Cube HAL_PCD USB driver
Signed-off-by: Christer Weinigel <christer@weinigel.se>
[daniel.thompson@linaro.org: Removed STM32F40(157) defconfig changes
together with STM32F4Discovery pinmux and defconfig changes, updated
clock settings and pad configuration to match latest mainline]
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
[giannis.damigos@gmail.com: Change uint*_t types to u*_t types,
change SYS_LOG_USB_DC_STM_LEVEL to SYS_LOG_USB_DRIVER_LEVEL and
update pinmux to match latest arm branch]
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2017-10-17 09:14:47 -04:00
Erwan Gouriou
3a0dbda3bc stm32cube: Add impacted files in README Patch List
To further ease stm32cube packages update, add impacted lines
section in Patch List section.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
bd5942aa5a ext: stm32cube: update stm32l4xx cube version
Update Cube version for STM32L4XX family
from version: V1.8.0
to version: V1.9.0

Note: git shows 100% diff on all files.
You need to tick "Ignore space change" in git UI to see real
differences. I tried different things to fix this without
success (dos2unix, file encoding, files access right).

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
9bf5aededd ext: stm32cube: update stm32f7xx cube version
Update Cube version for STM32F7XX family
from version: V1.6.0
to version: V1.8.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
faa0aee21a ext: stm32cube: update stm32f4xx cube version
Update Cube version for STM32F4XX family
from version: V1.15.0
to version: V1.16.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
653d0242ca ext: stm32cube: update stm32f3xx cube version
Update Cube version for STM32F3XX family
from version: V1.7.0
to version: V1.9.0

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
24a5f1012e ext: stm32cube: update stm32f1xx cube version
Update Cube version for STM32F1XX family
from version: V1.5.0
to version: V1.6.0

Update Patch list, since this version corrects bug 33517

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwan Gouriou
71ea34522b ext: hal: stm32cube: Update README with former fixups
Commit "ext: hal: stm32f1x and stm32f4x: disable i2c HAL"
and "stm32cube: Fix warning when SPI LL API is compiled"
modified stm32cube HAL but this was not documented in
series README file, which makes it hazardous to update
stm32cube packages.
This commit corrects this oversight.
Additionally STM32Cube README file to provide this information
and how to use it

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-09-25 12:31:59 -05:00
Erwin Rol
6e3782480e driver: eth_stm32_hal: Initial STM32 HAL based Ethernet driver
Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-07-12 12:53:51 +03:00
Erwin Rol
2fc9dc61d4 drivers: stm32: random: Initial STM32 random number generator driver
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>
2017-07-07 07:27:39 -05:00
Jorge Ramirez-Ortiz
ae4363817b stm32cube: build stm32xxx_ll_spi if CONFIG_SPI
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2017-07-01 08:36:51 -04:00
Erwan Gouriou
0329450088 stm32cube: Fix warning when SPI LL API is compiled
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>
2017-07-01 08:36:51 -04:00
Yannis Damigos
220ddb9738 soc: stm32: F1/F3/F4/L4: enable I2C LL
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
2017-07-01 08:36:51 -04:00
Jorge Ramirez-Ortiz
9f420955d9 ext: hal: stm32f1x and stm32f4x: disable i2c HAL
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>
2017-07-01 08:36:51 -04:00
Erwan Gouriou
e1a90583d4 drivers: clock_control: provide LL based driver to stm32f1xx series
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>
2017-06-02 14:11:13 -04:00
Neil Armstrong
ab1a7aff29 ext: stm32cube: update stm32l4xx cube version
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>
2017-05-19 10:06:48 -04:00
Erwan Gouriou
fda01e52c2 drivers: clock control: Provide LL based clock control for stm32f4 series
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>
2017-04-28 15:06:41 -05:00
Erwan Gouriou
af6ca469e8 ext: stm32cube: update stm32f1xx cube version
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>
2017-04-28 15:06:40 -05:00
Erwan Gouriou
7fb27de7cc ext: stm32cube: update stm32f3xx cube version
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>
2017-04-04 17:55:12 -05:00
Erwan Gouriou
7bcbd6133a ext: stm32cube: update stm32f4xx cube version
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>
2017-04-04 17:55:11 -05:00
Erwan Gouriou
cd602d455f ext: stm32cube: update stm32f7xx cube version
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>
2017-04-04 17:55:10 -05:00
Erwan Gouriou
58c8d15147 clock control:stm32: provide STM32Cube LL based driver
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>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
2d881d6539 ext: stm32cube: update stm32l4xx cube version
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>
2017-01-30 11:02:38 -06:00
Erwan Gouriou
58504a9048 ext: stm32cube: update stm32f4xx cube version
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>
2017-01-30 11:02:37 -06:00
Kumar Gala
05f717e71b uart/stm32: add STM32F3X support for uart
Change-Id: I9796c6a2841c972eeab15894a6d7f38ae93606d1
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-23 15:15:53 -06:00
Anas Nashif
594992f7b2 license: use SPDX identifier for files in ext/
Change-Id: I32cb4211056046ca28a81aa97aca5d3c0b9b8303
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-20 20:22:57 -05:00