Commit Graph

8764 Commits (master)

Author SHA1 Message Date
Martin Kojtal ddaceccf5a
Merge pull request #15258 from Nantis-GmbH/stm32-uart-num-fix
STM32F0: Fix target codes for number of UARTs
2022-04-05 10:24:13 +02:00
Bora Özgen 9ff358724f STM32F0: Fix target codes for number of UARTs 2022-04-04 16:22:51 +02:00
Jerome Coutant 1cd6bf1399 STM32F1: add MCU_STM32F103xC support 2022-03-31 15:31:47 +02:00
Ahmet Alincak 751d0cf98b Correct heap region calculation for Maxim targets 2022-03-21 00:02:59 +03:00
Pavel S bf599a2438
STM32G4: Fix I2C timing 2022-03-16 08:32:39 +01:00
Pavel S 5c2f103b73
enable QSPI for STM32G4 2022-03-02 20:26:43 +01:00
Deepak V. Shreshti ae0fcefd17 Updated I2C pin names in PinNames.h header 2022-02-28 14:46:11 +05:30
Martin Kojtal 48b1b8ec78
Merge pull request #15221 from amcnicoll/amcnicoll/shared_uart_isr
Add ability to use multiple UARTs on STM32L0, STM32G0 when IRQ is shared
2022-02-22 10:36:28 +01:00
Anthony Mcnicoll fe698ea13b Missed matching #endif 2022-02-20 16:43:44 -05:00
Martin Kojtal a58f8ddae7
Merge pull request #15232 from jeromecoutant/PR_H753
STM32H7: add MCU_STM32H753xI support
2022-02-16 16:44:52 +01:00
Martin Kojtal 3b86e1f4b9
Merge pull request #15230 from jeromecoutant/PR_G4
STM32G4: corrections for STM32G491xE, STM32G4A1xE and STM32G471xE
2022-02-16 16:36:48 +01:00
Anthony Mcnicoll 41275f7e0d Refactor missing #defs for multiple UART support 2022-02-15 21:46:12 -05:00
Jerome Coutant 90cbc89532 STM32H7: add MCU_STM32H753xI support 2022-02-15 16:40:04 +01:00
Jerome Coutant c594d6ee95 STM32L1: build error with STM32L151xB MCU 2022-02-15 15:39:04 +01:00
Jerome Coutant 661c5c17af STM32G4: missing files for STM32G491xE and STM32G4A1xE 2022-02-15 14:03:26 +01:00
Jerome Coutant 071cffafc5 STM32G4 : STM32G471xx CMSIS file 2022-02-15 11:20:20 +01:00
Jerome Coutant 03e51c164c STM32H7 : fix I2C5 build error 2022-02-14 13:39:19 +01:00
Anthony Mcnicoll f004f09b0b Consistency fixes for multiple UART support commit 2022-02-12 12:35:49 -05:00
Martin Kojtal c6d814e68c
Merge pull request #15215 from jeromecoutant/PR_STM32L4_ADD
STM32 : add MCU_STM32L4P5xG and MCU_STM32L412xB support
2022-02-09 16:57:53 +01:00
Anthony Mcnicoll 8f9b1153ef Add ability to use multiple UARTs on STM32L0, STM32G0 when IRQ is shared 2022-02-05 12:00:23 -05:00
Martin Kojtal c4fd338adc
Merge pull request #15212 from mothacehe/master
STM32H7: increase i2c slave rx limit.
2022-02-01 16:40:26 +01:00
Martin Kojtal 26876c0b91
Merge pull request #15190 from hazzlim/make_gpio_irq_api_portable
Make gpio irq api portable
2022-01-31 10:27:18 +01:00
Jerome Coutant 12757de057 STM32L4 : add MCU_STM32L412xB support 2022-01-28 13:49:49 +01:00
Mathieu Othacehe 3c0c9c2b33
STM32: increase i2c slave rx limit.
Use uint16_t variables for i2c slave_rx_buffer_size and slave_rx_count
variables. This allows to receive more than 255 bytes in slave mode. The
bytes are received one by one in slave mode so there are no hardware
limitations forcing a 1 byte rx count limit.
2022-01-28 11:58:52 +01:00
Jerome Coutant 4ecbf935ce STM32L4 : add MCU_STM32L4P5xG support 2022-01-28 11:46:39 +01:00
Martin Kojtal f75ff22714
Merge pull request #15207 from wally0258/master
Add Nuvoton NuMaker-IoT-M263A CAN bus support
2022-01-28 10:58:34 +01:00
wally0258 4a0df44ec9
Resolve compiler warning and disable CAN0 IRQ 2022-01-27 09:40:55 +08:00
Hari Limaye f4e5359710 GPIO: Use uintptr_t for gpio_irq_api context
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.

In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
2022-01-26 18:12:52 +00:00
Hari Limaye a580c418cc HAL: Remove duplication in TARGET_NRF52 gpio_api 2022-01-26 11:14:30 +00:00
wally0258 94833a0ba6
Update can_api.c
Update Copyright
2022-01-25 09:05:31 +08:00
Jerome Coutant b9d51b6255 ST: correct LED pins for DISCO_L562QE 2022-01-21 09:41:21 +01:00
Martin Kojtal 1443257e40
Merge pull request #15206 from vznncv/iss_stm32_spi_16_bit
STM32: fix SPI 16 bit mode
2022-01-17 16:39:01 +01:00
Martin Kojtal d234b35aee
Merge pull request #15205 from mikrodust-henrikp/add_usbdevice_to_nucleo_f722ze
Add USBDEVICE to NUCLEO_F722ZE target
2022-01-17 16:10:06 +01:00
Wally 6e09135b58 Add Nuvoton NuMaker-IoT-M263A CAN bus support 2022-01-17 14:32:42 +08:00
Konstantin Kochin 0c9d5b0605 Fix STM32 SPI async API for STM32H7 (SPI_IP_VERSION_V2)
By default, HAL functions (HAL_SPI_TransmitReceive_IT/HAL_SPI_Transmit_IT/HAL_SPI_Receive_IT) assume that SPI is disabled between function invocation.
It's needed to set transfer size (CR2 register), that can be modified only if SPI disabled. But `stm32_spi_api.c` keeps SPI enabled after initialization.

