summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Back out some incorrect conditional compilationGregory Nutt2014-12-261-2/+0
|
* Update ChangeLogGregory Nutt2014-12-261-0/+3
|
* EFM32 Timer/PWM: Add support for timer/PWM EFM32GG. From Pierre-noel ↵Gregory Nutt2014-12-267-1/+1567
| | | | Bouteville
* Refresh ConfigurationGregory Nutt2014-12-261-2/+13
|
* ARMv7M: More runtine stack checking logic. From David SidraneGregory Nutt2014-12-261-0/+112
|
* Update px4fmu-v2_upstream configGregory Nutt2014-12-262-1/+14
|
* Fix columnar alignment in Kconfig file. From David SidraneGregory Nutt2014-12-261-1/+1
|
* STM32 I2C: Add strings to decode trace events. From David SidraneGregory Nutt2014-12-261-3/+24
|
* Add support for run time stack checking for the STM32. From David SidraneGregory Nutt2014-12-264-2/+44
|
* Fix some misplaced conditional compilation. From David SidraneGregory Nutt2014-12-261-5/+4
|
* More RAMTRON related fixes from David SidraneGregory Nutt2014-12-263-18/+32
|
* Most superstitous updates to the RAMTROM driver make it more compatibile ↵Gregory Nutt2014-12-264-22/+132
| | | | with the version used by PX4. From David Sidrane
* Update READMEGregory Nutt2014-12-261-30/+42
|
* Cosmet updates to comments and README filesGregory Nutt2014-12-2418-25/+78
|
* DK-TM4C129X: Fix sense of LEDs; active high. Also GPIO for blue and green ↵Gregory Nutt2014-12-223-18/+26
| | | | reversed
* Tiva: Update UART header file for TM4C129XGregory Nutt2014-12-221-106/+495
|
* Tiva: Upate GPIO header file for TM4C129XGregory Nutt2014-12-222-136/+558
|
* TM4C129X: Simplify be removing unnecessary temporary variableGregory Nutt2014-12-221-19/+19
|
* TM4C129X: Simplify be removing unnecessary temporary variableGregory Nutt2014-12-221-8/+4
|
* TM4C129X: First cut at new Tiva clock configuration logicGregory Nutt2014-12-222-66/+273
|
* TM4C129X: A small step toward understanding new Tiva clockingGregory Nutt2014-12-223-54/+106
|
* Tiva: Rename TIVA_CRC_BASE to TIVA_CCM_BASEGregory Nutt2014-12-213-3/+3
|
* Tiva: Add support for I2C6-9Gregory Nutt2014-12-212-2/+285
|
* Upddate ChangeLogGregory Nutt2014-12-211-0/+3
|
* Tiva SSI and board configurations: hange negative Tiva logic ↵Gregory Nutt2014-12-2151-164/+303
| | | | CONFIG_SSIx_DISABLE to positive logic CONFIG_TIVA_SSIx. Add support for SSI2 and SSI3
* Improved commentsGregory Nutt2014-12-214-16/+58
|
* TM4C129X: Increated power/clocking macros into I2C driverGregory Nutt2014-12-214-12/+16
|
* TM4C129X: Add macros to enable/disable peripheral powerGregory Nutt2014-12-215-97/+536
|
* Tiva SSI: Use portable macros to enable peripheral clockingGregory Nutt2014-12-212-10/+10
|
* Tiva: More run mode clock enable macrosGregory Nutt2014-12-211-36/+362
|
* TM4C129X: Framework for new Tiva clocking logic (details not yet implemented)Gregory Nutt2014-12-216-42/+311
|
* Tiva: Completes first cut at system control header fileGregory Nutt2014-12-201-108/+360
|
* Tiva: More TM4C129 system control register definitionsGregory Nutt2014-12-202-96/+496
|
* Tiva: More TM4C129 system control register definitionsGregory Nutt2014-12-202-63/+357
|
* Tiva: Add a configuration setting to better distinguish TM4C123 and 129 ↵Gregory Nutt2014-12-206-22/+37
| | | | families. Reanem tm4c_syscontrol.h to tm4c123_syscontrol.h; rename tm4c129x_syscontrol.h to tm4c129_syscontrol.h
* Tiva: Updates to system control regiser definitionsGregory Nutt2014-12-202-32/+291
|
* Update ChangeLogGregory Nutt2014-12-191-15/+18
|
* A patch to add previous added font into nxf_getfonthandle function. From ↵Gregory Nutt2014-12-191-0/+200
| | | | Pierre-Noel Bouteville.
* Update ChangeLogGregory Nutt2014-12-192-4/+56
|
* STM32 LTDC: Move ltdc.h from include/nuttx/video to arch/arm/include/stm32; ↵Gregory Nutt2014-12-197-127/+101
| | | | Trivial updates after general review
* example: add ltdc test exampleGregory Nutt2014-12-198-8/+2203
| | | | Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* Stuff that goes along with the new LTDC README fileGregory Nutt2014-12-193-0/+7
|
* stm32f429i-disco: add default platform configuration to test framebuffer ↵Gregory Nutt2014-12-194-0/+1458
| | | | | | | | | | | | | | | | support for the ltdc Memory configuration: The heap start address of memory region 3 starts at 0xD0000000. The allocated framebuffer of the layers is addressed up to the end of the memory region 3. If the layer pixel format changes e.g. from RGB565 to RGB24, than the memory configuration must be configured too. Currently an easy memory calculation is missing for that in Kconfig. Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* stm32f429i-disco: initialize ltdc during bootupGregory Nutt2014-12-191-0/+4
| | | | Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* stm32f429i-disco: enable configuration of framebuffer support for the ltdc ↵Gregory Nutt2014-12-192-1/+42
| | | | | | controller Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* stm32: Add configuration option for ltdcGregory Nutt2014-12-191-0/+43
| | | | | | | | | 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>
* stm32f429i-disco: Add support for initializing ltdc framebuffer and the ↵Gregory Nutt2014-12-191-0/+444
| | | | | | | | | | | | | | | | configured lcd display This adds support for initializing of the ltdc controller and the lcd device connected on the stm32f429i-disco. The following methods are provided for the generic fb interface: - up_fbinitialize - up_fbgetvplane - fb_uninitialize The following methods are provided for the ltdc interface: - up_ltdcgetlayer Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* ili9341: update interface control definitionsGregory Nutt2014-12-191-0/+11
| | | | Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
* stm32: implements ltdc frambuffer and support for ltdc layer operationGregory Nutt2014-12-191-265/+2714
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* stm32: Add interface description for ltdc controller. This defines the ↵Gregory Nutt2014-12-191-0/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interface to perform hardware accelerated layer operation by the ltdc controller. The following methods must be supported by the implementation: - gevideoinfo - getplaneinfo - getlid - setclut - getclut - setcolor - getcolor - setcolorkey - getcolorkey - setalpha - getalpha - setblendmode - getblendmode - setarea - getarea - update And if DMA2D is supported: - blit - blend The method up_ltdcgetlayer provides access to a reference of a specific ltdc layer. Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>