aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/ILI9481
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gdisp/ILI9481')
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld.c10
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_board_example_fsmc.h152
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_board_template.h (renamed from drivers/gdisp/ILI9481/gdisp_lld_board_example.h)24
-rw-r--r--drivers/gdisp/ILI9481/readme.txt15
4 files changed, 10 insertions, 191 deletions
diff --git a/drivers/gdisp/ILI9481/gdisp_lld.c b/drivers/gdisp/ILI9481/gdisp_lld.c
index 27c314d1..e9f42b4d 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld.c
+++ b/drivers/gdisp/ILI9481/gdisp_lld.c
@@ -44,15 +44,7 @@
/* Driver local functions. */
/*===========================================================================*/
-#if defined(GDISP_USE_CUSTOM_BOARD) && GDISP_USE_CUSTOM_BOARD
- /* Include the user supplied board definitions */
- #include "gdisp_lld_board.h"
-#elif defined(BOARD_FIREBULL_STM32_F103)
- #include "gdisp_lld_board_firebullstm32f103.h"
-#else
- /* Include the user supplied board definitions */
- #include "gdisp_lld_board.h"
-#endif
+#include "gdisp_lld_board.h"
// Some common routines and macros
#define write_reg(reg, data) { write_index(reg); write_data(data); }
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_board_example_fsmc.h b/drivers/gdisp/ILI9481/gdisp_lld_board_example_fsmc.h
deleted file mode 100644
index de45c89d..00000000
--- a/drivers/gdisp/ILI9481/gdisp_lld_board_example_fsmc.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * This file is subject to the terms of the GFX License. If a copy of
- * the license was not distributed with this file, you can obtain one at:
- *
- * http://chibios-gfx.com/license.html
- */
-
-/**
- * @file drivers/gdisp/ILI9481/gdisp_lld_board_example_fsmc.h
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9481 and compatible HVGA display
- *
- * @addtogroup GDISP
- * @{
- */
-
-#ifndef _GDISP_LLD_BOARD_H
-#define _GDISP_LLD_BOARD_H
-
-#define GDISP_REG ((volatile uint16_t *) 0x60000000)[0] /* RS = 0 */
-#define GDISP_RAM ((volatile uint16_t *) 0x60020000)[0] /* RS = 1 */
-
-/**
- * @brief Initialise the board for the display.
- * @notes Performs the following functions:
- * 1. initialise the io port used by your display
- * 2. initialise the reset pin (initial state not-in-reset)
- * 3. initialise the chip select pin (initial state not-active)
- * 4. initialise the backlight pin (initial state back-light off)
- *
- * @notapi
- */
-static inline void init_board(void) {
- const unsigned char FSMC_Bank;
-
- #if defined(STM32F1XX) || defined(STM32F3XX)
- /* FSMC setup for F1/F3 */
- rccEnableAHB(RCC_AHBENR_FSMCEN, 0);
-
- #if defined(GDISP_USE_DMA) && defined(GDISP_DMA_STREAM)
- #error "DMA not implemented for F1/F3 Devices"
- #endif
- #elif defined(STM32F4XX) || defined(STM32F2XX)
- /* STM32F2-F4 FSMC init */
- rccEnableAHB3(RCC_AHB3ENR_FSMCEN, 0);
-
- #if defined(GDISP_USE_DMA) && defined(GDISP_DMA_STREAM)
- if (dmaStreamAllocate(GDISP_DMA_STREAM, 0, NULL, NULL)) gfxExit();
- dmaStreamSetMemory0(GDISP_DMA_STREAM, &GDISP_RAM);
- dmaStreamSetMode(GDISP_DMA_STREAM, STM32_DMA_CR_PL(0) | STM32_DMA_CR_PSIZE_HWORD | STM32_DMA_CR_MSIZE_HWORD | STM32_DMA_CR_DIR_M2M);
- #endif
- #else
- #error "FSMC not implemented for this device"
- #endif
-
- /* set pins to FSMC mode */
- IOBus busD = {GPIOD, (1 << 0) | (1 << 1) | (1 << 4) | (1 << 5) | (1 << 7) | (1 << 8) |
- (1 << 9) | (1 << 10) | (1 << 11) | (1 << 14) | (1 << 15), 0};
-
- IOBus busE = {GPIOE, (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) |
- (1 << 13) | (1 << 14) | (1 << 15), 0};
-
- palSetBusMode(&busD, PAL_MODE_ALTERNATE(12));
- palSetBusMode(&busE, PAL_MODE_ALTERNATE(12));
-
- FSMC_Bank = 0;
-
- /* FSMC timing */
- FSMC_Bank1->BTCR[FSMC_Bank+1] = (FSMC_BTR1_ADDSET_1 | FSMC_BTR1_ADDSET_3) \
- | (FSMC_BTR1_DATAST_1 | FSMC_BTR1_DATAST_3) \
- | (FSMC_BTR1_BUSTURN_1 | FSMC_BTR1_BUSTURN_3) ;
-
- /* Bank1 NOR/SRAM control register configuration
- * This is actually not needed as already set by default after reset */
- FSMC_Bank1->BTCR[FSMC_Bank] = FSMC_BCR1_MWID_0 | FSMC_BCR1_WREN | FSMC_BCR1_MBKEN;
-}
-
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
-static inline void setpin_reset(bool_t state) {
- (void) state;
- /* Nothing to do here */
-}
-
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
-static inline void set_backlight(uint8_t percent) {
- (void) percent;
- /* Nothing to do here */
-}
-
-/**
- * @brief Take exclusive control of the bus
- *
- * @notapi
- */
-static inline void acquire_bus(void) {
- /* Nothing to do here */
-}
-
-/**
- * @brief Release exclusive control of the bus
- *
- * @notapi
- */
-static inline void release_bus(void) {
- /* Nothing to do here */
-}
-
-/**
- * @brief Send data to the index register.
- *
- * @param[in] index The index register to set
- *
- * @notapi
- */
-static inline void write_index(uint16_t index) { GDISP_REG = index; }
-
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] data The data to send
- *
- * @notapi
- */
-static inline void write_data(uint16_t data) { GDISP_RAM = data; }
-
-#if GDISP_HARDWARE_READPIXEL || GDISP_HARDWARE_SCROLL || defined(__DOXYGEN__)
-/**
- * @brief Read data from the lcd.
- *
- * @return The data from the lcd
- * @note The chip select may need to be asserted/de-asserted
- * around the actual spi read
- *
- * @notapi
- */
-static inline uint16_t read_data(void) { return GDISP_RAM; }
-#endif
-
-#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_board_example.h b/drivers/gdisp/ILI9481/gdisp_lld_board_template.h
index 8755f5a7..d287907a 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld_board_example.h
+++ b/drivers/gdisp/ILI9481/gdisp_lld_board_template.h
@@ -6,7 +6,7 @@
*/
/**
- * @file drivers/gdisp/ILI9481/gdisp_lld_board_example.h
+ * @file drivers/gdisp/ILI9481/gdisp_lld_board_template.h
* @brief GDISP Graphics Driver subsystem low level driver source for
* the ILI9481 and compatible HVGA display
*
@@ -23,8 +23,7 @@
* @notapi
*/
static inline void init_board(void) {
- /* Code here */
-#error "ILI9481: You must supply a definition for init_board for your board"
+
}
/**
@@ -35,8 +34,7 @@ static inline void init_board(void) {
* @notapi
*/
static inline void setpin_reset(bool_t state) {
- /* Code here */
-#error "ILI9481: You must supply a definition for setpin_reset for your board"
+
}
/**
@@ -47,8 +45,7 @@ static inline void setpin_reset(bool_t state) {
* @notapi
*/
static inline void set_backlight(uint8_t percent) {
- /* Code here */
-#error "ILI9481: You must supply a definition for set_backlight for your board"
+
}
/**
@@ -57,7 +54,7 @@ static inline void set_backlight(uint8_t percent) {
* @notapi
*/
static inline void acquire_bus(void) {
-#error "ILI9481: You must supply a definition for acquire_bus for your board"
+
}
/**
@@ -66,7 +63,7 @@ static inline void acquire_bus(void) {
* @notapi
*/
static inline void release_bus(void) {
-#error "ILI9481: You must supply a definition for release_bus for your board"
+
}
/**
@@ -77,8 +74,7 @@ static inline void release_bus(void) {
* @notapi
*/
static inline void write_index(uint16_t index) {
- /* Code here */
-#error "ILI9481: You must supply a definition for write_index for your board"
+
}
/**
@@ -89,8 +85,7 @@ static inline void write_index(uint16_t index) {
* @notapi
*/
static inline void write_data(uint16_t data) {
- /* Code here */
-#error "ILI9481: You must supply a definition for write_data for your board"
+
}
#if GDISP_HARDWARE_READPIXEL || GDISP_HARDWARE_SCROLL || defined(__DOXYGEN__)
@@ -104,8 +99,7 @@ static inline void write_data(uint16_t data) {
* @notapi
*/
static inline uint16_t read_data(void) {
- /* Code here */
-#error "ILI9481: You must supply a definition for read_data for your board"
+
}
#endif
diff --git a/drivers/gdisp/ILI9481/readme.txt b/drivers/gdisp/ILI9481/readme.txt
deleted file mode 100644
index 235c2582..00000000
--- a/drivers/gdisp/ILI9481/readme.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-To use this driver:
-
-1. Add in your gfxconf.h:
- a) #define GFX_USE_GDISP TRUE
-
- b) Any optional high level driver defines (see gdisp.h) eg: GDISP_NEED_MULTITHREAD
-
- c) If you are not using a known board then create a gdisp_lld_board.h file
- and ensure it is on your include path.
- Use the gdisp_lld_board_example.h or gdisp_lld_board_fsmc.h file as a basis.
- Currently known boards are:
- BOARD_FIREBULL_STM32_F103 - GPIO interface: requires GDISP_CMD_PORT and GDISP_DATA_PORT to be defined
-
-2. To your makefile add the following lines:
- include $(GFXLIB)/drivers/gdisp/ILI9481/gdisp_lld.mk