diff options
Diffstat (limited to 'drivers/touchscreen/ADS7843/touchscreen_lld_config.h')
-rw-r--r-- | drivers/touchscreen/ADS7843/touchscreen_lld_config.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/drivers/touchscreen/ADS7843/touchscreen_lld_config.h b/drivers/touchscreen/ADS7843/touchscreen_lld_config.h index 5769c288..056c8d7a 100644 --- a/drivers/touchscreen/ADS7843/touchscreen_lld_config.h +++ b/drivers/touchscreen/ADS7843/touchscreen_lld_config.h @@ -35,9 +35,48 @@ /* Driver hardware support. */
/*===========================================================================*/
-#define TOUCHSCREEN_HAS_IRQ TRUE
+#define TOUCHSCREEN_HAS_PRESSED TRUE
#define TOUCHSCREEN_HAS_PRESSURE FALSE
+struct TouchscreenDriver {
+ /*
+ * @brief Pointer to SPI driver.
+ * @note SPI driver must be enabled in mcuconf.h and halconf.h
+ */
+ SPIDriver *spip;
+
+ /*
+ * @brief Pointer to the SPI configuration structure.
+ * @note The lowest possible speed ~ 1-2MHz is to be used, otherwise
+ * will result in a lot of noise
+ */
+ const SPIConfig *spicfg;
+
+ /*
+ * @brief Touchscreen controller TPIRQ pin GPIO port
+ */
+ ioportid_t tsIRQPort;
+
+ /*
+ * @brief Touchscreen controller TPIRQ GPIO pin
+ * @note The interface is polled as of now, interrupt support is
+ * to be implemented in the future.
+ */
+ ioportmask_t tsIRQPin;
+
+ /*
+ * @brief Initialize the SPI with the configuration struct given or not
+ * If TRUE, spiStart is called by the init, otherwise not
+ * @note This is provided in such a case when SPI port is being shared
+ * across multiple peripherals, so not to disturb the SPI bus.
+ * You can use TOUCHSCREEN_SPI_PROLOGUE() and TOUCHSCREEN_SPI_EPILOGUE()
+ * macros to change the SPI configuration or speed before and
+ * after using the touchpad. An example case would be sharing the
+ * bus with a fast flash memory chip.
+ */
+ bool_t direct_init;
+};
+
#endif /* GFX_USE_TOUCHSCREEN */
#endif /* TOUCHSCREEN_LLD_CONFIG_H */
|