Commit Graph

28 Commits

Author SHA1 Message Date
Francois Ramu 2219f386e8 stm32cube: update stm32f7 to version V1.16.1
Update Cube version for STM32F7xx series
on https://github.com/STMicroelectronics
from version v1.16.0
to version v1.16.1

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-04-02 08:56:46 -05:00
Alexandre Bourdiol 1e5111a2c1 stm32cube:add systematic compilation of '_hal_rcc_ex.c'
Add systematic compialtion of '..._hal_rcc_ex.c' in 'CMakeLists.txt'
generation. There is more and more dependence of HAL IP to
'..._hal_rcc_ex.c'

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-10-27 08:03:47 -05:00
Alexandre Bourdiol 0ac0370bec stm32cube: update stm32f7 to version V1.16.0
Update Cube version for STM32F7xx series
on https://github.com/STMicroelectronics
from version v1.15.0
to version v1.16.0

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-10-27 08:03:47 -05:00
Giancarlo Stasi 6e2d3f9514 stm32cube: extend public SetFlashLatency API to all families
The LL_SetFlashLatency public API is now defined for families
beyond G4, L4 and L5. In most case the private function has been
made public, in one case (H7) it's built on top of existing ones.

Signed-off-by: Giancarlo Stasi <giancarlo.stasi.co@gmail.com>
2020-06-24 21:45:39 +02:00
Francois Ramu 4fa9c62e00 stm32cube: update stm32f7 to version V1.16.0
Update Cube version for STM32F7xx series
   on https://github.com/STMicroelectronics
   from version v1.15.0
   to version v1.16.0

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-03-26 14:58:28 -05:00
Erwan Gouriou 92bdc131f9 stm32cube: all: Rename Kconfig symbol xxx_CRYPT to xxx_CRYP
Each Cube peripheral API _foo.h has a matching Kconfig symbol
USE_STM32_HAL_FOO. This convention is useful for automatic package
update.
Crypto API derogates from this rule, which breaks automatic update:
- API is _cryp.h
- Kconfig is USE_STM32_HAL_CRYPT

Fix this by aligning Kconfig symbol on API naming.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-12-09 11:54:23 -06:00
Marc Herbert 2077622128 make stm32cube a zephyr_library()
Stops leaking very long source paths in build directories; makes them
deterministic.

This is identical to what was already merged in
https://github.com/zephyrproject-rtos/hal_nordic/pull/6
or https://github.com/zephyrproject-rtos/zephyr/pull/19531
see previous code reviews there.

See also CMake issue https://gitlab.kitware.com/cmake/cmake/issues/19475
for more details.

This is basically a search/replace of "zephyr_sources" with
"zephyr_library_sources"

For instance, when running sanitycheck -p stm3210c_eval, this changes
the build directories from:

sample.helloworld/
└── zephyr
    ├── CMakeFiles
    │   │   ├── HOME
    │   │   │   └── JOHN
    │   │   │      └── ZEPHYRPROJECT
    │   │   │          └── modules
    │   │   │             └── hal
    │   │   │                └── stm32
    │   │   │                    └── stm32cube
    │   │   │                       └── stm32f1xx
    │   │   │                          ├── drivers
    │   │   │                          │  └── src
    │   │   │                          │     ├── stm32f1xx_hal.c.obj
    │   │   │                          │     ├── stm32f1xx_hal_rcc.c.obj
    │   │   │                          │     └── stm32f1xx_ll_utils.c.obj
    │   │   │                          └── soc
    │   │   │                              └── system_stm32f1xx.c.obj

... to:

sample.helloworld/
├── modules
│   ├── stm32
│   │   ├── CMakeFiles
│   │   └── stm32cube
│   │       ├── CMakeFiles
│   │       │   └── ..__modules__hal__stm32__stm32cube.dir
│   │       │       └── stm32f1xx
│   │       │           ├── drivers
│   │       │           │   └── src
│   │       │           │       ├── stm32f1xx_hal.c.obj
│   │       │           │       ├── stm32f1xx_hal_rcc.c.obj
│   │       │           │       └── stm32f1xx_ll_utils.c.obj
│   │       │           └── soc
│   │       │               └── system_stm32f1xx.c.obj
│   │       ├──
│   │       ├── lib..__modules__hal__stm32__stm32cube.a

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2019-10-23 06:37:43 -05:00
Erwan Gouriou 274220117b stm32cube: Disable Legacy CAN API
Remove fixes on Cube packages to use Legacy API.
Applied to STM32F0, F1, F3, F4, F7 and L4.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-07-03 06:49:59 -05:00
Erwan Gouriou e110e49430 stm32cube: update stm32f7xx cube version
Update Cube version for STM32F7XX series
from version: V1.12.0
to version: V1.15.1

