Commit Graph

1025 Commits

Author SHA1 Message Date
Gregory Nutt
0883ea1af0 USB host drivers: Cannot take semaphores in cancel() method 2015-05-14 09:58:21 -06:00
Gregory Nutt
5fad63c28a STM32/EFM32 USB host drivers. Remove some detritus left from previous change 2015-05-14 07:55:55 -06:00
Gregory Nutt
c2c7dadf0f The USB host cancellation now applies to all transfers and so it no longer conditional 2015-05-11 12:04:03 -06:00
Gregory Nutt
cac9879ad2 EHCI HCDs will now support cancellation of syncrhonous transfers 2015-05-11 11:43:31 -06:00
Gregory Nutt
3f092b8f9c STM32 and EFM32 host will now support cancellation of synchronous methods 2015-05-11 11:15:28 -06:00
Gregory Nutt
0536435ff8 Correct an error recently introduced in the STM32 and EFM32 USB host controller drivers.
The test for data partially transferred is incorrectec: chan->xfrd != xfrlen
Should be chan->xfrd > 0

From Ronly XLN.
2015-05-11 09:04:25 -06:00
Gregory Nutt
6e5a4e8b5e Add EXTI line definitions for the STM32L family. 2015-05-09 09:03:14 -06:00
Gregory Nutt
4250bb5138 STM32 F3: Add DBGMCU register definitions for the F3 family. From Greg Meiste. 2015-05-09 06:05:17 -06:00
Gregory Nutt
aaaa8f2e9d Adds support for STM32F302K8 and STM32F302K6. From Ben Dyer via PX4/David Sidrane. 2015-05-08 14:10:55 -06:00
Gregory Nutt
b8483aea40 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
8f959373e1 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
93b251b372 Cosmetic changes 2015-05-05 06:42:58 -06:00
Gregory Nutt
12bf2aa3be Correct description of some input parameters. Suggested by Pelle Windestam 2015-05-05 06:26:59 -06:00
Gregory Nutt
d824979cec Merge remote-tracking branch 'origin/master' into usbhub 2015-05-02 11:39:08 -06:00
Gregory Nutt
b3d12c6026 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
823af4b409 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
5a2ed0f6c1 Merge remote-tracking branch 'origin/master' into usbhub 2015-05-01 15:38:48 -06:00
Gregory Nutt
e76b7d99fa 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
149d8c039d 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
501d82928d STM32/EFM32 USB host: Implemented asynchronous cancel method 2015-04-30 11:24:18 -06:00
Gregory Nutt
c096b7d426 USB Hub: Fix compile problems when hub debug enabled 2015-04-30 08:12:55 -06:00
Gregory Nutt
a4455d07c1 STM32 HUB: Fix more compilation errors when hub support is enabled 2015-04-30 08:00:41 -06:00
Gregory Nutt
2f7682f7df Fix some errors in initial re-verification of USB host on the STM32F4-Discovery 2015-04-30 07:28:30 -06:00
Gregory Nutt
d4feb7205f 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
d3ef23e05a 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
d77a19f0a2 Two r's and only two r's in the word interrupt 2015-04-23 14:04:43 -06:00
Gregory Nutt
aaeb9843d6 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
47f2a0b09d STM32 F1 RT Counter: Another fix from Darcy Gong 2015-04-19 07:05:39 -06:00
Gregory Nutt
2d2f645e77 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
4c0b8fba52 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
383f6c52dd STM32 - cosmetic changes to indentation 2015-04-16 16:35:06 -06:00
Gregory Nutt
5f7f2b6461 STM32 DMA2D: Use helper function when freeing layers. From Marco Krahl 2015-04-16 11:16:14 -06:00
Gregory Nutt
5d221fa356 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
7a6a5b7bd0 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
cbcfb44942 STM32 IWDG typo fix. from chenming582892 2015-04-15 20:13:56 -06:00
Gregory Nutt
6b7a0cb3b8 Revert commit b80e8be652dfa52e97daa65aa3e550cf31cb2409 2015-04-12 06:26:50 -06:00
Gregory Nutt
9ece96b6d3 Remove all traces of CONFIG_ARMV7M_STACKCHECK 2015-04-11 10:01:44 -06:00
Gregory Nutt
0a675b8ca4 STM32 changes from David Sidrane 2015-04-11 07:19:20 -06:00
Gregory Nutt
2cdc5f99b9 STM32 CAN: More places where FR instead FIR used 2015-04-09 19:30:19 -06:00
Gregory Nutt
321ccb3ba3 Fix several typos in comments 2015-04-09 16:13:03 -06:00
Gregory Nutt
abea446dfa Missing i found by David Sidrane 2015-04-09 15:16:05 -06:00
Gregory Nutt
fe38ca23e5 Cosmetic 2015-04-09 07:59:31 -06:00
Gregory Nutt
ae15c6963c Make some file section headers more consistent with standard 2015-04-08 08:04:12 -06:00
Gregory Nutt
dd3457173d Implements CONFIG_TIME_EXTENDED as we discussed relative to providing the last 3 members of the tm struct and support for filling them in and even using the wday in the STM32 RTC. From David Sidrane. 2015-04-08 06:56:43 -06:00
Gregory Nutt
c226d51c3c STM32: Another fix to RTC magic register from David Sidrane 2015-04-06 17:21:53 -06:00
Gregory Nutt
e0a49a81e4 Add conditional logic so that people who use F1 don't have to be bother with meaningless RTC MAGIC settings 2015-04-06 16:35:56 -06:00
Gregory Nutt
8461827dcd STM32 RTCC: Make back-up register and magic value used by RTCC configurable. From David Sidrane 2015-04-06 16:26:59 -06:00
Gregory Nutt
e1e0fc259c Typo fixes from David Sidrane 2015-04-06 15:27:37 -06:00
Gregory Nutt
69d2d77424 Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/. 2015-04-01 12:37:44 -06:00
Gregory Nutt
f073092fad The STM32F4Discovery board doesn't come with a Low speed external oscillator so the default LSE source for the RTC doesn't work.
In stm32_rtcc.c the up_rtcinitialize() logic doesn't work with the LSI. The check on RTC_MAGIC on the BK0R register lead to rtc_setup() call that rightfully enables the lsi clock; but the next times, when the rtc is already setup, the rtc_resume() call does NOT start the lsi clock!

The right place to put LSE/LSI initialisation is inside stm32_stdclockconfig() in stm32fxxxxx_rcc.c.  Doing this I checked the possible uses of the LSI and the LSE sources: the LSI can be used for RTC and/or the IWDG, while the LSE only for the RTC (and to output the MCO1 pin)..

This change is not verifed for any other platforms.

From Leo Aloe3132
2015-03-29 15:34:48 -06:00