Commit Graph

4871 Commits

Author SHA1 Message Date
Gregory Nutt
c7a02488c6 Fix a cut'n'paste error in the last commit 2015-05-10 10:23:23 -06:00
Gregory Nutt
e6ebdba913 OHCI: Fix length calculation in all OHCI drivers: CBP==0 means that the entire buffer was transferred, not that a null packet was tranaferred 2015-05-10 10:01:22 -06:00
Gregory Nutt
85647eecc9 Add EXTI line definitions for the STM32L family. 2015-05-09 09:03:14 -06:00
Gregory Nutt
5defecbef5 STM32 F3: Add DBGMCU register definitions for the F3 family. From Greg Meiste. 2015-05-09 06:05:17 -06:00
Gregory Nutt
5a5d044bc5 Adds support for STM32F302K8 and STM32F302K6. From Ben Dyer via PX4/David Sidrane. 2015-05-08 14:10:55 -06:00
Gregory Nutt
c35bb693a9 USB host CDC/ACM fixes. Still kind of buggy 2015-05-08 10:58:41 -06:00
Gregory Nutt
8f0fb36f11 In go_os_start that sets the IDLE thread stack coloration, mov does not set condition codes which are tested by the following beq. Need to use movs instead. Noted by David Sidrane 2015-05-07 20:36:08 -06:00
Gregory Nutt
4bde37eabc kl: enable the clocks to UART1 and UART2. The previous version would cause a hard fault on startup due to the modules not being clocked. Also drop the GPIO configuration as it's done during kl_start(). From Michael Hope. 2015-05-07 17:17:54 -06:00
Gregory Nutt
c120a61b80 kl: fix PWM debugging. TPM1 and TPM2 have two channels instead of six and will hard fault if you try to read the missing channels. From Michael Hope. 2015-05-07 17:17:53 -06:00
Gregory Nutt
53bb938f23 Misc improvements to the CDC/ACM host driver, mostly related to parsing the configuration descriptor. Still does not work. 2015-05-07 10:02:51 -06:00
Gregory Nutt
35952e47ea Add support for the KL25Z64. The KL25Z64 is a lower memory variant of the KL25Z128 and is used on the Teensy LC. From Michael as SourceForge patch 50. 2015-05-07 06:47:17 -06:00
Gregory Nutt
96698619a0 LPC17 USB host: Fix some compile errors when bulk endpoints + USB debug enabled. Refresh a configuration 2015-05-06 16:15:12 -06:00
Gregory Nutt
48be132e5d Fix a few typos in comments 2015-05-06 15:26:07 -06:00
Gregory Nutt
025ac993b3 SAMA5 OHCI: Remove a DEBUGASSERT that was firing if a a spurious interrupt was received 2015-05-06 07:44:37 -06:00
Gregory Nutt
3474a5536b Fix some bugs introduced with the last set of big commits 2015-05-05 14:59:29 -06:00
Gregory Nutt
47a112974d USB host: Modify the transfer() and asynch() methods so that the actual size of the transfer is returned. Unverified on initial commit. 2015-05-05 13:14:22 -06:00
Gregory Nutt
fdaabe2341 Cosmetic changes 2015-05-05 06:42:58 -06:00
Gregory Nutt
f10ec48825 Correct description of some input parameters. Suggested by Pelle Windestam 2015-05-05 06:26:59 -06:00
Gregory Nutt
1afb9315a5 SAMA5D OHCI: Remove a local variable that is unused when debug is disabled; refresh a configuration. Update a README 2015-05-04 07:34:29 -06:00
Gregory Nutt
f9a30b1804 Olimex LPC1766STK: The USB host waiter stack should be configurable because it needs to be a lot depending when using a hub 2015-05-03 16:14:08 -06:00
Gregory Nutt
3083a77282 EHCI: Fix backward arguments to memalign in previous alignment fix; extend fix to OHCI too 2015-05-03 14:31:16 -06:00
Gregory Nutt
2cb53d1931 LPC31 and SAMA5Dx EHCI drivers: Fix cache related problem. All buffers are now aligned with the cache line size in both starting address and in length. This cause major problems in unlucky builds where the USB host buffers where unaligned and abbutting other data. The cache flush and invalidate operations could be subverted by acceses to adjacent data or could have unexpected side effects. This bug has been in the ECHI drivers forever, but was only revealed due to unlucky memory allocations during the integration of the hub feature. 2015-05-03 13:20:15 -06:00
Gregory Nutt
6d6fdc41d3 Fix trivial typo 2015-05-03 10:48:42 -06:00
Gregory Nutt
435d088182 SAMA5 EHCI: Mostly cosmetic 2015-05-03 08:51:44 -06:00
Gregory Nutt
534fb72355 SAMA5 EHCI: Fix some compile issues when hub support is enabled 2015-05-02 14:00:12 -06:00
Gregory Nutt
84983b0ab2 Merge remote-tracking branch 'origin/master' into usbhub 2015-05-02 11:39:08 -06:00
Gregory Nutt
7842a746f8 USB host: If the implementation of the disconnect method frees the EP0 endpoint, then it must nullify it in the port structure 2015-05-02 11:38:27 -06:00
Gregory Nutt
def19bad48 STM32 USB device. Add protection in the event that out-of-bound enpoint numbers are received. From David Sidrane. 2015-05-02 10:58:27 -06:00
Gregory Nutt
c2a3f936aa USB host: Need to include the port structure when disconnecting, otherwise may destroy a root hub port 2015-05-02 10:44:18 -06:00
Gregory Nutt
973f572829 ARMv7-A: Port some assertion debug logic from ARMv7-M 2015-05-02 09:53:57 -06:00
Gregory Nutt
977c9a5d27 SAMA5 OHCI: Implement asynchronous I/O needed for hub support 2015-05-02 09:38:08 -06:00
Gregory Nutt
39877047bb LPC17 GPIO: Reorder steps when an output GPIO is configured in order to avoid transient bad values from being output. From Hal Glenn. 2015-05-02 06:30:19 -06:00
Gregory Nutt
d1283484ac Merge remote-tracking branch 'origin/master' into usbhub 2015-05-01 15:38:48 -06:00
Gregory Nutt
3efeb8909b SAMA5D USB hub: Fix some trace statements; update some README files 2015-05-01 15:38:03 -06:00
Gregory Nutt
c9d7cfae82 SAM PIO: sam_pio.h needs to include chip/sam_memorymap.h in order to resolve some conditional logic properly 2015-05-01 13:41:28 -06:00
Gregory Nutt
afcd13e634 SAMA5 OHCI: Improve some trace-related naming 2015-05-01 13:40:54 -06:00
Gregory Nutt
a25d7da798 Add USB host trace output to show EP0 configuration 2015-05-01 13:02:20 -06:00
Gregory Nutt
6d526c189d SAMA5 OHCI: Clean up some debug output 2015-05-01 10:50:01 -06:00
Gregory Nutt
d506f9d0aa SAMA5D OHCI: Add some missing logic required for USB hub support 2015-05-01 10:13:23 -06:00
Gregory Nutt
63dce70d2b Added missing EXTI definitions for the STM32 F3; Correct an error the port D base address in the STM32 F3 and F37 memory maps. From Greg Meiste. 2015-05-01 07:31:56 -06:00
Gregory Nutt
79029ebe2d EFM32 USB host: Add missing trace data and some missing connection-related logic; update a configuration 2015-04-30 13:46:53 -06:00
Gregory Nutt
20b818ef1a STM32/EFM32 USB host: Implemented asynchronous cancel method 2015-04-30 11:24:18 -06:00
Gregory Nutt
2e27ff4d9e USB Hub: Fix compile problems when hub debug enabled 2015-04-30 08:12:55 -06:00
Gregory Nutt
dfa4a1f7ac STM32 HUB: Fix more compilation errors when hub support is enabled 2015-04-30 08:00:41 -06:00
Gregory Nutt
e34ca32852 Fix some errors in initial re-verification of USB host on the STM32F4-Discovery 2015-04-30 07:28:30 -06:00
Gregory Nutt
52cbeead7f First cut, dirty conversion of EFM32, STM32 FS and HS host drivers to the new interfaces 2015-04-29 15:53:58 -06:00
Gregory Nutt
b909ad04d8 USB HUB: Fix a deadlock that can occur if the HCD and the HUB try to share the high priority work queue. Now how work must be done on the low priority work queue. 2015-04-29 08:32:17 -06:00
Gregory Nutt
086bb52a37 Merge remote-tracking branch 'origin/master' into usbhub 2015-04-28 12:22:20 -06:00
Gregory Nutt
5b80b257ce USB ECHI: Fix a bug when trying to traverse an empty asynchronous queue 2015-04-28 11:29:16 -06:00
Gregory Nutt
5c76c53909 EHCI HUB: Fix some issues related to speed and device addresses 2015-04-28 09:43:06 -06:00
Gregory Nutt
398c7757e3 STM32 PVD: Adds support for STM32's Programmable Voltage Detector feature. I put register access behind CONFIG_STM32_ENERGYLITE as have not checked F1/F2/F4 etc. manuals. Tested on STM32L1. PVD interrupt looks generic, at least #defines it needs are in headers for every chip variant. By Dmitry Nikolaev, submitted by Juha Niskanen. 2015-04-28 06:37:59 -06:00
Gregory Nutt
186b58a1a5 EHCI: Duplicated lines of code trashing error value 2015-04-27 15:39:57 -06:00
Gregory Nutt
9372a954ee LPC31 EHCI: Fix some assertions 2015-04-27 14:43:53 -06:00
Gregory Nutt
91b8b92567 Merge remote-tracking branch 'origin/master' into usbhub 2015-04-27 14:12:46 -06:00
Gregory Nutt
55ac01399b Correct some cloned typos involving EHCI 2015-04-27 14:03:24 -06:00
Gregory Nutt
24761dea0b EHCI: Fix some compilation errors when USB DEBUG is enabled 2015-04-27 12:27:17 -06:00
Gregory Nutt
7313906ec5 EHCI: Can asynch cancellation method 2015-04-27 11:18:31 -06:00
Gregory Nutt
b74e3b3903 USB EHCI: Implement the async() method 2015-04-27 09:00:00 -06:00
Gregory Nutt
30ff783af0 ECHI HCDs: Separate logic used in synchronous transfers so that it can be used in forthcoming asynchronous transfer 2015-04-27 07:38:20 -06:00
Gregory Nutt
8f5b62add6 Last change was still in editor on last commit 2015-04-26 12:21:01 -06:00
Gregory Nutt
eabbb6ede1 Port hub support to LPC31 from SAMA5; Updated Olimex-LPC-H3131 for hub support and refresh configurations 2015-04-26 12:18:08 -06:00
Gregory Nutt
397f31f061 Another hub-related interface change: Need to pass speed to EP0 2015-04-26 09:53:43 -06:00
Gregory Nutt
af6919cd76 LPC17 OHCI: Fix an error in ED list removal 2015-04-25 14:52:01 -06:00
Gregory Nutt
e46cb394f9 Fixes some crashes when the hub is removed and/or reinserted 2015-04-25 12:16:22 -06:00
Gregory Nutt
e7792435c7 Add missing logic to destroy a class when the device is no longer connected to the hub port 2015-04-25 11:17:37 -06:00
Gregory Nutt
0ce4330433 USB OHCI: Need to preserve the speed bit when reconfiguring ep0 2015-04-25 07:48:20 -06:00
Gregory Nutt
7793523dd8 Copy some control port framework from LPC17 to SAMA5 OHCI; Copy some speed handling from SAMA5 OHCI to LPC17 2015-04-25 06:46:44 -06:00
Gregory Nutt
ed5287855f LPC17 USB host: Direction bit being set wrong from allocated control endpoints 2015-04-24 19:46:00 -06:00
Gregory Nutt
becfe4ef9d HUB class must cancel any pending interrupt IN transfers before destroying the endpoint 2015-04-24 12:18:25 -06:00
Gregory Nutt
7d7ab442e1 If asynchronous tranfers are supported, then there must also be a mechanism to cancel the pending transfer 2015-04-24 11:23:52 -06:00
Gregory Nutt
2768f13153 USB hub: Fixes for some port status change handling 2015-04-24 09:57:59 -06:00
Gregory Nutt
d11af85ddf Merge remote-tracking branch 'origin/master' into usbhub 2015-04-23 14:06:18 -06:00
Gregory Nutt
0092f79696 Two r's and only two r's in the word interrupt 2015-04-23 14:04:43 -06:00
Gregory Nutt
ab17603ceb Fix USB hub bugs: Don't allocate port EP0 until needed, otherwise run out of endpoints; using wrong pointer to access child endpoint array in a few places 2015-04-23 09:42:58 -06:00
Gregory Nutt
215dad9984 Fix USB host polling; fix a typo in LPC17 HCD 2015-04-23 07:13:31 -06:00
Gregory Nutt
be2ed7eba7 Merge in from Master 2015-04-23 06:34:49 -06:00
Gregory Nutt
64496a635c USB hub: Add some hub-related configuration settings 2015-04-22 17:16:35 -06:00
Gregory Nutt
9c61847203 USB Hub: Initial implementation asynchronous pipe I/O in the LPC17 HCD needed for hub support 2015-04-22 15:03:25 -06:00
Gregory Nutt
f7ec9b0831 USB hub: Change to connection interface so that applications can deal with external hubs 2015-04-22 12:28:19 -06:00
Gregory Nutt
85df251093 STM32 RTC counter: Include enable/disable backup domain within critical section. Per recommendtion of Alexander Oryshchenko. 2015-04-21 18:08:31 -06:00
Gregory Nutt
8e9fd9b838 USB HCDs: Add hooks for the async method 2015-04-21 15:43:12 -06:00
Gregory Nutt
2afe696012 LPC17 USB HCD: Adapted to new interface 2015-04-21 13:11:32 -06:00
Gregory Nutt
fde0bf650e USB host: Integrate logic to assign device function address 2015-04-21 12:17:49 -06:00
Gregory Nutt
ef813e2c72 SAMA5 EHCI: Fix some compile errors when debug is enabled 2015-04-21 09:28:42 -06:00
Gregory Nutt
eedce63bd6 SAMA5 EHCI: Remove unused variable from structure 2015-04-21 09:18:31 -06:00
Gregory Nutt
db3b235fe6 SAMA5 OHCI and EHCI: Now conform to new interfaces to support hubs 2015-04-21 08:59:30 -06:00
Gregory Nutt
320d678d89 STM32 F1 RT Counter: Another fix from Darcy Gong 2015-04-19 07:05:39 -06:00
Gregory Nutt
10eeff30e7 STM32 F1 RTC Counter: Now need to enable backup domain write access when setting the time. From Darcy Gong 2015-04-19 06:58:07 -06:00
Gregory Nutt
244a30b6a9 Fix an error introduced into stm32_pwr_enablebkp(). That function must preserve the previous state of backup domain access on return. 2015-04-18 07:31:20 -06:00
Gregory Nutt
c54adf248a STM32 - cosmetic changes to indentation 2015-04-16 16:35:06 -06:00
Gregory Nutt
a08aabe102 STM32 DMA2D: Use helper function when freeing layers. From Marco Krahl 2015-04-16 11:16:14 -06:00
Gregory Nutt
eb28a666b4 Add support for the new DMA2D features to the STM32F429i-Disco LTDC configuration. From Marco Krahl. 2015-04-16 09:11:53 -06:00
Gregory Nutt
8ed4b1acfa Defines a second interface for the dma2d controller. Controlling both LTDC and DMA2D was unpractical from the programmers view because both controllers are to different. LTDC only controls the display visibility but the DMA2D controller changes the content of the frame buffer (buffer of the layer).
The main features are:

