Commit Graph

3911 Commits

Author SHA1 Message Date
Gregory Nutt
bf4ad09e6e stm32f429i-disco: enable usage of ili93414ws
This enables build and configuration of the ili94314ws sub driver.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:24:24 -06:00
Gregory Nutt
e597d07d42 stm32f429i-disco: implements lcd initializing
This enables the initializing of the lcd device connected on the
stm32f429i-disco. The following methods are provided:
- up_lcdinitialize
- up_lcduninitialize
- up_lcdgetdev

The corresponding ili9341 lcd device in the nuttx driver section can be
configured by Kconfig. Interface 0 is used by default.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:21:48 -06:00
Gregory Nutt
f02de7c7ec stm32f429i-disco: implements ili9341 interface
This add a new sub driver ili93414ws which implements the ili9341
interface. This allows to control the ili9341 lcd display of the
stm32f429i-disco board. This also modifies the board specific header to
make the entry point to the sub driver known.

Generally the display supports two different ways to drawing pixel data. This
can be done by RGB interface or MCU interface. Second one is supported by this
driver.

The configuration of the MCU interface is fixed by the hardware pinout.
In the case of the stm32f429i-disco board it is a 4-wire serial (spi)
interface. The display is connected on spi5 and acts as a slave device.
It supports half duplex bidirectional mode for transmitting and receiving data.

Nuttx spi interface only support full duplex so the interface can not be used
for the driver in conventional way. Therefore the driver has its own logic for
the communication with the spi5 device.

But if multiple devices share the same spi5 bus, e.g. if MEMS support enabled
the spi bus must be locked to avoid inconsistency. This is done by enable
CONFIG_STM32_SPI5 in the nuttx configuration. In this case the driver uses the
spi_dev_s instance for the spi5 port to interact with the nuttx spi interface,
e.g. using method SPI_LOCK to lock the bus for the current usage. So it is safe
to share the spi bus. Keep in mind this is a possible workaround.
I would be happy if nuttx spi interface supports different spi modes other
than full duplex only. Are there any plans?

Futhermore the driver supports a few configurable settings:

1. SPI Frequency.

This allows to configure the spi frequency for the communication with the
display. As a result of the spi devices of the stm32f429 only allow fixed
frequency by divider depending on PCLK1, it is not possible to configure each
spi clock we want. A divider of 4, what means ~10Mhz spi clock, gives me the
best results and should be near the upper limit.

2. SPI 16-bit mode.

This allows to setup the spi hardware to 16-bit mode for read or write
operations when receiving or transmitting pixel data from or to the gram of the
display. This is not documented in the ili9341 reference manual but this trick
works just fine because we use only one read or write operation for each pixel,
instead two. This gives a small performance boost.

The driver implements all functions described in the header (see
include/nuttx/lcd/ili9341.h).
Note! Using the backlight function has no effect, because the board
doesn't support controlling of the backlight in the current hardware
layout.

