Lines Matching refs:ddata

152 	struct panel_drv_data *ddata = dev_get_drvdata(dssdev->dev);  in tpo_td043_set_hmirror()  local
154 ddata->hmirror = enable; in tpo_td043_set_hmirror()
155 return tpo_td043_write_mirror(ddata->spi, ddata->hmirror, in tpo_td043_set_hmirror()
156 ddata->vmirror); in tpo_td043_set_hmirror()
161 struct panel_drv_data *ddata = dev_get_drvdata(dssdev->dev); in tpo_td043_get_hmirror() local
163 return ddata->hmirror; in tpo_td043_get_hmirror()
169 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_vmirror_show() local
171 return sysfs_emit(buf, "%d\n", ddata->vmirror); in tpo_td043_vmirror_show()
177 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_vmirror_store() local
187 ret = tpo_td043_write_mirror(ddata->spi, ddata->hmirror, val); in tpo_td043_vmirror_store()
191 ddata->vmirror = val; in tpo_td043_vmirror_store()
199 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_mode_show() local
201 return sysfs_emit(buf, "%d\n", ddata->mode); in tpo_td043_mode_show()
207 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_mode_store() local
215 ddata->mode = val; in tpo_td043_mode_store()
218 tpo_td043_write(ddata->spi, 2, val); in tpo_td043_mode_store()
226 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_gamma_show() local
231 for (i = 0; i < ARRAY_SIZE(ddata->gamma); i++) { in tpo_td043_gamma_show()
233 ddata->gamma[i]); in tpo_td043_gamma_show()
246 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_gamma_store() local
259 ddata->gamma[i] = g[i]; in tpo_td043_gamma_store()
261 tpo_td043_write_gamma(ddata->spi, ddata->gamma); in tpo_td043_gamma_store()
284 static int tpo_td043_power_on(struct panel_drv_data *ddata) in tpo_td043_power_on() argument
288 if (ddata->powered_on) in tpo_td043_power_on()
291 r = regulator_enable(ddata->vcc_reg); in tpo_td043_power_on()
298 gpiod_set_value_cansleep(ddata->reset_gpio, 0); in tpo_td043_power_on()
300 tpo_td043_write(ddata->spi, 2, in tpo_td043_power_on()
301 TPO_R02_MODE(ddata->mode) | TPO_R02_NCLK_RISING); in tpo_td043_power_on()
302 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_NORMAL); in tpo_td043_power_on()
303 tpo_td043_write(ddata->spi, 0x20, 0xf0); in tpo_td043_power_on()
304 tpo_td043_write(ddata->spi, 0x21, 0xf0); in tpo_td043_power_on()
305 tpo_td043_write_mirror(ddata->spi, ddata->hmirror, in tpo_td043_power_on()
306 ddata->vmirror); in tpo_td043_power_on()
307 tpo_td043_write_gamma(ddata->spi, ddata->gamma); in tpo_td043_power_on()
309 ddata->powered_on = 1; in tpo_td043_power_on()
313 static void tpo_td043_power_off(struct panel_drv_data *ddata) in tpo_td043_power_off() argument
315 if (!ddata->powered_on) in tpo_td043_power_off()
318 tpo_td043_write(ddata->spi, 3, in tpo_td043_power_off()
321 gpiod_set_value_cansleep(ddata->reset_gpio, 1); in tpo_td043_power_off()
326 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_STANDBY); in tpo_td043_power_off()
328 regulator_disable(ddata->vcc_reg); in tpo_td043_power_off()
330 ddata->powered_on = 0; in tpo_td043_power_off()
335 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_connect() local
336 struct omap_dss_device *in = ddata->in; in tpo_td043_connect()
346 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_disconnect() local
347 struct omap_dss_device *in = ddata->in; in tpo_td043_disconnect()
357 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_enable() local
358 struct omap_dss_device *in = ddata->in; in tpo_td043_enable()
367 if (ddata->data_lines) in tpo_td043_enable()
368 in->ops.dpi->set_data_lines(in, ddata->data_lines); in tpo_td043_enable()
369 in->ops.dpi->set_timings(in, &ddata->videomode); in tpo_td043_enable()
379 if (!ddata->spi_suspended) { in tpo_td043_enable()
380 r = tpo_td043_power_on(ddata); in tpo_td043_enable()
394 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_disable() local
395 struct omap_dss_device *in = ddata->in; in tpo_td043_disable()
402 if (!ddata->spi_suspended) in tpo_td043_disable()
403 tpo_td043_power_off(ddata); in tpo_td043_disable()
411 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_set_timings() local
412 struct omap_dss_device *in = ddata->in; in tpo_td043_set_timings()
414 ddata->videomode = *timings; in tpo_td043_set_timings()
423 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_get_timings() local
425 *timings = ddata->videomode; in tpo_td043_get_timings()
431 struct panel_drv_data *ddata = to_panel_data(dssdev); in tpo_td043_check_timings() local
432 struct omap_dss_device *in = ddata->in; in tpo_td043_check_timings()
456 struct panel_drv_data *ddata; in tpo_td043_probe() local
474 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL); in tpo_td043_probe()
475 if (ddata == NULL) in tpo_td043_probe()
478 dev_set_drvdata(&spi->dev, ddata); in tpo_td043_probe()
480 ddata->spi = spi; in tpo_td043_probe()
482 ddata->in = omapdss_of_find_source_for_first_ep(spi->dev.of_node); in tpo_td043_probe()
483 r = PTR_ERR_OR_ZERO(ddata->in); in tpo_td043_probe()
489 ddata->mode = TPO_R02_MODE_800x480; in tpo_td043_probe()
490 memcpy(ddata->gamma, tpo_td043_def_gamma, sizeof(ddata->gamma)); in tpo_td043_probe()
492 ddata->vcc_reg = devm_regulator_get(&spi->dev, "vcc"); in tpo_td043_probe()
493 if (IS_ERR(ddata->vcc_reg)) { in tpo_td043_probe()
498 ddata->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH); in tpo_td043_probe()
499 r = PTR_ERR_OR_ZERO(ddata->reset_gpio); in tpo_td043_probe()
505 gpiod_set_consumer_name(ddata->reset_gpio, "lcd reset"); in tpo_td043_probe()
513 ddata->videomode = tpo_td043_timings; in tpo_td043_probe()
515 dssdev = &ddata->dssdev; in tpo_td043_probe()
520 dssdev->panel.timings = ddata->videomode; in tpo_td043_probe()
535 omap_dss_put_device(ddata->in); in tpo_td043_probe()
541 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); in tpo_td043_remove() local
542 struct omap_dss_device *dssdev = &ddata->dssdev; in tpo_td043_remove()
543 struct omap_dss_device *in = ddata->in; in tpo_td043_remove()
545 dev_dbg(&ddata->spi->dev, "%s\n", __func__); in tpo_td043_remove()
560 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_spi_suspend() local
562 dev_dbg(dev, "tpo_td043_spi_suspend, tpo %p\n", ddata); in tpo_td043_spi_suspend()
564 ddata->power_on_resume = ddata->powered_on; in tpo_td043_spi_suspend()
565 tpo_td043_power_off(ddata); in tpo_td043_spi_suspend()
566 ddata->spi_suspended = 1; in tpo_td043_spi_suspend()
573 struct panel_drv_data *ddata = dev_get_drvdata(dev); in tpo_td043_spi_resume() local
578 if (ddata->power_on_resume) { in tpo_td043_spi_resume()
579 ret = tpo_td043_power_on(ddata); in tpo_td043_spi_resume()
583 ddata->spi_suspended = 0; in tpo_td043_spi_resume()