static int ltn101al03_power_on(struct omap_dss_device *dssdev)
{
	struct ltn101al03 *lcd = dev_get_drvdata(&dssdev->dev);
	int ret = 0;

	pr_info("(%s): called (@%d)\n", __func__, __LINE__);

	if (lcd->enabled != 1) {
		if (lcd->pdata->set_power)
			lcd->pdata->set_power(true);
		mdelay(10);

		ret = omapdss_dpi_display_enable(dssdev);
		if (ret) {
			dev_err(&dssdev->dev, "failed to enable DPI\n");
			goto err;
		}

		/* reset ltn101al03 bridge */
		if (!dssdev->skip_init) {
			ltn101al03_hw_reset(dssdev);

			msleep(100);
			update_brightness(dssdev);
		}

		lcd->enabled = 1;
	}

	if (dssdev->skip_init)
		dssdev->skip_init = false;

err:
	return ret;
}
static int sharp_ls_power_on(struct omap_dss_device *dssdev)
{
	struct panel_sharp_ls037v7dw01_data *pd = get_panel_data(dssdev);
	int r = 0;

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
	omapdss_dpi_set_data_lines(dssdev, dssdev->phy.dpi.data_lines);

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	/* wait couple of vsyncs until enabling the LCD */
	msleep(50);

	if (gpio_is_valid(pd->resb_gpio))
		gpio_set_value_cansleep(pd->resb_gpio, 1);

	if (gpio_is_valid(pd->ini_gpio))
		gpio_set_value_cansleep(pd->ini_gpio, 1);

	return 0;
err0:
	return r;
}
Пример #3
0
static int tnlcd_power_on(struct omap_dss_device *dssdev)
{
	int r;

	//uki
	printk("OOOOOOOOOOOOOOOOOOOO tnlcd_power_on\n");
	gpio_set_value(p347_GPIO_BACKLIGHT_POWER,1);

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
Пример #4
0
static int at070tna2_panel_enable(struct omap_dss_device *dssdev)
{
	 int r = 0;

	if (at070tna2_hw_version != BOARD_ID_EVT1){
		schedule_delayed_work(&delay_work_enabletouch, 1);
	}
	
	gpio_direction_output(EDP_LCD_PWR_EN, 1);//for vdd
	
	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	/* Delay recommended by panel DATASHEET */
	mdelay(4);
	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}
//&*&*&*BC1_110817: fix the issue that user can see screen switch when device resume
	gpio_direction_output(EDP_LCD_LVDS_SHTDN_GPIO, 1);
	schedule_delayed_work(&delay_work_enablepanel, 10);  //20111117, JimmySu modify timing 6 -> 10, for earily suspend/resume
//&*&*&*BC2_110817: fix the issue that user can see screen switch when device resume
	
	return r;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
Пример #5
0
static int vga_panel_enable(struct omap_dss_device *dssdev)
{
	int r = 0;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		return(r);

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r) {
			omapdss_dpi_display_disable(dssdev);
			return r;
		}
	}
	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
	return r;
}
Пример #6
0
static int kunlun_panel_enable(struct omap_dss_device *dssdev)
{
	int r = 0;
	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}
	return r;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
