SAMV71-XULT ILI9488 LCD driver is code complete but untested

This commit is contained in:
Gregory Nutt 2015-04-03 16:36:58 -06:00
parent b72cf3366c
commit 0cf5088475
6 changed files with 928 additions and 537 deletions

View File

@ -724,19 +724,19 @@ static struct emac_rxdesc_s g_emac0_rx1desc[DUMMY_NBUFFERS]
* shall be set to 0
*/
static uint8_t g_emac0_tx0buffer[EMAC0_TX_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t g_emac0_tx0buffer[EMAC0_TX_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
static uint8_t g_emac0_tx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t g_emac0_tx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
/* EMAC0 Receive Buffers */
static uint8_t g_emac0_rx0buffer[EMAC0_RX_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
static uint8_t pRxDummyBuffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t pRxDummyBuffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
#endif
@ -772,19 +772,19 @@ static struct emac_rxdesc_s g_emac1_rx1desc[DUMMY_NBUFFERS]
* shall be set to 0
*/
static uint8_t g_emac1_tx1buffer[EMAC1_TX_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t g_emac1_tx1buffer[EMAC1_TX_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
static uint8_t g_emac1_tx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t g_emac1_tx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
/* EMAC1 Receive Buffers */
static uint8_t g_emac1_rxbuffer[EMAC1_RX_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
static uint8_t g_emac1_rx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE];
__attribute__((aligned(EMAC_ALIGN)))
static uint8_t g_emac1_rx1buffer[DUMMY_NBUFFERS * DUMMY_BUFSIZE]
__attribute__((aligned(EMAC_ALIGN)));
#endif
#endif

View File

@ -42,23 +42,6 @@ endif # INPUT_MXT
if LCD
choice
prompt "LCD Color Configuration"
default SAMV71XULT_LCD_RGB565
config SAMV71XULT_LCD_RGB565
bool "RGB565"
config SAMV71XULT_LCD_RGB24
bool "RGB24 / RGB888"
depends on EXPERIMENTAL
config SAMV71XULT_LCD_RGB32
bool "RGB32"
depends on EXPERIMENTAL
endchoice # LCD Color Configuration
config SAMV71XULT_LCD_BGCOLOR
hex "Initial background color"
default 0x00

View File

@ -390,14 +390,14 @@
* disambiguration.
*/
#ifdef CONFIG_SAMV71XULT_MXTXLND
# if defined(CONFIG_SAMV71XULT_MXTXLND_EXT1)
#ifdef CONFIG_SAMV71XULT_MXTXPLND
# if defined(CONFIG_SAMV71XULT_MXTXPLND_EXT1)
# define GPIO_PWMC0_H0 GPIO_PWMC0_H0_1
# define GPIO_MXTXLND_PWM GPIO_PWMC0_H0_1
# define GPIO_SPI0_NPCS1 GPIO_SPI0_NPCS1_2
# elif defined(CONFIG_SAMV71XULT_MXTXLND_EXT2)
# elif defined(CONFIG_SAMV71XULT_MXTXPLND_EXT2)
# define GPIO_PWMC0_H2 GPIO_PWMC0_H2_5
# define GPIO_MXTXLND_PWM GPIO_PWMC0_H2_5
@ -471,12 +471,12 @@
* ---- ------------ ---- -------- --------------------------------------------------
*/
# elif defined(CONFIG_SAMV71XULT_MXTXLND_LCD)
# elif defined(CONFIG_SAMV71XULT_MXTXPLND_LCD)
# define GPIO_SMC_NCS3 GPIO_SMC_NCS3_2
# endif
#endif /* CONFIG_SAMV71XULT_MXTXLND */
#endif /* CONFIG_SAMV71XULT_MXTXPLND */
/************************************************************************************
* Public Types
@ -528,11 +528,7 @@ void sam_setleds(uint8_t ledset);
*
************************************************************************************/
#if defined(CONFIG_SAM4EEK_LCD_RGB565)
void sam_lcdclear(uint16_t color);
#else /* if defined(CONFIG_SAM4EEK_LCD_RGB24) defined(CONFIG_SAM4EEK_LCD_RGB32) */
void sam_lcdclear(uint32_t color);
#endif
#undef EXTERN
#if defined(__cplusplus)

View File

@ -106,7 +106,7 @@ endif
endif
endif
ifeq ($(SAMV71XULT_MXTXPLND),y)
ifeq ($(CONFIG_SAMV71XULT_MXTXPLND),y)
ifeq ($(CONFIG_LCD),y)
CSRCS += sam_ili9488.c
endif

File diff suppressed because it is too large Load Diff

View File

@ -63,6 +63,7 @@
#define HAVE_MTDCONFIG 1
#define HAVE_WM8904 1
#define HAVE_AUDIO_NULL 1
#define HAVE_ILI9488 1
/* HSMCI */
/* Can't support MMC/SD if the card interface is not enabled */
@ -238,6 +239,32 @@
# endif
#endif
/* ILI9488 LCD */
/* Must have the maXTouch Xplained Pro board attached */
#ifndef CONFIG_SAMV71XULT_MXTXPLND
# undef HAVE_ILI9488
#endif
/* Requires SMC and DMA support */
#ifdef HAVE_ILI9488
# ifndef CONFIG_SAMV71XULT_MXTXPLND_LCD
# warning The ILI8488 LCD must be connect on EXT4 (CONFIG_SAMV71XULT_MXTXPLND_LCD)
# undef HAVE_ILI9488
# endif
# ifndef CONFIG_SAMV7_SMC
# warning The ILI8488 LCD requires SMC support (CONFIG_SAMV7_SMC)
# undef HAVE_ILI9488
# endif
# ifndef CONFIG_SAMV7_XDMAC
# warning The ILI8488 LCD requires DMA support (CONFIG_SAMV7_XDMAC)
# undef HAVE_ILI9488
# endif
#endif
/* SAMV71-XULT GPIO Pin Definitions *************************************************/
/* Ethernet MAC.
@ -471,7 +498,13 @@
GPIO_PORT_PIOC | GPIO_PIN30)
#define GPIO_ILI9488_RST (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
GPIO_PORT_PIOC | GPIO_PIN13)
#if 1 /* Until PWM support is available */
#define GPIO_ILI9488_BKL (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
GPIO_PORT_PIOC | GPIO_PIN9)
#else
#define GPIO_ILI9488_BKL GPIO_TC7_TIOB
#endif
/************************************************************************************
* Public Types