Commit Graph

4420 Commits

Author SHA1 Message Date
Gregory Nutt
4ac49f514d stm32: implements ltdc frambuffer and support for ltdc layer operation
This implements the framebuffer support for the generic nuttx framebuffer
interface, (see nuttx/video/fb.h)

This also implements the interface to perform hardware accelerated layer
operation by the ltdc controller and dma2d controller later (see
nuttx/video/ltdc.h).

The following methods are supported by the ltdc interface:

- getvideoinfo
  Get video information of the layer

- getplaneinfo
  Get plane information of the layer

- getlid
  Handle specific layer identifier. This allows to detect to current layer
  state (e.g. important for layer flipping)

- setclut
  Set the layer color lookup table. Up to 256 color entries supported.

- getclut
  Get the layer color lookup table

- setcolor
  Set the default layer color. In the context of the ltdc layer this means set
  the default color outside the active area or if the layer is disabled.

- getcolor
  Get the default layer color

- setcolorkey
  Set the layer colorkey (chromakey). Colorkey is enabled by blendmode
  LTDC_BLEND_COLORKEY

- getcolorkey
  Get the layer colorkey

- setalpha
  Set the constant alpha value. If blend mode LTDC_BLEND_SRCPIXELALPHA or
  LTDC_BLEND_DESTPIXELALPHA is defined than the blended color is calculated
  by the formel:
    Cdest = Pixelalpha * Constalpha * Csrc.
  Otherwise:
    Cest = Constalpha * Csrc

- getalpha
  get the alpha value

- setblendmode
  Set the layer blendmode.
  Supported blendmodes:
    non blendmode (do not perform blend operation independent on the layers
                   alpha and colorkey)
    alpha          alpha blending (transparency)
    destpixelalpha use pixel alpha value for the top layer (Layer2)
    srcpixelalpha  use pixel alpha value for the subjacent layer (Layer1)
    colorkey       enable colorkey

- getblendmode
  Get the layer blendmode

- setarea
  Set the active layer area, the visible rectangle inside the whole layer.
  This also allows to change the position of the whole layer which is visible in
  the selected area independent on the area position.

- getarea
  Get the active layer area

- update
  Reload the layer shadow register and make changes visible. Also supports
  layer flipping.

Note! Dithering and background color are static parameter and can only changed
at build time.

Implementation details:

The implementation of ltdc interface was inspired by SDL and DirectFB.
All layer settings are shadowed before they become active (except setclut).
They are still inactive until the layer is updated. This is done by the update
method. Should clut only active after an update or not? Clut is used for drawing
while the other settings usually used for blend or blit operations. So i think
this should be the right way.

The implementation of ltdc interface was inspired by SDL and DirectFB.
All layer settings shadowed before they become active (except clut).
They are still inactive until the layer is updated. This is done by the update
call. Should clut only activated after an update or not? Clut is used for draw
operation while the other settings usually used for blend or blit operations.
So i think this should be the right way.

Deviations from the ltdc hardware implementation:

- Shadow register update of both layer (Layer1 or Layer2) is independent as long
  LTDC_UPDATE_SIM is not set. This flag allows to update both layer simultaneous.
  Otherwise only the desired layer is updated.

Layer operation:

Keep in mind, both layer are allways active (of course if both enabled by the
configuration). First the Layer 1 is blended with the background color and the
result is blended with the Layer2. To avoid blend effects, set the Layer2 in non
blend mode. This is equal to blend with alpha = 255. Enable blending of Layer2
with the background color by enable blending of Layer1 and disable the opacity
by setting the alpha value to 0.

Layer flip:

A layer flip usual mean swapping two framebuffer. So the current inactive buffer
can refreshed with data while the active framebuffer is visible. A flip
operation changes the inactive layer to the active one and vice versa.

The ltdc implementation supports layer flip. This can be done by the update call
and the flag LTDC_UPDATE_FLIP. In this case ltdc makes the inactive layer
invisible. In detail, the inactive layer is disabled and the blendmode reset.
Detection of the current layer state (e.g. active or inactive) is supported
by the getlid method combined with one of the LTDC_LAYER_* flags.
Maybe an additional method "flip" for flip operation should be added to the ltdc
interface? But this make no sence from my view if the layer is a non LTDC layer,
e.g. playing with dma2d only.

Supported and tested nuttx pixel formats:

Single Layer without LTDC interface support:
- FB_FMT_RGB8 (cmap support required)
- FB_FMT_RGB16_565
- FB_FMT_RGB24

