Commit Graph

3556 Commits

Author SHA1 Message Date
Gregory Nutt
21f6598faf Tiva: Upate GPIO header file for TM4C129X 2014-12-22 12:59:13 -06:00
Gregory Nutt
f91583af61 TM4C129X: Simplify be removing unnecessary temporary variable 2014-12-22 12:01:33 -06:00
Gregory Nutt
bd2d83c656 TM4C129X: Simplify be removing unnecessary temporary variable 2014-12-22 11:53:31 -06:00
Gregory Nutt
3b863966fe TM4C129X: First cut at new Tiva clock configuration logic 2014-12-22 11:45:10 -06:00
Gregory Nutt
5184e4dade TM4C129X: A small step toward understanding new Tiva clocking 2014-12-22 09:30:41 -06:00
Gregory Nutt
7b6d0391ab Tiva: Rename TIVA_CRC_BASE to TIVA_CCM_BASE 2014-12-21 17:44:11 -06:00
Gregory Nutt
488b02ff6c Tiva: Add support for I2C6-9 2014-12-21 17:20:16 -06:00
Gregory Nutt
f26384c386 Tiva SSI and board configurations: hange negative Tiva logic CONFIG_SSIx_DISABLE to positive logic CONFIG_TIVA_SSIx. Add support for SSI2 and SSI3 2014-12-21 15:23:37 -06:00
Gregory Nutt
3ea03b9806 Improved comments 2014-12-21 14:09:04 -06:00
Gregory Nutt
f4543de408 TM4C129X: Increated power/clocking macros into I2C driver 2014-12-21 13:02:12 -06:00
Gregory Nutt
20986de89e TM4C129X: Add macros to enable/disable peripheral power 2014-12-21 11:40:39 -06:00
Gregory Nutt
9857b59e79 Tiva SSI: Use portable macros to enable peripheral clocking 2014-12-21 11:16:21 -06:00
Gregory Nutt
8ed83ac3a5 Tiva: More run mode clock enable macros 2014-12-21 11:02:56 -06:00
Gregory Nutt
d701532141 TM4C129X: Framework for new Tiva clocking logic (details not yet implemented) 2014-12-21 10:14:40 -06:00
Gregory Nutt
36acfdb26f Tiva: Completes first cut at system control header file 2014-12-20 12:05:22 -06:00
Gregory Nutt
22b4def56e Tiva: More TM4C129 system control register definitions 2014-12-20 11:10:10 -06:00
Gregory Nutt
e14608b272 Tiva: More TM4C129 system control register definitions 2014-12-20 09:59:21 -06:00
Gregory Nutt
b49f8b3baf Tiva: Add a configuration setting to better distinguish TM4C123 and 129 families. Reanem tm4c_syscontrol.h to tm4c123_syscontrol.h; rename tm4c129x_syscontrol.h to tm4c129_syscontrol.h 2014-12-20 08:38:11 -06:00
Gregory Nutt
ffae2cb3d7 Tiva: Updates to system control regiser definitions 2014-12-20 08:22:17 -06:00
Gregory Nutt
16a302e732 STM32 LTDC: Move ltdc.h from include/nuttx/video to arch/arm/include/stm32; Trivial updates after general review 2014-12-19 14:52:17 -06:00
Gregory Nutt
44d72c6545 stm32: Add configuration option for ltdc
This adds the following ltdc configuration options:
- dither support
- cmap support, is this the right place for CONFIG_FB_CMAP?
- support for extended ltdc interface

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:58:39 -06:00
Gregory Nutt
193edfb7be 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
83d87e5ef7 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
060a61dfac 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
df31cf1db8 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
3385fe60cf 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
e9074c8a44 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
f181dcef29 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
58e4e69656 TM4C129X: Add custom system control header file (incomplete) 2014-12-19 12:12:52 -06:00
Gregory Nutt
da700ddc06 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
aabd4c59a3 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
83c56151ab Tiva: Add GPIO interrupt support for the TMS4C129X 2014-12-18 11:52:06 -06:00
Gregory Nutt
a719e75851 DK-TM4C129X: Fixes to get clean build. Logic is still not complete, however 2014-12-18 08:24:24 -06:00
Gregory Nutt
05d7520461 TM4C129X: Add pin multiplexing 2014-12-17 11:55:45 -06:00
Gregory Nutt
327a554d0b Tiva TM4C129X: Fix some errors in memory map 2014-12-17 09:42:37 -06:00
Gregory Nutt
14b987dbfa Add memory map for the TM4C129X 2014-12-17 09:40:56 -06:00
Gregory Nutt
aa724ea75b Add interrupt definitions for the TM4C129X 2014-12-17 08:19:23 -06:00
Gregory Nutt
1410a650e0 Tiva: Better distinguish features of the TM4C1294xx and the TM4C129Xxx 2014-12-16 18:02:59 -06:00
Gregory Nutt
29d23ae626 Remove packaging indications for TM4C129 configuration variables 2014-12-16 16:22:52 -06:00
Gregory Nutt
188e092398 Add TM4C129XNCZAD and TM4C1294NCPDT to the Tiva configuration system 2014-12-16 16:02:21 -06:00
Gregory Nutt
f284c5cab2 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
da8b040984 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
810fcd297e 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
a574a3cc8a STM32 LTDC: Fix a typo in conditional compilation 2014-12-13 07:45:42 -06:00
Gregory Nutt
f8592281a7 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
c653ff5ce4 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
54c8d5c6e4 Tiva I2C: Legacy mode reset logic ommitted in last commit 2014-12-12 09:31:17 -06:00
Gregory Nutt
19ef820925 Tiva I2C: Add logic to reset I2C when busy hangs with busy 2014-12-12 09:26:10 -06:00
Gregory Nutt
dd3d417aed STM32 OTGHS Device: Fix for OTGHS core working in FS mode. From Ken Pettit 2014-12-12 07:43:32 -06:00
Gregory Nutt
310983bee6 Cosmetic change to force compliance with coding standard 2014-12-12 07:14:16 -06:00
Gregory Nutt
1311e76adc Tiva I2C: Fix how I2C transactions are started and some I2C error reporting 2014-12-11 12:31:42 -06:00
Gregory Nutt
04d8169f0f 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
218967b80e Tiva I2C: Add register-level debug capability 2014-12-11 09:34:03 -06:00
Gregory Nutt
6a98255aa0 Tiva I2C: Minor clean-up to I2C tracing 2014-12-11 08:11:32 -06:00
Gregory Nutt
2e8ad53ed4 Tiva I2C: Fix error in assertion logic 2014-12-11 07:02:14 -06:00
Gregory Nutt
af31b219a3 Tiva I2C: Add I2C options to Kconfig 2014-12-10 13:56:00 -06:00
Gregory Nutt
37eb362b08 Tiva I2C: Add workaround for errata; clean up some error handling 2014-12-10 13:01:47 -06:00
Gregory Nutt
38bd919930 Tiva I2C: Driver is code complete but untested 2014-12-10 12:43:46 -06:00
Gregory Nutt
bdd5289100 Tiva i2C: Lots of compilation fixes 2014-12-10 08:47:34 -06:00
Gregory Nutt
0951d80d45 Simplify I2C master/slave addresing to simplify driver development 2014-12-10 08:47:07 -06:00
Gregory Nutt
3313cee55c Tiva I2C: Finishes initialization logic 2014-12-10 07:31:44 -06:00
Gregory Nutt
7373e66213 Tiva: Do I2C clock initialization without using legacy registers. Necessary for I2C3-5 2014-12-09 15:28:10 -06:00
Gregory Nutt
90c98f8526 Add a little bit more Tiva I2C initialization logic 2014-12-09 14:48:24 -06:00
Gregory Nutt
f851a1328e Fix typo in Tiva UART regiser address definition. SourceForge Ticket #37 2014-12-09 12:18:41 -06:00
Gregory Nutt
286a142a08 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
1d43784c48 Update the Tiva I2C register definitions for the TM4C123 and TM4C129 2014-12-09 08:42:12 -06:00
Gregory Nutt
cb9e3c2bb9 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
e333132280 SAMA5D3 Xplained: Add support for the Itead Joystick shield 2014-12-03 12:24:23 -06:00
Gregory Nutt
6d7106424e STM32: Add MCO configuration for the STM32L1xx. From Jussi Kivilinna 2014-12-02 10:19:37 -06:00
Gregory Nutt
13de352dcd STM32L15: Fix typo in MCO pin definition. From Jussi Kivilinna 2014-12-02 10:18:02 -06:00
Gregory Nutt
f94052de26 Update comments 2014-11-29 15:28:28 -06:00
Gregory Nutt
eace825e3b STM32 F4 I2C: Port Tridge's I2C noise resiliance logic from the PX4 repository. 2014-11-29 13:37:45 -06:00
Gregory Nutt
0d50608eae Fix one warning. There are a couple of others that look like real problems 2014-11-28 11:49:24 -06:00
Gregory Nutt
70f778c02b 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
3d55cd82ee Forgot too add file before last commit 2014-11-27 06:14:09 -06:00
Gregory Nutt
0ad88d9664 Enable support for STM32F102. https://github.com/PX4/NuttX/pull/28.diff 2014-11-27 06:12:35 -06:00
Gregory Nutt
4f22093bfa Initial support for the LPC4357-EVB provided by Toby Duckworth 2014-11-26 15:18:24 -06:00
Gregory Nutt
2c1f018e85 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
727a7c9e40 Fixes for more issues found by cppcheck 2014-11-24 17:00:26 -06:00
Gregory Nutt
697b0f8f19 More bugs/warnings found by cppcheck 2014-11-24 13:24:51 -06:00
Gregory Nutt
8becf3c18c Various issues/bugs detected by cppcheck 2014-11-24 12:59:52 -06:00
Gregory Nutt
7dfb945979 I2C header file for the Freescale KL family. From Alan Carvalho de Assis. 2014-11-23 16:49:00 -06:00
Gregory Nutt
f548a10c6b SAMA5D3 Xplained: Add an apps/examples/bridge configuration 2014-11-20 16:24:30 -06:00
Gregory Nutt
184ebdf191 STM32 F4 OTGHS device controller driver from Brennan Ashton 2014-11-20 07:19:04 -06:00
Gregory Nutt
7ab214d811 SAM EMAC: Fix typo in the check for successfull allocation of a timer 2014-11-18 14:20:31 -06:00
Gregory Nutt
7dd183fa50 SAMA5D4-EK EMAC1: Correct name of EMAC1 configuration variable 2014-11-18 11:02:22 -06:00
Gregory Nutt
62e94bc883 Cosmetic fixes to comments 2014-11-18 07:19:10 -06:00
Gregory Nutt
f4736a2042 Update ChangeLog 2014-11-17 12:48:01 -06:00
Gregory Nutt
2330c9c842 Rename CONFIG_NET_BUFSIZE to CONFIG_NET_ETH_MTU is all MCU Ethernet drivers 2014-11-16 08:10:06 -06:00
Gregory Nutt
da160bfee9 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
83e5ee1c04 SAM3/4: Add missing SPI0 clock configuartion macro for the SAM4S 2014-11-16 06:43:08 -06:00
Gregory Nutt
f4e947ee80 Remove use of NET_LL_HDRLEN from Ethernet drivers. Use ETH_HDRLEN instead 2014-11-15 09:05:34 -06:00
Gregory Nutt
bf984b2b3a 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
025e36ba8c Cosmetic updates; updates to README 2014-11-14 09:54:00 -06:00
Gregory Nutt
a451f3b99e EFM32: Finishes USB naming fixup. Still some missing initialization logic 2014-11-14 08:36:18 -06:00
Gregory Nutt
3a4e126f2d EFM32: More USB naming updates. Still not finished 2014-11-14 07:20:13 -06:00
Gregory Nutt
d667b9072a EFM32: More USB register name corrections. Still incomplete 2014-11-13 12:25:42 -06:00
Gregory Nutt
299b4db5de EFM32: Finishes USB naming changes for device 2014-11-13 10:45:47 -06:00
Gregory Nutt
e69e2767ad Correct a typo in the STM32 OTGFS register bit definitions 2014-11-13 10:43:54 -06:00
Gregory Nutt
312cb6ffa0 EFM32: Tweaks to get EFM32GG-STK3700 running NSH over LEUART0 2014-11-12 12:50:09 -06:00
Gregory Nutt
e424ddbabd EFM32: More USB register name corrections. Still incomplete 2014-11-12 10:43:29 -06:00
Gregory Nutt
365afd95a6 EFM32: More USB register name corrections. Still incomplete 2014-11-12 09:46:58 -06:00
Gregory Nutt
f4be851b0e 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
123baad163 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
dc16ffe11a Fix a typo in an I2C header file. From Jahu Niskanen 2014-11-11 07:12:16 -06:00
Gregory Nutt
c65372b80c Support for the STM32F103RG. From Murilo Ponte 2014-11-10 07:48:46 -06:00
Gregory Nutt
089124ef8a EFM32: Reduce writes to the CTRL register 2014-11-09 09:43:43 -06:00
Gregory Nutt
6ea107784d EFM32: Fix issues associated with SPI bi order. From Pierre 2014-11-09 08:21:38 -06:00
Gregory Nutt
b96654347b EFM32: Fix typo in connecting ODD GPIO interrupt. Noted by Pierre 2014-11-08 06:18:21 -06:00
Gregory Nutt
ceffd2f121 EFM32 USB: More naming fixes... still does not compile 2014-11-05 14:22:12 -06:00
Gregory Nutt
a2a2af526f EFM32 USB: A few more naming conversions... still a long way to go 2014-11-04 11:48:41 -06:00
Gregory Nutt
d8bfd5a4d2 EFM32: Port USB device and host drivers from STM32. Still does not compile 2014-11-04 10:14:04 -06:00
Gregory Nutt
88dc7b3b3c EFM32: Add USB build support 2014-11-04 06:47:14 -06:00
Gregory Nutt
9051ffd638 STM32GG Starter Kit: Add basic NSH configuration 2014-11-03 16:58:22 -06:00
Gregory Nutt
493ba46ec6 Fix typo is SAM4E pinmap file 2014-11-03 11:59:53 -06:00
Gregory Nutt
811d557053 EFM32 ROM table header files 2014-11-01 13:27:36 -06:00
Gregory Nutt
3189a1acc7 EFM32: Add LESENSE header file 2014-11-01 12:56:55 -06:00
Gregory Nutt
458992ca5b EFM32: Add USB header file 2014-11-01 11:57:11 -06:00
Gregory Nutt
0f754bd6d7 Add optional timestamp to syslog output. From pn_bouteville@yahoo.fr 2014-11-01 09:17:34 -06:00
Gregory Nutt
3d2a34045b Remove carriage returns 2014-11-01 08:06:50 -06:00
Gregory Nutt
918a74805c ARMv7-M: ETM header file 2014-11-01 08:06:06 -06:00
Gregory Nutt
442c646955 EFTM32 ITM: Add missing ~ in bit clear operation. From pn_bouteville@yahoo.fr 2014-11-01 06:51:14 -06:00
Gregory Nutt
0f59ab369a EFM32: Add LCD header file 2014-10-31 20:25:37 -06:00
Gregory Nutt
a36bb77e05 EFM32: Add DAC header file 2014-10-31 20:05:47 -06:00
Gregory Nutt
7f3bd970d7 EFM32: Add BURTC header file 2014-10-31 13:05:00 -06:00
Gregory Nutt
61300aa12e EFM32: Add PRS signals 2014-10-31 12:30:01 -06:00
Gregory Nutt
a9fb2f78b5 EFM32: Add ADC heder file 2014-10-31 12:22:45 -06:00
Gregory Nutt
54af514ef6 EFM32: Add I2C header file 2014-10-31 12:07:57 -06:00
Gregory Nutt
ecd84c7844 EFM32: Add PRS header file 2014-10-31 11:47:40 -06:00
Gregory Nutt
4660eb6e1f EFM32: Add PCNT header file 2014-10-31 11:34:00 -06:00
Gregory Nutt
acf5cbb3dc EFM32: Add RMU header file 2014-10-31 11:17:12 -06:00
Gregory Nutt
afdf44e3c6 EFM32: Add EMU header file 2014-10-31 10:56:15 -06:00
Gregory Nutt
16c1eb924a EFM32: Add VCMP header file 2014-10-31 10:41:28 -06:00
Gregory Nutt
f4fd24acb7 EFM32: Add RTC header file 2014-10-31 10:27:52 -06:00
Gregory Nutt
b984a7c9c0 EFM32: Add AES header file 2014-10-31 10:17:48 -06:00
Gregory Nutt
f081a9ccf5 EFM32: Add watchdog header file 2014-10-31 10:02:37 -06:00
Gregory Nutt
7e661442ed EFM32: Add LETIMER header file 2014-10-31 09:54:26 -06:00
Gregory Nutt
c25f0062ce EFM32: Add ACMP header file 2014-10-31 09:38:21 -06:00
Gregory Nutt
16c9292c3e EFM32: Add timer header file 2014-10-31 09:27:15 -06:00
Gregory Nutt
6313e5dcb3 EFM32: Changes picked up from Pierre's repository 2014-10-30 18:01:46 -06:00
Gregory Nutt
0eaa74962c Costmetic changes -- spacing, comments. 2014-10-30 16:33:40 -06:00
Gregory Nutt
05c1d9707d SAM3/4: Fix error serial TERMIOS ioctl handling 2014-10-30 12:23:15 -06:00
Gregory Nutt
11ab9c908e 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
692f63e3ee EFM32: In order to use LEUART, LE clocking must be enabled 2014-10-29 11:20:54 -06:00
Gregory Nutt
4ec43d1002 EFM32: Various fixes for LEUART build 2014-10-29 09:37:39 -06:00
Gregory Nutt
2ea73f760c EFM32: Minor serial interrupt mask change; Add LEUART0 board support 2014-10-29 08:04:29 -06:00
Gregory Nutt
7e697f2369 EFM32: Implement HFPERCLK logic 2014-10-28 19:46:45 -06:00
Gregory Nutt
b13b80e35f Fix a few more EFM32 integration bugs 2014-10-28 19:02:21 -06:00
Gregory Nutt
4098d8c4a2 SAM4: Fix a usbnsh build problem that has crept into all serial drivers 2014-10-28 15:44:47 -06:00
Gregory Nutt
7edef0f970 EFM32: Need to configure UART GPIOs as outputs 2014-10-28 14:50:15 -06:00
Gregory Nutt
28ac9e5841 Oops... fix an error in an assertion of last commit 2014-10-28 12:42:19 -06:00
Gregory Nutt
77a622da0b EFM32: Add missing shift of register value 2014-10-28 12:36:47 -06:00
Gregory Nutt
5ab16ee550 EFM32: Fix GPIO configuration logic; Add missing board initializatin logic; Fix LED naming 2014-10-28 10:39:57 -06:00
Gregory Nutt
1e6524cac8 EFM32G: Fix typo in memory map header file 2014-10-28 09:26:06 -06:00
Gregory Nutt
103e5dc791 SAM4E: Fix error TC header file 2014-10-28 09:22:37 -06:00
Gregory Nutt
3805a31473 EFM32: Correct a typo in LFXO bit in clock configuration 2014-10-28 08:59:27 -06:00
Gregory Nutt
027b7c5983 EFM32: Update a configuration; Compile fix for when DEBUG is enabled 2014-10-28 07:24:04 -06:00
Gregory Nutt
5ebc472f43 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
60d2547cd7 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
1252286845 Cosmetic... removed checks for non-existent configuration setting 2014-10-27 09:05:52 -06:00
Gregory Nutt
fe6f857f13 Cosmetic changes 2014-10-27 07:57:12 -06:00
Gregory Nutt
818f4c8675 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
a6f70a00a9 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
82bf0558e1 EFM32 SPI: Change some logic that I fear could cause RX data overrun 2014-10-26 12:53:26 -06:00
Gregory Nutt
0100d0f6c0 EFM32: Cosmetic changes to comments and format 2014-10-26 12:48:47 -06:00
Gregory Nutt
5c03174fe4 Cosmetic update to spacing and comments 2014-10-26 11:25:47 -06:00
Gregory Nutt
30946beaf0 EFM32: Integrate SPI DMA capability 2014-10-26 11:22:16 -06:00
Gregory Nutt
cd004832d1 EFM32: Integrate Pierre's SPI driver 2014-10-26 09:27:55 -06:00
Gregory Nutt
2c85b0e85f Remove unnecessary header file inclusion 2014-10-26 06:09:20 -06:00
Gregory Nutt
0f9139f2e9 EFM32: dma_config_t needs to be only 16-bits for now 2014-10-25 17:53:29 -06:00
Gregory Nutt
8dbef3ea4c EFM32 DMA: Cosmetic changes to debug instrumentatin and comments 2014-10-25 17:43:56 -06:00
Gregory Nutt
4b4fc79257 EFM32: Fix misconception in DMA control descriptor alignment 2014-10-25 17:21:58 -06:00
Gregory Nutt
556751bb7a EFM32: More fixes to DMA descriptor table logic 2014-10-25 17:15:16 -06:00
Gregory Nutt
042963cb54 Add debug assertion 2014-10-25 15:29:23 -06:00
Gregory Nutt
04d732dbab EFM32: Correct handling of DMA descriptors; Add initialization of DMA CTRLBASE 2014-10-25 14:55:02 -06:00
Gregory Nutt
ca202adadb EFM32: Completes very basic DMA support. Needs review. Untested 2014-10-25 11:31:13 -06:00
Gregory Nutt
8c875f992f Dangle whitespace removal 2014-10-25 10:35:29 -06:00
Gregory Nutt
2bc74db84b EFM32: A little more DMA logic. Still incomplete 2014-10-25 10:34:07 -06:00
Gregory Nutt
7a845e82de Add some logic to EFM32 DMA module. Still incomplete 2014-10-25 08:09:19 -06:00
Gregory Nutt
800826ac64 Add framework for EFM32 DMA support -- no logic in place yet 2014-10-24 17:59:13 -06:00
Gregory Nutt
002fa55c04 Fix some typos that I just introduced... Sometimes I can't do anything right 2014-10-24 17:58:33 -06:00
Gregory Nutt
4d393f3801 Update EFM32 DMA header file for Gecko support 2014-10-24 16:58:38 -06:00
Gregory Nutt
1a532c1744 SAM4E-EK: Add support for PHY insterrupt 2014-10-24 12:28:57 -06:00
Gregory Nutt
2e829a5ff8 Another fix to SAM3/4 GPIO IRQ issue 2014-10-24 10:55:52 -06:00
Gregory Nutt
96405b1913 SAM3/4: Fix conditional compilation in GPIO IRQ logic 2014-10-24 10:44:43 -06:00
Gregory Nutt
8dfb3a1dd0 SAM4E: Fix options to select GPIO interrupts in Kconfig 2014-10-24 09:29:01 -06:00
Gregory Nutt
d87cc50b31 Add EFM32 DMA header file 2014-10-24 07:57:16 -06:00
Gregory Nutt
e242f945ba Another typo in EMF32 GPIO logic 2014-10-23 19:19:58 -06:00
Gregory Nutt
687a28cc09 Fix compiler errors in up_itm_syslog.c. From Pierre-Noel Bouteville 2014-10-23 18:30:32 -06:00
Gregory Nutt
d342fbfb0c 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
afeb7a46e2 EFM32 port and pin decoding backward in every case. From Pierre-Noel Bouteville 2014-10-23 18:16:57 -06:00
Gregory Nutt
cfd344c1a6 Oops last changes still in editor 2014-10-23 10:13:32 -06:00
Gregory Nutt
eaa0b18c18 EFM32: Add configuration option to use USARTs as SPI 2014-10-23 08:54:26 -06:00
Gregory Nutt
113483a177 EFM32: Add configuration option to use USARTs as SPI 2014-10-23 08:25:37 -06:00
Gregory Nutt
cc0a5d6004 Update to the LPC43xx RIT/Tickless code. From Brandon Warhurst 2014-10-23 07:14:37 -06:00
Gregory Nutt
c10f826ae3 Add support for tickless operation using the NXP LPC43xx 2014-10-23 06:54:24 -06:00
Gregory Nutt
df2abd3efc EFM32: Add logic to initialize and use ITM system 2014-10-22 09:05:22 -06:00
Gregory Nutt
9878205b1c Remove whitespace and and carriage returns 2014-10-22 09:04:40 -06:00
Gregory Nutt
d36bb47210 ARMv7: Add support to use ITM for SYSLOG debug output 2014-10-22 09:03:00 -06:00
Gregory Nutt
98c904d694 Eliminate a warning 2014-10-22 07:56:48 -06:00
Gregory Nutt
2763da5ddd EFM32: Add IDLE power management hooks. Nothing implemented; just define the hooks 2014-10-22 07:26:31 -06:00
Gregory Nutt
f06890c931 Add ARMv7-M DWT and TPI register definitions 2014-10-21 16:46:26 -06:00
Gregory Nutt
c447bb7537 Add CMSIS ITM header file and library 2014-10-21 16:16:00 -06:00
Gregory Nutt
3591729d17 EFM32: Add buton interrupt handling for the Olimex board 2014-10-21 13:51:30 -06:00
Gregory Nutt
b965c7e8f4 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
Gregory Nutt
e7fe3882a6 EFM32: Add LFA and LFB clock support 2014-10-21 10:45:33 -06:00
Gregory Nutt
6cf07c2a0e EFM32: Add configuration support for LEUARTs 2014-10-21 09:37:02 -06:00
Gregory Nutt
1640ee9108 EFM32: Add a LEUART-based serial driver (untestee) 2014-10-21 09:21:03 -06:00
Gregory Nutt
58f6b696f6 EFM32: Add basic, low-level support for the low energy UARTs 2014-10-21 08:48:38 -06:00
Gregory Nutt
994dbda075 EFM32: Addred LEUART register definition header file 2014-10-21 08:11:03 -06:00
Gregory Nutt
94270a0229 Add ADC pinmap definitions for the STM32 F103R from Lederhilger Martin 2014-10-21 06:48:16 -06:00
Gregory Nutt
23db8a44c3 Fixe to allow compile of lpc43_gpioint.c. It likely doesn't work. From Brandon warhurst_002 2014-10-21 06:36:27 -06:00
Gregory Nutt
d2cf8395f9 stm32: rename spi frame format definition
This renames the stm32 spi frame format definition to the short description
name as well as the other cr2 register flags.

