aboutsummaryrefslogtreecommitdiffstats
path: root/boards
diff options
context:
space:
mode:
Diffstat (limited to 'boards')
-rw-r--r--boards/addons/gdisp/board_SPFD54124B_stm32f3.h203
-rw-r--r--boards/addons/gdisp/board_SSD1289_stm32f4discovery.h21
-rw-r--r--boards/base/Embest-STM32-DMSTF4BB/board.mk4
-rw-r--r--boards/base/FireBull-STM32F103-FB/board.mk4
-rw-r--r--boards/base/Linux/board.mk2
-rw-r--r--boards/base/Marlin/board.mk4
-rw-r--r--boards/base/Mikromedia-STM32-M4-ILI9341/board.mk4
-rw-r--r--boards/base/Olimex-SAM7EX256-GE12/board.mk8
-rw-r--r--boards/base/Olimex-SAM7EX256-GE8/board.mk8
-rw-r--r--boards/base/Olimex-STM32-LCD/board.mk4
10 files changed, 233 insertions, 29 deletions
diff --git a/boards/addons/gdisp/board_SPFD54124B_stm32f3.h b/boards/addons/gdisp/board_SPFD54124B_stm32f3.h
new file mode 100644
index 00000000..765af495
--- /dev/null
+++ b/boards/addons/gdisp/board_SPFD54124B_stm32f3.h
@@ -0,0 +1,203 @@
+/*
+ * 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://ugfx.org/license.html
+ *
+ * Mail: fede.677387@hotmail.it
+ *
+ * Board: STM32F3-Discovery
+ */
+
+/**
+ * @file boards/addons/gdisp/board_SPFD54124B_stm32f3.h
+ * @brief GDISP Graphic Driver subsystem board interface for the SPFD54124B display.
+ */
+
+#ifndef _GDISP_LLD_BOARD_H
+#define _GDISP_LLD_BOARD_H
+
+#define SPFD54124B_SPID SPID2
+
+#define SPFD54124B_SPI_PORT GPIOB
+#define SPFD54124B_SPI_NSS 12
+#define SPFD54124B_SPI_SCK 13
+#define SPFD54124B_SPI_MISO 14 // not used
+#define SPFD54124B_SPI_MOSI 15
+
+#define SPFD54124B_PIN_PORT GPIOA
+#define SPFD54124B_PIN_RST 5
+
+#define SET_RST palSetPad(SPFD54124B_PIN_PORT, SPFD54124B_PIN_RST);
+#define CLR_RST palClearPad(SPFD54124B_PIN_PORT, SPFD54124B_PIN_RST);
+
+#define USE_SOFT_SPI TRUE
+#define USE_HARD_SPI !(USE_SOFT_SPI)
+
+#if USE_HARD_SPI
+
+#if GFX_USE_OS_CHIBIOS
+static int32_t thdPriority = 0;
+#endif
+
+/*
+ * Maximum speed SPI configuration in 9 bit mode
+ */
+static const SPIConfig hs_spicfg = {
+ NULL, /* Operation complete callback or @p NULL. */
+ SPFD54124B_SPI_PORT, /* The chip select line port */
+ SPFD54124B_SPI_NSS, /* The chip select line pad number */
+ 0, /* SPI CR1 register initialization data*/
+ SPI_CR2_DS_3 /* SPI CR2 register initialization data 9-bit */
+};
+#endif
+
+#if USE_SOFT_SPI
+static inline void soft_spi_sck(void){
+ palSetPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK);
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK);
+}
+
+static inline void soft_spi_write_9bit(uint16_t data){
+
+ uint8_t i;
+
+ // activate lcd by low on CS pin
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS);
+
+ for (i=0; i<9; i++){
+ // setting data
+ if(data & (SPFD54124B_SEND_DATA >> i)) {
+ palSetPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI);
+ }
+ else palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI);
+ // clock data
+ soft_spi_sck();
+ }
+
+ //deactivate lcd by high on CS pin
+ palSetPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS);
+
+}
+#endif
+
+static inline void setpin_reset(GDisplay *g, bool_t state) {
+ (void) g;
+ if(state) {
+ CLR_RST;
+ } else {
+ SET_RST;
+ }
+}
+
+static inline void init_board(GDisplay *g) {
+ // As we are not using multiple displays we set g->board to NULL as we don't use it.
+ g->board = 0;
+
+ switch(g->controllerdisplay) {
+ case 0: // Set up for Display 0
+ /*
+ * SPI1 I/O pins setup.
+ */
+ palSetPadMode(SPFD54124B_PIN_PORT, SPFD54124B_PIN_RST, PAL_MODE_OUTPUT_PUSHPULL); /* RESET */
+ setpin_reset(g, TRUE);
+
+#if USE_HARD_SPI
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK, PAL_MODE_ALTERNATE(5) | PAL_STM32_OSPEED_HIGHEST); /* SCK. */
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MISO, PAL_MODE_ALTERNATE(5) | PAL_STM32_OSPEED_HIGHEST); /* MISO.*/
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI, PAL_MODE_ALTERNATE(5) | PAL_STM32_OSPEED_HIGHEST); /* MOSI.*/
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); /* NSS */
+ palSetPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS);
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK);
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI);
+ spiInit();
+#endif
+
+#if USE_SOFT_SPI
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); /* SCK. */
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MISO, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); /* MISO.*/
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); /* MOSI.*/
+ palSetPadMode(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); /* NSS */
+ palSetPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_NSS);
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_SCK);
+ palClearPad(SPFD54124B_SPI_PORT, SPFD54124B_SPI_MOSI);
+#endif
+
+ break;
+ }
+}
+
+static inline void acquire_bus(GDisplay *g) {
+ (void) g;
+#if USE_HARD_SPI
+#if GFX_USE_OS_CHIBIOS
+ thdPriority = (int32_t)chThdGetPriority();
+ chThdSetPriority(HIGHPRIO);
+#endif
+ spiAcquireBus(&SPFD54124B_SPID);
+#endif
+}
+
+static inline void release_bus(GDisplay *g) {
+ (void) g;
+#if USE_HARD_SPI
+#if GFX_USE_OS_CHIBIOS
+ chThdSetPriority(thdPriority);
+#endif
+ spiReleaseBus(&SPFD54124B_SPID);
+#endif
+}
+
+static inline void write_data(GDisplay *g, uint16_t data) {
+ (void) g;
+
+ uint16_t b;
+
+#if USE_HARD_SPI
+
+ spiStart(&SPFD54124B_SPID, &hs_spicfg);
+ spiSelect(&SPFD54124B_SPID);
+
+ b = (data >> 0x08) | SPFD54124B_SEND_DATA;
+ spiSend(&SPFD54124B_SPID, 0x01, &b);
+ b = (data & 0xFF) | SPFD54124B_SEND_DATA;
+ spiSend(&SPFD54124B_SPID, 0x01, &b);
+
+ spiUnselect(&SPFD54124B_SPID);
+ spiStop(&SPFD54124B_SPID);
+
+#endif
+#if USE_SOFT_SPI
+ b = (data >> 0x08) | SPFD54124B_SEND_DATA;
+ soft_spi_write_9bit(b);
+ b = (data & 0xFF) | SPFD54124B_SEND_DATA;
+ soft_spi_write_9bit(b);
+#endif
+
+}
+
+static inline void write_index(GDisplay *g, uint16_t index) {
+ (void) g;
+
+#if USE_HARD_SPI
+ spiStart(&SPFD54124B_SPID, &hs_spicfg);
+ spiSelect(&SPFD54124B_SPID);
+ spiSend(&SPFD54124B_SPID, 0x01, &index);
+ spiUnselect(&SPFD54124B_SPID);
+ spiStop(&SPFD54124B_SPID);
+#endif
+#if USE_SOFT_SPI
+ soft_spi_write_9bit(index);
+#endif
+}
+
+static inline void post_init_board(GDisplay *g) {
+ (void) g;
+}
+
+static inline void set_backlight(GDisplay *g, uint8_t percent) {
+ (void) g;
+ (void) percent;
+}
+
+#endif /* _GDISP_LLD_BOARD_H */
diff --git a/boards/addons/gdisp/board_SSD1289_stm32f4discovery.h b/boards/addons/gdisp/board_SSD1289_stm32f4discovery.h
index acbe16c0..6198b73a 100644
--- a/boards/addons/gdisp/board_SSD1289_stm32f4discovery.h
+++ b/boards/addons/gdisp/board_SSD1289_stm32f4discovery.h
@@ -25,16 +25,17 @@
/* PWM configuration structure. We use timer 3 channel 3 */
static const PWMConfig pwmcfg = {
- 100000, /* 100 kHz PWM clock frequency. */
- 100, /* PWM period is 100 cycles. */
- 0,
- {
- {PWM_OUTPUT_DISABLED, 0},
- {PWM_OUTPUT_DISABLED, 0},
- {PWM_OUTPUT_ACTIVE_HIGH, 0},
- {PWM_OUTPUT_DISABLED, 0}
- },
- 0
+ 100000, /* 100 kHz PWM clock frequency. */
+ 100, /* PWM period is 100 cycles. */
+ 0,
+ {
+ {PWM_OUTPUT_DISABLED, 0},
+ {PWM_OUTPUT_DISABLED, 0},
+ {PWM_OUTPUT_ACTIVE_HIGH, 0},
+ {PWM_OUTPUT_DISABLED, 0}
+ },
+ 0,
+ 0
};
static inline void init_board(GDisplay *g) {
diff --git a/boards/base/Embest-STM32-DMSTF4BB/board.mk b/boards/base/Embest-STM32-DMSTF4BB/board.mk
index 3795b43d..9deacc08 100644
--- a/boards/base/Embest-STM32-DMSTF4BB/board.mk
+++ b/boards/base/Embest-STM32-DMSTF4BB/board.mk
@@ -3,6 +3,6 @@ GFXSRC +=
GFXDEFS += -DGFX_USE_CHIBIOS=TRUE
include $(GFXLIB)/boards/base/Embest-STM32-DMSTF4BB/chibios_board/board.mk
-include $(GFXLIB)/drivers/gdisp/SSD2119/gdisp_lld.mk
-include $(GFXLIB)/drivers/ginput/touch/STMPE811/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/SSD2119/driver.mk
+include $(GFXLIB)/drivers/ginput/touch/STMPE811/driver.mk
diff --git a/boards/base/FireBull-STM32F103-FB/board.mk b/boards/base/FireBull-STM32F103-FB/board.mk
index 8f3e43c0..11714dc7 100644
--- a/boards/base/FireBull-STM32F103-FB/board.mk
+++ b/boards/base/FireBull-STM32F103-FB/board.mk
@@ -3,6 +3,6 @@ GFXSRC +=
GFXDEFS += -DGFX_USE_CHIBIOS=TRUE
include $(GFXLIB)/boards/base/FireBull-STM32F103-FB/chibios_board/board.mk
-include $(GFXLIB)/drivers/gdisp/SSD1289/gdisp_lld.mk
-include $(GFXLIB)/drivers/ginput/touch/ADS7843/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/SSD1289/driver.mk
+include $(GFXLIB)/drivers/ginput/touch/ADS7843/driver.mk
diff --git a/boards/base/Linux/board.mk b/boards/base/Linux/board.mk
index 8c480766..4334c2fc 100644
--- a/boards/base/Linux/board.mk
+++ b/boards/base/Linux/board.mk
@@ -2,5 +2,5 @@ GFXINC += $(GFXLIB)/boards/base/Linux
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
-include $(GFXLIB)/drivers/multiple/X/gdisp_lld.mk
+include $(GFXLIB)/drivers/multiple/X/driver.mk
diff --git a/boards/base/Marlin/board.mk b/boards/base/Marlin/board.mk
index 14e8132d..ac3d55f1 100644
--- a/boards/base/Marlin/board.mk
+++ b/boards/base/Marlin/board.mk
@@ -3,6 +3,6 @@ GFXSRC +=
GFXDEFS += -DGFX_USE_CHIBIOS=TRUE
include $(GFXLIB)/boards/base/Marlin/chibios_board/board.mk
-include $(GFXLIB)/drivers/gdisp/RA8875/gdisp_lld.mk
-include $(GFXLIB)/drivers/ginput/touch/FT5x06/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/RA8875/driver.mk
+include $(GFXLIB)/drivers/ginput/touch/FT5x06/driver.mk
diff --git a/boards/base/Mikromedia-STM32-M4-ILI9341/board.mk b/boards/base/Mikromedia-STM32-M4-ILI9341/board.mk
index b18bf8f5..0f472bcc 100644
--- a/boards/base/Mikromedia-STM32-M4-ILI9341/board.mk
+++ b/boards/base/Mikromedia-STM32-M4-ILI9341/board.mk
@@ -1,6 +1,6 @@
GFXINC += $(GFXLIB)/boards/base/Mikromedia-STM32-M4-ILI9341
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_CHIBIOS=TRUE
-include $(GFXLIB)/drivers/gdisp/ILI9341/gdisp_lld.mk
-include $(GFXLIB)/drivers/ginput/touch/MCU/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/ILI9341/driver.mk
+include $(GFXLIB)/drivers/ginput/touch/MCU/driver.mk
include $(GFXLIB)/drivers/gaudio/vs1053/driver.mk
diff --git a/boards/base/Olimex-SAM7EX256-GE12/board.mk b/boards/base/Olimex-SAM7EX256-GE12/board.mk
index 2ef53142..ec712c18 100644
--- a/boards/base/Olimex-SAM7EX256-GE12/board.mk
+++ b/boards/base/Olimex-SAM7EX256-GE12/board.mk
@@ -1,8 +1,8 @@
GFXINC += $(GFXLIB)/boards/base/Olimex-SAM7EX256-GE12 $(GFXLIB)/boards/base/Olimex-SAM7EX256-GE8
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_CHIBIOS=TRUE
-include $(GFXLIB)/drivers/gdisp/Nokia6610GE12/gdisp_lld.mk
-include $(GFXLIB)/drivers/gadc/AT91SAM7/gadc_lld.mk
-include $(GFXLIB)/drivers/ginput/dial/GADC/ginput_lld.mk
-include $(GFXLIB)/drivers/ginput/toggle/Pal/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/Nokia6610GE12/driver.mk
+include $(GFXLIB)/drivers/gadc/AT91SAM7/driver.mk
+include $(GFXLIB)/drivers/ginput/dial/GADC/driver.mk
+include $(GFXLIB)/drivers/ginput/toggle/Pal/driver.mk
include $(GFXLIB)/drivers/gaudio/gadc/driver.mk
diff --git a/boards/base/Olimex-SAM7EX256-GE8/board.mk b/boards/base/Olimex-SAM7EX256-GE8/board.mk
index 98119565..031bbe61 100644
--- a/boards/base/Olimex-SAM7EX256-GE8/board.mk
+++ b/boards/base/Olimex-SAM7EX256-GE8/board.mk
@@ -1,9 +1,9 @@
GFXINC += $(GFXLIB)/boards/base/Olimex-SAM7EX256-GE8
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_CHIBIOS=TRUE
-include $(GFXLIB)/drivers/gdisp/Nokia6610GE8/gdisp_lld.mk
-include $(GFXLIB)/drivers/gadc/AT91SAM7/gadc_lld.mk
-include $(GFXLIB)/drivers/ginput/dial/GADC/ginput_lld.mk
-include $(GFXLIB)/drivers/ginput/toggle/Pal/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/Nokia6610GE8/driver.mk
+include $(GFXLIB)/drivers/gadc/AT91SAM7/driver.mk
+include $(GFXLIB)/drivers/ginput/dial/GADC/driver.mk
+include $(GFXLIB)/drivers/ginput/toggle/Pal/driver.mk
include $(GFXLIB)/drivers/gaudio/gadc/driver.mk
include $(GFXLIB)/drivers/gaudio/pwm/driver.mk
diff --git a/boards/base/Olimex-STM32-LCD/board.mk b/boards/base/Olimex-STM32-LCD/board.mk
index a1e4b935..2dd9d97a 100644
--- a/boards/base/Olimex-STM32-LCD/board.mk
+++ b/boards/base/Olimex-STM32-LCD/board.mk
@@ -3,6 +3,6 @@ GFXSRC +=
GFXDEFS += -DGFX_USE_CHIBIOS=TRUE
include $(GFXLIB)/boards/base/Olimex-STM32-LCD/chibios_board/board.mk
-include $(GFXLIB)/drivers/gdisp/ILI9320/gdisp_lld.mk
-include $(GFXLIB)/drivers/ginput/touch/MCU/ginput_lld.mk
+include $(GFXLIB)/drivers/gdisp/ILI9320/driver.mk
+include $(GFXLIB)/drivers/ginput/touch/MCU/driver.mk