static void at070tn92_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 4; i++) { s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE); } /* mDNIe SEL: why we shall write 0x2 ? */ writel(0x2, S5P_MDNIE_SEL); /* drive strength to max */ writel(0xffffffff, S5PV210_GPF0_BASE + 0xc); writel(0xffffffff, S5PV210_GPF1_BASE + 0xc); writel(0xffffffff, S5PV210_GPF2_BASE + 0xc); writel(0x000000ff, S5PV210_GPF3_BASE + 0xc); }
void s3cfb_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(S5PV210_GPF0(i), S5P_GPIO_DRVSTR_LV4); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(S5PV210_GPF1(i), S5P_GPIO_DRVSTR_LV4); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(S5PV210_GPF2(i), S5P_GPIO_DRVSTR_LV4); } for (i = 0; i < 4; i++) { s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(S5PV210_GPF3(i), S5P_GPIO_DRVSTR_LV4); } /* mDNIe SEL: why we shall write 0x2 ? */ writel(0x2, S5P_MDNIE_SEL); }
static int at070tn92_backlight_on(struct platform_device *pdev) { /* backlight enable pin */ s3c_gpio_cfgpin(S5PV210_GPF3(5), S3C_GPIO_OUTPUT); s3c_gpio_setpull(S5PV210_GPF3(5), S3C_GPIO_PULL_UP); gpio_set_value(S5PV210_GPF3(5), 1); return 0; }
void s3cfb_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 4; i++) { s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE); } /* mDNIe SEL: why we shall write 0x2 ? */ writel(0x2, S5P_MDNIE_SEL); /* drive strength to max */ writel(0xffffffff, S5P_VA_GPIO + 0x12c); writel(0xffffffff, S5P_VA_GPIO + 0x14c); writel(0xffffffff, S5P_VA_GPIO + 0x16c); writel(0x000000ff, S5P_VA_GPIO + 0x18c); s3c_gpio_cfgpin(S5PV210_GPB(4), S3C_GPIO_SFN(1)); s3c_gpio_cfgpin(S5PV210_GPB(5), S3C_GPIO_SFN(1)); s3c_gpio_cfgpin(S5PV210_GPB(6), S3C_GPIO_SFN(1)); s3c_gpio_cfgpin(S5PV210_GPB(7), S3C_GPIO_SFN(1)); s3c_gpio_setpull(S5PV210_GPB(4), S3C_GPIO_PULL_NONE); s3c_gpio_setpull(S5PV210_GPB(5), S3C_GPIO_PULL_NONE); s3c_gpio_setpull(S5PV210_GPB(6), S3C_GPIO_PULL_NONE); s3c_gpio_setpull(S5PV210_GPB(7), S3C_GPIO_PULL_NONE); gpio_request(S5PV210_GPH0(5), "GPH0"); gpio_direction_output(S5PV210_GPH0(5), 1); }
static int at070tn92_backlight_off(struct platform_device *pdev, int onoff) { /* backlight enable pin */ s3c_gpio_cfgpin(S5PV210_GPF3(5), S3C_GPIO_OUTPUT); s3c_gpio_setpull(S5PV210_GPF3(5), S3C_GPIO_PULL_DOWN); gpio_set_value(S5PV210_GPF3(5), 0); /* LCD_5V */ //s3c_gpio_cfgpin(S5PV210_GPH0(5), S3C_GPIO_OUTPUT); //s3c_gpio_setpull(S5PV210_GPH0(5), S3C_GPIO_PULL_DOWN); //gpio_set_value(S5PV210_GPH0(5), 0); /* LCD_33 */ //s3c_gpio_cfgpin(S5PV210_GPH2(0), S3C_GPIO_OUTPUT); //s3c_gpio_setpull(S5PV210_GPH2(0), S3C_GPIO_PULL_UP); //gpio_set_value(S5PV210_GPH2(0), 1); return 0; }
void s3cfb_earlysuspend_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_setpin_pd(S5PV210_GPF0(i), 2); s3c_gpio_setpull_pd(S5PV210_GPF0(i), 1); } for (i = 0; i < 8; i++) { s3c_gpio_setpin_pd(S5PV210_GPF1(i), 2); s3c_gpio_setpull_pd(S5PV210_GPF1(i), 1); } for (i = 0; i < 8; i++) { s3c_gpio_setpin_pd(S5PV210_GPF2(i), 2); s3c_gpio_setpull_pd(S5PV210_GPF2(i), 1); } for (i = 0; i < 4; i++) { s3c_gpio_setpin_pd(S5PV210_GPF3(i), 2); s3c_gpio_setpull_pd(S5PV210_GPF3(i), 1); } }
void s5pv210_fb_gpio_setup_24bpp(void) { unsigned int gpio = 0; for (gpio = S5PV210_GPF0(0); gpio <= S5PV210_GPF0(7); gpio++) { s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4); } for (gpio = S5PV210_GPF1(0); gpio <= S5PV210_GPF1(7); gpio++) { s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4); } for (gpio = S5PV210_GPF2(0); gpio <= S5PV210_GPF2(7); gpio++) { s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4); } for (gpio = S5PV210_GPF3(0); gpio <= S5PV210_GPF3(3); gpio++) { s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4); } /* Set DISPLAY_CONTROL register for Display path selection. * * ouput | RGB | I80 | ITU * ----------------------------------- * 00 | MIE | FIMD | FIMD * 01 | MDNIE | MDNIE | FIMD * 10 | FIMD | FIMD | FIMD * 11 | FIMD | FIMD | FIMD */ writel(0x2, S5P_MDNIE_SEL); }
static void lte480wv_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE); } for (i = 0; i < 4; i++) { s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE); } /* mDNIe SEL: why we shall write 0x2 ? */ writel(0x2, S5P_MDNIE_SEL); #ifndef CONFIG_FB_S3C_TL2796 /* drive strength to max */ writel(0xffffffff, S5PV210_GPF0_BASE + 0xc); writel(0xffffffff, S5PV210_GPF1_BASE + 0xc); writel(0xffffffff, S5PV210_GPF2_BASE + 0xc); writel(0x000000ff, S5PV210_GPF3_BASE + 0xc); #else writel(0xC0, S5PV210_GPF0_BASE + 0xc); #endif }
void s3cfb_lateresume_cfg_gpio(struct platform_device *pdev) { int i; for (i = 0; i < 8; i++) { s3c_gpio_setpull_pd(S5PV210_GPF0(i), 0); } for (i = 0; i < 8; i++) { s3c_gpio_setpull_pd(S5PV210_GPF1(i), 0); } for (i = 0; i < 8; i++) { s3c_gpio_setpull_pd(S5PV210_GPF2(i), 0); } for (i = 0; i < 4; i++) { s3c_gpio_setpull_pd(S5PV210_GPF3(i), 0); } }
void s5pv210_fb_gpio_setup_24bpp(void) { s5pv210_fb_cfg_gpios(S5PV210_GPF0(0), 8); s5pv210_fb_cfg_gpios(S5PV210_GPF1(0), 8); s5pv210_fb_cfg_gpios(S5PV210_GPF2(0), 8); s5pv210_fb_cfg_gpios(S5PV210_GPF3(0), 4); /* Set DISPLAY_CONTROL register for Display path selection. * * ouput | RGB | I80 | ITU * ----------------------------------- * 00 | MIE | FIMD | FIMD * 01 | MDNIE | MDNIE | FIMD * 10 | FIMD | FIMD | FIMD * 11 | FIMD | FIMD | FIMD */ writel(0x2, S5P_MDNIE_SEL); }
.ngpio = S5PV210_GPIO_F1_NR, .label = "GPF1", }, }, { .base = S5PV210_GPF2_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPF2(0), .ngpio = S5PV210_GPIO_F2_NR, .label = "GPF2", }, }, { .base = S5PV210_GPF3_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPF3(0), .ngpio = S5PV210_GPIO_F3_NR, .label = "GPF3", }, }, { .base = S5PV210_GPG0_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPG0(0), .ngpio = S5PV210_GPIO_G0_NR, .label = "GPG0", }, }, { .base = S5PV210_GPG1_BASE, .config = &gpio_cfg, .chip = {
.scl_is_output_only = 0, }; struct platform_device gpioi2c5_device = { .name = "i2c-gpio", .id = 5, .dev = { .platform_data = &gpioi2c5_platdata, }, }; /* For NC023 */ static struct i2c_gpio_platform_data gpioi2c6_platdata = { .sda_pin = S5PV210_GPF3(5), .scl_pin = S5PV210_GPF3(4), .udelay = 0, .timeout = 0, .sda_is_open_drain = 0, .scl_is_open_drain = 0, .scl_is_output_only = 0, }; struct platform_device gpioi2c6_device = { .name = "i2c-gpio", .id = 6, .dev = { .platform_data = &gpioi2c6_platdata,