static int stmp3xxxmmc_hw_init_ssp1(void)
{
	int ret;

	ret = stmp3xxx_request_pin_group(&mmc_pins, "mmc");
	if (ret)
		goto out;

	/* Configure write protect GPIO pin */
	ret = gpio_request(PINID_PWM4, "mmc wp");
	if (ret)
		goto out_wp;

	gpio_direction_input(PINID_PWM4);

	/* Configure POWER pin as gpio to drive power to MMC slot */
	ret = gpio_request(PINID_PWM3, "mmc power");
	if (ret)
		goto out_power;

	gpio_direction_output(PINID_PWM3, 0);
	mdelay(100);

	return 0;

out_power:
	gpio_free(PINID_PWM4);
out_wp:
	stmp3xxx_release_pin_group(&mmc_pins, "mmc");
out:
	return ret;
}
static void dbguart_pinmux(int req, int id)
{
	if (req)
		stmp3xxx_request_pin_group(&dbguart_pins[id], "dbguart");
	else
		stmp3xxx_release_pin_group(&dbguart_pins[id], "dbguart");
}
Exemple #3
0
static int stmp3xxxmmc_hw_init_ssp1(void)
{
	int ret;

	ret = stmp3xxx_request_pin_group(&mmc_pins, "mmc");
	if (ret)
		goto out;

	
	ret = gpio_request(PINID_PWM4, "mmc wp");
	if (ret)
		goto out_wp;

	gpio_direction_input(PINID_PWM4);

	
	ret = gpio_request(PINID_PWM3, "mmc power");
	if (ret)
		goto out_power;

	gpio_direction_output(PINID_PWM3, 0);
	mdelay(100);

	return 0;

out_power:
	gpio_free(PINID_PWM4);
out_wp:
	stmp3xxx_release_pin_group(&mmc_pins, "mmc");
out:
	return ret;
}
int spdif_pinmux(int req)
{
	if (req)
		return stmp3xxx_request_pin_group(&spdif_pins, "spdif");
	else
		stmp3xxx_release_pin_group(&spdif_pins, "spdif");
	return 0;
}
static int gpmi_pinmux_handler(bool request)
{
	if (request)
		return stmp3xxx_request_pin_group(&gpmi_pins, "gpmi");
	else
		stmp3xxx_release_pin_group(&gpmi_pins, "gpmi");
	return 0;
}
static int appuart_pinmux(int req, int id)
{
	if (req)
		return stmp3xxx_request_pin_group(&appuart_pins[id], "appuart");
	else
		stmp3xxx_release_pin_group(&appuart_pins[id], "appuart");
	return 0;
}
static int dbguart_pinmux(int request, int id)
{
	int r = 0;

	if (request)
		r = stmp3xxx_request_pin_group(&dbguart_pins[id], "dbguart");
	else
		stmp3xxx_release_pin_group(&dbguart_pins[id], "dbguart");
	return r;
}
static int dbguart_pins_control(int id, int request)
{
	int r = 0;

	if (request)
		r = stmp3xxx_request_pin_group(&dbguart_pins[id], "debug uart");
	else
		stmp3xxx_release_pin_group(&dbguart_pins[id], "debug uart");
	return r;
}
Exemple #9
0
static void mpulcd_release_panel(struct device *dev,
        struct stmp3xxx_platform_fb_entry *pentry)
{

    stmp3xxx_lcdif_notify_clients(STMP3XXX_LCDIF_PANEL_RELEASE, pentry);
    mpulcd_display_off();
    stmp3xxx_release_pin_group(&lcd_pins, "mpulcd_pin");
    stmp3xxx_lcdif_dma_release();
    clk_disable(lcd_clk);
    clk_put(lcd_clk);
    gpio_direction_output(PINID_LCD_ENABLE, 0);
}
static void stmp3xxxmmc_hw_release_ssp1(void)
{
	gpio_free(PINID_PWM3);
	gpio_free(PINID_PWM4);
	stmp3xxx_release_pin_group(&mmc_pins, "mmc");
}
void spdif_pinmux_free(void)
{
	stmp3xxx_release_pin_group(&spdif_pins, "spdif");
}
Exemple #12
0
static void uninit_pinmux(void)
{
	stmp3xxx_release_pin_group(&lcd_pins, "lcd_hx8238a");
}
static void uninit_pinmux(void)
{
	stmp3xxx_release_pin_group(lcd_pins, "lcd_lms430");
}