Commit Graph

4514 Commits (31fe3ee11ef6becea4399ca584358584e185d4e8)

Author SHA1 Message Date
Russ Butler d08034c9ef Remove OR from ST endpoint activation
When activating an endpoint assign new data rather than ORing
data to it. This ensures that values set from the previous use
do not effect the current configuration.
2019-02-22 10:53:19 -06:00
Russ Butler 86e1d436e7 Alternate implementation of HAL_PCD_EP_Abort
Update the patch "Create HAL_PCD_EP_Abort" to fix bugs.
This patch adds the low level functions USB_EPStopXfer, USB_EPSetNak,
USB_EPClearNak and the high level function HAL_PCD_EP_Abort so that
transfers can be stopped.

The functions USB_EPSetNak and USB_EPClearNak allow nak to be enabled
or disabled for an endpoint, preventing or allowing further transfers.

The function USB_EPStopXfer stops pending reads and writes started by
USB_EPStartXfer along with clearing and masking any interrupts enabled
by USB_EPStartXfer.

The function HAL_PCD_EP_Abort aborts any transfers on the given
endpoint. When this function completes the transfer interrupt
is guarenteed not to fire for this endpoint. Furthermore, the size
of data transferred during an aborted read can be found by calling
the function HAL_PCD_EP_GetRxCount.

Other notes on this Change:

1.
Prior to this patch the interrupt USB_OTG_DOEPINT_EPDISD was not
handled. When an OUT endpoint was disabled this interrupt occurred
causing the CPU to get stuck repeatedly handling this interrupt. This
is because this interrupt was unmasked but nothing cleared this
interrupt. This patch also adds code to handle and clear this
interrupt to prevent a lockup.

2.
Stopping a transfer on an OUT endpoint requires global nak OUT to
be in effect. Even with this being done, having entries in the rx fifo
prevented an OUT endpoint from being disabled. This behavior is not
mentioned in the Reference Manual.
2019-02-22 10:53:18 -06:00
Russ Butler c4cf19ee3b Revert "Create HAL_PCD_EP_Abort"
Revert the patch "Create HAL_PCD_EP_Abort" in preparation for an
alternate fix.
2019-02-22 10:53:18 -06:00
Michel Jaouen ced1cbd0ed Create HAL_PCD_EP_Abort 2019-02-22 10:53:16 -06:00
Russ Butler a47c383233 Update the STM32 USB driver to the new API
Take the code from
mbed-os\features\unsupported\USBDevice\targets\TARGET_STM
as a starting point and use it to fill in the USBPhy template for STM32
devices.
2019-02-22 10:53:16 -06:00
jeromecoutant 21606569da STM32F4: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
jeromecoutant 9b16d4fb5b NUCLEO_F103RB: replace CLOCK_SOURCE_USB by DEVICE_USBDEVICE 2019-02-22 10:53:15 -06:00
Maciej Bocianski b79705813c target: arch_pro enable USBDEVICE support 2019-02-22 10:53:13 -06:00
Russ Butler 76aa7e0b6d Move USBPhy and related files to USB directory
Move the USBPhy header files into usb/device/USBPhy. Also move hal
and target USB files since mbed 2 does not compile when these files
are present without the USBPhy headers.

Directory restructure summary:
platform/USBPhy*
    to usb/device/USBPhy/USBPhy*
