Commit Graph

5438 Commits (3d1b8363dbddd7da39ce504d437e814b2a19f10f)

Author SHA1 Message Date
Anna Bridge 08ecbfcd46
Merge pull request #11021 from OpenNuvoton/nuvoton_lpticker_delay_ticks
Nuvoton: Enlarge LPTICKER_DELAY_TICKS for safe
2019-08-15 12:47:55 +01:00
Martin Kojtal a6c316afee
Merge pull request #11020 from OpenNuvoton/nuvoton_wakeup_latency
Nuvoton: Enlarge required deep sleep latency
2019-08-14 13:38:00 +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 be23d3c871
Merge pull request #11137 from facchinm/nano33ble_public
Add Arduino Nano 33 BLE target
2019-08-13 10:51:12 +02:00
Martin Kojtal 9113c8d5d7
Merge pull request #11116 from nubix-io/issue-11115
Define I²C related pin names for the L-Tek FF_LPC546XX target
2019-08-13 10:42:49 +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
Martin Kojtal d27867ecd4
Merge pull request #11150 from byq77/patch-1
__cplusplus guard fixed pwmout_device.h for STM32F4
2019-08-09 08:41:12 +01:00
Martin Kojtal fd931a169d
Merge pull request #11168 from maciejbocianski/fix_qspi_write_k82f
Xpresso: qspi_write fix
2019-08-09 08:23:21 +01:00
Martino Facchin bd0988416e [TARGET] Add Arduino NANO33BLE 2019-08-08 17:24:56 +02:00
Seppo Takalo 5f6379a55d
Merge pull request #11119 from Reda-RM/master
Riot Micro cellular device
2019-08-07 14:07:27 +03:00
Maciej Bocianski f2599f43eb Xpresso: qspi_write fix
Due to the data buffer is loaded in two steps the whole block needs protection from being interrupted
2019-08-06 14:55:29 +02:00
Seppo Takalo 644f79592c
Merge pull request #11151 from kyle-cypress/pr/gpio-inout-fix
Fix PSoC 6 inout pins
2019-08-06 12:37:08 +03:00
Seppo Takalo 6436f11335
Merge pull request #11123 from desmond-blue/fix-nrf52-us-ticker-free
NRF52 need to call TIMER_TASK_SHUTDOWN for current consumption
2019-08-06 11:33:55 +03:00
Seppo Takalo 1c2b050cb0
Merge pull request #11138 from maclobdell/fix-cypress-mbed-rom-start
fix rom start & size for CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W
2019-08-06 11:33:09 +03:00
Seppo Takalo 1e4a837add
Merge pull request #11141 from maciejbocianski/i2c_Xpresso_byte_read_fix
freescale: fix i2c_byte_read function
2019-08-06 11:32:24 +03:00
Seppo Takalo fae1504e30
Merge pull request #11160 from OpenNuvoton/nuvoton_remove_delay_cycle_x4
Nuvoton: Remove dead code nu_delay_cycle_x4
2019-08-06 11:29:14 +03:00
Reda Maher ef1d9778a9 [Riot Micro] Add Riot Micro cellular module targets 2019-08-05 18:57:43 +02:00
Seppo Takalo f2236d26f8
Merge pull request #11131 from lrusinowicz/serial_free_fix
FUTURE_SEQUANA: Add missing serial_free() implementation
2019-08-05 15:41:45 +03:00
Seppo Takalo e69a7c913d
Merge pull request #11099 from trowbridgec/update-ep-agora-pinout
Update EP_AGORA target pinout
2019-08-05 12:00:08 +03:00
Chun-Chieh Li 413d127586 Nuvoton: Remove dead code nu_delay_cycle_x4(...)
Originally, nu_delay_cycle_x4(...) is borrowed from mbed test code for delay
cycle. Currently, it is not used on Nuvoton targets. If delay cycle is needed,
use wait_ns(...) instead which has strict implementation and has passed tests.
2019-08-05 09:32:35 +08: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
Kyle Kearney 33b06d4109 Fix inout pins not functioning correctly
Update the drive mode when setting the GPIO direction.
2019-07-31 11:51:04 -07:00
maclobdell e201a5c6be fix rom start & size for psoc6 targets for 5.13 2019-07-31 12:48:25 -05:00
Maciej Bocianski b788541308 freescale: fix i2c_byte_read function 2019-07-31 19:44:23 +02:00
Leszek Rusinowicz 16372f3222 FUTURE_SEQUANA: Add missing serial_free() implementation 2019-07-31 13:28:31 +02:00
desmond.chen 7b5366f7a3 NRF52 need to call TIMER_TASK_SHUTDOWN for current consumption 2019-07-30 17:20:08 +08:00
Seppo Takalo 417a9fe2fb
Merge pull request #11074 from fkjagodzinski/pinmap-gpio_irq
Add a gpio-irq pinmap
2019-07-29 17:44:55 +03:00
Seppo Takalo 9affeb868d
Merge pull request #11071 from cypress-neil/pr/psoc6-usb
PSOC6: USB device implementation
2019-07-29 17:41:42 +03:00
David Rauschenbach d19c881a56 Define I²C related pin names for the L-Tek FF-LPC546XX target 2019-07-27 07:18:15 -07:00
Chris Trowbridge 04ca01d16f Update PinNames.h with the pinout for EP_AGORA HW rev 1.1 2019-07-26 11:48:36 -04:00
Filip Jagodzinski 844864066a PSOC6_FUTURE: Fix circular dependency for GPIO-IRQ
The use of `gpio_irq_event` & `gpio_irq_handler` in `gpio_irq_s` creates
a circular dependency.

