diff --git a/drivers/gdisp/SSD2119/gdisp_lld.c b/drivers/gdisp/SSD2119/gdisp_lld.c index e4e683be..b478c6d8 100644 --- a/drivers/gdisp/SSD2119/gdisp_lld.c +++ b/drivers/gdisp/SSD2119/gdisp_lld.c @@ -58,8 +58,6 @@ #if defined(GDISP_USE_CUSTOM_BOARD) && GDISP_USE_CUSTOM_BOARD /* Include the user supplied board definitions */ #include "gdisp_lld_board.h" -#elif defined(BOARD_EMBEST_DMSTF4BB) - #include "gdisp_lld_board_embest_dmstf4bb.h" #elif defined(BOARD_EMBEST_DMSTF4BB_FSMC) #include "gdisp_lld_board_embest_dmstf4bb_fsmc.h" #else diff --git a/drivers/gdisp/SSD2119/gdisp_lld_board_embest_dmstf4bb.h b/drivers/gdisp/SSD2119/gdisp_lld_board_embest_dmstf4bb.h deleted file mode 100644 index 495c5fc9..00000000 --- a/drivers/gdisp/SSD2119/gdisp_lld_board_embest_dmstf4bb.h +++ /dev/null @@ -1,241 +0,0 @@ -/* - ChibiOS/GFX - Copyright (C) 2012 - Joel Bodenmann aka Tectu - - This file is part of ChibiOS/GFX. - - ChibiOS/GFX is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - ChibiOS/GFX is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -/** - * @file drivers/gdisp/SSD2119/gdisp_lld_board_embest_dmstf4bb.h - * @brief GDISP Graphic Driver subsystem board GPIO interface for the SSD2119 display. - * - * @addtogroup GDISP - * @{ - */ - -#ifndef _GDISP_LLD_BOARD_H -#define _GDISP_LLD_BOARD_H - -#define SET_CS palSetPad(GPIOD, 7); -#define CLR_CS palClearPad(GPIOD, 7); -#define SET_DC palSetPad(GPIOE, 3); -#define CLR_DC palClearPad(GPIOE, 3); -#define SET_WR palSetPad(GPIOD, 5); -#define CLR_WR palClearPad(GPIOD, 5); -#define SET_RD palSetPad(GPIOD, 4); -#define CLR_RD palClearPad(GPIOD, 4); -#define SET_RST palSetPad(GPIOD, 3); -#define CLR_RST palClearPad(GPIOD, 3); - -/* PWM configuration structure. We use timer 4 channel 2 (orange LED on board). */ -static const PWMConfig pwmcfg = { - 1000000, /* 1 MHz PWM clock frequency. */ - 100, /* PWM period is 100 cycles. */ - NULL, - { - {PWM_OUTPUT_ACTIVE_HIGH, NULL}, - {PWM_OUTPUT_ACTIVE_HIGH, NULL}, - {PWM_OUTPUT_ACTIVE_HIGH, NULL}, - {PWM_OUTPUT_ACTIVE_HIGH, NULL} - }, - 0 -}; - -/** - * @brief Initialise the board for the display. - * @notes This board definition uses GPIO and assumes exclusive access to these GPIO pins - * - * @notapi - */ -static __inline void init_board(void) { - // D0 - D15 - palSetPadMode(GPIOD, 14, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 15, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 0, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 1, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 7, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 8, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 9, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 10, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 11, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 12, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 13, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 14, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOE, 15, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 8, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 9, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 10, PAL_MODE_OUTPUT_PUSHPULL); - - // RST - palSetPadMode(GPIOD, 3, PAL_MODE_OUTPUT_PUSHPULL); - - // CS - palSetPadMode(GPIOD, 7, PAL_MODE_OUTPUT_PUSHPULL); - // DC - palSetPadMode(GPIOE, 3, PAL_MODE_OUTPUT_PUSHPULL); - // RD - palSetPadMode(GPIOD, 4, PAL_MODE_OUTPUT_PUSHPULL); - // WR - palSetPadMode(GPIOD, 5, PAL_MODE_OUTPUT_PUSHPULL); - - /* Configure the pins to a well know state */ - SET_DC; - SET_RD; - SET_WR; - CLR_CS; - //SET_RST; - - /* Display backlight control */ - /* TIM4 is an alternate function 2 (AF2) */ - pwmStart(&PWMD4, &pwmcfg); - palSetPadMode(GPIOD, 13, PAL_MODE_ALTERNATE(2)); - pwmEnableChannel(&PWMD4, 1, 100); -} - -/** - * @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) { - if (state) { - CLR_RST; - } else { - SET_RST; - } -} - -/** - * @brief Set the lcd back-light level. - * - * @param[in] percent 0 to 100% - * - * @notapi - */ -static __inline void set_backlight(uint8_t percent) { - pwmEnableChannel(&PWMD4, 1, percent); -} - -/** - * @brief Take exclusive control of the bus - * - * @notapi - */ -static __inline void acquire_bus(void) { - /* Nothing to do here since LCD is the only device on that bus */ -} - -/** - * @brief Release exclusive control of the bus - * - * @notapi - */ -static __inline void release_bus(void) { - /* Nothing to do here since LCD is the only device on that bus */ -} - -/** - * @brief Send data to the index register. - * - * @param[in] index The index register to set - * - * @notapi - */ -static __inline void write_index(uint16_t index) { - // D0 - D15 - palWritePad(GPIOD, 14, index & 1); - palWritePad(GPIOD, 15, (index >> 1) & 1); - palWritePad(GPIOD, 0, (index >> 2) & 1); - palWritePad(GPIOD, 1, (index >> 3) & 1); - palWritePad(GPIOE, 7, (index >> 4) & 1); - palWritePad(GPIOE, 8, (index >> 5) & 1); - palWritePad(GPIOE, 9, (index >> 6) & 1); - palWritePad(GPIOE, 10, (index >> 7) & 1); - palWritePad(GPIOE, 11, (index >> 8) & 1); - palWritePad(GPIOE, 12, (index >> 9) & 1); - palWritePad(GPIOE, 13, (index >> 10) & 1); - palWritePad(GPIOE, 14, (index >> 11) & 1); - palWritePad(GPIOE, 15, (index >> 12) & 1); - palWritePad(GPIOD, 8, (index >> 13) & 1); - palWritePad(GPIOD, 9, (index >> 14) & 1); - palWritePad(GPIOD, 10, (index >> 15) & 1); - - /* Control lines */ - CLR_DC; CLR_WR; SET_WR; SET_DC; -} - -/** - * @brief Send data to the lcd. - * - * @param[in] data The data to send - * - * @notapi - */ -static __inline void write_data(uint16_t data) { - // D0 - D15 - palWritePad(GPIOD, 14, data & 1); - palWritePad(GPIOD, 15, (data >> 1) & 1); - palWritePad(GPIOD, 0, (data >> 2) & 1); - palWritePad(GPIOD, 1, (data >> 3) & 1); - palWritePad(GPIOE, 7, (data >> 4) & 1); - palWritePad(GPIOE, 8, (data >> 5) & 1); - palWritePad(GPIOE, 9, (data >> 6) & 1); - palWritePad(GPIOE, 10, (data >> 7) & 1); - palWritePad(GPIOE, 11, (data >> 8) & 1); - palWritePad(GPIOE, 12, (data >> 9) & 1); - palWritePad(GPIOE, 13, (data >> 10) & 1); - palWritePad(GPIOE, 14, (data >> 11) & 1); - palWritePad(GPIOE, 15, (data >> 12) & 1); - palWritePad(GPIOD, 8, (data >> 13) & 1); - palWritePad(GPIOD, 9, (data >> 14) & 1); - palWritePad(GPIOD, 10, (data >> 15) & 1); - - /* Control lines */ - CLR_WR; SET_WR; -} - -#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) { - uint16_t value; -/* - // change pin mode to digital input - palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_INPUT); - - CLR_RD; - value = palReadPort(GPIOE); - value = palReadPort(GPIOE); - SET_RD; - - // change pin mode back to digital output - palSetGroupMode(GPIOE, PAL_WHOLE_PORT, 0, PAL_MODE_OUTPUT_PUSHPULL); -*/ - return value; -} -#endif - -#endif /* _GDISP_LLD_BOARD_H */ -/** @} */