summaryrefslogtreecommitdiff
path: root/nuttx/configs/samv71-xult/src/atmxt-xpro.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/configs/samv71-xult/src/atmxt-xpro.h')
-rw-r--r--nuttx/configs/samv71-xult/src/atmxt-xpro.h326
1 files changed, 170 insertions, 156 deletions
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 */
/************************************************************************************