/* TODO: correct init procedure according to spec */ static int mendoza_gpio_setup(struct platform_device *pdev) { unsigned int cfg; int i; /* select TFT LCD type (RGB I/F) */ cfg = readl(S5P64XX_SPC_BASE); cfg &= ~S5P6450_SPCON_LCD_SEL_MASK; cfg |= S5P6450_SPCON_LCD_SEL_RGB; writel(cfg, S5P64XX_SPC_BASE); for (i = 0; i < 16; i++) s3c_gpio_cfgpin(S5P6450_GPI(i), S3C_GPIO_SFN(2)); for (i = 0; i < 12; i++) s3c_gpio_cfgpin(S5P6450_GPJ(i), S3C_GPIO_SFN(2)); if (gpio_request(TT_VGPIO_LCM_PWR_EN, "TT_VGPIO_LCM_PWR_EN") || gpio_request(TT_VGPIO_DISP_ON, "TT_VGPIO_DISP_ON")) { printk("LCD: Failed to request gpio\n"); } else { gpio_direction_output(TT_VGPIO_LCM_PWR_EN, 1); gpio_direction_output(TT_VGPIO_DISP_ON, 1); } panel_sleep(100); return 0; }
void s5p64x0_fb_gpio_setup_24bpp(void) { if (soc_is_s5p6440()) { s3c_gpio_cfgrange_nopull(S5P6440_GPI(0), 16, S3C_GPIO_SFN(2)); s3c_gpio_cfgrange_nopull(S5P6440_GPJ(0), 12, S3C_GPIO_SFN(2)); } else if (soc_is_s5p6450()) { s3c_gpio_cfgrange_nopull(S5P6450_GPI(0), 16, S3C_GPIO_SFN(2)); s3c_gpio_cfgrange_nopull(S5P6450_GPJ(0), 12, S3C_GPIO_SFN(2)); } }
void s3cfb_cfg_gpio(struct platform_device *pdev) { unsigned int cfg; int i; /* select TFT LCD type (RGB I/F) */ cfg = readl(S5P6450_SPCON0); cfg &= ~S5P6450_SPCON0_LCD_SEL_MASK; cfg |= S5P6450_SPCON0_LCD_SEL_RGB; writel(cfg, S5P6450_SPCON0); for (i = 0; i < 16; i++) s3c_gpio_cfgpin(S5P6450_GPI(i), S3C_GPIO_SFN(2)); for (i = 0; i < 12; i++) s3c_gpio_cfgpin(S5P6450_GPJ(i), S3C_GPIO_SFN(2)); }
}; static struct s3c_gpio_chip s5p6450_gpio_2bit[] = { { .base = S5P64X0_GPF_BASE, .config = &s5p64x0_gpio_cfgs[5], .chip = { .base = S5P6450_GPF(0), .ngpio = S5P6450_GPIO_F_NR, .label = "GPF", }, }, { .base = S5P64X0_GPI_BASE, .config = &s5p64x0_gpio_cfgs[3], .chip = { .base = S5P6450_GPI(0), .ngpio = S5P6450_GPIO_I_NR, .label = "GPI", }, }, { .base = S5P64X0_GPJ_BASE, .config = &s5p64x0_gpio_cfgs[3], .chip = { .base = S5P6450_GPJ(0), .ngpio = S5P6450_GPIO_J_NR, .label = "GPJ", }, }, { .base = S5P64X0_GPN_BASE, .config = &s5p64x0_gpio_cfgs[4], .chip = {