static int tcg101wxlp_panel_enable(struct omap_dss_device *dssdev)
{
	int r = 0;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	/* wait couple of vsyncs until enabling the LCD */
	msleep(200);

	if (dssdev->platform_enable)
		r = dssdev->platform_enable(dssdev);

err0:
	if (r)
		omapdss_dpi_display_disable(dssdev);
	return r;
}
Пример #8
0
static int tpo_td043_power_on(struct omap_dss_device *dssdev)
{
	struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev);
	int nreset_gpio = dssdev->reset_gpio;
	int r;

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	regulator_enable(tpo_td043->vcc_reg);

	/* wait for power up */
	msleep(160);

	if (gpio_is_valid(nreset_gpio))
		gpio_set_value(nreset_gpio, 1);

	tpo_td043_write(tpo_td043->spi, 2,
			TPO_R02_MODE(tpo_td043->mode) | TPO_R02_NCLK_RISING);
	tpo_td043_write(tpo_td043->spi, 3, TPO_R03_VAL_NORMAL);
	tpo_td043_write(tpo_td043->spi, 0x20, 0xf0);
	tpo_td043_write(tpo_td043->spi, 0x21, 0xf0);
	tpo_td043_write_mirror(tpo_td043->spi, tpo_td043->hmirror,
			tpo_td043->vmirror);
	tpo_td043_write_gamma(tpo_td043->spi, tpo_td043->gamma);

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
Пример #9
0
static int toppoly_tdo_panel_power_on(struct omap_dss_device *dssdev)
{
	int r;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
static int sharp_panel_enable(struct omap_dss_device *dssdev)
{
	int r = 0;
	struct sharp_data *necd = dev_get_drvdata(&dssdev->dev);

	printk("DISPLAY: %s|%s:%d\n",__FILE__,__FUNCTION__,__LINE__);
	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			return r;
	}


	if (r < 0)
		dev_err(&dssdev->dev, "failed to set lcd brightness\n");
	
	r = omapdss_dpi_display_enable(dssdev);

	return r;
}
Пример #11
0
static int nec_8048_panel_enable(struct omap_dss_device *dssdev)
{
    int r = 0;

    r = omapdss_dpi_display_enable(dssdev);
    if (r)
        goto err0;

    /* Delay recommended by panel DATASHEET */
    mdelay(4);
    if (dssdev->platform_enable) {
        r = dssdev->platform_enable(dssdev);
        if (r)
            goto err1;
    }
    return r;
err1:
    omapdss_dpi_display_disable(dssdev);
err0:
    return r;
}
Пример #12
0
static int tpo_td043_enable_dss(struct omap_dss_device *dssdev)
{
	struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev);
	int r;

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
	omapdss_dpi_set_data_lines(dssdev, dssdev->phy.dpi.data_lines);

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	/*
	 * If we are resuming from system suspend, SPI clocks might not be
	 * enabled yet, so we'll program the LCD from SPI PM resume callback.
	 */
	if (!tpo_td043->spi_suspended) {
		r = tpo_td043_power_on(tpo_td043);
		if (r)
			goto err1;
	}

	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
static int DP501_panel_start(struct omap_dss_device *dssdev)
{
	int r = 0;
#ifdef DP501_DEBUG
	printk(KERN_INFO "%s:%s\\n", __FILE__, __func__);
#endif
	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r) {
			dev_err(&dssdev->dev,
				"failed to enable DSS platform\n");
			return r;
		}
	}
	r = omapdss_dpi_display_enable(dssdev);
	if (r) {
		dev_err(&dssdev->dev, "failed to enable DPI\n");
		return r;
	}
	dp501_init(sdp);
	return 0;
}
Пример #14
0
static int ltn101al03_power_on(struct omap_dss_device *dssdev)
{
	struct ltn101al03 *lcd = dev_get_drvdata(&dssdev->dev);
	int ret = 0;

	if (lcd->enabled != 1) {
		if (lcd->pdata->set_power)
			lcd->pdata->set_power(true);

		ret = omapdss_dpi_display_enable(dssdev);
		if (ret) {
			dev_err(&dssdev->dev, "failed to enable DPI\n");
			goto err;
		}

		/* reset ltn101al03 bridge */
		if (!dssdev->skip_init) {
			ltn101al03_hw_reset(dssdev);

			msleep(100);

			gpio_set_value(lcd->pdata->led_backlight_reset_gpio, 1);
			mdelay(10);
			omap_dm_timer_start(lcd->gptimer);

			usleep_range(2000, 2100);
			update_brightness(dssdev);
		}

		lcd->enabled = 1;
	}

	if (dssdev->skip_init)
		dssdev->skip_init = false;

err:
	return ret;
}
Пример #15
0
static int generic_panel_power_on(struct omap_dss_device *dssdev)
{
	int r;

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}
static int nec_8048_panel_power_on(struct omap_dss_device *dssdev)
{
	struct panel_nec_nl8048_data *pd = get_panel_data(dssdev);
	int r;

	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
		return 0;

	omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
	omapdss_dpi_set_data_lines(dssdev, dssdev->phy.dpi.data_lines);

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	if (gpio_is_valid(pd->res_gpio))
		gpio_set_value_cansleep(pd->res_gpio, 1);

	return 0;

err0:
	return r;
}
static int sharp_lq_panel_power_on(struct omap_dss_device *dssdev)
{
	int r;

	r = omapdss_dpi_display_enable(dssdev);
	if (r)
		goto err0;

	/* wait couple of vsyncs until enabling the LCD */
	msleep(50);

	if (dssdev->platform_enable) {
		r = dssdev->platform_enable(dssdev);
		if (r)
			goto err1;
	}

	return 0;
err1:
	omapdss_dpi_display_disable(dssdev);
err0:
	return r;
}