This commit adds helper code for STM32H7 (SPI_IP_VERSION_V2) that disables SPI before HAL_SPI_TransmitReceive_IT/HAL_SPI_Transmit_IT/HAL_SPI_Receive_IT
and after end of transaction for HAL API compatibility.
2022-01-15 14:51:41 +03:00
Konstantin Kochin 756f6f5199 Fix STM32 SPI 16-bit logic
Update SPI logic to process 16 bit words in the same way by sync/async,
3/4 wires modes:
- fix 3-wire synchronous transmission to move 2 or more bytes between buffer and
  SPI register per word tarnsmission
- fix 4-wire synchronous transmission to move 2 or more bytes between buffer and
  SPI register per word tarnsmission
2022-01-15 14:51:41 +03:00
Michal Majcherski 6263af9aff Support for the NUCLEO_G0B1RE board 2022-01-14 12:11:47 +01:00
Henrik Persson 6f73f5deb3 Add USBDEVICE to NUCLEO_F722ZE target
USB was missing from NUCLEO_F722ZE but is present and working on the
board.
2022-01-14 11:46:44 +01:00
Jerome Coutant 5e5d2ab9a5 STM32G0 FLASH : support MCU with dual bank 2022-01-13 11:44:21 +01:00
Martin Kojtal 6bb606f62d
Merge pull request #15194 from deepak-shreshti/master
Add Toshiba M4KN Platform
2022-01-10 13:49:32 +01:00
Chun-Chieh Li 926cda5e8f M487: Fix UART 6/7 base address encoding
Fix UART 6/7 base addresses are incorrectly encoded into peripheral names
2022-01-07 16:39:59 +08:00
Deepak V. Shreshti 5bc3aa18c0 Updated code to remove float symbols 2021-12-23 19:19:57 +05:30
Deepak V. Shreshti cd4ee72979 Added SPDX Header
Updated PIN Names
Added M4KN MCU Deatils in index.json
Removed Special Chars
2021-12-23 19:19:57 +05:30
Deepak V. Shreshti 44249f0d40 Added M4KN Platform
New Platform M4KN for Toshiba has been added
2021-12-23 19:19:56 +05:30
ATmobica 6a5cc40182 Fix mbed-cy8cproto-062s3-4343w target 2021-12-15 22:16:14 +01:00
ATmobica 9e1444f88d Add <"CM0P_SLEEP" IN_LIST MBED_TARGET_LABELS> condition to Cypress boards and common PSOC6 cmake files 2021-12-15 21:37:14 +01:00
Martin Kojtal 7a6262c3bc
Merge pull request #15189 from boraozgen/nrf52-gpio-assert-init
nRF52: GPIO: Assert that init succeeds
2021-12-15 14:42:47 +00:00
Martin Kojtal fe5e648147
Merge pull request #15192 from ATmobica/master
Add option to disable WHD component for Cypress targets
2021-12-15 11:59:33 +00:00
Bora Özgen 352beffedf nRF52: GPIO: Assert that init succeeds 2021-12-14 10:01:08 +01:00
Jerome Coutant de3f9efb67 STM32H7 : remove warning
[Warning] stm32h7xx_hal_hrtim.c@1621,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@1625,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@2238,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@2242,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@5332,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@5767,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32h7xx_hal_hrtim.c@5771,21: equality comparison with extraneous parentheses [-Wparentheses-equality]

[Warning] analogin_device.c@63,30: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
2021-12-10 17:16:47 +01:00
Jerome Coutant 3237bff990 STM32F7 : remove warning
[Warning] flash_api.c@191,14: unused variable 'tmp' [-Wunused-variable]
2021-12-10 17:16:47 +01:00
Jerome Coutant 4d63929898 STM32L5 : remove warning
[Warning] serial_device.c@657,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@666,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@675,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@676,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
2021-12-10 17:16:47 +01:00
Jerome Coutant 1bf801a4f7 STM32G4 : remove warning
[Warning] serial_device.c@644,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@644,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@653,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@653,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@662,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@662,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@663,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@663,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]