Note! STM32_SPI3_FRF was never used by nuttx somewhere

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:12:59 -06:00
Gregory Nutt
ebf9bce9d8 EFM32: Another update to USART oversampling calculation. Clip to positive; update comments 2014-10-20 13:54:43 -06:00
Gregory Nutt
1a77fbcaca Fix some naming 2014-10-20 12:29:28 -06:00
Gregory Nutt
260238aa8a EFM32 USART: Fix oversampling selection; Should be biased toward higher oversampling rates 2014-10-20 10:54:13 -06:00
Gregory Nutt
75b728498a Finsh USART configuration logic 2014-10-20 08:12:08 -06:00
Gregory Nutt
956fc38fca Add GPIO interrupt logic 2014-10-20 08:12:08 -06:00
Gregory Nutt
33a12dfb84 Trivial, cosmetic typos in comments 2014-10-20 08:12:07 -06:00
Gregory Nutt
1524c67a17 Add EFM32 serial driver 2014-10-19 18:55:44 -06:00
Gregory Nutt
74db6df61f Add some UART configuration logic (still incomplete) 2014-10-19 16:42:15 -06:00
Gregory Nutt
df85772cea Fleshes out GPIO configuration logic 2014-10-19 13:47:52 -06:00
Gregory Nutt
2a7edd7e1c Add GPIO header file + a little bit of GPIO configuration logig 2014-10-19 13:07:52 -06:00
Gregory Nutt
3896f187a6 Basic clock configuration logic 2014-10-19 11:08:56 -06:00
Gregory Nutt
06ac7e3a6f Add MSC header file 2014-10-19 09:59:40 -06:00
Gregory Nutt
f0b13590ac Fix conditional logic in CMU header file 2014-10-19 06:46:35 -06:00
Gregory Nutt
8155730f28 Add frame for EFM32 GPIO logic (empty functions) 2014-10-18 18:40:08 -06:00
Gregory Nutt
ebc8333a0b Fix some incorrect conditional logic 2014-10-18 16:16:57 -06:00
Gregory Nutt
a011c250da Add skeleton lowputc() file for EFM32 2014-10-18 16:16:48 -06:00
Gregory Nutt
4f0b8da33c Add skeleton lowputc() file for EFM32 2014-10-18 16:16:22 -06:00
Gregory Nutt
6b1e87a848 Add EFM32 configuration header file 2014-10-18 16:15:53 -06:00
Gregory Nutt
ae3e75a5aa efm32_vectors.S is not really a HEAD object 2014-10-18 15:32:56 -06:00
Gregory Nutt
9069fc797a Add EFM32 SysTick timer support 2014-10-18 15:27:36 -06:00
Gregory Nutt
de5c451a30 Add empty file for event EFM32 clock configuration logic 2014-10-18 15:22:11 -06:00
Gregory Nutt
1bfec65ac5 More framework for GPIO interrupt support 2014-10-18 14:05:07 -06:00
Gregory Nutt
8d73e56145 Use UART0 for the serial console 2014-10-18 12:47:45 -06:00
Gregory Nutt
21d906db0b Add EFM32 UART/USART header file 2014-10-18 11:13:03 -06:00
Gregory Nutt
c071687ae5 Oops committed the wrong version 2014-10-18 09:46:35 -06:00
Gregory Nutt
6d5c75c2ff Add EFM32 CMU header file 2014-10-18 09:26:56 -06:00
Gregory Nutt
686a29624c Add EFM32 Memory Maps 2014-10-17 16:43:52 -06:00
Gregory Nutt
17399091ed Add GPIO header file and EFM32 Gecko Starter Kit LED support 2014-10-17 14:17:44 -06:00
Gregory Nutt
8eb85ce1f8 More EFM32 files 2014-10-17 12:31:44 -06:00
Gregory Nutt
a45de60aca More EFM32 files and logic 2014-10-17 12:02:32 -06:00
Gregory Nutt
2bafdf3d59 Add EFM32 interrupt vector defintions 2014-10-17 10:34:39 -06:00
Gregory Nutt
895cfe0e7c Add configuration support for the EFM32 Gecko Starter Kit 2014-10-17 09:25:52 -06:00
Gregory Nutt
0aea891272 Enable selection of SPI2 for STM32L15XX in Kconfig. From Jussi Kivilinna 2014-10-16 07:03:23 -06:00
Gregory Nutt
26b42e3f57 Minor update to last Kconfig change 2014-10-15 12:33:37 -06:00
Gregory Nutt
e73b64f5ea Add Kconfig selections for STM32-F4x1RE SPI peripheral 2014-10-15 12:22:04 -06:00
Gregory Nutt
a835387529 Fix file mode on modified files 2014-10-14 15:45:56 -06:00
Gregory Nutt
56841b9e20 Support for the STM32 F411RE from Serg Podtynnyi 2014-10-14 15:42:28 -06:00