hal/gpio_irq_api.h needs
targets/TARGET_Cypress/TARGET_PSOC6_FUTURE/TARGET_CY8C63XX/device.h, that needs
targets/TARGET_Cypress/TARGET_PSOC6_FUTURE/objects.h, that again needs
hal/gpio_irq_api.h, before the types are defined.

Remove `#include "gpio_irq_api.h"` directive from objects.h and change
the types of `gpio_irq_s` members.
2019-07-25 11:04:16 +02: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
Kyle Kearney b65be5fa29 Bug fixes to I2C and SPI drivers
- Fix assert when spi_master_block_write called with 0 size
- Fix assert when spi_format called before spi_frequency
- Simplify implementation of spi_master_write
- Simplify pointer arithmetic expressions in cyhal_spi_transfer and
  cyhal_spi_transfer_async
- Fix I2C driver not honoring the frequency specified during init.
2019-07-23 15:40:45 -07:00
Neil Tuttle 2bf79c1588 PSOC6: Remove USBDEVICE from FUTURE_SEQUANA targets 2019-07-23 15:30:06 -07:00
Seppo Takalo c505d25186
Merge pull request #11077 from bentcooke/52840_align
NRF52840: remove align instructions from gcc linker for ARM.extab exi…
2019-07-23 11:37:47 +03:00
Seppo Takalo 13873f388c
Merge pull request #11062 from AGlass0fMilk/fix-nrf52-saadc-res-again
Fix SAADC resolution for nRF52-based targets... again
2019-07-22 15:30:11 +03:00
Seppo Takalo 0e33dd7e62
Merge pull request #11080 from kyle-cypress/pr/cy8ckit-062s2-43012
Add target for CY8CKIT_062S2_43012
2019-07-22 14:09:33 +03:00
Seppo Takalo 0d6a3be91d
Merge pull request #11079 from bentcooke/52840_patch3
NRF52840: enable TRNG in Nordic SDK config
2019-07-22 14:07:41 +03:00
Seppo Takalo 5aff943a84
Merge pull request #11064 from NXPmicro/Update_LPC_GPIO_IRQ
MCUXpresso: Fix the LPC GPIO IRQ driver
2019-07-22 11:42:46 +03:00
Seppo Takalo 94f434227d
Merge pull request #11060 from NXPmicro/LPC_Update_SPI_Driver
MCUXpresso: Update LPC spi driver
2019-07-22 11:37:20 +03:00
Kyle Kearney 40557cefeb Add target for CY8CKIT_062S2_43012 2019-07-19 15:44:27 -07:00
Ben Cooke 36bd06c00a NRF52840: enable TRNG in Nordic SDK config 2019-07-19 13:24:12 -05:00
Ben Cooke 892adc6e91 nrf52840: remove align instructions from gcc linker for ARM.extab exidx sections 2019-07-19 10:22:05 -05:00