[Warning] stm32g4xx_hal_hrtim.c@1817,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@1821,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@2461,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@2465,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@6600,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@7162,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@7166,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
2021-12-10 17:16:47 +01:00
Jerome Coutant 999d98a3d7 STM32L4 : remove warning
This is the MBED current implementation, no need to warn
2021-12-10 17:16:47 +01:00
Jerome Coutant b5e28baf45 STM32 CAN : remove warning [-Wsign-compare]
Detected with NUCLEO_G474RE build:
[Warning] stm32g4xx_hal_fdcan.h@1325,84: comparison is always true due to limited range of data type [-Wtype-limits]
[Warning] stm32g4xx_hal_fdcan.h@1331,46: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1331,65: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1325,61: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1325,84: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
2021-12-10 17:16:35 +01:00
ATmobica 78a7859fa8 Add <"WHD" IN_LIST MBED_TARGET_LABELS> condition to Cypress boards and wifi driver cmake files 2021-12-10 13:14:29 +01:00
Martin Kojtal b129f6ebad
Merge pull request #15184 from ihf-uk-team/master
Fix initialisation sequence of RTC
2021-12-07 13:57:32 +00:00
Jerome Coutant e49036dd56 STM32WL : update readme 2021-12-06 17:48:35 +01:00
Michael Hasling dc30b7afe9 Fix initialisation sequence of RTC
Initialisation of RTC was wrong for boot from sysreset, and resulted
in RTOS with nothing to do in its main thread. This fixes the bug.
2021-11-29 16:45:22 +00:00
Martin Kojtal 01ef431f88
Merge pull request #15174 from OpenNuvoton/nuvoton_m2354_tfm_sram-bank_sector-map_scratch
M2354: Fix potential issues in TF-M
2021-11-22 10:48:21 +00:00
Chun-Chieh Li d0f72015c0 M2354: Fix potential issues in TF-M
Fix the following issues in TF-M to avoid emergence in the future:
1.  Enable initial stack not located in SRAM bank0
    On reset, only SRAM bank0 is enabled. And SRAM bank1/2 will be enabled in immediately following SystemInit().
    When initial stack is located in SRAM bank1/2, we will meet trouble because SystemInit() itself needs to use initial stack.
    To conquer the dilemma, we add preceding code in front of original Systeminit(), which is responsible for enabling SRAM bank1/2 and guarantees no using initial stack.
2.  Fix sector maps of internal/external (SDH) Flash are incompatible, caused by TF-M's MCUboot port.
    This is done by adapting external (SDH) Flash sector size to internal Flash's.
3.  Enlarge firmware upgrade scratch size. There are two advantages:
    (1) Get around MCUboot limit which requires scratch size not smaller than image trailer size
    (2) Improve wear leveling for the scratch area
2021-11-22 13:57:22 +08:00
Jerome Coutant be6e9a16a5 B_U585I_IOT02A supports OSPI 2021-11-18 12:26:21 +01:00
Martin Kojtal ae5c9ec70e
Merge pull request #15153 from bakatrouble/master
STM32F722ZE port
2021-11-17 15:22:30 +00:00
Jerome Coutant 9675b6ccb6 STM32L1: add support of MCU_STM32L151xB
for custom boards like RAK811
2021-11-10 10:12:28 +01:00
Jerome Coutant 8e26a05f50 STM32: readme update for MBED_SLEEP_TRACING_ENABLED 2021-11-08 09:46:20 +01:00
Chun-Chieh Li 5992676276 M2354: Adjust TF-M configuration to fit AWS IoT
1.  In TF-M, enlarge ITS max asset number/size
    NOTE: RSA key size is larger
2.  In TF-M, enlarge mbedtls dedicated heap
    NOTE: RSA algorithm needs more memory.
    NOTE: psa_aead_decrypt() (for mbedtls_ssl_read()) needs memory proportional to data size.
2021-10-29 10:38:27 +08:00
bakatrouble 6c9ae1e9fc Add STM32F722ZE target 2021-10-28 19:18:30 +03:00
bakatrouble 0e64ff9a90 Support missing SPI6 on STM32F7 2021-10-28 19:18:30 +03:00
bakatrouble 469d681bd9 Support different STM32F7 flash configurations 2021-10-28 19:18:30 +03:00
Martin Kojtal 07e119b467
Merge pull request #15154 from rardiol/STM32WB55-BLE-HCI_size
STM32WB55 HCI driver: version dependent rom size
2021-10-28 10:09:49 +01:00
Ricardo Ardissone 2a99cf6d19 STM32WB55: update README.md for BLE version 1.12+ 2021-10-27 19:21:22 -03:00
Bill Waters a2e46525ac Fix for PWM resume issue, SWINTEGRATION-57 2021-10-21 09:22:45 -07:00
Martin Kojtal 06f234e3af
Merge pull request #15137 from jeromecoutant/PR_WL_1_1_0
STM32WL update drivers version to CUBE V1.1.0
2021-10-15 10:07:02 +02:00
Jerome Coutant 0ef6dd5ad5 STM32WB remove non-UTF characters 2021-10-12 17:52:08 +02:00
Jerome Coutant 2b8c37ac8e STM32L5 remove non-UTF characters 2021-10-12 17:52:08 +02:00
Jerome Coutant eb8d8547ed STM32L4 remove non-UTF characters 2021-10-12 17:52:07 +02:00
Jerome Coutant 52f8760062 STM32L1 remove non-UTF characters 2021-10-12 17:52:07 +02:00
Jerome Coutant 95640b9ef1 STM32L0 remove non-UTF characters 2021-10-12 17:52:07 +02:00
Jerome Coutant 9319d2ace2 STM32H7 remove non-UTF characters 2021-10-12 17:52:06 +02:00
Jerome Coutant 2f9ba5b4da STM32G4 remove non-UTF characters 2021-10-12 17:52:06 +02:00
Jerome Coutant c5b6347ccb STM32G0 remove non-UTF characters 2021-10-12 17:52:06 +02:00
Jerome Coutant 39f8924f07 STM32F7 remove non-UTF characters 2021-10-12 17:52:06 +02:00
Jerome Coutant bb9952e0eb STM32F4 remove non-UTF characters 2021-10-12 17:52:06 +02:00
Jerome Coutant f103713a96 STM32F3 remove non-UTF characters 2021-10-12 17:52:05 +02:00
Jerome Coutant 7f15a2802e STM32F2 remove non-UTF characters 2021-10-12 17:52:05 +02:00
Jerome Coutant 66fa2dd0c2 STM32F1 remove non-UTF characters 2021-10-12 17:52:05 +02:00
Jerome Coutant aab80387f2 STM32F0 remove non-UTF characters 2021-10-12 17:52:05 +02:00
Jerome Coutant 5e7a7f4b4e STM32WL remove non-UTF characters 2021-10-12 16:37:03 +02:00
Martin Kojtal 3167a1fd5d
Merge pull request #15133 from jeromecoutant/PR_I2C
STM32WB/STM32WL: I2C issue
2021-10-12 15:31:31 +02:00
Martin Kojtal 34bbc75aa9
Merge pull request #15109 from MaximIntegrated/add-MAX32660
Add MAX32660EVSYS
2021-10-12 14:51:57 +02:00
Jerome Coutant 8ae3e19676 STM32WL : STM32Cube_FW_WL_V1.1.0 2021-10-12 12:20:27 +02:00
Jerome Coutant bfa78005c0 STM32WL file alignment before cube update 2021-10-12 12:20:27 +02:00
Jerome Coutant 035b7871bf STM32Wx: I2C issue
a "else" was missing for

