|
@@ -36,7 +36,6 @@
|
|
#include <linux/clk.h>
|
|
#include <linux/clk.h>
|
|
#include <linux/mtd/lpc32xx_slc.h>
|
|
#include <linux/mtd/lpc32xx_slc.h>
|
|
#include <linux/mtd/lpc32xx_mlc.h>
|
|
#include <linux/mtd/lpc32xx_mlc.h>
|
|
-#include <linux/platform_data/gpio-lpc32xx.h>
|
|
|
|
|
|
|
|
#include <asm/setup.h>
|
|
#include <asm/setup.h>
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach-types.h>
|
|
@@ -47,13 +46,6 @@
|
|
#include <mach/board.h>
|
|
#include <mach/board.h>
|
|
#include "common.h"
|
|
#include "common.h"
|
|
|
|
|
|
-/*
|
|
|
|
- * Mapped GPIOLIB GPIOs
|
|
|
|
- */
|
|
|
|
-#define LCD_POWER_GPIO LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 0)
|
|
|
|
-#define BKL_POWER_GPIO LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 4)
|
|
|
|
-#define MMC_PWR_ENABLE_GPIO LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 5)
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* AMBA LCD controller
|
|
* AMBA LCD controller
|
|
*/
|
|
*/
|
|
@@ -97,20 +89,6 @@ static int lpc32xx_clcd_setup(struct clcd_fb *fb)
|
|
fb->fb.fix.smem_len = PANEL_SIZE;
|
|
fb->fb.fix.smem_len = PANEL_SIZE;
|
|
fb->panel = &conn_lcd_panel;
|
|
fb->panel = &conn_lcd_panel;
|
|
|
|
|
|
- if (gpio_request(LCD_POWER_GPIO, "LCD power"))
|
|
|
|
- printk(KERN_ERR "Error requesting gpio %u",
|
|
|
|
- LCD_POWER_GPIO);
|
|
|
|
- else if (gpio_direction_output(LCD_POWER_GPIO, 1))
|
|
|
|
- printk(KERN_ERR "Error setting gpio %u to output",
|
|
|
|
- LCD_POWER_GPIO);
|
|
|
|
-
|
|
|
|
- if (gpio_request(BKL_POWER_GPIO, "LCD backlight power"))
|
|
|
|
- printk(KERN_ERR "Error requesting gpio %u",
|
|
|
|
- BKL_POWER_GPIO);
|
|
|
|
- else if (gpio_direction_output(BKL_POWER_GPIO, 1))
|
|
|
|
- printk(KERN_ERR "Error setting gpio %u to output",
|
|
|
|
- BKL_POWER_GPIO);
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -127,29 +105,10 @@ static void lpc32xx_clcd_remove(struct clcd_fb *fb)
|
|
fb->fb.screen_base, fb->fb.fix.smem_start);
|
|
fb->fb.screen_base, fb->fb.fix.smem_start);
|
|
}
|
|
}
|
|
|
|
|
|
-/*
|
|
|
|
- * On some early LCD modules (1307.0), the backlight logic is inverted.
|
|
|
|
- * For those board variants, swap the disable and enable states for
|
|
|
|
- * BKL_POWER_GPIO.
|
|
|
|
-*/
|
|
|
|
-static void clcd_disable(struct clcd_fb *fb)
|
|
|
|
-{
|
|
|
|
- gpio_set_value(BKL_POWER_GPIO, 0);
|
|
|
|
- gpio_set_value(LCD_POWER_GPIO, 0);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static void clcd_enable(struct clcd_fb *fb)
|
|
|
|
-{
|
|
|
|
- gpio_set_value(BKL_POWER_GPIO, 1);
|
|
|
|
- gpio_set_value(LCD_POWER_GPIO, 1);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static struct clcd_board lpc32xx_clcd_data = {
|
|
static struct clcd_board lpc32xx_clcd_data = {
|
|
.name = "Phytec LCD",
|
|
.name = "Phytec LCD",
|
|
.check = clcdfb_check,
|
|
.check = clcdfb_check,
|
|
.decode = clcdfb_decode,
|
|
.decode = clcdfb_decode,
|
|
- .disable = clcd_disable,
|
|
|
|
- .enable = clcd_enable,
|
|
|
|
.setup = lpc32xx_clcd_setup,
|
|
.setup = lpc32xx_clcd_setup,
|
|
.mmap = lpc32xx_clcd_mmap,
|
|
.mmap = lpc32xx_clcd_mmap,
|
|
.remove = lpc32xx_clcd_remove,
|
|
.remove = lpc32xx_clcd_remove,
|
|
@@ -188,20 +147,9 @@ static struct pl08x_platform_data pl08x_pd = {
|
|
.mem_buses = PL08X_AHB1,
|
|
.mem_buses = PL08X_AHB1,
|
|
};
|
|
};
|
|
|
|
|
|
-static int mmc_handle_ios(struct device *dev, struct mmc_ios *ios)
|
|
|
|
-{
|
|
|
|
- /* Only on and off are supported */
|
|
|
|
- if (ios->power_mode == MMC_POWER_OFF)
|
|
|
|
- gpio_set_value(MMC_PWR_ENABLE_GPIO, 0);
|
|
|
|
- else
|
|
|
|
- gpio_set_value(MMC_PWR_ENABLE_GPIO, 1);
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static struct mmci_platform_data lpc32xx_mmci_data = {
|
|
static struct mmci_platform_data lpc32xx_mmci_data = {
|
|
.ocr_mask = MMC_VDD_30_31 | MMC_VDD_31_32 |
|
|
.ocr_mask = MMC_VDD_30_31 | MMC_VDD_31_32 |
|
|
MMC_VDD_32_33 | MMC_VDD_33_34,
|
|
MMC_VDD_32_33 | MMC_VDD_33_34,
|
|
- .ios_handler = mmc_handle_ios,
|
|
|
|
};
|
|
};
|
|
|
|
|
|
static struct lpc32xx_slc_platform_data lpc32xx_slc_data = {
|
|
static struct lpc32xx_slc_platform_data lpc32xx_slc_data = {
|