aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/SSD1289
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-10-17 17:33:04 +1000
committerinmarket <andrewh@inmarket.com.au>2013-10-17 17:33:04 +1000
commit8fb676f73b8f53da4464cf8780dea337c22220f6 (patch)
tree908c6da716503276a60399b9342bf649967b0377 /drivers/gdisp/SSD1289
parente1744e59ab70ced14a76ff133c50504f8e2a68af (diff)
downloaduGFX-8fb676f73b8f53da4464cf8780dea337c22220f6.tar.gz
uGFX-8fb676f73b8f53da4464cf8780dea337c22220f6.tar.bz2
uGFX-8fb676f73b8f53da4464cf8780dea337c22220f6.zip
Added a post_init_board() routine to SSD1289 to allow bus timings to be changed after controller initialisation is complete.
Diffstat (limited to 'drivers/gdisp/SSD1289')
-rw-r--r--drivers/gdisp/SSD1289/board_SSD1289_firebullstm32f103.h4
-rw-r--r--drivers/gdisp/SSD1289/board_SSD1289_stm32f4discovery.h4
-rw-r--r--drivers/gdisp/SSD1289/board_SSD1289_template.h10
-rw-r--r--drivers/gdisp/SSD1289/gdisp_lld.c3
4 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gdisp/SSD1289/board_SSD1289_firebullstm32f103.h b/drivers/gdisp/SSD1289/board_SSD1289_firebullstm32f103.h
index fb541df5..df7594f8 100644
--- a/drivers/gdisp/SSD1289/board_SSD1289_firebullstm32f103.h
+++ b/drivers/gdisp/SSD1289/board_SSD1289_firebullstm32f103.h
@@ -48,6 +48,10 @@ static inline void init_board(GDisplay *g, unsigned display) {
}
}
+static inline void post_init_board(GDisplay *g) {
+ (void) g;
+}
+
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
diff --git a/drivers/gdisp/SSD1289/board_SSD1289_stm32f4discovery.h b/drivers/gdisp/SSD1289/board_SSD1289_stm32f4discovery.h
index 5a44e631..84082089 100644
--- a/drivers/gdisp/SSD1289/board_SSD1289_stm32f4discovery.h
+++ b/drivers/gdisp/SSD1289/board_SSD1289_stm32f4discovery.h
@@ -98,6 +98,10 @@ static inline void init_board(GDisplay *g, unsigned display) {
}
}
+static inline void post_init_board(GDisplay *g) {
+ (void) g;
+}
+
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
diff --git a/drivers/gdisp/SSD1289/board_SSD1289_template.h b/drivers/gdisp/SSD1289/board_SSD1289_template.h
index 552c93a0..941950b3 100644
--- a/drivers/gdisp/SSD1289/board_SSD1289_template.h
+++ b/drivers/gdisp/SSD1289/board_SSD1289_template.h
@@ -31,6 +31,16 @@ static inline void init_board(GDisplay *g, unsigned display) {
}
/**
+ * @brief After the initialisation.
+ *
+ * @param[in] g The GDisplay structure
+ *
+ * @notapi
+ */
+static inline void post_init_board(GDisplay *g) {
+}
+
+/**
* @brief Set or clear the lcd reset pin.
*
* @param[in] g The GDisplay structure
diff --git a/drivers/gdisp/SSD1289/gdisp_lld.c b/drivers/gdisp/SSD1289/gdisp_lld.c
index 3779578d..dca11d5d 100644
--- a/drivers/gdisp/SSD1289/gdisp_lld.c
+++ b/drivers/gdisp/SSD1289/gdisp_lld.c
@@ -169,6 +169,9 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g, unsigned display) {
write_reg(g, 0x4f, 0x0000); gfxSleepMicroseconds(5);
write_reg(g, 0x4e, 0x0000); gfxSleepMicroseconds(5);
+ // Finish Init
+ post_init_board(g);
+
// Release the bus
release_bus(g);