Commit Graph

3813 Commits

Author SHA1 Message Date
Gregory Nutt
ce9c91c562 SAMA5D OHCI: Add some missing logic required for USB hub support 2015-05-01 10:13:23 -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
6d66546c31 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
60243e508e Merge remote-tracking branch 'origin/master' into usbhub 2015-04-28 12:22:20 -06:00
Gregory Nutt
c641b8fed4 USB ECHI: Fix a bug when trying to traverse an empty asynchronous queue 2015-04-28 11:29:16 -06:00
Gregory Nutt
169dcd6706 EHCI HUB: Fix some issues related to speed and device addresses 2015-04-28 09:43:06 -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
bc6ab9eb80 EHCI: Duplicated lines of code trashing error value 2015-04-27 15:39:57 -06:00
Gregory Nutt
e19170edb6 LPC31 EHCI: Fix some assertions 2015-04-27 14:43:53 -06:00
Gregory Nutt
39f4798133 Merge remote-tracking branch 'origin/master' into usbhub 2015-04-27 14:12:46 -06:00
Gregory Nutt
40c1484848 Correct some cloned typos involving EHCI 2015-04-27 14:03:24 -06:00
Gregory Nutt
d4439ecb2b EHCI: Fix some compilation errors when USB DEBUG is enabled 2015-04-27 12:27:17 -06:00
Gregory Nutt
12d55f0d8f EHCI: Can asynch cancellation method 2015-04-27 11:18:31 -06:00
Gregory Nutt
d2f9b3e2dc USB EHCI: Implement the async() method 2015-04-27 09:00:00 -06:00
Gregory Nutt
430b0369d4 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
80772e6d90 Last change was still in editor on last commit 2015-04-26 12:21:01 -06:00
Gregory Nutt
df319fe19d 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
31c835975d Another hub-related interface change: Need to pass speed to EP0 2015-04-26 09:53:43 -06:00
Gregory Nutt
08a4ae6b64 LPC17 OHCI: Fix an error in ED list removal 2015-04-25 14:52:01 -06:00
Gregory Nutt
6d41087491 Fixes some crashes when the hub is removed and/or reinserted 2015-04-25 12:16:22 -06:00
Gregory Nutt
76ff0fce86 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
926616121d USB OHCI: Need to preserve the speed bit when reconfiguring ep0 2015-04-25 07:48:20 -06:00
Gregory Nutt
67f5b089c7 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
9a72400bef LPC17 USB host: Direction bit being set wrong from allocated control endpoints 2015-04-24 19:46:00 -06:00
Gregory Nutt
9a6155952a HUB class must cancel any pending interrupt IN transfers before destroying the endpoint 2015-04-24 12:18:25 -06:00
Gregory Nutt
a7539956c0 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
27516e0119 USB hub: Fixes for some port status change handling 2015-04-24 09:57:59 -06:00
Gregory Nutt
dc6adde740 Merge remote-tracking branch 'origin/master' into usbhub 2015-04-23 14:06:18 -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
43c19037bb 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
299addc958 Fix USB host polling; fix a typo in LPC17 HCD 2015-04-23 07:13:31 -06:00
Gregory Nutt
ba661f2735 Merge in from Master 2015-04-23 06:34:49 -06:00
Gregory Nutt
569893491a USB hub: Add some hub-related configuration settings 2015-04-22 17:16:35 -06:00
Gregory Nutt
dd56308ce7 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
dd6c69cc06 USB hub: Change to connection interface so that applications can deal with external hubs 2015-04-22 12:28:19 -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
5189dd7074 USB HCDs: Add hooks for the async method 2015-04-21 15:43:12 -06:00
Gregory Nutt
28647cf705 LPC17 USB HCD: Adapted to new interface 2015-04-21 13:11:32 -06:00
Gregory Nutt
d2350c9c86 USB host: Integrate logic to assign device function address 2015-04-21 12:17:49 -06:00
Gregory Nutt
326cbc0f05 SAMA5 EHCI: Fix some compile errors when debug is enabled 2015-04-21 09:28:42 -06:00
Gregory Nutt
a907a825c6 SAMA5 EHCI: Remove unused variable from structure 2015-04-21 09:18:31 -06:00
Gregory Nutt
5af46ed7e4 SAMA5 OHCI and EHCI: Now conform to new interfaces to support hubs 2015-04-21 08:59:30 -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
c62fe184bf Calypso/Compal_e86 update from Craig Comstock 2015-04-16 09:11:47 -06:00
Gregory Nutt
8172e4cec1 More places where watchodg mispelled 2015-04-15 21:36:30 -06:00
Gregory Nutt
cbcfb44942 STM32 IWDG typo fix. from chenming582892 2015-04-15 20:13:56 -06:00
Gregory Nutt
2f1bc0be1e Update comments 2015-04-15 16:38:08 -06:00
Gregory Nutt
9b7c128758 Add option to enable stackcheck per architecture 2015-04-12 06:30:24 -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
929ea217c7 Remove executable flag from more .c and .h files 2015-04-09 08:20:57 -06:00
Gregory Nutt
fe38ca23e5 Cosmetic 2015-04-09 07:59:31 -06:00
Gregory Nutt
a93913c0f4 SAMA5 Serial: Reading IMR and disabling interrupt must be atomic 2015-04-08 15:27:31 -06:00
Gregory Nutt
35312b31f9 SAM3/4 and SAMV7 UART: The IMR register is read-only. This means that sam_restoreints() does not actually re-enable UART interrupts. 2015-04-08 15:04:10 -06:00
Gregory Nutt
9e1a7113f7 SAMA5 Serial: Fix a couple of errors backporting termios and flowcontrol 2015-04-08 14:35:04 -06:00
Gregory Nutt
27bb133294 SAM3/4 and SAMV7 Serial: Serial interrupts left disabled.
A side-effect of changing serial settings via TERMIOS (such as tcsetattr) is that serial interrupts were being left disabled.  This is not a problem if the serial configuration is changed when there are no open references to the serial device.  In that case, serial interrupts are disabled and will not be enabled enabled until the serial device is first opened.  But it is fatal if the serial device is already opened and if there is a task waiting to receive data.  In that case, the side-effect of disabling interrupts is fatal:  That task is then left hanging with interrupts disabled.
2015-04-08 14:14:01 -06:00
Gregory Nutt
d88c9b05f2 SAMA5D Serial: Backup support for flowcontrol and termios from SAM3/4 -- UNVERIFIED 2015-04-08 14:13:08 -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
da007c4f17 Minor changes to SAMV7 USB register definition file from review 2015-04-06 13:00:48 -06:00
Gregory Nutt
5dab61f434 SAMV7 USB device: Finish option to force full speed mdoe 2015-04-06 10:07:12 -06:00
Gregory Nutt
6f9f4bd9a3 Calypso: SPI built only if CONFIG_SPI 2015-04-05 13:26:25 -06:00
Gregory Nutt
faa11b6e64 Update comments and README 2015-04-05 07:22:46 -06:00
Gregory Nutt
63b5863f33 SAMV7: Fix SDRAM initialization instabiilties by changing the order of initialization 2015-04-04 19:58:31 -06:00
Gregory Nutt
accdce0a84 SAMV7: Apparently the data sheet is wrong, SDRAM clocking must be enabled at the PMC or the SDRAM does not work! The data sheet says that there is no clock control for SDRAMC 2015-04-04 19:04:29 -06:00
Gregory Nutt
e44201ce5f SAMV7: Fix a errort in GPIO bit encoding. Correct naming of a variable 2015-04-04 16:54:53 -06:00
Gregory Nutt
1f8ee8a5ac SAMV7: Fix typo in some GPIO definitions 2015-04-04 14:04:58 -06:00
Gregory Nutt
9ac9bcc28e SAMV71-XULT ILI9488 LCD driver is code complete but untested 2015-04-03 16:36:58 -06:00
Gregory Nutt
841854956a SAMV7: Add SMC register definition header file; SAMV71-Xult: Add an LCD driver. The initial commit is simply the SAVM4E-EK ILI9375 driver will bogus name changes to ILI9488. 2015-04-03 10:28:32 -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
e5fd084af2 SAMV71-XULT: Add option to support connection of the maXTouch Xplained Pro on the 50-pin LCD connector 2015-03-31 09:01:38 -06:00
Gregory Nutt
0e9f358060 SAMV7 Ethernet: Fix a write-past-end-of-buffer and trash-the-heap problem 2015-03-29 16:45:05 -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
Gregory Nutt
d3beea967d Cortex-M7: Add support for enabled the D-Cache in write only mode.
SAMV7 Ethernet:  I- and D-Cache are now enabled in the netnsh/ configuration.  D-Cache is enabled in write-though mode.  This mode is necessary because the DMA descriptors are each 8-bytes in size but the D-Cache cache line is 32-bits in size. So it is impossible make coherency for every 8-byte DMA descriptor without write-through.
2015-03-29 14:42:03 -06:00
Gregory Nutt
ae0b0ca3fd SAMV7/Cortex-M7: Add support for write through D-Cache. SAMV7 Ethernet look like it needs this 2015-03-29 13:09:22 -06:00
Gregory Nutt
18b26dc8e6 Clean up pointer handling to make code more readability. This re-introduces the compiler optimization problem but this is the correct thing to do. I will have to drop back from -Os to -O2. 2015-03-28 14:46:35 -06:00
Gregory Nutt
b15cd1653f SAMV7 EMAC: Fix alignment issue: RX buffers need to be invalidated. This means the alignment of buffers must be at least to the data cache line size at both ends of the buffer 2015-03-28 13:09:01 -06:00
Gregory Nutt
afd737ddcc SAMV7 EMAC: Sometimes TX is not started when TSTART is set??? Workaround seems to be to set it twice. Restored full optimization. Also CONFIG_NET_NOINTS is set so that interrupt level provessing is avoided 2015-03-28 09:42:45 -06:00
Gregory Nutt
750fad37f0 SAMV7 Ethernet: Fix some errors in circular queue handling 2015-03-27 13:04:43 -06:00
Gregory Nutt
dd33bb14ac Fix another typo in the modified assertion logi 2015-03-27 13:02:46 -06:00