Lines Matching defs:spi
22 #include <linux/spi/spi.h>
68 struct spi_device *spi;
100 static int repaper_spi_transfer(struct spi_device *spi, u8 header,
138 ret = spi_sync_transfer(spi, tr, 2);
150 static int repaper_write_buf(struct spi_device *spi, u8 reg,
155 ret = repaper_spi_transfer(spi, 0x70, ®, NULL, 1);
159 return repaper_spi_transfer(spi, 0x72, buf, NULL, len);
162 static int repaper_write_val(struct spi_device *spi, u8 reg, u8 val)
164 return repaper_write_buf(spi, reg, &val, 1);
167 static int repaper_read_val(struct spi_device *spi, u8 reg)
172 ret = repaper_spi_transfer(spi, 0x70, ®, NULL, 1);
176 ret = repaper_spi_transfer(spi, 0x73, NULL, &val, 1);
181 static int repaper_read_id(struct spi_device *spi)
186 ret = repaper_spi_transfer(spi, 0x71, NULL, &id, 1);
191 static void repaper_spi_mosi_low(struct spi_device *spi)
195 spi_write(spi, buf, 1);
346 repaper_spi_mosi_low(epd->spi);
414 repaper_write_buf(epd->spi, 0x0a, epd->line_buffer,
418 repaper_write_val(epd->spi, 0x02, 0x07);
420 repaper_spi_mosi_low(epd->spi);
485 DRM_DEV_ERROR(&epd->spi->dev, "Failed to get temperature (%d)\n", ret);
642 repaper_spi_mosi_low(epd->spi);
655 struct spi_device *spi = epd->spi;
656 struct device *dev = &spi->dev;
671 repaper_spi_mosi_low(spi);
703 repaper_read_id(spi);
704 ret = repaper_read_id(spi);
715 repaper_write_val(spi, 0x02, 0x40);
717 ret = repaper_read_val(spi, 0x0f);
728 repaper_write_val(spi, 0x0b, 0x02);
730 repaper_write_buf(spi, 0x01, epd->channel_select, 8);
732 repaper_write_val(spi, 0x07, 0xd1);
734 repaper_write_val(spi, 0x08, 0x02);
736 repaper_write_val(spi, 0x09, 0xc2);
738 repaper_write_val(spi, 0x04, 0x03);
740 repaper_write_val(spi, 0x03, 0x01);
742 repaper_write_val(spi, 0x03, 0x00);
748 repaper_write_val(spi, 0x05, 0x01);
752 repaper_write_val(spi, 0x05, 0x03);
756 repaper_write_val(spi, 0x05, 0x0f);
760 ret = repaper_read_val(spi, 0x0f);
783 repaper_write_val(spi, 0x02, 0x04);
793 struct spi_device *spi = epd->spi;
827 repaper_write_val(spi, 0x0b, 0x00);
829 repaper_write_val(spi, 0x03, 0x01);
831 repaper_write_val(spi, 0x05, 0x03);
833 repaper_write_val(spi, 0x05, 0x01);
836 repaper_write_val(spi, 0x04, 0x80);
838 repaper_write_val(spi, 0x05, 0x00);
840 repaper_write_val(spi, 0x07, 0x01);
966 MODULE_DEVICE_TABLE(spi, repaper_id);
968 static int repaper_probe(struct spi_device *spi)
972 struct device *dev = &spi->dev;
985 spi_id = spi_get_device_id(spi);
1010 epd->spi = spi;
1144 spi_set_drvdata(spi, drm);
1146 DRM_DEBUG_DRIVER("SPI speed: %uMHz\n", spi->max_speed_hz / 1000000);
1153 static int repaper_remove(struct spi_device *spi)
1155 struct drm_device *drm = spi_get_drvdata(spi);
1163 static void repaper_shutdown(struct spi_device *spi)
1165 drm_atomic_helper_shutdown(spi_get_drvdata(spi));