uint32_t i2c_get_pclk(I2CName i2c)
    if (i2c == I2C_1) {
    else if (i2c == I2C_2) {
    else if (i2c == I2C_3) {
    else {
        error("I2C: unknown instance");
2021-10-12 12:01:23 +02:00
Martin Kojtal b7c2dd01bb
Merge pull request #15132 from douardda/fix-usb-stm32
STM32: fix USB_reenumerate() for STM32F3
2021-10-11 12:33:42 +02:00
Jerome Coutant 4c5093c7e9 STM32WL: UART2 was missing 2021-10-08 14:01:13 +02:00
David Douard d5d93a4ef1 STM32: fix USB_reenumerate() for STM32F3
for which the DP pin remained forced low after the reenumerate sequence
(low for 10ms) instead of being reconfigured as an input (PullNone).

Signed-off-by: David Douard <david.douard@sdfa3.org>
2021-10-07 21:00:11 +02:00
Sadik.Ozer 196008205d Add missing file in CMakeList.txt
Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-07 17:58:13 +03:00
Sadik.Ozer b8bef044dd Use lower case
Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-07 17:13:19 +03:00
Martin Kojtal 76c37204e0
Merge pull request #15128 from Jookia/RFC_usbfix
Fix USB on DISCO_F769NI
2021-10-07 16:12:19 +02:00
Sadik.Ozer 4db4364e91 Remove device folder as subdir
Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-07 12:45:44 +03:00
Jerome Coutant abf86183bb STM32H743: correct pack manager rom value 2021-10-06 15:30:29 +02:00
Jookia fad23610d1 targets: Use ULPI USB mode for DISCO_F769NI 2021-10-06 19:31:52 +11:00
Jookia 10d4e2c6a8 DISCO_F769NI: Disable ULPI alternate mode on unused pins
These pins are not connected to the USB PHY, so don't set their
alternate function as such.
2021-10-06 19:27:33 +11:00
Sadik.Ozer de4d4ca40c Remove unexisting file from CMakeList
Remove unneeded files
Remove const float value

Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-06 07:53:50 +03:00
Sadik.Ozer 66ee198740 MAX32660 is not public
Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-05 17:05:36 +03:00
Sadik.Ozer 8961d73ff1 Remove dead code, fix gcc warning
Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-10-04 12:58:42 +03:00
Martin Kojtal 6a9ccb3aa3
Merge pull request #15123 from jeromecoutant/PR_MXCHIP
STM32: introduce new wifi driver for B-U585I-IOT02A
2021-10-04 09:43:40 +02:00
Martin Kojtal 4587080dbb
Merge pull request #15116 from jeromecoutant/PR_USB_F3
STM32F3 - enable USB_DEVICE for NUCLEO_F303ZE
2021-10-01 15:59:48 +02:00
Jerome Coutant 817925b3f0 STM32: enable wifi for B_U585I_IOT02A 2021-09-30 14:19:17 +02:00
Sadik.Ozer 9c029bfc08 Add MAX32660EVSYS
- Add SDK files (updated to match mbed system)
- Implement mbed API files
- Update mbed related configuration (CMakefiles, .json files...)
- Add gcc and arm related files (linker, scatter, startup...)
- Tested with ARM and GCC_ARM toolchain
- GreenTea tests have been executed

Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-09-30 14:07:55 +03:00
Jerome Coutant 317079bde3 STM32: create MCU_STM32H7B3xIQ for custom boards 2021-09-30 09:33:09 +02:00
Jerome Coutant 18f737e906 STM32: create MCU_STM32H735xG for custom boards 2021-09-30 09:15:40 +02:00
Martin Kojtal bc01a4e063
Merge pull request #15082 from jeromecoutant/PR_STM32F1_AF
STM32F1: add more alternate functions
2021-09-29 15:31:10 +01:00
Martin Kojtal 0b9a7740d5
Merge pull request #15099 from jeromecoutant/PR_H723
STM32H7: enable more custom boards
2021-09-29 15:18:00 +01:00
Martin Kojtal d5d6688a26
Merge pull request #15074 from jeromecoutant/PR_L432
STM32 : default SPI and I2C for targets with ARDUINO-NANO
2021-09-29 10:39:05 +01:00
Martin Kojtal 611ec14905
Merge pull request #15081 from jeromecoutant/PR_PERIPHSCRIPT
STM32: STM32_gen_PeripheralPins.py v1.20.4
2021-09-29 10:26:45 +01:00
Martin Kojtal 0fac696bfc
Merge pull request #15077 from hazzlim/make_can_api_portable
CAN: Use uintptr_t for can_irq_ids
2021-09-29 10:26:37 +01:00
Martin Kojtal 963aa8bcd3
Merge pull request #15065 from jeromecoutant/PR_CAN
STM32L5/STM32U5 : CAN support
2021-09-29 10:25:27 +01:00
Martin Kojtal fc62b15b08
Merge pull request #15114 from MaximIntegrated/fix-warnings-maxim
Fix ARM toolchain #L6803W Relocation warnings
2021-09-29 10:14:11 +01:00
Jerome Coutant 8d3587919e STM32F3 - enable USB_DEVICE for NUCLEO_F303ZE 2021-09-28 16:36:12 +02:00
Martin Kojtal d93843a694
Merge pull request #15080 from jeromecoutant/PR_F407_CAN
STM32F4: CAN issue with F407 target
2021-09-28 14:02:50 +01:00
Martin Kojtal ff6d401a86
Merge pull request #15095 from LDong-Arm/ctest_nfc
CMake: greentea: Migrate the NFC EEPROM test to CTest
2021-09-28 13:26:41 +01:00
Jerome Coutant f9010ed7a0 STM32F4: CAN issue with F407 target 2021-09-28 13:32:11 +02:00
Jerome Coutant 26df0c144e STM32 : default SPI anbd I2C for targets with ARDUINO-NANO 2021-09-28 13:23:21 +02:00
Martin Kojtal 94c7463762
Merge pull request #15062 from jeromecoutant/PR_LORABARE
Lora drivers: explicit lib requirement
2021-09-28 11:04:55 +01:00
Martin Kojtal c8b489ea9b
Merge pull request #15075 from jeromecoutant/PR_G0_CUBE
STM32G0 update drivers version to CUBE V1.5.0
2021-09-28 11:04:36 +01:00
Sadik.Ozer 6f8e7232d1 Fix ARM toolchain #L6803W Relocation warnings
While building with ARM toolchain relocation warnings appears
This commit will fix it for MAX32625/30 targets.

The system interrupt function is defined as weak in startup file
and its overvides in other files, Becuase of the functions is overrites
while calling it in startup modile by B XXXXX probably compiler give
info purpose warnings... By using using . instead function name it says
go existing point to the compiler.
Warning detail:
https://www.keil.com/support/man/docs/armerr/armerr_dom1365073159742.htm

Signed-off-by: Sadik.Ozer <Sadik.Ozer@maximintegrated.com>
2021-09-28 12:01:13 +03:00
Jerome Coutant da903bf057 STM32H7 add subfamilies for custom boards
- STM32H723xG
- STM32H725xE
- STM32H750xB
2021-09-22 15:13:31 +02:00
Jerome Coutant 998a46f775 STM32F303xC: cmakelist issue 2021-09-22 11:48:01 +02:00
Jerome Coutant d61d7aa24b STM32G0: update README 2021-09-22 11:47:05 +02:00
Jerome Coutant 168f9a37a9 STM32G0: introduce sub family for custom boards
STM32G030x8
STM32G041x8
STM32G050x8
STM32G051x8
STM32G061x8
STM32G081xB
STM32G0B0xE
STM32G0B1xE
STM32G0C1xE
2021-09-22 11:46:54 +02:00
Jerome Coutant 4da602f79e STM32: STM32_gen_PeripheralPins.py v1.20.4
Minor updates needed in
https://github.com/ARMmbed/stm32customtargets/tree/GENERIC_TARGET
2021-09-22 10:59:56 +02:00
Jerome Coutant b711180838 STM32G0: update from STM32Cube_FW_G0_V1.5.0 2021-09-21 11:29:33 +02:00
Jerome Coutant e0877e4077 STM32G0: align code with CubeUpdate script 2021-09-21 11:29:33 +02:00
Lingkai Dong cbec61adb5 targets: Declare DISCO_L475VG_IOT01A's built-in M24SR NFC 2021-09-20 17:04:51 +01:00
Jerome Coutant a3d21b7672 STM32F1: add more alternate functions 2021-09-17 15:37:56 +02:00
Hari Limaye b493a15a53 CAN: Use uintptr_t for can_irq_ids
The HAL can_api stores an array of IDs in order to dispatch interrupts
to the correct CAN object. The drivers level CAN Class casts a pointer
to itself to an uint32_t, which is stored as the ID and then cast back
to a CAN * in order to call the correct handler. This results in
compilation failure when the size of an object pointer is greater than
uint32_t, for example when building on a PC for unit testing.

In order to allow Unit Testing of the CAN Class, we replace the use of
uint32_t with uintptr_t (type capable of holding a pointer), which
allows portability and expresses intentions more clearly. In aid of this
latter goal, we also replace the use of the name "id" with "context",
to improve clarity. These are addresses of the context related to that
callback.
2021-09-17 13:36:43 +01:00
Chun-Chieh Li bbc5ad9505 M2354: Fix TF-M 1.4
1.  In TF-M, fix NSPE interrupt-disabled NSC call broken. Check:
    https://developer.trustedfirmware.org/T966
2.  In TF-M, enable mcuboot log enabled forcibly. This is to help check firmware update process.
3.  Update readme and script
2021-09-17 13:44:58 +08:00
Robert Walton a43103faac TFM: MUSCA: Import partition maps from upstream
Import the latest partition headers from upstream. We no longer need to
patch the headers to define the BL2 macro as we now define it in the
scatter files for the MUSCA targets.
2021-09-14 17:32:42 +01:00
Robert Walton 33e57ee577 TFM: Remove BL2 macro workaround for mbed-cli1/ARMClang
We worked around an issue with mbed-cli1 not recognising the BL2 macro
from targets.json by adding patched versions of region_defs.h and
flash_layout.h for ARM_MUSCA targets. In the patched headers we defined
the BL2 macro to ensure it can be picked up by the ARM scatter files
that include the headers.

The current solution is not robust, because it means that the
aforementioned headers easily become out of date. A workaround of
defining the macros in the scatter files which need them was suggested
in https://github.com/ARMmbed/mbed-os/issues/14762

This commit applies the suggested changes to the ARM_MUSCA scatter
files.
2021-09-14 17:32:42 +01:00
Robert Walton aeee26019e targets: ARM_MUSCA: Update tfm_target_names
The directory structure upstream has changed. Now ARM_MUSCA board
support has been moved under an "arm" subdirectory. Update targets.json
with the new locations.
2021-09-14 17:32:42 +01:00
Robert Walton 56ffd54dd4 tfm: Move tfm_ns_interface.c
tfm_ns_interface.c is intended to be overriden by clients to support
different targets. We copy this file from upstream into the mbed-os
platform library. We also have a specific "strong" overridden version
for the NU_M2354 target, which is located in its target library.
Previously the implementations in the platform library were decorated
with __attribute__(weak), and we provided a strong definition for the
NU_M2354 target. This worked fine because of weak linking, the linker
will pick the first "strong" definition and use that, avoiding any ODR
violations. However, upstream have removed __attribute__(weak) from the
function definitions, which caused multiply defined symbol errors when
trying to build the NU_M2354 target.

To work around the above issue, we remove the common definition in the
platform library; instead we copy the file to the Musca B1 and Musca S1
target libaries. This means the appropriate tfm_ns_interface.c is only
included in the build when compiling for the specific target which uses
it.
2021-09-14 17:32:42 +01:00
Robert Walton 3d17e1646c "Update secure binaries for [('NU_M2354', 'GNUARM')]" 2021-09-14 17:32:42 +01:00
Robert Walton d11bac087c "Update secure binaries for [('ARM_MUSCA_S1', 'ARMCLANG')]" 2021-09-14 17:32:42 +01:00
Robert Walton f28a6eab4f "Update secure binaries for [('ARM_MUSCA_B1', 'ARMCLANG')]" 2021-09-14 17:32:42 +01:00
Jerome Coutant abe2e48ae8 STM32L5/STM32U5 : CAN suport 2021-09-13 13:55:33 +02:00
Jaeden Amero 756830e776
Merge pull request #14989 from LDong-Arm/sfdp_sector_maps_multi
SFDP: Add support for multiple configurations and sector maps
2021-09-13 10:09:27 +01:00
Lingkai Dong 9ade440860 CYW9P62S1_43012EVB_01: Enable QSPI and QSPIF
QSPIF was disabled on CYW9P62S1_43012EVB_01 because its S25FS512S
flash chip has multiple configurations but our SFDP parser did not
support this scenario. Now having added support for this, we can
enable QSPIF (the component label for QSPIFBlockDevice) and QSPI
(the label for Quad-SPI communication).
2021-09-10 11:40:01 +01:00
Jerome Coutant 4ef3b6cc9c STM32U5: README update 2021-09-10 11:16:17 +02:00
Jerome Coutant 90510bb401 STM32U5: targets.json 2021-09-10 11:16:17 +02:00
Jerome Coutant 84959256b7 STM32U5 : B_U585I_IOT02A introduction 2021-09-10 11:16:17 +02:00
Jerome Coutant 8114954054 STM32U5 : NUCLEO_U575ZI_Q introduction 2021-09-10 11:16:17 +02:00
Jerome Coutant 724c378c42 STM32U5 : STM32U5xxxxx sub-families 2021-09-10 11:16:16 +02:00
Jerome Coutant f45b1890aa STM32U5 specific driver files 2021-09-10 11:16:16 +02:00
Jerome Coutant e2ca71d1bf STM32U5: generic STM32 driver files update 2021-09-10 11:16:16 +02:00
Jerome Coutant 69c7cb4d59 STM32U5 CMSIS update 2021-09-10 11:16:16 +02:00
Jerome Coutant 3a1eb190d1 STM32U5 / GPIO HAL : GPIO_AF3_TIM1 is missing 2021-09-10 11:16:16 +02:00
Jerome Coutant 16a40c3ff1 STM32U5 ST_HAL_SPI workaround
Internal ticket 112451
2021-09-10 11:16:16 +02:00
Jerome Coutant 8bdd782a30 STM32U5 / CMSIS : USB_OTG patch 2021-09-10 11:16:16 +02:00
Jerome Coutant 59affad91c STM32U5: STM32Cube_FW_U5_V1.0.0 2021-09-10 11:16:08 +02:00
Martin Kojtal 5a3f3f7330
Merge pull request #15051 from hallard/STM32_LPTIM_Prescaler
Allow to use all STM32 targets prescaler for LPTIM
2021-09-10 09:52:04 +01:00
Jerome Coutant fe1adbcc86 Lora drivers: explicit lib requirement 2021-09-10 09:07:15 +02:00
Martin Kojtal 9eed4272f5
Merge pull request #15029 from OpenNuvoton/nuvoton_m2354_tfm_import_mcu_partition
M2354: Fix incorrectly resolved peripheral base with security
2021-09-09 08:00:37 +01:00
Martin Kojtal 3031898929
Merge pull request #15027 from OpenNuvoton/nuvoton_m2354_tfm_fw_version
M2354: Generate unique MCUboot image version
2021-09-08 14:47:54 +01:00
Jerome Coutant 066c07b234 STM32 SPI : Pull Down for output line 2021-09-07 14:32:47 +02:00
Jerome Coutant 8bd27caf89 STM32 SPI : Add SPI reset in init 2021-09-07 14:32:47 +02:00
Jerome Coutant d3b03dec0c STM32 SPI : STM32H7 IP is SPI_IP_VERSION_V2 2021-09-07 14:32:39 +02:00
Charles 81876a0f88 added disclaimers 2021-09-06 10:25:42 +02:00
Charles 1ad23b8d13 Allow more target prescaler for LPTIM 2021-09-03 22:33:40 +02:00
Martin Kojtal 887bcf7f93
Merge pull request #15030 from OpenNuvoton/nuvoton_m2354_tfm_missing_lcdcp
M2354: Fix LCDCP missing in TF-M CLK pass list
2021-09-02 12:59:57 +01:00
Chun-Chieh Li dcd30e0cb0 M2354: Change MCUboot image versioning for unique version
Change MCUboot image versioning to meet requirements below:
1. Major.Minor.Revision must be non-decremental when used to derive security counter (-s 'auto').
2. Make Major.Minor.Revision+Build incremental to identify the firmware itself through psa_fwu_query().
3. Get around MCUboot failure with TF-M underestimated MAX_BOOT_RECORD_SZ
2021-09-02 09:18:25 +08:00
Chun-Chieh Li 6447b3d8f3 M2354: Fix LCDCP missing in TF-M CLK pass list
Besides LCD_MODULE, add LCDCP_MODULE into TF-M pass list for below CLK driver in NSPE:

-   CLK_SetModuleClock_S
-   CLK_EnableModuleClock_S
-   CLK_DisableModuleClock_S
-   CLK_GetModuleClockSource_S
2021-09-02 09:17:18 +08:00
Chun-Chieh Li fc080f76fc M2354: Fix incorrect peripheral base with security
Import mcu partition header (renamed to partition_M2354_im.h) for resolving peripheral base with security.
Though Mbed is non-secure only and needn't secure peripheral base, some BSP driver code still rely on it.
2021-09-02 09:16:01 +08:00
Konstantin Kochin 7bc773badd Improve STM32 SPI asynchronous API stability
`HAL_SPI_Receive_IT` HAL function causes dummy reads in 3-wire mode,
that causes data corruption in RX FIFO/register. It isn't possible
to fix it without signification refactoring, but we may prevent data
corruption with the following fixes:

- RX buffer/register cleanup after asynchronous transfer in 3-wire mode
- Explicit RX buffer/register cleanup after SPI initialization
  (for cases if we re-create SPI object).
2021-09-01 21:12:48 +03:00
Konstantin Kochin c60f0cc11e Fix STM32 spi_abort_asynch function
- add RX cleanup after SPI re-initialization,
  as it isn't implemented in the `HAL_SPI_Init`
- cancel SPI enabling for 3-wire mode
2021-09-01 21:12:48 +03:00
Konstantin Kochin f1c4a7fe52 Fix STM32 SPI 3-wire (synchronous API)
All STM32 families except STM32H7 has the following 3-wire SPI peculiarity in master receive mode:
SPI continuously generates clock signal till it's disabled by a software. It causes that a software
must disable SPI in time. Otherwise, "dummy" reads will be generated.

Current STM32 synchronous SPI 3-wire implementation relies on HAL library functions HAL_SPI_Receive/HAL_SPI_Transmit.
It performs some SPI state checks to detect errors, but unfortunately it isn't fast enough to disable SPI in time.
Additionally, a multithreading environment or interrupt events may cause extra delays.

This commit contains the custom transmit/receive function for SPI 3-wire mode. It uses critical sections to
prevents accidental interrupt event delays, disables SPI after each frame receiving and disables SPI during
frame generation. It adds some delay between SPI frames (~700 ns), but gives reliable 3-wire SPI communications.
2021-09-01 21:12:48 +03:00
Konstantin Kochin 179bba9189 Move common STM32 SPI operations to separate functions
- move a code that waits readable SPI state from `spi_master_write`
  function to inline functions `msp_writable` and `msp_wait_writable`
- move a code that waits writeable SPI state from `spi_master_write`
  function to inline functions `msp_readable` and `msp_wait_readable`
- move a code that writes data to SPI from `spi_master_write`
  function to inline function `msp_write_data`
- move a code that reads data from SPI from `spi_master_write`
  function to inline function `msp_read_data`
2021-09-01 21:12:48 +03:00
Lukas Karel e4f0281dd8 add RTC from HSE to target STM32F1 2021-09-01 14:42:04 +02:00
Martin Kojtal d2a88f4400
Merge pull request #15024 from OpenNuvoton/nuvoton_m2354_tfm_sdh
M2354: Enhance TF-M SDH stability
2021-08-26 10:22:48 +01:00
Martin Kojtal 43a060fe7c
Merge pull request #14926 from katherrafi/hal_callback_override
Eth: STM32: Overriding HAL callbacks in stm32xx
2021-08-26 09:51:48 +01:00
Chun-Chieh Li 259ee6b17a M2354: Enhance TF-M SDH stability
1.  Lower TF-M SDH clock to avoid premature timeout
2.  Re-initialize TF-M SDH on (timeout) failure
2021-08-26 11:02:13 +08:00
Kather Rafi Ibrahim a9f51e31fd Eth: STM32: Overriding HAL callbacks in stm32xx
This commit enables the Overriding of HAL callbacks and IRQHandler
in stm32xx_emac.cpp. Hence the user can have their own
implementations of callbacks and IRQHandler functions.

Signed-off-by: Kather Rafi Ibrahim <katherrafi.i@hcl.com>
2021-08-25 14:30:47 +05:30
cyliangtw f28181c32a M451 CAN API support mask feature 2021-08-24 19:14:27 +08:00
cyliangtw a33dc4e371 M480 CAN API support mask feature 2021-08-24 18:26:49 +08:00
Martin Kojtal 513f581bce
Merge pull request #15012 from felser/MTS_DRAGONFLY_L496VG
Add platform MTS_DRAGONFLY_L496VG
2021-08-24 09:50:58 +01:00
Leon 4b27aef0ae Add platform MTS_DRAGONFLY_L496VG 2021-08-18 12:03:48 -05:00
Martin Kojtal 5d82bd5b85
Merge pull request #14956 from jeromecoutant/PR_SCRIPT_UPDATE
STM32_gen_PeripheralPins script update
2021-08-17 20:29:54 +01:00
Martin Kojtal 4e0e21f897
Merge pull request #15000 from SamuA-AP/fix-can-api-filters
Fix Extended Message Filter count in STM CAN API
2021-08-17 11:14:31 +01:00
Martin Kojtal ca5126e2e4
Merge pull request #15003 from dustin-crossman/pr/add_missing_bt_support
Add bluetooth support files to Cypress BSPs.
2021-08-16 09:32:30 +01:00
Jerome Coutant 79d403a0db STM32_gen_PeripheralPins script update
- add CMakeLists.txt
- patch for STM32U5 boards
2021-08-16 10:28:21 +02:00
Martin Kojtal 9bcc48678a
Merge pull request #14976 from world-direct/feature/target_stm32f1
Add more uarts for STM32F103xG
2021-08-13 13:08:02 +01:00
Samu Ampio cbc0ee60b0
Fix Extended Message Filter count in STM CAN API
As per STM32H7-series reference manuals:
"Up to 64 filter elements can be configured for 29-bit extended IDs."
This commit fixes a bug which prevented receiving CAN-messages
with extended IDs.
2021-08-13 12:43:36 +03:00
Dustin Crossman 1aa67dd235 Add bluetooth support files to Cypress BSPs. 2021-08-12 10:06:40 -07:00
Martin Kojtal 4dd08c40f5
Merge pull request #14990 from ikmdani/stm32l1_usb_enable_pullups
Driver: USB: STM32L1: Managing internal pullups for usb enumeration
2021-08-12 15:54:40 +01:00
Jaeden Amero 4125fd0786
Merge pull request #14972 from OpenNuvoton/nuvoton_m2354_tfm_psa_fwu
M2354: Support PSA Firmware Update
2021-08-11 13:57:57 +01:00
Robert Walton a437ed4047 targets: Add "bare-metal" to supported_application_profiles
We weren't setting the "supported_application_profiles" correctly for
some baremetal supported targets. This didn't cause build failures with
mbed-cli 1 as it just seems to ignore this config parameter. In our CMake
build system we have added a hard dependency on the
supported_application_profiles; we fail the build if the profile we're
trying to build isn't in the list.
2021-08-11 10:15:42 +01:00
Robert Walton cfc68a0918 CMake: Use CMAKE_MODULE_PATH to locate nuvoton post build hook
We were previously relying on the global MBED_PATH variable to provide
the root for the include path to the post build hooks. We can't
guarantee that MBED_PATH will be set by any application building us, so
use CMAKE_MODULE_PATH (which we always set) like we do for the other
post-build hooks.
2021-08-11 10:15:42 +01:00
Krishna Mohan Dani 3e83108f1c Driver: USB: STM32L1: Managing internal pullups for usb enumeration
This commit adds internal pullup on DP line for usb enumeration
in nucleo_l152re platform. This platform as such does not have
usb connector (device).

This has been tested with example in https://github.com/ARMmbed/
mbed-os/blob/master/drivers/usb/include/usb/USBMouse.h#L58-L76

and mbed_app.json file

"target_overrides": {
        "*": {
            "platform.stdio-baud-rate": 115200,
            "platform.all-stats-enabled": true,
            "mbed-trace.enable": "0"
        },
        "NUCLEO_L152RE": {
            "target.device_has_add": ["USBDEVICE"]
        }
    }
}

Signed-off-by: Krishna Mohan Dani <krishnamohan.d@hcl.com>
2021-08-10 17:49:36 +05:30
Chun-Chieh Li 5114e4c7c2 M2354: Support PSA Firmware Update
1.  Change from single image boot to multiple image boot
2.  SDH is configured to Secure for placing update firmware. It becomes inaccessible to Mbed.
3.  Post-build script supports both multiple image boot and single image boot
4.  Update readme to reflect above change
5.  Increase forced_reset_timeout due to longer booting time for Greentea test
2021-08-05 10:14:33 +08:00
Lukas Karel 727daf910b add more uarts for STM32F103xG 2021-08-04 09:05:59 +02:00