From a815d24402a7225b54297fe05b69588d5bf29b69 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 3 Apr 2015 20:11:39 -0600 Subject: SAMV71-XULT: The ILI9488 LCD is now enabled by default in the mxtxplnd configuration --- nuttx/configs/samv71-xult/mxtxplnd/defconfig | 152 ++++++++++++- nuttx/configs/samv71-xult/src/atmxt-xpro.h | 326 ++++++++++++++------------- nuttx/configs/samv71-xult/src/sam_ili9488.c | 6 +- nuttx/configs/samv71-xult/src/samv71-xult.h | 108 --------- 4 files changed, 317 insertions(+), 275 deletions(-) (limited to 'nuttx') 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 ************************************************************************************/ -- cgit v1.2.3