SAMV7: Add SMC register definition header file; SAMV71-Xult: Add an LCD driver. The initial commit is simply the SAVM4E-EK ILI9375 driver will bogus name changes to ILI9488.

This commit is contained in:
Gregory Nutt 2015-04-03 10:28:32 -06:00
parent 163626647a
commit 91bfe1f807
6 changed files with 1485 additions and 80 deletions

View File

@ -17,9 +17,11 @@ choice
config SAMV71XULT_MXTXPLND_EXT1
bool "Connected on EXT1 (2x10 pin)"
depends on EXPERIMENTAL
config SAMV71XULT_MXTXPLND_EXT2
bool "Connected on EXT2 (2x10 pin)"
depends on EXPERIMENTAL
config SAMV71XULT_MXTXPLND_LCD
bool "Connected on LCD (50-pin)"
@ -37,6 +39,32 @@ config SAMV71XULT_MXT_DEVMINOR
default 0
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
endif # LCD
endif # SAMV71XULT_MXTXPLND
config SAMV71XULT_HSMCI0_AUTOMOUNT

View File

@ -354,18 +354,16 @@
#define GPIO_SSC0_TD GPIO_SSC0_TD_1
/* maXTouch Xplained Pro LCD
*
* maXTouch Xplained Pro Standard Extension Header
/* maXTouch Xplained Pro Standard Extension Header **********************************
* -----------------------------------------------
* This LCD could be connected either via EXT1 or EXT2 using the 2x10
* 20-pin cable and the maXTouch Xplained Pro standard extension
* header. Access is then performed in SPI mode.
*
* ---- -------- ---- ----------- ---- ----------- ------------------------------------------
* ---- -------- ---- ----------- ---- ----------- ----------------------------------
* SAMV71-XULT maxTouch Xplained Pro
* PIN FUNCTION EXT1 FUNC EXT2 FUNC Description
* ---- -------- ---- ----------- ---- ----------- ------------------------------------------
* ---- -------- ---- ----------- ---- ----------- ----------------------------------
* 1 ID - - - - Communication line to ID chip
* 2 GND - - - - Ground
* 3 N/C PC31 - PD30 -
@ -375,9 +373,9 @@
* 7 PWM PA0 PWMC0_PWMH0 PC19 PWMC0_PMWH2 Backlight control
* 8 N/C PC30 - PD26 -
* 9 GPIO/IRQ PD28 GPIO PA2 GPIO IRQ from maXTouch controller
* 10 GPIO PA5 GPIO PA24 GPIO RESET signal for maXTouch and LCD controller
* 11 I2C SDA PA3 TWID0 PA3 TWID0 I2C Data line for maXTouch controller
* 12 I2C SCL PA4 TWICK0 PA4 TWICK0 I2C Clock line for maXTouch controller
* 10 GPIO PA5 GPIO PA24 GPIO RESET signal
* 11 I2C SDA PA3 TWID0 PA3 TWID0 maXTouch I2C Data line
* 12 I2C SCL PA4 TWICK0 PA4 TWICK0 maXTouch I2C Clock line
* 13 N/C PB0 - PA21 -
* 14 N/C PB1 - PB4 -
* 15 CS PD25 GPIO PD27 GPIO CS line for LCD controller
@ -386,7 +384,7 @@
* 18 SPI SCK PD22 SPI0_SPCK PD22 SPI0_SPCK SPI Clock line
* 19 GND - - - - Ground
* 20 VCC - - - - Target supply voltage
* ---- -------- ---- ----------- ---- ----------- ------------------------------------------
* ---- -------- ---- ----------- ---- ----------- ----------------------------------
*
* There are no alternatives for SPI0 and TWI0 pins. Only the PWM pins require any
* disambiguration.
@ -404,80 +402,79 @@
# define GPIO_PWMC0_H2 GPIO_PWMC0_H2_5
# define GPIO_MXTXLND_PWM GPIO_PWMC0_H2_5
/* maXTouch Xplained Pro Xplained Pro LCD Connector
* ------------------------------------------------
* It is also possible to connect the LCD via the flat cable to the EXT4 LCD
* connector. In this case, you would use the SMC/EBI to communicate with the
* LCD.
/* maXTouch Xplained Pro Xplained Pro LCD Connector *********************************
*
* ---- ------------ ---- -------- -----------------------------------------------------------
* LCD SAMV71 Description
* Pin Function Pin Function
* ---- ------------ ---- -------- -----------------------------------------------------------
* 1 ID - - Communication line to ID chip on extension board
* 2 GND - GND Ground
* 3 D0 PC0 D0 Data line
* 4 D1 PC1 D1 Data line
* 5 D2 PC2 D2 Data line
* 6 D3 PC3 D3 Data line
* 7 GND - GND Ground
* 8 D4 PC4 D4 Data line
* 9 D5 PC5 D5 Data line
* 10 D6 PC6 D6 Data line
* 11 D7 PC7 D7 Data line
* 12 GND - GND Ground
* 13 D8 PE0 D8 Data line
* 14 D9 PE1 D9 Data line
* 15 D10 PE2 D10 Data line
* 16 D11 PE3 D11 Data line
* 17 GND - GND Ground
* 18 D12 PE4 D12 Data line
* 19 D12 PE5 D13 Data line
* 20 D14 PA15 D14 Data line
* 21 D15 PA16 D15 Data line
* 22 GND - GND Ground
* 23 D16 - - Data line
* 24 D17 - - Data line
* 25 N/C - -
* 26 N/C - -
* 27 GND - GND Ground
* 28 N/C - -
* 29 N/C - -
* 30 N/C - -
* 31 N/C - -
* 32 GND - GND Ground
* 33 PCLK/ PC30 GPIO RGB: Pixel clock Display RAM select.
* CMD_DATA_SEL MCU: One address line of the MCU for displays where it
* is possible to select either the register or the
* data interface
* 34 VSYNC/CS PD19 NCS3 RGB: Vertical synchronization
* MCU: Chip select
* 35 HSYNC/WE PC8 NWE RGB: Horizontal synchronization
* MCU: Write enable signal
* 36 DATA ENABLE/ PC11 NRD RGB: Data enable signal
* RE MCU: Read enable signal
* 37 SPI SCK - - MCU: Clock for SPI
* 38 SPI MOSI - - MCU: Master out slave in line of SPI
* 39 SPI MISO - - MCU: Master in slave out line of SPI
* 40 SPI SS - - MCU: Slave select for SPI
* 41 N/C - -
* 42 TWI SDA PA3 TWD0 I2C data line (maXTouch®)
* 43 TWI SCL PA4 TWCK0 I2C clock line (maXTouch)
* 44 IRQ1 PD28 WKUP5 maXTouch interrupt line
* 45 N/C PA2 WKUP2
* 46 PWM PC9 TIOB7 Backlight control
* 47 RESET PC13 GPIO Reset for both display and maxTouch
* 48 VCC - - 3.3V power supply for extension board
* 49 VCC - - 3.3V power supply for extension board
* 50 GND - - Ground
* ---- ------------ ---- -------- -----------------------------------------------------------
* Only the RGB is supported by this BSP (via SMC/EBI). The switch mode
* selector on the back of the maXtouch should be set in the OFF-ON-OFF
* positions to select 16-bit color mode.
*
* There are no alternatives for SMC/EBI, TWI0, or TIOB pins. No pin disambiguration
* is necessary.
* ----------------- ------------- -------------------------------------------------
* LCD SAMV71 Description
* Pin Function Pin Function
* ---- ------------ ---- -------- -------------------------------------------------
* 1 ID - - Chip ID communication line
* 2 GND - GND Ground
* 3 D0 PC0 D0 Data line
* 4 D1 PC1 D1 Data line
* 5 D2 PC2 D2 Data line
* 6 D3 PC3 D3 Data line
* 7 GND - GND Ground
* 8 D4 PC4 D4 Data line
* 9 D5 PC5 D5 Data line
* 10 D6 PC6 D6 Data line
* 11 D7 PC7 D7 Data line
* 12 GND - GND Ground
* 13 D8 PE0 D8 Data line
* 14 D9 PE1 D9 Data line
* 15 D10 PE2 D10 Data line
* 16 D11 PE3 D11 Data line
* 17 GND - GND Ground
* 18 D12 PE4 D12 Data line
* 19 D13 PE5 D13 Data line
* 20 D14 PA15 D14 Data line
* 21 D15 PA16 D15 Data line
* 22 GND - GND Ground
* 23 D16 - - Data line
* 24 D17 - - Data line
* 25 N/C - -
* 26 N/C - -
* 27 GND - GND Ground
* 28 N/C - -
* 29 N/C - -
* 30 N/C - -
* 31 N/C - -
* 32 GND - GND Ground
* 33 PCLK/ PC30 GPIO RGB: Pixel clock Display RAM select.
* CMD_DATA_SEL MCU: One address line of the MCU for displays where
* it is possible to select either the register
* or the data interface
* 34 VSYNC/CS PD19 NCS3 RGB: Vertical synchronization.
* MCU: Chip select
* 35 HSYNC/WE PC8 NWE RGB: Horizontal synchronization
* MCU: Write enable signal
* 36 DATA ENABLE/ PC11 NRD RGB: Data enable signal
* RE MCU: Read enable signal
* 37 SPI SCK - - MCU: Clock for SPI
* 38 SPI MOSI - - MCU: Master out slave in line of SPI
* 39 SPI MISO - - MCU: Master in slave out line of SPI
* 40 SPI SS - - MCU: Slave select for SPI
* 41 N/C - -
* 42 TWI SDA PA3 TWD0 I2C data line (maXTouch®)
* 43 TWI SCL PA4 TWCK0 I2C clock line (maXTouch)
* 44 IRQ1 PD28 WKUP5 maXTouch interrupt line
* 45 N/C PA2 WKUP2
* 46 PWM PC9 TIOB7 Backlight control
* 47 RESET PC13 GPIO Reset for both display and maxTouch
* 48 VCC - - 3.3V power supply for extension board
* 49 VCC - - 3.3V power supply for extension board
* 50 GND - - Ground
* ---- ------------ ---- -------- --------------------------------------------------
*/
# elif defined(CONFIG_SAMV71XULT_MXTXLND_LCD)
# define GPIO_SMC_NCS3 GPIO_SMC_NCS3_2
# endif
#endif /* CONFIG_SAMV71XULT_MXTXLND */