hal/*
    to usb/device/hal/*
targets/TARGET_Freescale/usb/*
    to usb/device/targets/TARGET_Freescale/*
targets/TARGET_NXP/TARGET_LPC176X/usb/*
    to usb/device/targets/TARGET_NXP/*
2019-02-22 10:52:35 -06:00
Russ Butler 7673ccd1c9 Improve LPC1768 USB stability
Make the following changes to improve stability:
-When disconnecting set address to disabled to prevent nacks
-Clear EP_SLOW one and only once for every interrupt where it is set_address
-Disable and clear control endpoint interrupts when disconnecting
2019-02-22 10:52:35 -06:00
Russ Butler aa76c776c9 Disable endpoints when disconnecting on Kinetis
Even thought the USB phy is disabled during disconnect, endpoints
still nack packets sent. This patch disables all endpoints so after
disconnect no USB traffic will be sent. This allows brief disconnects
of ~200us (or more) to be reliably detected by the host PC.
2019-02-22 10:52:35 -06:00
Russ Butler 2a84e3a4f6 Correct Kinetis 256 byte ctrl transfers
Correctly handle control transfers which are a multiple of 256 bytes
by checking for a non-zero value in the upper byte of size.
2019-02-22 10:52:35 -06:00
Russ Butler 08428f8300 Fix Kinetis endpoint initialization
Fully setup endpoint before enabling it in endpoint_add. This prevents
undefined behavior due to previous configuration.
2019-02-22 10:52:34 -06:00
Russ Butler 2708200a19 Update the Kinetis USB driver to the new API
Update this driver to match the new zero-copy API.
2019-02-22 10:52:34 -06:00
Russ Butler 4ab3a485d1 Update the LPC17XX driver to the new API
Update this driver to match the new zero-copy API.
2019-02-22 10:52:34 -06:00
Russ Butler 23615a7769 Update Kinetis USB to match the USBPhy API
Copy the Kinetis USB driver files from
mbed-os\features\unsupported\USBDevice\targets\TARGET_Freescale
and update them to match the new USBPhy API.
2019-02-22 10:52:33 -06:00
Russ Butler 25fb3183cf Add Kinetis USB files 2019-02-22 10:52:32 -06:00
Russ Butler 4be11ff158 Add USBPhy for the LPC17xx
Move the LPC17xx USB driver files from
mbed-os\features\unsupported\USBDevice\targets\TARGET_NXP
and update them to match the new USBPhy API.
2019-02-22 10:52:32 -06:00
Cruz Monrreal 870bd05904
Merge pull request #9708 from davidsaada/david_protected_storage
Implement PSA protected storage & restructure PSA storage implementation
2019-02-21 17:30:56 -06:00
Cruz Monrreal 2ecb0a5031
Merge pull request #9798 from jeromecoutant/PR_LPTICKER_BOOTLOADER
STM32 LPTICKER (LPTIM): correct init execution after bootloader
2019-02-21 13:55:20 -06:00
Oren Cohen 3c5c205a23 Add flash IAP to sequana_psa m4 2019-02-21 20:59:19 +02:00
Cruz Monrreal 235a75f5b8
Merge pull request #9796 from SeppoTakalo/wiced_binaries
New Wiced binaries
2019-02-21 12:10:16 -06:00
Cruz Monrreal 01aeb48d0f
Merge pull request #9767 from TacoGrandeTX/fix_nrf_swo_led2_clash
Remove ITM from NRF52_DK and DELTA_DFBM_NQ620 targets
2019-02-21 11:01:46 -06:00
Cruz Monrreal bba538c714
Merge pull request #9777 from ashok-rao/MTB_STM_L475
Adding STM32_L475 as a new MTB target
2019-02-21 10:37:59 -06:00
Cruz Monrreal 5a2e135283
Merge pull request #9782 from Rhomb-io/master
Adding RHOMBIO_L476DMW1K as a new Board target
2019-02-21 10:31:03 -06:00
jeromecoutant 0d620fe720 STM32 LPTICKER (LPTIM): correct init execution after bootloader 2019-02-21 16:25:20 +01:00
Seppo Takalo 98846b64ec New Wiced binaries 2019-02-21 16:59:11 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
Guillermo Alonso 16628d7b8d Change in license identifier, removed commented dead code
Change in license identifier
Removed commented dead code
Removed some tab space
2019-02-21 11:55:41 +01:00
Ashok Rao 9102b59824 Changing SPDX license identifier to BSD-3-Clause 2019-02-21 10:35:25 +00:00
Cruz Monrreal fded3631e3
Merge pull request #9775 from vmedcy/psoc6-port-api
PSOC6: fix port_write API
2019-02-20 12:02:26 -06:00
Cruz Monrreal 59549b8eb4
Merge pull request #9616 from kjbracey-arm/nrf52_atomics
nRF52 serial: Tighten/simplify atomics
2019-02-20 11:58:34 -06:00
Guillermo Alonso faf03e02dc added licence identifier texts 2019-02-20 17:48:07 +01:00
Ashok Rao 6c3b732b17 Removing redundant code comments 2019-02-20 15:22:11 +00:00
Ashok Rao a7c878bb47 Adding SPDX license identifer for all new files 2019-02-20 15:07:03 +00:00
Ashok Rao 56508cfc4e Adding SPDX license identifier 2019-02-20 15:02:59 +00:00
Ashok Rao 1849921466 Adding STM32_L475 as a new MTB target 2019-02-20 14:40:39 +00:00
Martin Kojtal 39c8374760
Merge pull request #9554 from SeeedJP/hal-wio_3g-9450
Wio 3G: Modified sequence of module startup.
2019-02-20 13:57:33 +01:00
Seppo Takalo e45da3f78f Rebuild new Wiced binaries 2019-02-20 14:37:34 +02:00
Guillermo Alonso 7b2abc75c2 Added new target RHOMBIO_L476DMW1K 2019-02-20 12:10:53 +01:00
Volodymyr Medvid d49e2ab232 PSOC6: fix port_write API
Fix port_write API to correctly shift the passed value.
This allows the reference application provided in PortOut docs
to work corectly with arbitrary LED_MASK.
https://os.mbed.com/docs/mbed-os/v5.11/apis/portout.html

The fix applies to both PSOC6 and PSOC6_FUTURE HAL implementations.
2019-02-20 12:32:10 +02:00
Martin Kojtal 2d30d0ff99
Merge pull request #9762 from vmedcy/psoc6-target-updates
PSOC6: update the psoc6pdl and HAL to the latest version
2019-02-20 11:23:54 +01:00
Yoshihiro TSUBOI c41f1c75d7 [Wio 3G] Fix onboard modem initialization
Fix for issue #9450 by adding turning off the modem power at startup, so that modem is sure to be in the initial state.
Fix for wrong filename and classname.

// WIP
2019-02-20 19:00:12 +09:00
Martin Kojtal 3f46c82136
Merge pull request #9555 from SeeedJP/hal-wio_bg96-9450
Wio BG96: Modified sequence of module startup
2019-02-20 09:36:00 +01:00
RFulchiero 5fb5a4a414 Remove ITM from NRF52_DK and DELTA_DFBM_NQ620 targets
The NRF52_DK and DELTA_DFBM_NQ620 have the SWO pin (p0_18) mapped to
LED2. This means that on startup LED2 turns on after the ITM is
initialized which is confusing. Since most users want LED2 usage
instead of SWO we remove the ITM for these targets.

The nRF52 readme is updated to instruct users how to get SWO support
if they need it.
2019-02-19 15:20:36 -06:00
Volodymyr Medvid 06354bf48e PSOC6: update BSP generated sources with latest configurator
Use ModusToolbox Device Configurator 1.1.0.284 to generate the
BSP low-level initialization code. Compatible version of Device
Configurator to be released with ModusToolbox 1.1.

Notable changes:
* rename cycfg_connectivity -> cycfg_routing
* switch LF_CLK clock source from ILO to WCO on
  CY8CPROTO-062-4343W and CYW943012P6EVB-01
2019-02-19 17:59:05 +02:00
Volodymyr Medvid c97f742bd7 PSOC6: minor updates to Cypress HAL 2019-02-19 17:59:01 +02:00
Volodymyr Medvid edb944abf0 PSOC6: update PDL to the latest version 2019-02-19 17:04:10 +02:00
Martin Kojtal 723236f855
Merge pull request #9307 from mtomczykmobica/ONME-3949
Configuration options for STM_EMAC buffer counts
2019-02-19 14:09:24 +01:00
Marcin Tomczyk a5f93e0b07 ONME-3949 Configuration options for STM_EMAC buffer counts 2019-02-19 08:18:18 +01:00