Includes fix for ST Bug tracker ID: 13359.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-06-21 09:32:40 -04:00
Erwan Gouriou db2a2f3d25 ext/hal/st: stm32cube: Update License Link for stm23cube packages
License link provided in stm32cube abstract packages was not
reflecting the actual license in use for these packages.
Update the link to BSD 3-Clause official.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-05-06 08:54:14 -05:00
Kumar Gala cb98c8af68 ext/hal: stm32f7xx: Fix warnings for extraneous parentheses
Building with clang reports the following warnings:

stm32f7xx_hal_tim.c: error: equality comparison with extraneous
parentheses [-Werror,-Wparentheses-equality]
  else if((htim->State == HAL_TIM_STATE_READY))
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

Removing the extra () fixes the warning

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-04-17 16:46:17 -05:00
Erwan Gouriou 162eb4eb22 ext/hal: stm32f7xx: Use of (__packed uint32_t *) produces warnings
Using Zephyr SDK 0.10.0-rc2, GNUCC 8.2.0 is used and
(__packed uint32_t *) are now generating warnings..
Replace with CMSIS macros __UNALIGNED_UINT32_READ and
__UNALIGNED_UINT32_WRITE

ST internal reference: 61327

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-11 11:37:06 -06:00
Armando Visconti fff660ce41 ext: stm32cube: revert 71ba2de7 and 9a893202
Revert 71ba2de7:
ext: stm32cube: stm32f4xx: shift I2SR field in PLLI2SCFGR register
(ST Bug tracker ID: 50086)

Revert 9a893202:
ext: stm32cube: stm32f7xx: shift I2SR field in PLLI2SCFGR register
(ST Bug tracker ID: 50108)

This two commits were introduced to shift the PLLR parameter according
to the PLL register field position. After analysis, it appears that
function is actually correct, and issue was actually in parameters
provided that didn't match the API. (see PR #12609)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2019-01-24 09:35:53 -06:00
Erwan Gouriou c92d8faff0 ext/hal/st: stm32f7: Fix README
READM was not updated following last STM32Cube update.
Fix this.


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-29 10:30:48 +00:00
Erwan Gouriou f76c117994 ext/hal: stm32cube: fix exti declaration in STM32F7
LL_EXTI_LINE_18 and LL_EXTI_LINE_20 are declared in stm32f7xx_hal_pcd.h
and in stm32f7xx_ll_exti.h which generates warnings. Set #ifndef
in stm32f7xx_ll_exti.h around declarations.
STBugtracker: 55274

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-18 18:32:06 -05:00
Erwan Gouriou 61c74ca09c ext/hal/st: update stm32f7 stm32cube package from v1.11.0 to v1.12.0
Update STM32F7 series stm32cube package from V1.11.0 to V1.12.0.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-09 12:03:17 -04:00
Erwan Gouriou 2404afb66f ext/hal/st: stm32f4: dos2unix and remove trailing white spaces
Format all cube packages to the same format before update to new
versions:
-Apply dos2unix
-Remove trailing white spaces

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-10-09 12:03:17 -04:00
Erwan Gouriou 095d2a1888 ext/hal: stm32cube: STM32F7: Enable legacy CAN API
A new CAN API has been delivered on recent F7 stm32cube.
This new API breaks current CAN driver. Disable the new API and
enable the legacy API.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-08-13 18:46:20 -07:00
Armando Visconti 641b3e8828 ext: stm32cube: stm32f7xx: shift I2SR field in PLLI2SCFGR register
The I2SR field should be shifted by RCC_PLLI2SCFGR_PLLI2SR_Pos when the
PLLI2SCFGR register is read or written. Without this patch the PLLI2S
configuration is not done properly (R and M params are badly set) and
the PLLI2S generates bad clock waveform.

ST Bug tracker ID: 50108

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2018-07-06 09:44:59 -05:00
Erwan Gouriou 830f5c92af ext: stm32cube: update stm32f7xx cube version
Update Cube version for STM32F7XX family
from version: V1.8.0
to version: V1.11.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>
2018-06-27 12:27:15 -05:00
Erwan Gouriou 9de004c7bc ext/hal: stm32cube: Update STM32F7 README file
To comply with Zephyr Contributing guidelines regarding
ext/ components, update README for STM32F7 series

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-03-08 08:47:15 -06:00
Erwin Rol 96a0ae7a6d 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 7a1f4ef3fd 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 4a8876cab8 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 34f006b986 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
Erwan Gouriou 69cc705094 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
Erwan Gouriou 88c8f2a375 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 aeba9d6258 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