Lines Matching defs:spi

11 #include <linux/spi/spi.h>
58 struct spi_device *spi;
93 static int tpo_td043_write(struct spi_device *spi, u8 addr, u8 data)
110 r = spi_sync(spi, &m);
112 dev_warn(&spi->dev, "failed to write to LCD reg (%d)\n", r);
116 static void tpo_td043_write_gamma(struct spi_device *spi, u16 gamma[12])
123 tpo_td043_write(spi, 0x11, val);
127 tpo_td043_write(spi, 0x12, val);
131 tpo_td043_write(spi, 0x13, val);
135 tpo_td043_write(spi, 0x14 + i, gamma[i] & 0xff);
138 static int tpo_td043_write_mirror(struct spi_device *spi, bool h, bool v)
147 return tpo_td043_write(spi, 4, reg4);
155 return tpo_td043_write_mirror(ddata->spi, ddata->hmirror,
187 ret = tpo_td043_write_mirror(ddata->spi, ddata->hmirror, val);
218 tpo_td043_write(ddata->spi, 2, val);
256 tpo_td043_write_gamma(ddata->spi, ddata->gamma);
295 tpo_td043_write(ddata->spi, 2,
297 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_NORMAL);
298 tpo_td043_write(ddata->spi, 0x20, 0xf0);
299 tpo_td043_write(ddata->spi, 0x21, 0xf0);
300 tpo_td043_write_mirror(ddata->spi, ddata->hmirror,
302 tpo_td043_write_gamma(ddata->spi, ddata->gamma);
313 tpo_td043_write(ddata->spi, 3,
321 tpo_td043_write(ddata->spi, 3, TPO_R03_VAL_STANDBY);
449 static int tpo_td043_probe(struct spi_device *spi)
455 dev_dbg(&spi->dev, "%s\n", __func__);
457 if (!spi->dev.of_node)
460 spi->bits_per_word = 16;
461 spi->mode = SPI_MODE_0;
463 r = spi_setup(spi);
465 dev_err(&spi->dev, "spi_setup failed: %d\n", r);
469 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL);
473 dev_set_drvdata(&spi->dev, ddata);
475 ddata->spi = spi;
477 ddata->in = omapdss_of_find_source_for_first_ep(spi->dev.of_node);
480 dev_err(&spi->dev, "failed to find video source: %d\n", r);
487 ddata->vcc_reg = devm_regulator_get(&spi->dev, "vcc");
489 r = dev_err_probe(&spi->dev, PTR_ERR(ddata->vcc_reg),
494 ddata->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH);
497 dev_err(&spi->dev, "couldn't request reset GPIO\n");
503 r = sysfs_create_group(&spi->dev.kobj, &tpo_td043_attr_group);
505 dev_err(&spi->dev, "failed to create sysfs files\n");
512 dssdev->dev = &spi->dev;
520 dev_err(&spi->dev, "Failed to register panel\n");
527 sysfs_remove_group(&spi->dev.kobj, &tpo_td043_attr_group);
535 static void tpo_td043_remove(struct spi_device *spi)
537 struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
541 dev_dbg(&ddata->spi->dev, "%s\n", __func__);
550 sysfs_remove_group(&spi->dev.kobj, &tpo_td043_attr_group);
608 MODULE_ALIAS("spi:tpo,td043mtea1");