1. DMA2D interface
   Supports the nuttx pixel formats:
   - FB_FMT_RGB8
   - FB_FMT_RGB24
   - FB_FMT_RGB16_565
   Dynamic layer allocation during runtime for the supported formats
   - The number of allocatable layer can be configured.
   Supported dma2d operation:
   - blit (Copy content from source to destination layer) also works with
     selectable area.
   - blend (Blend two layer and copy the result to a destination layer wich can
     be a third layer or one of the source layer) also works with selectable
     area.
   - fillarea (Fill a defined area of the whole layer with a specific color)

As a result of that the dma2d controller can't transfer data from the core coupled memory, CCM is disabled but usable by the ccm allocator. Currently the ccm allocator is used for allocating the layer structurei only. For the dma memory (layers frame buffer) memory is allocated from heap 2 and 3.

2. LTDC interface

   I have changed the api for the currently non implemented operations:
   - blit (Copy content from a dma2d layer to an ltdc layer) also works with
     selectable area.
   - blend (Blend two dma2d layer and copy the result to a destination ltdc
     layer) also  works with selectable area.

     Note! ltdc layer is a layer referenced by the ltdc interface. dma2d layer
     is a layer referenced by the dma2d interface.

     One of the most important questions for me was, How can i flexible use an
     ltdc layer with the dma2d interface, e.g. as source layer for dma2d
     operations?
     Get the layer id of the related dma2d layer by a special flag when using
     getlid() function of the ltdc interface and use the layer id to reference
     the specific dma2d layer by the dma2d interface.

     The ltdc coupled dma2d layers are predefined and can't be dynamically
     allocated of freed. They use the same frame buffer memory and the same
     color lookup table.

   Changes:
   - layer internal format of the clut table
   - interrupt handling for register reload (vertical vblank) instead using
     waiting loop
   - small fixes and refactoring

From Marco Krahl.
2015-04-16 09:11:52 -06:00
Gregory Nutt
1f193dd515 Calypso/Compal_e86 update from Craig Comstock 2015-04-16 09:11:47 -06:00
Gregory Nutt
69b7d3abd3 More places where watchodg mispelled 2015-04-15 21:36:30 -06:00
Gregory Nutt
e6c302bdba STM32 IWDG typo fix. from chenming582892 2015-04-15 20:13:56 -06:00
Gregory Nutt
811dc14c33 Update comments 2015-04-15 16:38:08 -06:00
Gregory Nutt
ded44679e9 Add option to enable stackcheck per architecture 2015-04-12 06:30:24 -06:00
Gregory Nutt
068fc43170 Revert commit b80e8be652dfa52e97daa65aa3e550cf31cb2409 2015-04-12 06:26:50 -06:00
Gregory Nutt
63c0de86fe Remove all traces of CONFIG_ARMV7M_STACKCHECK 2015-04-11 10:01:44 -06:00