Todo: Add support for dma transfer for writing pixel data to the displays gram.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:17:56 -06:00
Gregory Nutt
3035f1a88f stm32f429i-disco: Fix obsolete SPI5 dependency. From Marco Krahl 2014-10-20 15:10:50 -06:00
Gregory Nutt
94f5d3427d Update README files 2014-10-20 15:08:35 -06:00
Gregory Nutt
468b004fcb Add board support for the Olimex EFM32G8809128 STK 2014-10-20 12:00:37 -06:00
Gregory Nutt
fbaa55e416 EFM32 Gecko Starter Kit: Must initialize LEDs on boot 2014-10-20 11:52:31 -06:00
Gregory Nutt
ea3024c529 Merge branch 'efm32' 2014-10-20 08:15:53 -06:00
Gregory Nutt
180c0e9dec Add some UART configuration logic (still incomplete) 2014-10-19 16:42:15 -06:00
Gregory Nutt
4d6f0a7708 Basic clock configuration logic 2014-10-19 11:08:56 -06:00
Gregory Nutt
17403fe074 Add frame for EFM32 GPIO logic (empty functions) 2014-10-18 18:40:08 -06:00
Gregory Nutt
5842b5d705 Need to enable the standard serial driver for NSH 2014-10-18 16:15:14 -06:00
Gregory Nutt
192ef77d68 Use UART0 for the serial console 2014-10-18 12:47:45 -06:00
Gregory Nutt
d707a29c35 Add board XTAL definitions 2014-10-18 12:07:34 -06:00
Gregory Nutt
d359e4bf3f Add EFM32 CMU header file 2014-10-18 09:26:56 -06:00
Gregory Nutt
b327a408a4 Add EFM32 Memory Maps 2014-10-17 16:43:52 -06:00
Gregory Nutt
fcdc23a6a7 Add GPIO header file and EFM32 Gecko Starter Kit LED support 2014-10-17 14:17:44 -06:00
Gregory Nutt
cee68cc44e More EFM32 files and logic 2014-10-17 12:02:32 -06:00
Gregory Nutt
84f26a3d07 Add EFM32 interrupt vector defintions 2014-10-17 10:34:39 -06:00
Gregory Nutt
b41dd463f2 Add configuration support for the EFM32 Gecko Starter Kit 2014-10-17 09:25:52 -06:00
Gregory Nutt
df822a66c2 Add directory for EFM32 G8XX STK board 2014-10-17 08:43:06 -06:00
Gregory Nutt
f80182aea1 Typo 2014-10-17 08:37:59 -06:00
Gregory Nutt
2583c3bf0b Update README 2014-10-15 07:27:54 -06:00
Gregory Nutt
f977d8d2eb Rename configs/nucleo-f401re to configs/nucleo-f4x1re 2014-10-15 07:05:08 -06:00
Gregory Nutt
e525b020c9 Extend the Nucleo-F401RE configuration to also support the Nucleo-F411RE. From Serg Podtynnyi 2014-10-14 17:32:13 -06:00
Gregory Nutt
d19e70b73a Trivial update to README file 2014-10-13 12:05:49 -06:00
Gregory Nutt
d4f28e4721 Add SAM4E OpenOCD scripts 2014-10-13 09:48:46 -06:00
Gregory Nutt
21b757e62e Cosmetic update to comments 2014-10-12 10:53:29 -06:00
Gregory Nutt
541105fe5f Update STM3240G-EVAL nxwm and knxwm configurations 2014-10-12 09:41:08 -06:00
Gregory Nutt
ca57ef9fac Change naming of HP work queue configuration varaibles to be symmetric with LP work queue naming 2014-10-11 17:03:44 -06:00
Gregory Nutt
340811b452 Refresh configuration 2014-10-11 16:26:46 -06:00
Gregory Nutt
4ad13d380f Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK 2014-10-11 15:59:40 -06:00
Gregory Nutt
f1212bf8e9 Decouple the user-space work queue from the kernel space work queues 2014-10-11 15:50:22 -06:00
Gregory Nutt
d11ffb4f9c Enable TCP write buffering in one SAM4E-EK configuration 2014-10-11 13:03:07 -06:00
Gregory Nutt
36149a46b4 Update a README; Refresh a configuratino 2014-10-11 12:01:33 -06:00
Gregory Nutt
d6f0bde9d2 fs/aio/aio.h needs to disable itself is CONFIG_FS_AIO is not defined 2014-10-09 10:45:43 -06:00
Gregory Nutt
857d0b8e76 Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask() 2014-10-09 06:09:03 -06:00
Gregory Nutt
8c7cbcb48d Misc changes to get a clean build after all of the syslog changes. There are probably other things still broken 2014-10-08 16:23:48 -06:00
Gregory Nutt
2b77c9ceb9 Remaining files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 15:32:00 -06:00
Gregory Nutt
2199c2b1fc All USB Composite-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 15:13:00 -06:00
Gregory Nutt
a9fa023ae1 All USB MSC-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 14:59:10 -06:00
Gregory Nutt
4d851b150d All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 14:28:55 -06:00
Gregory Nutt
6a178608fb Remove non-functional vestiges of OTGHS in FS mode (including OTGFS2); try to convert the stm32f429i-disco configuration to use OTGHS instead of OTFHS in FS mode (OTGFS2). But I don't have the boards and can't test 2014-10-07 15:25:31 -06:00
Gregory Nutt
5507210dac Refresh sim/ostest configuration 2014-10-05 13:28:05 -06:00
Gregory Nutt
0e57b60cd1 Update README 2014-10-03 09:56:05 -06:00
Gregory Nutt
6030232354 configs/sim/nsh/defconfig -- refresh, enable wall-time, dow builds natively in 64-bit mode 2014-10-03 08:44:42 -06:00
Gregory Nutt
17582251f2 Cosmetic update to comments/README 2014-10-01 15:02:49 -06:00
Gregory Nutt
403d7f380b Update the TODO list and a README 2014-09-30 14:48:31 -06:00
Gregory Nutt
2248a20224 Repartition some message queue logic: sched/mqueue should have all mqueue knowledge; fs/mqueue should deal only with inodes 2014-09-30 08:03:39 -06:00
Gregory Nutt
bee22181f4 Fix some comments: Remove button description from GPIO interrupt handlers that derive from the button interrupt handler 2014-09-29 12:22:31 -06:00