Exemplo n.º 1
0
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);
}
Exemplo n.º 2
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);
        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);
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
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);
}
Exemplo n.º 5
0
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;
}
Exemplo n.º 6
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);
}
Exemplo n.º 8
0
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
}
Exemplo n.º 9
0
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);
	}
}
Exemplo n.º 10
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);
}
Exemplo n.º 11
0
			.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	= {
Exemplo n.º 12
0
	.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,