summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-04-03 20:11:39 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-04-03 20:11:39 -0600
commita815d24402a7225b54297fe05b69588d5bf29b69 (patch)
treeed82850d1184652d69916622ef0c8f41ee768e3e
parent0256dc8bfd7219e08ad544e59599c61ecb4b80df (diff)
downloadpx4-nuttx-a815d24402a7225b54297fe05b69588d5bf29b69.tar.gz
px4-nuttx-a815d24402a7225b54297fe05b69588d5bf29b69.tar.bz2
px4-nuttx-a815d24402a7225b54297fe05b69588d5bf29b69.zip
SAMV71-XULT: The ILI9488 LCD is now enabled by default in the mxtxplnd configuration
-rw-r--r--nuttx/configs/samv71-xult/mxtxplnd/defconfig152
-rw-r--r--nuttx/configs/samv71-xult/src/atmxt-xpro.h326
-rw-r--r--nuttx/configs/samv71-xult/src/sam_ili9488.c6
-rw-r--r--nuttx/configs/samv71-xult/src/samv71-xult.h108
4 files changed, 317 insertions, 275 deletions
diff --git a/nuttx/configs/samv71-xult/mxtxplnd/defconfig b/nuttx/configs/samv71-xult/mxtxplnd/defconfig
index ff5f597db..cf9e22c19 100644
--- a/nuttx/configs/samv71-xult/mxtxplnd/defconfig
+++ b/nuttx/configs/samv71-xult/mxtxplnd/defconfig
@@ -199,7 +199,7 @@ CONFIG_SAMV7_HSMCI0=y
# CONFIG_SAMV7_RTC is not set
# CONFIG_SAMV7_RTT is not set
# CONFIG_SAMV7_SDRAMC is not set
-# CONFIG_SAMV7_SMC is not set
+CONFIG_SAMV7_SMC=y
# CONFIG_SAMV7_SPI0 is not set
# CONFIG_SAMV7_SPI1 is not set
# CONFIG_SAMV7_SSC0 is not set
@@ -328,10 +328,15 @@ CONFIG_NSH_MMCSDSLOTNO=0
# Board-Specific Options
#
CONFIG_SAMV71XULT_MXTXPLND=y
-# CONFIG_SAMV71XULT_MXTXPLND_EXT1 is not set
-CONFIG_SAMV71XULT_MXTXPLND_EXT2=y
+CONFIG_SAMV71XULT_MXTXPLND_LCD=y
CONFIG_SAMV71XULT_MXT_I2CFREQUENCY=400000
CONFIG_SAMV71XULT_MXT_DEVMINOR=0
+CONFIG_SAMV71XULT_LCD_BGCOLOR=0x00
+CONFIG_LIB_BOARDCTL=y
+CONFIG_BOARDCTL_TSCTEST=y
+# CONFIG_BOARDCTL_ADCTEST is not set
+# CONFIG_BOARDCTL_GRAPHICS is not set
+# CONFIG_BOARDCTL_IOCTL is not set
#
# RTOS Features
@@ -468,9 +473,14 @@ CONFIG_SPI_EXCHANGE=y
# CONFIG_SPI_CALLBACK is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_I2S is not set
+
+#
+# Timer Driver Support
+#
# CONFIG_TIMER is not set
# CONFIG_RTC is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_TIMERS_CS2100CP is not set
# CONFIG_ANALOG is not set
# CONFIG_AUDIO_DEVICES is not set
# CONFIG_VIDEO_DEVICES is not set
@@ -486,7 +496,41 @@ CONFIG_MXT_THRESHY=8
# CONFIG_INPUT_STMPE811 is not set
# CONFIG_DJOYSTICK is not set
# CONFIG_AJOYSTICK is not set
-# CONFIG_LCD is not set
+CONFIG_LCD=y
+
+#
+# Common LCD Settings
+#
+# CONFIG_LCD_CONSOLE is not set
+# CONFIG_LCD_NOGETRUN is not set
+CONFIG_LCD_MAXCONTRAST=63
+CONFIG_LCD_MAXPOWER=1
+
+#
+# Graphic LCD Devices
+#
+# CONFIG_LCD_P14201 is not set
+# CONFIG_LCD_NOKIA6100 is not set
+# CONFIG_LCD_MIO283QT2 is not set
+# CONFIG_LCD_MIO283QT9A is not set
+# CONFIG_LCD_UG9664HSWAG01 is not set
+# CONFIG_LCD_UG2864HSWEG01 is not set
+# CONFIG_LCD_UG2832HSWEG04 is not set
+# CONFIG_LCD_ST7565 is not set
+# CONFIG_LCD_ST7567 is not set
+# CONFIG_LCD_UG2864AMBAG01 is not set
+# CONFIG_LCD_SSD1289 is not set
+# CONFIG_LCD_SHARP_MEMLCD is not set
+CONFIG_LCD_LANDSCAPE=y
+# CONFIG_LCD_PORTRAIT is not set
+# CONFIG_LCD_RPORTRAIT is not set
+# CONFIG_LCD_RLANDSCAPE is not set
+# CONFIG_LCD_ILI9341 is not set
+
+#
+# Alphanumeric/Segment LCD Devices
+#
+# CONFIG_LCD_LCD1602 is not set
CONFIG_MMCSD=y
CONFIG_MMCSD_NSLOTS=1
# CONFIG_MMCSD_READONLY is not set
@@ -651,7 +695,92 @@ CONFIG_FAT_MAXFNAME=32
#
# Graphics Support
#
-# CONFIG_NX is not set
+CONFIG_NX=y
+CONFIG_NX_LCDDRIVER=y
+CONFIG_NX_NPLANES=1
+CONFIG_NX_BGCOLOR=0x0
+# CONFIG_NX_WRITEONLY is not set
+
+#
+# Supported Pixel Depths
+#
+CONFIG_NX_DISABLE_1BPP=y
+CONFIG_NX_DISABLE_2BPP=y
+CONFIG_NX_DISABLE_4BPP=y
+CONFIG_NX_DISABLE_8BPP=y
+# CONFIG_NX_DISABLE_16BPP is not set
+CONFIG_NX_DISABLE_24BPP=y
+CONFIG_NX_DISABLE_32BPP=y
+CONFIG_NX_PACKEDMSFIRST=y
+
+#
+# Input Devices
+#
+# CONFIG_NX_XYINPUT is not set
+CONFIG_NX_XYINPUT_NONE=y
+# CONFIG_NX_XYINPUT_MOUSE is not set
+# CONFIG_NX_XYINPUT_TOUCHSCREEN is not set
+# CONFIG_NX_KBD is not set
+
+#
+# Framed Window Borders
+#
+CONFIG_NXTK_BORDERWIDTH=4
+CONFIG_NXTK_DEFAULT_BORDERCOLORS=y
+# CONFIG_NXTK_AUTORAISE is not set
+
+#
+# Font Selections
+#
+CONFIG_NXFONTS_CHARBITS=7
+# CONFIG_NXFONT_MONO5X8 is not set
+# CONFIG_NXFONT_SANS17X22 is not set
+# CONFIG_NXFONT_SANS20X26 is not set
+CONFIG_NXFONT_SANS23X27=y
+# CONFIG_NXFONT_SANS22X29 is not set
+# CONFIG_NXFONT_SANS28X37 is not set
+# CONFIG_NXFONT_SANS39X48 is not set
+# CONFIG_NXFONT_SANS17X23B is not set
+# CONFIG_NXFONT_SANS20X27B is not set
+# CONFIG_NXFONT_SANS22X29B is not set
+# CONFIG_NXFONT_SANS28X37B is not set
+# CONFIG_NXFONT_SANS40X49B is not set
+# CONFIG_NXFONT_SERIF22X29 is not set
+# CONFIG_NXFONT_SERIF29X37 is not set
+# CONFIG_NXFONT_SERIF38X48 is not set
+# CONFIG_NXFONT_SERIF22X28B is not set
+# CONFIG_NXFONT_SERIF27X38B is not set
+# CONFIG_NXFONT_SERIF38X49B is not set
+# CONFIG_NXFONT_PIXEL_UNICODE is not set
+# CONFIG_NXFONT_PIXEL_LCD_MACHINE is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_4X6 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_5X7 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_5X8 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X9 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X10 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X12 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X13 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X13B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_6X13O is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_7X13 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_7X13B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_7X13O is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_7X14 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_7X14B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_8X13 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_8X13B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_8X13O is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_9X15 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_9X15B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_9X18 is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_9X18B is not set
+# CONFIG_NXFONT_X11_MISC_FIXED_10X20 is not set
+# CONFIG_NXTERM is not set
+
+#
+# NX Multi-user only options
+#
+# CONFIG_NX_MULTIUSER is not set
#
# Memory Management
@@ -760,6 +889,7 @@ CONFIG_EXAMPLES_BUTTONS_NAME7="Button 7"
# CONFIG_EXAMPLES_HIDKBD is not set
# CONFIG_EXAMPLES_KEYPADTEST is not set
# CONFIG_EXAMPLES_IGMP is not set
+# CONFIG_EXAMPLES_LCDRW is not set
# CONFIG_EXAMPLES_MM is not set
# CONFIG_EXAMPLES_MODBUS is not set
# CONFIG_EXAMPLES_MOUNT is not set
@@ -772,7 +902,14 @@ CONFIG_EXAMPLES_NSH=y
# CONFIG_EXAMPLES_NXFLAT is not set
# CONFIG_EXAMPLES_NXHELLO is not set
# CONFIG_EXAMPLES_NXIMAGE is not set
-# CONFIG_EXAMPLES_NXLINES is not set
+CONFIG_EXAMPLES_NXLINES=y
+CONFIG_EXAMPLES_NXLINES_VPLANE=0
+CONFIG_EXAMPLES_NXLINES_DEVNO=0
+CONFIG_EXAMPLES_NXLINES_DEFAULT_COLORS=y
+CONFIG_EXAMPLES_NXLINES_LINEWIDTH=16
+CONFIG_EXAMPLES_NXLINES_BORDERWIDTH=16
+CONFIG_EXAMPLES_NXLINES_BPP=16
+# CONFIG_EXAMPLES_NXLINES_EXTERNINIT is not set
# CONFIG_EXAMPLES_NXTEXT is not set
# CONFIG_EXAMPLES_OSTEST is not set
# CONFIG_EXAMPLES_PIPE is not set
@@ -792,8 +929,6 @@ CONFIG_EXAMPLES_NSH=y
# CONFIG_EXAMPLES_THTTPD is not set
# CONFIG_EXAMPLES_TIFF is not set
CONFIG_EXAMPLES_TOUCHSCREEN=y
-CONFIG_LIB_BOARDCTL=y
-CONFIG_BOARDCTL_TSCTEST=y
CONFIG_EXAMPLES_TOUCHSCREEN_MINOR=0
CONFIG_EXAMPLES_TOUCHSCREEN_DEVPATH="/dev/input0"
# CONFIG_EXAMPLES_TOUCHSCREEN_MOUSE is not set
@@ -922,7 +1057,6 @@ CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_CONSOLE=y
# CONFIG_NSH_ALTCONDEV is not set
CONFIG_NSH_ARCHINIT=y
-CONFIG_LIB_BOARDCTL=y
#
# NxWidgets/NxWM
diff --git a/nuttx/configs/samv71-xult/src/atmxt-xpro.h b/nuttx/configs/samv71-xult/src/atmxt-xpro.h
index 9eb018b42..15a3028ed 100644
--- a/nuttx/configs/samv71-xult/src/atmxt-xpro.h
+++ b/nuttx/configs/samv71-xult/src/atmxt-xpro.h
@@ -49,7 +49,7 @@
#define HAVE_MAXTOUCH 1
#define HAVE_ILI9488_RGB 1
-#define HAVE_ILI9488_MCU 1
+#undef HAVE_ILI9488_MCU /* Not yet suppported */
/* maXTouch and LCD only available if the maXTouch Xplained Pro is connected */
@@ -76,65 +76,71 @@
/* Verify the maXTouch connector configuration */
#ifdef HAVE_MAXTOUCH
+/* maXTouch Explained Pro connect on EXT1 */
+
# if defined(CONFIG_SAMV71XULT_MXTXPLND_EXT1)
# ifndef CONFIG_SAMV7_GPIOD_IRQ
# warning maXTouch on EXT1 requires CONFIG_SAMV7_GPIOD_IRQ
# undef HAVE_MAXTOUCH
# endif
+
+/* maXTouch Explained Pro connect on EXT2 */
+
# elif defined(CONFIG_SAMV71XULT_MXTXPLND_EXT2)
# ifndef CONFIG_SAMV7_GPIOA_IRQ
-# warning maXTouch on EXT1 requires CONFIG_SAMV7_GPIOA_IRQ
+# warning maXTouch on EXT2 requires CONFIG_SAMV7_GPIOA_IRQ
# undef HAVE_MAXTOUCH
# endif
+
+/* maXTouch Explained Pro connect on LCD (EXT4) */
+
+# elif defined(CONFIG_SAMV71XULT_MXTXPLND_LCD)
+# ifndef CONFIG_SAMV7_GPIOD_IRQ
+# warning maXTouch on EXT4 requires CONFIG_SAMV7_GPIOD_IRQ
+# undef HAVE_MAXTOUCH
+# endif
+
# else
# warning maXTouch requires CONFIG_SAMV71XULT_MXTXPLND_EXT1 or EXT2
# undef HAVE_MAXTOUCH
# endif
#endif
-/* LCD supports requires the ILI9488 driver */
+/* ILI9488 LCD */
-#if (defined(HAVE_ILI9488_RGB) || defined(HAVE_ILI9488_MCU)) && !defined(CONFIG_LCD_ILI9488)
-# undef HAVE_ILI9488_RGB
-# undef HAVE_ILI9488_MCU
-#endif
+#ifdef HAVE_ILI9488_RGB
+/* ILI9488 RGB requires use of LCD connector and SMC and DMA support */
-/* ILI9488 RGB support requires the SMC/EBI interface */
+# ifndef CONFIG_SAMV71XULT_MXTXPLND_LCD
+# warning The ILI8488 LCD must be connect on EXT4 (CONFIG_SAMV71XULT_MXTXPLND_LCD)
+# undef HAVE_ILI9488_RGB
+# endif
-#if defined(HAVE_ILI9488_RGB) && !defined(CONFIG_SAMV7_SMC)
-# warning ILI9488 RGB support requires SMC
-# undef HAVE_ILI9488_RGB
-#endif
+/* ILI9488 RGB requires SMC/EBI and XDMAC support */
-/* ILI9488 MCU support requires SPI0 */
+# ifndef CONFIG_SAMV7_SMC
+# warning The ILI8488 LCD requires SMC support (CONFIG_SAMV7_SMC)
+# undef HAVE_ILI9488_RGB
+# endif
-#if defined(HAVE_ILI9488_MCU) && !defined(CONFIG_SAMV7_SPI0)
-# warning ILI9488 MCU support requires SPI0
-# undef HAVE_ILI9488_MCU
+# ifndef CONFIG_SAMV7_XDMAC
+# warning The ILI8488 LCD requires DMA support (CONFIG_SAMV7_XDMAC)
+# undef HAVE_ILI9488_RGB
+# endif
#endif
-/* Verify the ILI9488 MCU/SPI connector configuration */
-
#ifdef HAVE_ILI9488_MCU
+/* ILI9488 MCU requires use of EXT1 or EXT2 connector */
+
# if !defined(CONFIG_SAMV71XULT_MXTXPLND_EXT1) && !defined(CONFIG_SAMV71XULT_MXTXPLND_EXT2)
# warning ILI9488 MCU requires CONFIG_SAMV71XULT_MXTXPLND_EXT1 or EXT2
# undef HAVE_ILI9488_MCU
# endif
-# ifdef CONFIG_SAMV71XULT_MXTXPLND_LCD
-# warning ILI9488 MCU not available at the LCD connector
-# undef HAVE_ILI9488_MCU
-# endif
-#endif
-/* Verify the ILI9488 RGB/SMC connector configuration */
+/* ILI9488 MCU requires SPI0 */
-#ifdef HAVE_ILI9488_RGB
-# ifndef CONFIG_SAMV71XULT_MXTXPLND_LCD
-# warning ILI9488 RGB requires CONFIG_SAMV71XULT_MXTXPLND_LCD
-# undef HAVE_ILI9488_MCU
-# endif
-# if defined(CONFIG_SAMV71XULT_MXTXPLND_EXT1) ||defined(CONFIG_SAMV71XULT_MXTXPLND_EXT2)
-# warning ILI9488 MCU not available at the EXT1 or EXT2 connectors
+# ifndef CONFIG_SAMV7_SPI0
+# warning ILI9488 MCU support requires SPI0
# undef HAVE_ILI9488_MCU
# endif
#endif
@@ -149,10 +155,10 @@
* 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 -
@@ -173,158 +179,166 @@
* 18 SPI SCK PD22 SPI0_SPCK PD22 SPI0_SPCK SPI Clock line
* 19 GND - - - - Ground
* 20 VCC - - - - Target supply voltage
- * ---- -------- ---- ----------- ---- ----------- ------------------------------------------
+ * ---- -------- ---- ----------- ---- ----------- ----------------------------------
*/
#ifdef CONFIG_SAMV71XULT_MXTXPLND
# if defined(CONFIG_SAMV71XULT_MXTXPLND_EXT1)
-# define GPIO_MXTXPLND_RESET \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
- GPIO_PORT_PIOA | GPIO_PIN5)
-# define GPIO_ILI9488_BLOFF \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
- GPIO_PORT_PIOA | GPIO_PIN0)
+# define GPIO_ILI9488_RST (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOA | GPIO_PIN5)
+# define GPIO_ILI9488_BLOFF (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
+ GPIO_PORT_PIOA | GPIO_PIN0)
+
+/* maXTouch definitions when connected via EXT1 */
# ifdef HAVE_MAXTOUCH
-# define GPIO_MXT_CHG \
- (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | GPIO_INT_FALLING | \
- GPIO_PORT_PIOD | GPIO_PIN28)
-# define IRQ_MXT_CHG \
- SAM_IRQ_PD28
+# define GPIO_MXT_CHG (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | \
+ GPIO_INT_FALLING | GPIO_PORT_PIOD | GPIO_PIN28)
+# define IRQ_MXT_CHG SAM_IRQ_PD28
# endif /* HAVE_MAXTOUCH */
+/* ILI9488 MCU mode definitions when connected via EXT1 */
+
# ifdef HAVE_ILI9488_MCU
-# define GPIO_ILI9488_CMDDAT \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
- GPIO_PORT_PIOB | GPIO_PIN3)
-
-# define GPIO_ILI9488_CS \
- (PIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
- GPIO_PORT_PIOD | GPIO_PIN25)
-# define ILI9488_PORT \
- SPI0_CS1
+# define GPIO_ILI9488_CDS (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
+ GPIO_PORT_PIOB | GPIO_PIN3)
+# define GPIO_ILI9488_CS (PIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOD | GPIO_PIN25)
+# define ILI9488_PORT SPI0_CS1
# endif /* HAVE_ILI9488_MCU */
# elif defined(CONFIG_SAMV71XULT_MXTXPLND_EXT2)
-# define GPIO_MXTXPLND_RESET \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
- GPIO_PORT_PIOA | GPIO_PIN24)
+/* General definitions when connected via EXT2 */
+
+# define GPIO_ILI9488_RST (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOA | GPIO_PIN24)
+# define GPIO_ILI9488_BLOFF (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
+ GPIO_PORT_PIOC | GPIO_PIN19)
-# define GPIO_ILI9488_BLOFF \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
- GPIO_PORT_PIOC | GPIO_PIN19)
+/* maXTouch definitions when connected via EXT2 */
# ifdef HAVE_MAXTOUCH
-# define GPIO_MXT_CHG \
- (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | GPIO_INT_FALLING | \
- GPIO_PORT_PIOA | GPIO_PIN2)
-# define IRQ_MXT_CHG \
- SAM_IRQ_PA2
+# define GPIO_MXT_CHG (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | \
+ GPIO_INT_FALLING | GPIO_PORT_PIOA | GPIO_PIN2)
+# define IRQ_MXT_CHG SAM_IRQ_PA2
# endif /* HAVE_MAXTOUCH */
+/* ILI9488 MCU mode definitions when connected via EXT2 */
+
# ifdef HAVE_ILI9488_MCU
-# define GPIO_ILI9488_CMDDAT \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
- GPIO_PORT_PIOA | GPIO_PIN6)
-
-# define GPIO_ILI9488_CS \
- (PIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
- GPIO_PORT_PIOD | GPIO_PIN27)
-# define MXTXLPND_PORT \
- SPI0_CS3
+# define GPIO_ILI9488_CDS (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
+ GPIO_PORT_PIOA | GPIO_PIN6)
+# define GPIO_ILI9488_CS (PIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOD | GPIO_PIN27)
+# define MXTXLPND_PORT SPI0_CS3
# endif /* HAVE_ILI9488_MCU */
-/* 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.
- *
- * ---- ------------ ---- -------- -----------------------------------------------------------
- * 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
- * ---- ------------ ---- -------- -----------------------------------------------------------
+/* 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
+ * ---- ------------ ---- -------- --------------------------------------------------
*/
-# elif defined(CONFIG_SAMV71XULT_MXTXLND_LCD)
-# define GPIO_MXTXPLND_RESET \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
- GPIO_PORT_PIOC | GPIO_PIN13)
-# define GPIO_ILI9488_BLOFF \
- (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
- GPIO_PORT_PIOC | GPIO_PIN9)
+# elif defined(CONFIG_SAMV71XULT_MXTXPLND_LCD)
+/* General definitions when connected via LCD (EXT4) */
+
+# define GPIO_ILI9488_RST (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOC | GPIO_PIN13)
+# define GPIO_ILI9488_BLOFF (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
+ GPIO_PORT_PIOC | GPIO_PIN9)
+
+/* maXTouch definitions when connected via LCD (EXT4) */
# ifdef HAVE_MAXTOUCH
-# define GPIO_MXT_CHG \
- (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | GPIO_INT_FALLING | \
- GPIO_PORT_PIOD | GPIO_PIN28)
-# define IRQ_MXT_CHG \
- SAM_IRQ_PD28
+# define GPIO_MXT_CHG (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_CFG_DEGLITCH | \
+ GPIO_INT_FALLING | GPIO_PORT_PIOD | GPIO_PIN28)
+# define IRQ_MXT_CHG SAM_IRQ_PD28
# endif /* HAVE_MAXTOUCH */
+
+/* ILI9488 RGB mode definitions when connected via LCd (EXT4) */
+
+# define GPIO_ILI9488_CDS (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | \
+ GPIO_PORT_PIOC | GPIO_PIN30)
+
+# 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
# endif /* CONFIG_SAMV71XULT_MXTXLND_xyz */
-/* In any event, touchscreen communicates on TWI0, I2C address 0x4a */
+/* In all configurations, the touchscreen communicates on TWI0, I2C address 0x4a */
+
+# ifdef HAVE_MAXTOUCH
-# define MXT_TWI_BUS 0
-# define MXT_I2C_ADDRESS 0x4a
+# define MXT_TWI_BUS 0
+# define MXT_I2C_ADDRESS 0x4a
+# endif /* HAVE_MAXTOUCH */
#endif /* CONFIG_SAMV71XULT_MXTXPLND */
/************************************************************************************
diff --git a/nuttx/configs/samv71-xult/src/sam_ili9488.c b/nuttx/configs/samv71-xult/src/sam_ili9488.c
index a099b718f..d66ab8d6d 100644
--- a/nuttx/configs/samv71-xult/src/sam_ili9488.c
+++ b/nuttx/configs/samv71-xult/src/sam_ili9488.c
@@ -146,9 +146,11 @@
#include "chip/sam_pmc.h"
#include "chip/sam_smc.h"
#include "chip/sam_pinmap.h"
+
#include "samv71-xult.h"
+#include "atmxt-xpro.h"
-#ifdef HAVE_ILI9488
+#ifdef HAVE_ILI9488_RGB
/****************************************************************************
* Pre-processor Definitions
@@ -1676,4 +1678,4 @@ void sam_lcdclear(uint16_t color)
}
}
-#endif /* HAVE_ILI9488 */
+#endif /* HAVE_ILI9488_RGB */
diff --git a/nuttx/configs/samv71-xult/src/samv71-xult.h b/nuttx/configs/samv71-xult/src/samv71-xult.h
index 3aae79308..b86aa1a4e 100644
--- a/nuttx/configs/samv71-xult/src/samv71-xult.h
+++ b/nuttx/configs/samv71-xult/src/samv71-xult.h
@@ -63,7 +63,6 @@
#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 */
@@ -239,32 +238,6 @@
# 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.
@@ -425,87 +398,6 @@
#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)
-
-#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
************************************************************************************/