View File

@ -106,9 +106,14 @@ endif
endif
endif
ifeq ($(SAMV71XULT_MXTXPLND),y)
ifeq ($(CONFIG_LCD),y)
CSRCS += sam_ili9488.c
endif
ifeq ($(CONFIG_INPUT_MXT),y)
CSRCS += sam_maxtouch.c
endif
endif
COBJS = $(CSRCS:.c=$(OBJEXT))

File diff suppressed because it is too large Load Diff

View File

@ -70,13 +70,13 @@
* Private Types
****************************************************************************/
struct samv7xult_mwinfo_s
struct samv71xult_mwinfo_s
{
/* Standard MW8904 interface */
struct wm8904_lower_s lower;
/* Extensions for the samv7xult board */
/* Extensions for the samv71xult board */
wm8904_handler_t handler;
FAR void *arg;
@ -113,7 +113,7 @@ static bool wm8904_enable(FAR const struct wm8904_lower_s *lower,
* by the driver and is presumed to persist while the driver is active.
*/
static struct samv7xult_mwinfo_s g_wm8904info =
static struct samv71xult_mwinfo_s g_wm8904info =
{
.lower =
{

View File

@ -398,6 +398,81 @@
#define WM8904_SSC_BUS 0
/* maXTouch Xplained Pro Xplained Pro LCD Connector *********************************/
/*
* Only the RGB is supported by this BSP (via SMC/EBI). The switch mode
* selector on the back of the maXtouch should be set in the OFF-ON-OFF
* positions to select 16-bit color mode.
*
* ----------------- ------------- --------------------------------------------------
* LCD SAMV71 Description
* Pin Function Pin Function
* ---- ------------ ---- -------- --------------------------------------------------
* 1 ID - - Chip ID communication line
* 2 GND - GND Ground
* 3 D0 PC0 D0 Data line
* 4 D1 PC1 D1 Data line
* 5 D2 PC2 D2 Data line
* 6 D3 PC3 D3 Data line
* 7 GND - GND Ground
* 8 D4 PC4 D4 Data line
* 9 D5 PC5 D5 Data line
* 10 D6 PC6 D6 Data line
* 11 D7 PC7 D7 Data line
* 12 GND - GND Ground
* 13 D8 PE0 D8 Data line
* 14 D9 PE1 D9 Data line
* 15 D10 PE2 D10 Data line
* 16 D11 PE3 D11 Data line
* 17 GND - GND Ground
* 18 D12 PE4 D12 Data line
* 19 D13 PE5 D13 Data line
* 20 D14 PA15 D14 Data line
* 21 D15 PA16 D15 Data line
* 22 GND - GND Ground
* 23 D16 - - Data line
* 24 D17 - - Data line
* 25 N/C - -
* 26 N/C - -
* 27 GND - GND Ground
* 28 N/C - -
* 29 N/C - -
* 30 N/C - -
* 31 N/C - -
* 32 GND - GND Ground
* 33 PCLK/ PC30 GPIO RGB: Pixel clock Display RAM select.
* CMD_DATA_SEL MCU: One address line of the MCU for displays where it
* is possible to select either the register or the
* data interface
* 34 VSYNC/CS PD19 NCS3 RGB: Vertical synchronization.
* MCU: Chip select
* 35 HSYNC/WE PC8 NWE RGB: Horizontal synchronization
* MCU: Write enable signal
* 36 DATA ENABLE/ PC11 NRD RGB: Data enable signal
* RE MCU: Read enable signal
* 37 SPI SCK - - MCU: Clock for SPI
* 38 SPI MOSI - - MCU: Master out slave in line of SPI
* 39 SPI MISO - - MCU: Master in slave out line of SPI
* 40 SPI SS - - MCU: Slave select for SPI
* 41 N/C - -
* 42 TWI SDA PA3 TWD0 I2C data line (maXTouch®)
* 43 TWI SCL PA4 TWCK0 I2C clock line (maXTouch)
* 44 IRQ1 PD28 WKUP5 maXTouch interrupt line
* 45 N/C PA2 WKUP2
* 46 PWM PC9 TIOB7 Backlight control
* 47 RESET PC13 GPIO Reset for both display and maxTouch
* 48 VCC - - 3.3V power supply for extension board
* 49 VCC - - 3.3V power supply for extension board
* 50 GND - - Ground
* ---- ------------ ---- -------- --------------------------------------------------
*/
#define GPIO_ILI9488_CDS (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
GPIO_PORT_PIOC | GPIO_PIN30)
#define GPIO_ILI9488_RST (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
GPIO_PORT_PIOC | GPIO_PIN13)
#define GPIO_ILI9488_BKL GPIO_TC7_TIOB
/************************************************************************************
* Public Types
************************************************************************************/