Commit Graph

2128 Commits (feature-sdio)

Author SHA1 Message Date
Martin Kojtal 16568da47f
Merge pull request #11605 from ABOSTM/DISCO_H747I_DUALCORE_SUPPORT
DISCO_H747I dualcore support
2019-10-16 17:35:25 +08:00
Laurent Meunier e862438fad Clearing UART TC Flag prevents deep sleep, so do not clear it
The TC flag is used in function serial_is_tx_ongoing to check if there is
an ongoing serial transmission. So this Flag must not be cleared at the
end of the transmission, otherwise, serial_is_tx_ongoing will notify that
TX is ongoing.

The impact is that it may prevent deep sleep to be entered.

Also there is no need to clear this flag at the end of the transaction
because it will be cleared automatically by HW when a new transmission
starts.
2019-10-15 15:59:51 +02:00
Alexandre Bourdiol 728a1c4383 STM32F767ZI - I2C FastModePlus not properly enabled 2/2
Warning: sometimes I2C_FASTMODEPLUS_I2Cx is defined,
even if not supported by some chip within the family
2019-10-15 13:46:29 +02:00
Janne Kiiskila 02c139f27a stm32f4xx_hal_pcd.c@346,22: unused variable 'ep'
Compiler warning fix, trivial. One function has an unused
variable, delete that line.
2019-10-15 09:49:09 +03:00
Alexandre Bourdiol 6397a1d555 Mbed patch of STM32cube for bootloader: use NVIC_FLASH_VECTOR_ADDRESS 2019-10-14 18:03:47 +02:00
Alexandre Bourdiol 02cdac5fe3 Update HAL/LL EXTI to have default API applied on current core and nott CPU1 2019-10-14 18:03:28 +02:00
Alexandre Bourdiol 48aba33204 SystemCoreClock should correspond to current core clock and not D1 clock. 2019-10-14 18:03:06 +02:00
Alexandre Bourdiol adcf0e2fa5 DISCO_H747I Dualcore support
Add 2 targets for DISCO_H747I dualcore:
* DISCO_H747I      -> for CM7 core
* DISCO_H747I_CM4  -> for CM4 core

Current restrictions:
* TICKLESS deactivated
* DeepSleep not supported (DeepSleep wrapped to sleep)

Warning: use of the same IP (example I2C1) by both core at the same time is not prevented,
but is strongly not recommended.
Some Hardware Semaphore are use for common IP, to manage concurrent access by both cores: Flash, GPIO, RCC.

Warning: Drag and drop of binary to DISCO_H747I will flash CM7.
         In order to flash CM4, one can use STM32 CubeProgrammer tool.
