mbed-os/targets/TARGET_STM
Bradley Scott c5d379e908 STM32F3: Correct handling of USB ISTR and endpoint registers
The USB ISTR register consists of a mix of bits that are
write-zero-to-clear and read only bits.  As such, to clear a bit in
the ISTR, you should simply write the bitwise-NOT of the bit to clear.
Previously, the __HAL_PCD_CLEAR_FLAG() macro would do a bitwise-AND
with the ISTR register contents to clear a bit, but this could result
in another bit being inadvertently cleared if it is set by hardware
between the read and the write of the ISTR register.

Similarly, the USB endpoint registers have two bits that are
write-zero-to-clear, USB_EP_CTR_RX and USB_EP_CTR_TX, but the
PCD_CLEAR_RX_EP_CTR() and PCD_CLEAR_TX_EP_CTR() macros wrote back the
last read value for one of these bits when clearing the other bit.
This could result in inadvertent clearing of one of these bits if it
were set by the hardware between the read and the write.  These macros
have now both been adjusted to always write one to the bit not being
cleared to prevent inadvertent clears.
2017-05-21 14:37:55 +01:00
..
TARGET_STM32F0 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32F1 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32F2 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32F3 STM32F3: Correct handling of USB ISTR and endpoint registers 2017-05-21 14:37:55 +01:00
TARGET_STM32F4 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32F7 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32L0 DISCO_L072CZ_LRWAN1: change date in periperalPins.c 2017-05-21 14:37:54 +01:00
TARGET_STM32L1 Added mapping to USER_BUTTON-labelled switches 2017-05-05 16:48:51 +01:00
TARGET_STM32L4 Fixed typos 2017-05-05 16:48:52 +01:00
PeripheralPins.h STM32F4 Internal ADC channels rework 2017-04-21 15:42:18 +01:00
PinNamesTypes.h STM32: common pinmap using LL layer to access registers 2017-02-16 18:57:18 +01:00
PortNames.h STM32: make PortNames.h a common file 2017-01-19 15:27:19 +01:00
can_api.c can_write(): return error code when no tx mailboxes are available. 2017-03-13 11:20:15 +00:00
gpio_api.c Use #if defined TARGET_STM32L4 2017-03-13 11:12:42 +00:00
gpio_irq_api.c STM32: gpio: style consistency 2017-02-16 19:34:08 +01:00
gpio_object.h Typo: update comment (GPIO_IP_WITHOUT_BRR) 2017-03-13 11:13:02 +00:00
hal_tick_16b.c STM32: TIM: Initialize new TIM parameter 2017-01-10 16:53:20 +01:00
hal_tick_32b.c STM32Cube_FW_F7_V1.6.0 CMSIS v1.1.2 => v1.2.0 STM32F7 HAL v1.1.2 => v1.2.0 2017-03-24 20:39:27 +00:00
i2c_api.c STM32: Correct I2C master error handling 2017-04-07 14:01:03 +01:00
lp_ticker.c Run astyle 2016-12-21 16:54:19 +00:00
mbed_rtx.h DISCO_L072CZ: Modifications and verifications to build 2017-05-21 14:37:49 +01:00
pinmap.c STM32: gpio SPEED - always set High Speed by default 2017-03-13 11:12:59 +00:00
port_api.c STM32: Change Set_GPIO_Clock return type 2017-02-16 18:55:44 +01:00
pwmout_api.c STM32: fix formatting 2017-03-13 11:13:52 +00:00
rtc_api.c STM32 RTC api minor update 2017-02-22 08:50:58 +01:00
rtc_api_hal.h STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files 2016-12-21 16:54:18 +00:00
sleep.c STM32 : set back US counter after deepsleep 2017-02-21 17:46:15 +01:00
stm_spi_api.c STM32: change spi error to debug warning 2017-03-13 11:13:10 +00:00
trng_api.c rework after directory moves 2016-10-10 10:12:39 +02:00
us_ticker_16b.c Update license + date (same license as in mbed.h file) 2016-11-14 10:01:07 +01:00
us_ticker_32b.c Update license + date (same license as in mbed.h file) 2016-11-14 10:01:07 +01:00