Commit Graph

3380 Commits

Author SHA1 Message Date
Gregory Nutt
a839463322 EFM32G: Fix typo in memory map header file 2014-10-28 09:26:06 -06:00
Gregory Nutt
8595f421ee EFM32: Correct a typo in LFXO bit in clock configuration 2014-10-28 08:59:27 -06:00
Gregory Nutt
89605a5e78 EFM32: Update a configuration; Compile fix for when DEBUG is enabled 2014-10-28 07:24:04 -06:00
Gregory Nutt
4c36103407 Refresh a configuration 2014-10-28 00:11:40 -06:00
Gregory Nutt
afe6c95da3 Refresh configuration 2014-10-27 13:12:19 -06:00
Gregory Nutt
dd4d482fe2 Rename CONFIG_STM32_HAVE_USARTn to CONFIG_STM32_HAVE_UARTn for n-4,5,7,8 2014-10-27 11:29:43 -06:00
Gregory Nutt
854dbb7d65 SAM4E-EK: Add -fno-strict-aliasing 2014-10-25 15:23:14 -06:00
Gregory Nutt
6c03fd7ad1 EFM32: Correct handling of DMA descriptors; Add initialization of DMA CTRLBASE 2014-10-25 14:55:02 -06:00
Gregory Nutt
b629ab2862 SAM4E-EK: Add support for PHY insterrupt 2014-10-24 12:28:57 -06:00
Gregory Nutt
a4dde0c527 Kconfig: Allow select of standard board properties for custom board 2014-10-24 09:57:32 -06:00
Gregory Nutt
e315a6d500 SAM4E: Fix options to select GPIO interrupts in Kconfig 2014-10-24 09:29:01 -06:00
Gregory Nutt
8712d1115c Refresh SAM4E configurations 2014-10-23 10:16:00 -06:00
Gregory Nutt
bdbe5393e1 Add README for non-existent port to the EFM32GG-STK3700; fix typos in related README files 2014-10-22 14:32:25 -06:00
Gregory Nutt
ef4a649372 Add logic to manage BC_EN signal 2014-10-22 14:27:05 -06:00
Gregory Nutt
33015d6018 EFM32: Add buton interrupt handling for the Olimex board 2014-10-21 13:51:30 -06:00
Gregory Nutt
b8d841c9d2 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
d39eb3ade7 EFM32: Add LFA and LFB clock support 2014-10-21 10:45:33 -06:00
Gregory Nutt
c688cda22a 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
4c470720d0 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
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