Commit Graph

3366 Commits

Author SHA1 Message Date
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
Gregory Nutt
d273686d42 EFM32: Add LFA and LFB clock support 2014-10-21 10:45:33 -06:00
Gregory Nutt
9537715ebb stm32f429i-disco: add wrapper for spi5 evice
initializing

As long as the method up_spiinitialize recognized the initialized state of the
spi device by the spi enable flag of the cr1 register, it isn't safe to disable
the spi device outside of the nuttx spi interface structure. But this has to be
done as long as the nuttx spi interface doesn't support bidirectional data
transfer for multiple devices share one spi bus. This wrapper store the
initialized state of the spi device after the first initializing and should be
used by each driver who shares the spi5 bus.

Note! Understand this as temporary workaround.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:36:11 -06:00
Gregory Nutt
c6c5a221e9 stm32f429i-disco: add new platform config
This adds a new default platform configuration to support the lcd device
connected to the stm32f429i-disco board.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:33:25 -06:00
Gregory Nutt
7a217f1015 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
17af388456 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
b8b9834ae9 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
bce6a9e077 stm32f429i-disco: Fix obsolete SPI5 dependency. From Marco Krahl 2014-10-20 15:10:50 -06:00
Gregory Nutt
b505c11e48 Update README files 2014-10-20 15:08:35 -06:00
Gregory Nutt
01984fe6e7 Add board support for the Olimex EFM32G8809128 STK 2014-10-20 12:00:37 -06:00
Gregory Nutt
4fb5e6d05d EFM32 Gecko Starter Kit: Must initialize LEDs on boot 2014-10-20 11:52:31 -06:00
Gregory Nutt
1f60e40115 Merge branch 'efm32' 2014-10-20 08:15:53 -06:00
Gregory Nutt
5fa6188c55 Add some UART configuration logic (still incomplete) 2014-10-19 16:42:15 -06:00
Gregory Nutt
6839ac9c60 Basic clock configuration logic 2014-10-19 11:08:56 -06:00
Gregory Nutt
c82488f1a0 Add frame for EFM32 GPIO logic (empty functions) 2014-10-18 18:40:08 -06:00
Gregory Nutt
5ffef498c6 Need to enable the standard serial driver for NSH 2014-10-18 16:15:14 -06:00
Gregory Nutt
c15f07dba3 Use UART0 for the serial console 2014-10-18 12:47:45 -06:00
Gregory Nutt
c71e687089 Add board XTAL definitions 2014-10-18 12:07:34 -06:00
Gregory Nutt
aae510ac5b Add EFM32 CMU header file 2014-10-18 09:26:56 -06:00
Gregory Nutt
452b1f3c3a Add EFM32 Memory Maps 2014-10-17 16:43:52 -06:00
Gregory Nutt
848ca3e9cc Add GPIO header file and EFM32 Gecko Starter Kit LED support 2014-10-17 14:17:44 -06:00
Gregory Nutt
598ebd29a2 More EFM32 files and logic 2014-10-17 12:02:32 -06:00
Gregory Nutt
fd8a610e4d Add EFM32 interrupt vector defintions 2014-10-17 10:34:39 -06:00
Gregory Nutt
be389f411b Add configuration support for the EFM32 Gecko Starter Kit 2014-10-17 09:25:52 -06:00
Gregory Nutt
aff4cce380 Add directory for EFM32 G8XX STK board 2014-10-17 08:43:06 -06:00
Gregory Nutt
dbaf8096b8 Typo 2014-10-17 08:37:59 -06:00
Gregory Nutt
81f013ddb8 Update README 2014-10-15 07:27:54 -06:00
Gregory Nutt
5dd5290883 Rename configs/nucleo-f401re to configs/nucleo-f4x1re 2014-10-15 07:05:08 -06:00
Gregory Nutt
e659533329 Extend the Nucleo-F401RE configuration to also support the Nucleo-F411RE. From Serg Podtynnyi 2014-10-14 17:32:13 -06:00
Gregory Nutt
74d8218618 Trivial update to README file 2014-10-13 12:05:49 -06:00
Gregory Nutt
276cb2b65b Add SAM4E OpenOCD scripts 2014-10-13 09:48:46 -06:00
Gregory Nutt
872e9fce26 Cosmetic update to comments 2014-10-12 10:53:29 -06:00
Gregory Nutt
a8a4622fe1 Update STM3240G-EVAL nxwm and knxwm configurations 2014-10-12 09:41:08 -06:00
Gregory Nutt
c9d7472d68 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
4c2a14348a Refresh configuration 2014-10-11 16:26:46 -06:00
Gregory Nutt
b78fe7c270 Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK 2014-10-11 15:59:40 -06:00
Gregory Nutt
9292e3d9de Decouple the user-space work queue from the kernel space work queues 2014-10-11 15:50:22 -06:00
Gregory Nutt
5671ebeab3 Enable TCP write buffering in one SAM4E-EK configuration 2014-10-11 13:03:07 -06:00
Gregory Nutt
111270389d Update a README; Refresh a configuratino 2014-10-11 12:01:33 -06:00
Gregory Nutt
91f5ecc347 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
4efb064169 Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask() 2014-10-09 06:09:03 -06:00
Gregory Nutt
176491ce75 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
27a7f8b018 Remaining files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 15:32:00 -06:00
Gregory Nutt
c91669ea47 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
8c1e954b84 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
f40857c04f All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces 2014-10-08 14:28:55 -06:00
Gregory Nutt
868fa211bc 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
a86d459eb6 Refresh sim/ostest configuration 2014-10-05 13:28:05 -06:00
Gregory Nutt
7df821b7b9 Update README 2014-10-03 09:56:05 -06:00