Lines Matching refs:ddata
158 struct panel_drv_data *ddata = dev_get_drvdata(dssdev->dev); in tpo_td043_set_hmirror() local
160 ddata->hmirror = enable; in tpo_td043_set_hmirror()
161 return tpo_td043_write_mirror(ddata->spi, ddata->hmirror, in tpo_td043_set_hmirror()
162 ddata->vmirror); in tpo_td043_set_hmirror()
167 struct panel_drv_data *ddata = dev_get_drvdata(dssdev->dev); in tpo_td043_get_hmirror() local
169 return ddata->hmirror; in tpo_td043_get_hmirror()
175 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_vmirror_show() local
177 return snprintf(buf, PAGE_SIZE, "%d\n", ddata->vmirror); in tpo_td043_vmirror_show()
183 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_vmirror_store() local
193 ret = tpo_td043_write_mirror(ddata->spi, ddata->hmirror, val); in tpo_td043_vmirror_store()
197 ddata->vmirror = val; in tpo_td043_vmirror_store()
205 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_mode_show() local
207 return snprintf(buf, PAGE_SIZE, "%d\n", ddata->mode); in tpo_td043_mode_show()
213 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_mode_store() local
221 ddata->mode = val; in tpo_td043_mode_store()
224 tpo_td043_write(ddata->spi, 2, val); in tpo_td043_mode_store()
232 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_gamma_show() local
237 for (i = 0; i < ARRAY_SIZE(ddata->gamma); i++) { in tpo_td043_gamma_show()
239 ddata->gamma[i]); in tpo_td043_gamma_show()
252 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_gamma_store() local
265 ddata->gamma[i] = g[i]; in tpo_td043_gamma_store()
267 tpo_td043_write_gamma(ddata->spi, ddata->gamma); in tpo_td043_gamma_store()
290 static int tpo_td043_power_on(struct panel_drv_data *ddata) in tpo_td043_power_on() argument
294 if (ddata->powered_on) in tpo_td043_power_on()
297 r = regulator_enable(ddata->vcc_reg); in tpo_td043_power_on()
304 if (gpio_is_valid(ddata->nreset_gpio)) in tpo_td043_power_on()
305 gpio_set_value(ddata->nreset_gpio, 1); in tpo_td043_power_on()
307 tpo_td043_write(ddata->spi, 2, in tpo_td043_power_on()
308 TPO_R02_MODE(ddata->mode) | TPO_R02_NCLK_RISING); in tpo_td043_power_on()
309 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_NORMAL); in tpo_td043_power_on()
310 tpo_td043_write(ddata->spi, 0x20, 0xf0); in tpo_td043_power_on()
311 tpo_td043_write(ddata->spi, 0x21, 0xf0); in tpo_td043_power_on()
312 tpo_td043_write_mirror(ddata->spi, ddata->hmirror, in tpo_td043_power_on()
313 ddata->vmirror); in tpo_td043_power_on()
314 tpo_td043_write_gamma(ddata->spi, ddata->gamma); in tpo_td043_power_on()
316 ddata->powered_on = 1; in tpo_td043_power_on()
320 static void tpo_td043_power_off(struct panel_drv_data *ddata) in tpo_td043_power_off() argument
322 if (!ddata->powered_on) in tpo_td043_power_off()
325 tpo_td043_write(ddata->spi, 3, in tpo_td043_power_off()
328 if (gpio_is_valid(ddata->nreset_gpio)) in tpo_td043_power_off()
329 gpio_set_value(ddata->nreset_gpio, 0); in tpo_td043_power_off()
334 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_STANDBY); in tpo_td043_power_off()
336 regulator_disable(ddata->vcc_reg); in tpo_td043_power_off()
338 ddata->powered_on = 0; in tpo_td043_power_off()
343 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_connect() local
344 struct omap_dss_device *in = ddata->in; in tpo_td043_connect()
359 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_disconnect() local
360 struct omap_dss_device *in = ddata->in; in tpo_td043_disconnect()
370 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_enable() local
371 struct omap_dss_device *in = ddata->in; in tpo_td043_enable()
380 if (ddata->data_lines) in tpo_td043_enable()
381 in->ops.dpi->set_data_lines(in, ddata->data_lines); in tpo_td043_enable()
382 in->ops.dpi->set_timings(in, &ddata->videomode); in tpo_td043_enable()
392 if (!ddata->spi_suspended) { in tpo_td043_enable()
393 r = tpo_td043_power_on(ddata); in tpo_td043_enable()
407 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_disable() local
408 struct omap_dss_device *in = ddata->in; in tpo_td043_disable()
415 if (!ddata->spi_suspended) in tpo_td043_disable()
416 tpo_td043_power_off(ddata); in tpo_td043_disable()
424 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_set_timings() local
425 struct omap_dss_device *in = ddata->in; in tpo_td043_set_timings()
427 ddata->videomode = *timings; in tpo_td043_set_timings()
436 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_get_timings() local
438 *timings = ddata->videomode; in tpo_td043_get_timings()
444 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_check_timings() local
445 struct omap_dss_device *in = ddata->in; in tpo_td043_check_timings()
471 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in tpo_td043_probe_pdata() local
476 ddata->nreset_gpio = pdata->nreset_gpio; in tpo_td043_probe_pdata()
484 ddata->in = in; in tpo_td043_probe_pdata()
486 ddata->data_lines = pdata->data_lines; in tpo_td043_probe_pdata()
488 dssdev = &ddata->dssdev; in tpo_td043_probe_pdata()
497 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in tpo_td043_probe_of() local
506 ddata->nreset_gpio = gpio; in tpo_td043_probe_of()
514 ddata->in = in; in tpo_td043_probe_of()
521 struct panel_drv_data *ddata; in tpo_td043_probe() local
536 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL); in tpo_td043_probe()
537 if (ddata == NULL) in tpo_td043_probe()
540 dev_set_drvdata(&spi->dev, ddata); in tpo_td043_probe()
542 ddata->spi = spi; in tpo_td043_probe()
556 ddata->mode = TPO_R02_MODE_800x480; in tpo_td043_probe()
557 memcpy(ddata->gamma, tpo_td043_def_gamma, sizeof(ddata->gamma)); in tpo_td043_probe()
559 ddata->vcc_reg = devm_regulator_get(&spi->dev, "vcc"); in tpo_td043_probe()
560 if (IS_ERR(ddata->vcc_reg)) { in tpo_td043_probe()
562 r = PTR_ERR(ddata->vcc_reg); in tpo_td043_probe()
566 if (gpio_is_valid(ddata->nreset_gpio)) { in tpo_td043_probe()
568 ddata->nreset_gpio, GPIOF_OUT_INIT_LOW, in tpo_td043_probe()
582 ddata->videomode = tpo_td043_timings; in tpo_td043_probe()
584 dssdev = &ddata->dssdev; in tpo_td043_probe()
589 dssdev->panel.timings = ddata->videomode; in tpo_td043_probe()
604 omap_dss_put_device(ddata->in); in tpo_td043_probe()
610 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in tpo_td043_remove() local
611 struct omap_dss_device *dssdev = &ddata->dssdev; in tpo_td043_remove()
612 struct omap_dss_device *in = ddata->in; in tpo_td043_remove()
614 dev_dbg(&ddata->spi->dev, "%s\n", __func__); in tpo_td043_remove()
631 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_spi_suspend() local
633 dev_dbg(dev, "tpo_td043_spi_suspend, tpo %p\n", ddata); in tpo_td043_spi_suspend()
635 ddata->power_on_resume = ddata->powered_on; in tpo_td043_spi_suspend()
636 tpo_td043_power_off(ddata); in tpo_td043_spi_suspend()
637 ddata->spi_suspended = 1; in tpo_td043_spi_suspend()
644 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_spi_resume() local
649 if (ddata->power_on_resume) { in tpo_td043_spi_resume()
650 ret = tpo_td043_power_on(ddata); in tpo_td043_spi_resume()
654 ddata->spi_suspended = 0; in tpo_td043_spi_resume()