Single Layer with LTDC interface support:
- FB_FMT_RGB8 (cmap support required)
- FB_FMT_RGB16_565
- FB_FMT_RGB24

Dual Layer with LTDC interface support:
- FB_FMT_RGB8 (cmap support required)
- FB_FMT_RGB16_565
- FB_FMT_RGB24

Why is FB_FMT_ARGB8888 missing?

Changes:
- Remove unused register debug method.

Todo:
- Add support for backlight, currently not neccessary

Did i forgot something? Take a look in the ltdc example or the interface
description (see nuttx/include/video/ltdc.h).

Thanks to Ken for the base layout. ;)

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:48:53 -06:00
Gregory Nutt
10934fb6a2 stm32: Add infrastructure for dma2d support
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:41:08 -06:00
Gregory Nutt
7edfddfc96 stm32: Add common stm32 layer description. This defines a common layer description for the ltdc and dma2d controller.
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:37:08 -06:00
Gregory Nutt
24a2f8a0a4 stm32: configure PLLSAI clock to enable ltdc register access
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:30:58 -06:00
Gregory Nutt
7999e7519c stm32: Add missing clut register definition
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:28:42 -06:00
Gregory Nutt
3e640a37d2 stm32: rename CFBLR register name to the name used in the reference manual
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:26:04 -06:00
Gregory Nutt
a34208d698 stm32: rename PLLSAI register name to this one in the reference manual
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:21:39 -06:00
Gregory Nutt
93bcd3e03e TM4C129X: Add custom system control header file (incomplete) 2014-12-19 12:12:52 -06:00
Gregory Nutt
6cc9716d55 Tiva: Fix configuration logic for IRQ interrupts. The various parts support varying numbers of GPIO blocks and with varying capabilities to support interrupts on the pins of different GPIO blocks 2014-12-18 15:33:52 -06:00
Gregory Nutt
a5fcd71af0 Tiva: Change negative logic CONFIG_TIVA_DISABLE_GPIOx_IRQS to positive logic CONFIG_TIVA_GPIOx_IRQS 2014-12-18 15:19:16 -06:00
Gregory Nutt
ddad16a7b7 Tiva: Add GPIO interrupt support for the TMS4C129X 2014-12-18 11:52:06 -06:00
Gregory Nutt
55a3c57399 DK-TM4C129X: Fixes to get clean build. Logic is still not complete, however 2014-12-18 08:24:24 -06:00
Gregory Nutt
d27fb63862 TM4C129X: Add pin multiplexing 2014-12-17 11:55:45 -06:00
Gregory Nutt
c1851296b2 Tiva TM4C129X: Fix some errors in memory map 2014-12-17 09:42:37 -06:00
Gregory Nutt
2990c913b4 Add memory map for the TM4C129X 2014-12-17 09:40:56 -06:00
Gregory Nutt
3c6616f86a Add interrupt definitions for the TM4C129X 2014-12-17 08:19:23 -06:00
Gregory Nutt
dfed763f4e Tiva: Better distinguish features of the TM4C1294xx and the TM4C129Xxx 2014-12-16 18:02:59 -06:00
Gregory Nutt
09b16e3819 Remove packaging indications for TM4C129 configuration variables 2014-12-16 16:22:52 -06:00
Gregory Nutt
18c61b6e64 Add TM4C129XNCZAD and TM4C1294NCPDT to the Tiva configuration system 2014-12-16 16:02:21 -06:00
Gregory Nutt
ae18f9dacd Unify sensor debug. ADX driver was using input debug; LM75 and QENCODE that their own custom debug. Now all use CONFIG_DEBUG_SENSOR, sndbg() 2014-12-16 09:54:32 -06:00
Gregory Nutt
df30780f37 Various fixes to traveler joystick input logic and to simulated joystick device 2014-12-14 12:23:19 -06:00
Gregory Nutt
b972c34d5f Mouse simulatin should receive mouse positional input even if no button is pressed 2014-12-14 11:14:13 -06:00
Gregory Nutt
bb8adff45b SIM: Several fixes to the simulated joystick driver. Still buggy 2014-12-14 11:11:04 -06:00
Gregory Nutt
6e1084116b SIM: Add an X11 mouse-based simulation of an analog joystick device 2014-12-14 10:19:07 -06:00
Gregory Nutt
bf27d01866 Include sched.h to avoid warning 2014-12-14 07:46:46 -06:00
Gregory Nutt
ae29667564 More changes associated with GPIO interrupt for the KL architecture from Alan Carvalho de Assis 2014-12-13 17:30:25 -06:00
Gregory Nutt
47919eb274 Add GPIO interrupt capability for the KL architecture. The patch is almost the same as kinetis_pinirq.c, just minor modifications and rename kl_pinirq to kl_gpioirq to make it more generic to developers. From Alan Carvalho de Assis 2014-12-13 17:27:06 -06:00
Gregory Nutt
041721cd22 SIM: Fix simulated console... it needs to return immediately when even one byte is read 2014-12-13 13:04:02 -06:00
Gregory Nutt
626fa0719a STM32 LTDC: Fix a typo in conditional compilation 2014-12-13 07:45:42 -06:00
Gregory Nutt
002d4c40a4 STM32 OTG HS DEV (in FS mode): Disable ULPI clock enable in RCC AHB1 Register. If Both ULPI and the FS clock enable bits are set in FS mode, then the ARM never awakens froom WFI due to a chip issue. From Ken Pettit 2014-12-13 07:44:13 -06:00
Gregory Nutt
a1e05721d8 Tiva I2C: Don't try to ACK and STOP on the same byte. Improve logic that suppresses STOP on a repeated start 2014-12-12 12:13:31 -06:00
Gregory Nutt
3ac6379bbe Tiva I2C: Legacy mode reset logic ommitted in last commit 2014-12-12 09:31:17 -06:00
Gregory Nutt
c8d1f87571 Tiva I2C: Add logic to reset I2C when busy hangs with busy 2014-12-12 09:26:10 -06:00
Gregory Nutt
fb6661aaa4 STM32 OTGHS Device: Fix for OTGHS core working in FS mode. From Ken Pettit 2014-12-12 07:43:32 -06:00
Gregory Nutt
1c569b85f8 Cosmetic change to force compliance with coding standard 2014-12-12 07:14:16 -06:00
Gregory Nutt
b818691a3a Tiva I2C: Fix how I2C transactions are started and some I2C error reporting 2014-12-11 12:31:42 -06:00
Gregory Nutt
a190aeeeba Tiva I2C: All SDA pins should be open drain, but all SCL pins should be digital output 2014-12-11 12:30:48 -06:00
Gregory Nutt
c7adcf5af2 Tiva I2C: Add register-level debug capability 2014-12-11 09:34:03 -06:00
Gregory Nutt
3958661ae5 Tiva I2C: Minor clean-up to I2C tracing 2014-12-11 08:11:32 -06:00
Gregory Nutt
475d2c3137 Tiva I2C: Fix error in assertion logic 2014-12-11 07:02:14 -06:00
Gregory Nutt
98d9ceb582 Tiva I2C: Add I2C options to Kconfig 2014-12-10 13:56:00 -06:00
Gregory Nutt
bf5179d0ac Tiva I2C: Add workaround for errata; clean up some error handling 2014-12-10 13:01:47 -06:00
Gregory Nutt
58d0e169c7 Tiva I2C: Driver is code complete but untested 2014-12-10 12:43:46 -06:00
Gregory Nutt
03e1ecd6aa Tiva i2C: Lots of compilation fixes 2014-12-10 08:47:34 -06:00
Gregory Nutt
86577c2282 Simplify I2C master/slave addresing to simplify driver development 2014-12-10 08:47:07 -06:00
Gregory Nutt
0daa071f2a Tiva I2C: Finishes initialization logic 2014-12-10 07:31:44 -06:00
Gregory Nutt
c16ab05135 Tiva: Do I2C clock initialization without using legacy registers. Necessary for I2C3-5 2014-12-09 15:28:10 -06:00
Gregory Nutt
20b4417e48 Add a little bit more Tiva I2C initialization logic 2014-12-09 14:48:24 -06:00
Gregory Nutt
b05fefc15a Fix typo in Tiva UART regiser address definition. SourceForge Ticket #37 2014-12-09 12:18:41 -06:00
Gregory Nutt
f5c124e081 Tiva: Add build framework and skeleton files for Tiva I2C driver. Initial commit is just the STM32 I2C driver with name changes and STM32-specific logic removed 2014-12-09 12:18:40 -06:00
Gregory Nutt
928bc5ca84 Update the Tiva I2C register definitions for the TM4C123 and TM4C129 2014-12-09 08:42:12 -06:00
Gregory Nutt
63ba9bdf17 Set the GPIO_SPEED_50MHz on all F2 and F4 SPI pin configurations. This is based on an F411 SPI1 errata but the fixed is generalized to all SPI and all F2 and F4 (let me know if this introduces any other issues). Discovered and fixed by Sebastien Lorquet after much consternation. 2014-12-08 09:51:52 -06:00
Gregory Nutt
eabb95fc89 Allow building simulated framebuffer dirver is NX is not enabled 2014-12-08 08:29:48 -06:00
Gregory Nutt
1f2447502f SAMA5D3 Xplained: Add support for the Itead Joystick shield 2014-12-03 12:24:23 -06:00
Gregory Nutt
56a5d59a96 STM32: Add MCO configuration for the STM32L1xx. From Jussi Kivilinna 2014-12-02 10:19:37 -06:00
Gregory Nutt
4016ca3495 STM32L15: Fix typo in MCO pin definition. From Jussi Kivilinna 2014-12-02 10:18:02 -06:00
Gregory Nutt
1fa790cf8e Update comments 2014-11-29 15:28:28 -06:00
Gregory Nutt
dc4c66c2f1 STM32 F4 I2C: Port Tridge's I2C noise resiliance logic from the PX4 repository. 2014-11-29 13:37:45 -06:00
Gregory Nutt
997fa4b749 Fix one warning. There are a couple of others that look like real problems 2014-11-28 11:49:24 -06:00
Gregory Nutt
50285b91fe EFM32 Serial: Add support for termios TCGET and TCSET. For the moment, only set/get speed is implemetned. From Pierre-noel Bouteville 2014-11-27 19:14:10 -06:00
Gregory Nutt
2021130e35 Forgot too add file before last commit 2014-11-27 06:14:09 -06:00
Gregory Nutt
a1c8e97c12 Enable support for STM32F102. https://github.com/PX4/NuttX/pull/28.diff 2014-11-27 06:12:35 -06:00
Gregory Nutt
70981eb7d5 Initial support for the LPC4357-EVB provided by Toby Duckworth 2014-11-26 15:18:24 -06:00
Gregory Nutt
2994448d85 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:15:09 -06:00
Gregory Nutt
ad36e75a40 Fixes for more issues found by cppcheck 2014-11-24 17:00:26 -06:00
Gregory Nutt
7cfd619167 More bugs/warnings found by cppcheck 2014-11-24 13:24:51 -06:00
Gregory Nutt
1d2ec9d2bb Various issues/bugs detected by cppcheck 2014-11-24 12:59:52 -06:00
Gregory Nutt
fc804e29af I2C header file for the Freescale KL family. From Alan Carvalho de Assis. 2014-11-23 16:49:00 -06:00
Gregory Nutt
5d231b25f0 SAMA5D3 Xplained: Add an apps/examples/bridge configuration 2014-11-20 16:24:30 -06:00
Gregory Nutt
cba8179c28 STM32 F4 OTGHS device controller driver from Brennan Ashton 2014-11-20 07:19:04 -06:00
Gregory Nutt
2d51315e66 SAM EMAC: Fix typo in the check for successfull allocation of a timer 2014-11-18 14:20:31 -06:00
Gregory Nutt
2134d0df43 SAMA5D4-EK EMAC1: Correct name of EMAC1 configuration variable 2014-11-18 11:02:22 -06:00
Gregory Nutt
a03b6af57a Cosmetic fixes to comments 2014-11-18 07:19:10 -06:00
Gregory Nutt
a1598152d1 Update ChangeLog 2014-11-17 12:48:01 -06:00
Gregory Nutt
63526fb1ef Rename CONFIG_NET_BUFSIZE to CONFIG_NET_ETH_MTU is all MCU Ethernet drivers 2014-11-16 08:10:06 -06:00
Gregory Nutt
c2c37abf47 EFM32 USART setup: Computation of BAUD includes shift; Eliminate additional shift. From Pierre-noel Bouteville 2014-11-16 07:57:57 -06:00
Gregory Nutt
1055ba464d SAM3/4: Add missing SPI0 clock configuartion macro for the SAM4S 2014-11-16 06:43:08 -06:00
Gregory Nutt
25a9005ce7 Remove use of NET_LL_HDRLEN from Ethernet drivers. Use ETH_HDRLEN instead 2014-11-15 09:05:34 -06:00
Gregory Nutt
388ef8db1a Netwoek: Ada a parameter to netdev_register() to indicate the link protocol supported by the driver. Use this value to replace some logic commited yesterday 2014-11-15 08:22:51 -06:00
Gregory Nutt
66dbce8cf6 Cosmetic updates; updates to README 2014-11-14 09:54:00 -06:00
Gregory Nutt
db12ac1f14 EFM32: Finishes USB naming fixup. Still some missing initialization logic 2014-11-14 08:36:18 -06:00
Gregory Nutt
7358c3c641 EFM32: More USB naming updates. Still not finished 2014-11-14 07:20:13 -06:00
Gregory Nutt
9dc834e723 EFM32: More USB register name corrections. Still incomplete 2014-11-13 12:25:42 -06:00
Gregory Nutt
e6ff1518f6 EFM32: Finishes USB naming changes for device 2014-11-13 10:45:47 -06:00
Gregory Nutt
c3aadcdef5 Correct a typo in the STM32 OTGFS register bit definitions 2014-11-13 10:43:54 -06:00
Gregory Nutt
9160054188 EFM32: Tweaks to get EFM32GG-STK3700 running NSH over LEUART0 2014-11-12 12:50:09 -06:00
Gregory Nutt
984fffee1a EFM32: More USB register name corrections. Still incomplete 2014-11-12 10:43:29 -06:00
Gregory Nutt
9d0eb576c7 EFM32: More USB register name corrections. Still incomplete 2014-11-12 09:46:58 -06:00
Gregory Nutt
ae3485bf88 Remove the definition of INT_FAST32_MIN which is already defined in stdint.h (the correct location). From Lorenz Meier. 2014-11-12 07:47:37 -06:00
Gregory Nutt
c147913e27 Add protection from C++ name mangling in the ARM up_internal.h. From Lorenz Meier. 2014-11-12 07:27:28 -06:00
Gregory Nutt
f9ff3469f6 Fix a typo in an I2C header file. From Jahu Niskanen 2014-11-11 07:12:16 -06:00
Gregory Nutt
54245b1b9c Support for the STM32F103RG. From Murilo Ponte 2014-11-10 07:48:46 -06:00
Gregory Nutt
5073f3e951 EFM32: Reduce writes to the CTRL register 2014-11-09 09:43:43 -06:00
Gregory Nutt
fe7bdb284e EFM32: Fix issues associated with SPI bi order. From Pierre 2014-11-09 08:21:38 -06:00
Gregory Nutt
8e5ae2ee18 EFM32: Fix typo in connecting ODD GPIO interrupt. Noted by Pierre 2014-11-08 06:18:21 -06:00
Gregory Nutt
f29df7bc58 Merge remote-tracking branch 'origin/master' into bas24 2014-11-06 14:17:19 -06:00
Gregory Nutt
67f8002de9 EFM32 USB: More naming fixes... still does not compile 2014-11-05 14:22:12 -06:00
Gregory Nutt
b5c9da4485 Merge remote-tracking branch 'origin/master' into bas24 2014-11-04 11:57:16 -06:00
Gregory Nutt
4859d610dd EFM32 USB: A few more naming conversions... still a long way to go 2014-11-04 11:48:41 -06:00
Gregory Nutt
54fe538f25 EFM32: Port USB device and host drivers from STM32. Still does not compile 2014-11-04 10:14:04 -06:00
Gregory Nutt
e31947689d EFM32: Add USB build support 2014-11-04 06:47:14 -06:00
Gregory Nutt
781f537f3e Merge remote-tracking branch 'origin/master' into bas24 2014-11-03 17:22:38 -06:00
Gregory Nutt
e1fcd2b550 STM32GG Starter Kit: Add basic NSH configuration 2014-11-03 16:58:22 -06:00
Gregory Nutt
a15167f48d Merge remote-tracking branch 'origin/master' into bas24 2014-11-03 12:00:35 -06:00
Gregory Nutt
642bf34e45 Fix typo is SAM4E pinmap file 2014-11-03 11:59:53 -06:00
Gregory Nutt
b6a08c375c Merge remote-tracking branch 'origin/master' into bas24 2014-11-02 12:11:45 -06:00
Gregory Nutt
ef82c280fd MM: Minimum memory allocation must to up to 32 if sizeof pointer is 8-bytes 2014-11-02 12:11:20 -06:00
Gregory Nutt
a94a1f61d7 SIM: Add more symbols to /arch/sim/src/nuttx-names.dat 2014-11-02 11:44:09 -06:00
Gregory Nutt
7720f0f95e Oops... accidentally checked in a debug-only change with the last commit 2014-11-02 08:03:34 -06:00
Gregory Nutt
2353468370 Can't use isatty, tcsetattr, or tcgettr is CONFIG_SERIAL_CONSOLE is not defined 2014-11-02 07:59:56 -06:00
Gregory Nutt
0ae4ee8df5 EFM32 ROM table header files 2014-11-01 13:27:36 -06:00
Gregory Nutt
a968312262 EFM32: Add LESENSE header file 2014-11-01 12:56:55 -06:00
Gregory Nutt
de7d25efdf EFM32: Add USB header file 2014-11-01 11:57:11 -06:00
Gregory Nutt
e6c2a36bbe Add optional timestamp to syslog output. From pn_bouteville@yahoo.fr 2014-11-01 09:17:34 -06:00
Gregory Nutt
a86d86e866 Remove carriage returns 2014-11-01 08:06:50 -06:00
Gregory Nutt
0c0c059451 ARMv7-M: ETM header file 2014-11-01 08:06:06 -06:00
Gregory Nutt
180a8bf8f6 EFTM32 ITM: Add missing ~ in bit clear operation. From pn_bouteville@yahoo.fr 2014-11-01 06:51:14 -06:00
Gregory Nutt
e5f9501858 EFM32: Add LCD header file 2014-10-31 20:25:37 -06:00
Gregory Nutt
15ba15ad3b EFM32: Add DAC header file 2014-10-31 20:05:47 -06:00
Gregory Nutt
721f59b3be EFM32: Add BURTC header file 2014-10-31 13:05:00 -06:00
Gregory Nutt
141ac52984 EFM32: Add PRS signals 2014-10-31 12:30:01 -06:00
Gregory Nutt
fc7868e4f1 EFM32: Add ADC heder file 2014-10-31 12:22:45 -06:00
Gregory Nutt
fba66228f7 EFM32: Add I2C header file 2014-10-31 12:07:57 -06:00
Gregory Nutt
e97bdf6dc1 EFM32: Add PRS header file 2014-10-31 11:47:40 -06:00
Gregory Nutt
ac16ca1a9c EFM32: Add PCNT header file 2014-10-31 11:34:00 -06:00
Gregory Nutt
ac9889be07 EFM32: Add RMU header file 2014-10-31 11:17:12 -06:00
Gregory Nutt
9b9489c678 EFM32: Add EMU header file 2014-10-31 10:56:15 -06:00
Gregory Nutt
0924a813f7 EFM32: Add VCMP header file 2014-10-31 10:41:28 -06:00
Gregory Nutt
bf6b44a46e EFM32: Add RTC header file 2014-10-31 10:27:52 -06:00
Gregory Nutt
1bdb07fdf8 EFM32: Add AES header file 2014-10-31 10:17:48 -06:00
Gregory Nutt
ae1bb7bd57 EFM32: Add watchdog header file 2014-10-31 10:02:37 -06:00
Gregory Nutt
ad431a2935 EFM32: Add LETIMER header file 2014-10-31 09:54:26 -06:00
Gregory Nutt
496815ec51 EFM32: Add ACMP header file 2014-10-31 09:38:21 -06:00
Gregory Nutt
2b3944da60 EFM32: Add timer header file 2014-10-31 09:27:15 -06:00
Gregory Nutt
ac56c1924a EFM32: Changes picked up from Pierre's repository 2014-10-30 18:01:46 -06:00
Gregory Nutt
f76962257e Costmetic changes -- spacing, comments. 2014-10-30 16:33:40 -06:00
Gregory Nutt
87ee3f2fc7 SAM3/4: Fix error serial TERMIOS ioctl handling 2014-10-30 12:23:15 -06:00
Gregory Nutt
60a853df95 Add support for SAM3/4 basic TERMIOS and flow control. There are issues with IFLOW control: PDC or DMAC support is required 2014-10-29 15:47:15 -06:00
Gregory Nutt
a418aefe13 EFM32: In order to use LEUART, LE clocking must be enabled 2014-10-29 11:20:54 -06:00
Gregory Nutt
b388511137 EFM32: Various fixes for LEUART build 2014-10-29 09:37:39 -06:00
Gregory Nutt
47a8e614e8 EFM32: Minor serial interrupt mask change; Add LEUART0 board support 2014-10-29 08:04:29 -06:00
Gregory Nutt
0679d3109f EFM32: Implement HFPERCLK logic 2014-10-28 19:46:45 -06:00
Gregory Nutt
8a17a264ff Fix a few more EFM32 integration bugs 2014-10-28 19:02:21 -06:00
Gregory Nutt
761059aee2 SAM4: Fix a usbnsh build problem that has crept into all serial drivers 2014-10-28 15:44:47 -06:00
Gregory Nutt
b9814fac99 EFM32: Need to configure UART GPIOs as outputs 2014-10-28 14:50:15 -06:00
Gregory Nutt
ff85d95902 Oops... fix an error in an assertion of last commit 2014-10-28 12:42:19 -06:00
Gregory Nutt
4cc64a7405 EFM32: Add missing shift of register value 2014-10-28 12:36:47 -06:00
Gregory Nutt
9e773f396e EFM32: Fix GPIO configuration logic; Add missing board initializatin logic; Fix LED naming 2014-10-28 10:39:57 -06:00
Gregory Nutt
f2a2e6b645 EFM32G: Fix typo in memory map header file 2014-10-28 09:26:06 -06:00
Gregory Nutt
e01ceb3df8 SAM4E: Fix error TC header file 2014-10-28 09:22:37 -06:00
Gregory Nutt
947c896c45 EFM32: Correct a typo in LFXO bit in clock configuration 2014-10-28 08:59:27 -06:00
Gregory Nutt
1c8bf0c395 EFM32: Update a configuration; Compile fix for when DEBUG is enabled 2014-10-28 07:24:04 -06:00
Gregory Nutt
facf7e916e STM32 Serial: Don't compile up_earlyserialinit() if USE_EARLYSERIALINIT is not define. Otherwise, a macro definition clobbers the function definition 2014-10-28 06:58:37 -06:00
Gregory Nutt
6c9f325e1e Move selection for CONFIG_SERIAL_TERMIOS out of MCU Kconfigs to common drivers/serial/Kconfig. Add CONFIG_ARCH_HAVE_SERIAL_TERMIOS to indicate if an MCU supports TERMIOS 2014-10-27 11:31:16 -06:00
Gregory Nutt
586a363391 Cosmetic... removed checks for non-existent configuration setting 2014-10-27 09:05:52 -06:00
Gregory Nutt
03663a7ac4 Cosmetic changes 2014-10-27 07:57:12 -06:00
Gregory Nutt
80efa803b9 EFM32 SPI: setfrequency() needs to return actual frequency; simplify nbits usages by removing conditional logic 2014-10-27 07:07:30 -06:00
Gregory Nutt
a7b9bf776e EFM32 SPI: Add check to make sure that the SPI RX buffer is empty before starting a transfer 2014-10-26 13:13:53 -06:00
Gregory Nutt
7569b596be EFM32 SPI: Change some logic that I fear could cause RX data overrun 2014-10-26 12:53:26 -06:00
Gregory Nutt
a022fd68e5 EFM32: Cosmetic changes to comments and format 2014-10-26 12:48:47 -06:00
Gregory Nutt
eeccd16a54 Cosmetic update to spacing and comments 2014-10-26 11:25:47 -06:00
Gregory Nutt
c392115fbd EFM32: Integrate SPI DMA capability 2014-10-26 11:22:16 -06:00
Gregory Nutt
741f98fe0a EFM32: Integrate Pierre's SPI driver 2014-10-26 09:27:55 -06:00
Gregory Nutt
0eb45e78f3 Remove unnecessary header file inclusion 2014-10-26 06:09:20 -06:00
Gregory Nutt
562b719f26 EFM32: dma_config_t needs to be only 16-bits for now 2014-10-25 17:53:29 -06:00
Gregory Nutt
d4f35ba41c EFM32 DMA: Cosmetic changes to debug instrumentatin and comments 2014-10-25 17:43:56 -06:00
Gregory Nutt
0a7924ba26 EFM32: Fix misconception in DMA control descriptor alignment 2014-10-25 17:21:58 -06:00
Gregory Nutt
b156685475 EFM32: More fixes to DMA descriptor table logic 2014-10-25 17:15:16 -06:00
Gregory Nutt
678dce33f6 Add debug assertion 2014-10-25 15:29:23 -06:00
Gregory Nutt
de08cc54fd EFM32: Correct handling of DMA descriptors; Add initialization of DMA CTRLBASE 2014-10-25 14:55:02 -06:00
Gregory Nutt
116129adf8 EFM32: Completes very basic DMA support. Needs review. Untested 2014-10-25 11:31:13 -06:00
Gregory Nutt
1502ba31b3 Dangle whitespace removal 2014-10-25 10:35:29 -06:00
Gregory Nutt
b9cf875752 EFM32: A little more DMA logic. Still incomplete 2014-10-25 10:34:07 -06:00
Gregory Nutt
f79e803e89 Add some logic to EFM32 DMA module. Still incomplete 2014-10-25 08:09:19 -06:00
Gregory Nutt
6c044cbf9b Add framework for EFM32 DMA support -- no logic in place yet 2014-10-24 17:59:13 -06:00
Gregory Nutt
889e80fe7a Fix some typos that I just introduced... Sometimes I can't do anything right 2014-10-24 17:58:33 -06:00
Gregory Nutt
7792b78072 Update EFM32 DMA header file for Gecko support 2014-10-24 16:58:38 -06:00
Gregory Nutt
9573023529 SAM4E-EK: Add support for PHY insterrupt 2014-10-24 12:28:57 -06:00
Gregory Nutt
6d4f448c31 Another fix to SAM3/4 GPIO IRQ issue 2014-10-24 10:55:52 -06:00
Gregory Nutt
69966a1b62 SAM3/4: Fix conditional compilation in GPIO IRQ logic 2014-10-24 10:44:43 -06:00
Gregory Nutt
b7a35c1e65 SAM4E: Fix options to select GPIO interrupts in Kconfig 2014-10-24 09:29:01 -06:00
Gregory Nutt
7c9b830d8d Add EFM32 DMA header file 2014-10-24 07:57:16 -06:00
Gregory Nutt
72d11583e3 Another typo in EMF32 GPIO logic 2014-10-23 19:19:58 -06:00
Gregory Nutt
bf565dc94b Fix compiler errors in up_itm_syslog.c. From Pierre-Noel Bouteville 2014-10-23 18:30:32 -06:00
Gregory Nutt
87a45f7f2f Fix file naming: arm_item_syslog.c changed to up_itm_syslog.c. From Pierre-Noel Bouteville 2014-10-23 18:25:05 -06:00
Gregory Nutt
9b13710e39 EFM32 port and pin decoding backward in every case. From Pierre-Noel Bouteville 2014-10-23 18:16:57 -06:00
Gregory Nutt
ddb16e08ec Oops last changes still in editor 2014-10-23 10:13:32 -06:00
Gregory Nutt
20476ade5e EFM32: Add configuration option to use USARTs as SPI 2014-10-23 08:54:26 -06:00
Gregory Nutt
85834ac1f1 EFM32: Add configuration option to use USARTs as SPI 2014-10-23 08:25:37 -06:00
Gregory Nutt
2cd7340e87 Update to the LPC43xx RIT/Tickless code. From Brandon Warhurst 2014-10-23 07:14:37 -06:00
Gregory Nutt
b5fc30f1e8 Add support for tickless operation using the NXP LPC43xx 2014-10-23 06:54:24 -06:00
Gregory Nutt
9df5ba14f2 EFM32: Add logic to initialize and use ITM system 2014-10-22 09:05:22 -06:00
Gregory Nutt
d1472cbf2a Remove whitespace and and carriage returns 2014-10-22 09:04:40 -06:00
Gregory Nutt
bfc12bf3a7 ARMv7: Add support to use ITM for SYSLOG debug output 2014-10-22 09:03:00 -06:00
Gregory Nutt
d98d1e9d21 Eliminate a warning 2014-10-22 07:56:48 -06:00
Gregory Nutt
0196b77961 EFM32: Add IDLE power management hooks. Nothing implemented; just define the hooks 2014-10-22 07:26:31 -06:00
Gregory Nutt
9ef8abc5ec Add ARMv7-M DWT and TPI register definitions 2014-10-21 16:46:26 -06:00
Gregory Nutt
d094fd1c19 Add CMSIS ITM header file and library 2014-10-21 16:16:00 -06:00
Gregory Nutt
d930f2cdbc EFM32: Add buton interrupt handling for the Olimex board 2014-10-21 13:51:30 -06:00
Gregory Nutt
37e08c3b49 The olimex-efm32g880f128-stk now defaults to use LEUART1 as the serial console. Also fixes lots of compile bugs from the original LEUART checkin 2014-10-21 11:38:51 -06:00