2019-10-14 18:02:57 +02:00
Martin Kojtal 8ff444ff80
Merge pull request #11621 from jeromecoutant/PR_L1_VREFINT_CAL_ADDR
STM32L151: update calibration memory address
2019-10-14 09:23:16 +02:00
Martin Kojtal 379787a127
Merge pull request #11626 from jeromecoutant/PR_DISCO_L4R_STMOD
DISCO_L4R9I: update default STMOD+ pin
2019-10-14 09:22:35 +02:00
Anna Bridge 489c30f569
Merge pull request #11297 from kyle-cypress/pr/qspi-dummy-cycles
Differentiate alt and dummy cycles in QSPIF
2019-10-11 14:34:17 +01:00
Alexandre Bourdiol 66765332e0 STM32F767ZI - I2C FastModePlus not properly enabled
Fixes #11659
2019-10-10 10:26:59 +02:00
Rohan Fletcher 02df759c37 OLIMEX_STM32E407_F407ZG: Added new target platform
Added Olimex STM32-E407 (STM32F407ZG) evaluation board.
USB, UART, External HS XTAL and Ethernet are all working correctly.
2019-10-10 09:20:28 +13:00
Anna Bridge f1295b9aa7
Merge pull request #11573 from felser/add_413_dragonfly
Add 413 dragonfly
2019-10-07 16:48:07 +01:00
jeromecoutant fc5b91a36f DISCO_L4R9I: update default STMOD+ pin 2019-10-07 16:01:16 +02:00
jeromecoutant 1673e8aa1b STM32L151: update calibration memory address 2019-10-03 14:17:04 +02:00
Kyle Kearney 9b32c0f316 Fix possible negative QSPI alt count on STM
Remove an extraneous decrement operation in cases where the alt
bits size is a multiple of 8.
2019-09-30 16:00:24 -07:00
Matthew Macovsky baf375f8cb Allow for arbitrary QSPI alt sizes
The QSPI spec allows alt to be any size that is a multiple of the
number of data lines. For example, Micron's N25Q128A uses only a
single alt cycle for all read modes (1, 2, or 4 bits depending on
how many data lines are in use).
2019-09-30 14:45:08 -07:00
Ben Cooke dd778c4126 Add MTS_DRAGONFLY_F413RH platform to mbed-os 2019-09-30 13:50:40 -05:00
int_szyk f892ae7f1e Add watchdog clock accuracy to STM targets. 2019-09-30 08:10:24 +02:00
jeromecoutant fff88617b7 STM32H7 ST CUBE V1.5.0 update 2019-09-27 11:39:06 +02:00
Martin Kojtal fff888b118
Merge pull request #11562 from VVESTM/vve_h7_memmap
STM32H7: memory relocation
2019-09-26 14:01:23 +02:00
jeromecoutant 8c1f94f7cb STM32WB : LSI clock selection when LSE is not available 2019-09-19 13:07:54 +02:00
jeromecoutant 5cfee65881 STM32H7: LSI clock selection when LSE is not available 2019-09-19 13:07:54 +02:00
Martin Kojtal 83fca603f0
Merge pull request #11454 from Tharazi97/LSI_VALUE_STM
ST: Change the LSI_VALUE according to documentation
2019-09-18 13:49:38 +02:00
Vincent Veron 82e89add61 STM32H7 : use RAM instead of DTCMRAM (GCC_ARM toolchain) 2019-09-18 10:57:21 +02:00
Vincent Veron ac30a70092 STM32H7 : use RAM instead of DTCMRAM (ARM toolchain) 2019-09-18 10:57:20 +02:00
Vincent Veron d241eef5d4 STM32H7 : use RAM instead of DTCMRAM (IAR toolchain)
Keep vector table and crash data ram in 0x20000000 for
tests-mbed_platform-crash_reporting test.
Move the rest in RAM (0x24000000). This is needed for ethernet and allows
user to use more RAM (512k).

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-09-18 10:57:19 +02:00
int_szyk 48040cf687 Change the LSI_VALUE according to documentation 2019-09-17 12:01:32 +02:00
mahanthgouda 1780a08d54 Add OKDO platform (#11407)
Add OKDO platform
2019-09-16 16:58:54 +02:00
Martin Kojtal f51bbe01c8
Merge pull request #11471 from jeromecoutant/PR_WB_ADC
STM32WB ADC : consecutive VBAT reading
2019-09-16 13:19:09 +02:00
jeromecoutant ee8489f4e9 STM32WB ADC : Consecutive VBAT values reading was not possible
Add Stop after read
2019-09-12 12:55:41 +02:00
Martin Kojtal c897e041c8
Merge pull request #11384 from jeromecoutant/PR_H747_CM7
ST DISCO-H747I introduction
2019-09-10 19:43:57 +02:00
jeromecoutant db7efabfd5 STM license file update
Some code have been copied from ST Cube deliveries.
ST copyright is then needed.
2019-09-10 14:24:48 +02:00
jeromecoutant 535dbe87af STM32H747 license update 2019-09-10 11:46:52 +02:00
jeromecoutant c28d5f17e5 DISCO_H747I single core M7 introduction 2019-09-10 11:46:50 +02:00
jeromecoutant 73a00e953d STM32H747xI introduction 2019-09-10 11:46:47 +02:00
jeromecoutant 117ddbadee STM32H743 files move 2019-09-10 11:46:35 +02:00
Martin Kojtal b8ebee5719
Merge pull request #11385 from Tharazi97/lp_ticker_wrapper_change
Fix problem with low level lp_ticker STM wrapper
2019-09-05 11:09:50 +02:00
Martin Kojtal 7b06ce552f
Merge pull request #11368 from ua1arn/master
Add pin speed controlling interface
2019-09-04 13:55:26 +02:00
Martin Kojtal 5a6bf446d2
Merge pull request #11383 from Tharazi97/f303_watchdog_reset
Change LSI_VALUE in STM implementation.
2019-09-04 11:55:27 +02:00
jeromecoutant 55d60f3c25 Add USB support for DISCO_L4R9I 2019-09-03 16:43:05 +02:00
jeromecoutant 425d63856c STM32L4 USB: remove EndpointAbort support 2019-09-03 14:23:05 +02:00
dolphin\gena afc79cf9b7 formatting 2019-09-03 12:03:04 +03:00
dolphin\gena 2a13490e6d bad formatting correction 2019-09-03 11:47:52 +03:00
dolphin\gena a684f43b7f indents correction 2019-09-03 11:45:35 +03:00
dolphin\gena 1379009f5e rename macro 2019-09-02 14:02:29 +03:00
Martin Kojtal 940d3fdf60
Merge pull request #11291 from LMESTM/STM32_OSPI_QSPI_fallback_support
Stm32 ospi qspi fallback support
2019-09-02 12:26:55 +02:00
Martin Kojtal 8add87aeba
ST pinmap: remove endif mistype 2019-09-02 10:33:20 +01:00
Martin Kojtal b44fbfe714
ST pinmap: Fix the style 2019-09-02 10:32:32 +01:00
dolphin\gena 58ca13006d formatting 2019-09-02 12:08:07 +03:00
int_szyk a95450bdc0 AStyle 2019-09-02 10:48:41 +02:00
int_szyk 16c5121705 Fix problem with low level lp_ticker STM wrapper 2019-09-02 10:48:40 +02:00
dolphin\gena 9043330af4 fix mistypes 2019-09-02 10:21:38 +03:00
dolphin\gena 05fc0f5263 formatting issue 2019-09-02 10:17:54 +03:00
dolphin\gena 75c17cea90 mistype fix 2019-09-02 10:08:36 +03:00
int_szyk 3fa878f8a8 Change LSI_VALUE in STM implementation.
Wrong LSI value might be causing problems witch watchdogs.
2019-08-30 13:54:39 +02:00
Martin Kojtal a65ed8c3d8
Merge pull request #11303 from jeromecoutant/PR_H743ZI2_480
NUCLEO_H743ZI2 : increase system clock from 400 MHz to 480 MHz
2019-08-29 17:10:06 +02:00
jeromecoutant bb1388be8e NUCLEO_L4R5ZI: add QSPI_x definition 2019-08-29 14:17:33 +02:00
Martin Kojtal 8ef742a49c
Merge pull request #11370 from u-blox/ublox_odin_driver_os_5_v3.7.1_rc1
Driver Updates + ARMC6 driver support + WIFI fixes
2019-08-29 13:35:06 +02:00
jeromecoutant f13072490c NUCLEO_L4R5ZI : add OSPI pins for QSPI 2019-08-29 12:11:28 +02:00
Laurent Meunier 8401c2ea31 STM32: Few fixes and tidy-up in qspi_api 2019-08-29 11:17:46 +02:00
jeromecoutant be78084a8b NUCLEO_H743ZI and NUCLEO_H743ZI2: clock configuration cleanup 2019-08-29 10:52:24 +02:00
aqib-ublox 7f36fbc86e Driver Updates + ARMC6 driver support + wifi fixes 2019-08-29 11:33:29 +05:00
dolphin\gena 605fdd13de Add pin speed controlling interface 2019-08-28 22:17:45 +03:00
Martin Kojtal 96d9a8fea9 Merge branch 'MX25LM51245G_QSPI_test_config' of git://github.com/LMESTM/mbed into dev_rollup 2019-08-28 18:37:17 +01:00
Martin Kojtal 104f9281c4 Merge branch 'I2C_SEQUENTIAL_COMMUNICATION_REWORK' of git://github.com/ABOSTM/mbed-os into dev_rollup 2019-08-28 18:36:53 +01:00
Martin Kojtal 31b65adf45 Merge branch 'master' of git://github.com/malavikasajikumar/mbed-os into dev_rollup 2019-08-28 18:36:40 +01:00
Leon Lindenfelser 7063ccee9e Add PA6 to ADC PeripheralPins for MTS_DRAGONFLY_L471QG 2019-08-28 13:12:08 +01:00
Malavika Sajikumar db0d3d21e6 Updating SDP-K1 PinNames.h file.
- Removing LED pin definitions based on color.
- Removing and updating incorrect USB pin definitions.
- Adding comments for Arduino SPI and I2C pins.
2019-08-27 15:24:08 -07:00
Martin Kojtal 7e179f5beb
Merge pull request #11301 from jeromecoutant/PR_L4R
STM32L4+ : increase system clock from 80 MHz to 120 MHz
2019-08-27 09:49:09 +02:00
Alexandre Bourdiol de121a308a Fix I2C issue with test mbed_hal_fpga_ci_test_shield
On last case #5 there was a last unexpected read.
It happened when stop condition was generated
2019-08-26 14:01:23 +02:00
Martin Kojtal 02d1873c06
Merge pull request #11266 from u-blox/feature_adc_temp_conf
ADC internal temperature support and EMAC header fix
2019-08-26 11:08:47 +02:00
Alexandre Bourdiol 7910de2f38 TARGET_STM: Fix I2C sequential communication
Keep former behaviour for I2C V1.
For I2C V2:
Use only I2C_FIRST_FRAME, I2C_FIRST_AND_LAST_FRAME and I2C_LAST_FRAME,
thus we avoid using reload bit.
Reload suppose the next frame would be in the same direction,
but we have no guarranty about this. So we cannot use reload bit.
Note: in case of 2 consecutive I2C_FIRST_FRAME,
a restart is automatically generated only if there is direction change in the direction.
2019-08-23 16:26:19 +02:00
jeromecoutant 8cd00b3468 STM32L4: Add OSPI IP support in fallback QSPI mode
For STM32 platforms that embed an OSPI IP, we're offering
a QSPI fallback support with this commit.

When OSPI is supported in mbed, we can consider adding full
OSPI support
2019-08-23 15:18:48 +02:00
aqib-ublox 1ab75d3759 adding internal ADC pin definition for MBED_CONNECT_ODIN and MBED_ODIN_W2 2019-08-23 15:46:15 +05:00
jeromecoutant 3e4592703d Create NUCLEO_H743ZI2 own target at 480 MHz 2019-08-23 10:33:08 +02:00
Anna Bridge 7455b89603
Merge pull request #11280 from Tharazi97/stm_spi_api_memset_fill_truncated
Tweak stm_spi_api Coverity warning.
2019-08-22 17:11:19 +01:00
jeromecoutant 680e0fc5fb DISCO_L4R9I: increase system clock from 80MHz to 120MHz 2019-08-22 13:32:20 +02:00
jeromecoutant bdd0689228 NUCLEO_L4R5ZI: increase system clock from 80MHz to 120MHz 2019-08-22 13:21:28 +02:00
Alexandre Bourdiol 7647b39adc TARGET_STM: I2C sequential communication revert PR #3324 to original cube HAL 2019-08-22 10:44:20 +02:00
Martin Kojtal d0c917cb32
Merge pull request #11274 from VVESTM/vve_eth_h7
Add ethernet support on NUCLEO_H743ZI board
2019-08-22 09:42:45 +02:00
int_szyk 5c9daa3941 Tweak stm_spi_api Coverity issue.
Coverity warining: "memset fill truncated (NO_EFFECT)".
Changed SPI_FILL_WORD to SPI_FILL_CHAR.
2019-08-21 16:47:35 +02:00
Vincent Veron 76fb4d22cc STM32H7 : update linker script files to use right location for lwip_ram_heap
Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-08-21 11:41:30 +02:00
Vincent Veron 9f2e9aa576 Add EMAC support for NUCLEO_H743ZI
This port is based on :
    * CurryGuy ethernet branch :
        https://github.com/CurryGuy/mbed-os/tree/feature-stm32h7-emac
    * STM32 Cube example :
        Applications/LwIP/LwIP_HTTP_Server_Netconn_RTOS example

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-08-21 11:40:48 +02:00
aqib-ublox 80e30f4258 ADc internal temperature suuport and EMAC header fix 2019-08-20 18:44:22 +05:00
Martin Kojtal ce74bb53c4
Merge pull request #11178 from Tharazi97/watchdog_max_timeout
ST: Watchdog: Fix timeout registers value calculation
2019-08-20 13:47:31 +02:00
Hugues Kamba 5cbc3e0497 Relocate USB target specific code to root `targets` directory
All target specific source and header files should be in the `targets`
directory located at the root of the Mbed OS repository.
2019-08-16 15:42:43 +01:00
int_szyk df43350f28 Tweak STM watchdog implementation
Change the calculation method of rl so it is rounded up.
2019-08-14 13:02:47 +02:00
Martin Kojtal de84004be1
Merge pull request #11189 from LMESTM/pwmout_cpp_guard
__cplusplus guard fixed pwmout_device.h for STM32 families
2019-08-13 11:19:24 +02:00
Martin Kojtal f8dc035ae4
Merge pull request #11139 from sethitow/stm32f413-crash-capture
STM32F413 Crash Capture
2019-08-09 12:49:21 +01:00
Martin Kojtal 174cac7e11
Merge pull request #11103 from desowin/stm32f7-usbhost
STM32F7: Do not generate redundant IN tokens
2019-08-09 11:36:37 +01:00
Martin Kojtal 9b4373639b
Merge pull request #11072 from jeromecoutant/PULL_REQUEST_CUBE_UPDATE_L4_V1.14.0
STM32L4: update drivers version to CUBE V1.14.0
2019-08-09 11:35:00 +01:00
Laurent Meunier 319223ac16 __cplusplus guard fixed pwmout_device.h for STM32 families
This bug prevented using this header in cpp code directly.
2019-08-09 09:51:39 +02:00
Seth Itow 9a65310a85 stm32f413xh: add crash capture support for ARM_STD 2019-08-01 11:28:36 -07:00
Szymon Szantula dd2876c8ac
__cplusplus guard fixed
This error prevented using this header in cpp code directly.
2019-08-01 14:41:11 +02:00
Seth Itow 1c4ad895dd stm32f413xh: add crash capture support for IAR 2019-07-31 15:54:47 -07:00
Seth Itow 6278dacc1f stm32f413xh: add crash capture support for ARM_MICRO 2019-07-31 15:54:20 -07:00
Seth Itow 489bd3dec8 stm32f413xh: add crash capture support for GCC_ARM 2019-07-31 15:53:34 -07:00
Ireneusz Gaicki b9c4076741 STM32F7: Do not generate redundant IN tokens
When STM32F746-DISCO board was being used in (unsupported) USBHost mode,
the communication was unreliable. Our investigation revealed that the
problem lied in redundant IN tokens that the host generated even though
it shouldn't. This could lead to endless high-frequency NAKs being
received from device, which caused watchdog reset as USBHost spent all
time in interrupt handlers.

In our application the clocks frequencies are:
  * HCLK = 48 MHz
  * APB1 = 6 MHz
  * APB2 = 12 MHz

We have captured the raw USB High-Speed traffic using OpenVizsla.
Without this change, when USB MSD device connected to the system
responded to IN with NAK, there were excessive IN tokens generated about
667 ns after the NAK. With this commit the IN tokens are generated no
sooner than 10 us after the NAK.

The high frequency of the IN/NAK pairs is not the biggest problem.
The biggest problem is that the USB Host did continue to send the IN token
after DATA and ACK packets were received from device - *without* any request
from upper layer (USB MSD).

The USB MSD devices won't have extra data available on Bulk IN endpoint
after the expected data was received by Host. In such case IN/NAK cycle
time is only houndreds of nanoseconds, the MCU has no time for anything else.

The problem manifested not only on Bulk endpoints, but also during
Control transfers. Example correct scenario (when this fix is applied):
  * SETUP stage
    * SETUP [host -> address 0 endpoint 0]
    * DATA0 [80 06 00 01 00 00 08 00] [CRC16: EB 94]
    * ACK
  * DATA stage
    * IN
    * NAK
    ... the IN/NAK repeated multiple time until device was ready
    * IN
    * DATA1 [12 01 10 02 00 00 00 40] [CRC16: 55 41]
    * ACK
  * STATUS stage
    * OUT
    * DATA1 ZLP
    * ACK

Without this commit, in DATA stage, after the ACK was received, the host
did send extra IN to which device responded with STALL. On bus it was:
  * DATA stage
    ...
    * IN
    * DATA1 [12 01 10 02 00 00 00 40] [CRC16: 55 41]
    * IN
    * STALL
    * IN
    * STALL
  * STATUS stage
    * OUT
    * DATA1 ZLP
    * STALL

In the fault case the next SETUP was sent only after 510 ms, which
indicates timeout in upper layer.

With this commit the next SETUP is sent 120 us after the STATUS stage ACK.
2019-07-24 11:40:49 +02:00