summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c122
1 files changed, 0 insertions, 122 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c b/c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c
deleted file mode 100644
index 9474eec18a..0000000000
--- a/c/src/lib/libbsp/arm/lpc24xx/misc/lcd.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * @file
- *
- * @ingroup lpc24xx_lcd
- *
- * @brief LCD support.
- */
-
-/*
- * Copyright (c) 2010-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <assert.h>
-
-#include <bsp/lpc24xx.h>
-#include <bsp/lcd.h>
-#include <bsp/lpc-lcd.h>
-#include <bsp/utility.h>
-#include <bsp/system-clocks.h>
-
-#ifdef ARM_MULTILIB_ARCH_V4
- #define LCD_ENABLE BSP_BIT32(0)
-#endif
-
-rtems_status_code lpc24xx_lcd_set_mode(
- lpc24xx_lcd_mode mode,
- const lpc24xx_pin_range *pins
-)
-{
- rtems_status_code sc = RTEMS_SUCCESSFUL;
- bool enable = false;
-
- switch (mode) {
- case LCD_MODE_STN_4_BIT:
- case LCD_MODE_STN_8_BIT:
- case LCD_MODE_STN_DUAL_PANEL_4_BIT:
- case LCD_MODE_STN_DUAL_PANEL_8_BIT:
- case LCD_MODE_TFT_12_BIT_4_4_4:
- case LCD_MODE_TFT_16_BIT_5_6_5:
- case LCD_MODE_TFT_16_BIT_1_5_5_5:
- case LCD_MODE_TFT_24_BIT:
- enable = true;
- break;
- case LCD_MODE_DISABLED:
- enable = false;
- break;
- default:
- sc = RTEMS_IO_ERROR;
- break;
- }
-
- if (sc == RTEMS_SUCCESSFUL) {
- if (enable) {
- sc = lpc24xx_module_enable(LPC24XX_MODULE_LCD, LPC24XX_MODULE_PCLK_DEFAULT);
- assert(sc == RTEMS_SUCCESSFUL);
-
- #ifdef ARM_MULTILIB_ARCH_V4
- PINSEL11 = BSP_FLD32(mode, 1, 3) | LCD_ENABLE;
- #endif
-
- sc = lpc24xx_pin_config(pins, LPC24XX_PIN_SET_FUNCTION);
- assert(sc == RTEMS_SUCCESSFUL);
- } else {
- if (lpc24xx_lcd_current_mode() != LCD_MODE_DISABLED) {
- uint32_t lcd_ctrl = LCD_CTRL;
-
- /* Disable power */
- lcd_ctrl &= ~BSP_BIT32(11);
- LCD_CTRL = lcd_ctrl;
-
- lpc24xx_micro_seconds_delay(100000);
-
- /* Disable all signals */
- lcd_ctrl &= ~BSP_BIT32(0);
- LCD_CTRL = lcd_ctrl;
- }
-
- sc = lpc24xx_pin_config(pins, LPC24XX_PIN_SET_INPUT);
- assert(sc == RTEMS_SUCCESSFUL);
-
- #ifdef ARM_MULTILIB_ARCH_V4
- PINSEL11 = 0;
- #endif
-
- sc = lpc24xx_module_disable(LPC24XX_MODULE_LCD);
- assert(sc == RTEMS_SUCCESSFUL);
- }
- }
-
- return sc;
-}
-
-lpc24xx_lcd_mode lpc24xx_lcd_current_mode(void)
-{
- #ifdef ARM_MULTILIB_ARCH_V4
- uint32_t pinsel11 = PINSEL11;
-
- if ((PCONP & BSP_BIT32(20)) != 0 && (pinsel11 & LCD_ENABLE) != 0) {
- return BSP_FLD32GET(pinsel11, 1, 3);
- } else {
- return LCD_MODE_DISABLED;
- }
- #else
- volatile lpc17xx_scb *scb = &LPC17XX_SCB;
-
- if ((scb->pconp & LPC17XX_SCB_PCONP_LCD) != 0) {
- return LCD_CTRL & 0xae;
- } else {
- return LCD_MODE_DISABLED;
- }
- #endif
-}