Lines Matching defs:spi
21 #include <linux/spi/spi.h>
69 struct spi_device *spi;
101 static int repaper_spi_transfer(struct spi_device *spi, u8 header,
139 ret = spi_sync_transfer(spi, tr, 2);
151 static int repaper_write_buf(struct spi_device *spi, u8 reg,
156 ret = repaper_spi_transfer(spi, 0x70, ®, NULL, 1);
160 return repaper_spi_transfer(spi, 0x72, buf, NULL, len);
163 static int repaper_write_val(struct spi_device *spi, u8 reg, u8 val)
165 return repaper_write_buf(spi, reg, &val, 1);
168 static int repaper_read_val(struct spi_device *spi, u8 reg)
173 ret = repaper_spi_transfer(spi, 0x70, ®, NULL, 1);
177 ret = repaper_spi_transfer(spi, 0x73, NULL, &val, 1);
182 static int repaper_read_id(struct spi_device *spi)
187 ret = repaper_spi_transfer(spi, 0x71, NULL, &id, 1);
192 static void repaper_spi_mosi_low(struct spi_device *spi)
196 spi_write(spi, buf, 1);
347 repaper_spi_mosi_low(epd->spi);
415 repaper_write_buf(epd->spi, 0x0a, epd->line_buffer,
419 repaper_write_val(epd->spi, 0x02, 0x07);
421 repaper_spi_mosi_low(epd->spi);
486 DRM_DEV_ERROR(&epd->spi->dev, "Failed to get temperature (%d)\n", ret);
616 repaper_spi_mosi_low(epd->spi);
638 struct spi_device *spi = epd->spi;
639 struct device *dev = &spi->dev;
654 repaper_spi_mosi_low(spi);
686 repaper_read_id(spi);
687 ret = repaper_read_id(spi);
698 repaper_write_val(spi, 0x02, 0x40);
700 ret = repaper_read_val(spi, 0x0f);
711 repaper_write_val(spi, 0x0b, 0x02);
713 repaper_write_buf(spi, 0x01, epd->channel_select, 8);
715 repaper_write_val(spi, 0x07, 0xd1);
717 repaper_write_val(spi, 0x08, 0x02);
719 repaper_write_val(spi, 0x09, 0xc2);
721 repaper_write_val(spi, 0x04, 0x03);
723 repaper_write_val(spi, 0x03, 0x01);
725 repaper_write_val(spi, 0x03, 0x00);
731 repaper_write_val(spi, 0x05, 0x01);
735 repaper_write_val(spi, 0x05, 0x03);
739 repaper_write_val(spi, 0x05, 0x0f);
743 ret = repaper_read_val(spi, 0x0f);
766 repaper_write_val(spi, 0x02, 0x04);
776 struct spi_device *spi = epd->spi;
810 repaper_write_val(spi, 0x0b, 0x00);
812 repaper_write_val(spi, 0x03, 0x01);
814 repaper_write_val(spi, 0x05, 0x03);
816 repaper_write_val(spi, 0x05, 0x01);
819 repaper_write_val(spi, 0x04, 0x80);
821 repaper_write_val(spi, 0x05, 0x00);
823 repaper_write_val(spi, 0x07, 0x01);
935 MODULE_DEVICE_TABLE(spi, repaper_id);
937 static int repaper_probe(struct spi_device *spi)
941 struct device *dev = &spi->dev;
954 spi_id = spi_get_device_id(spi);
979 epd->spi = spi;
1113 spi_set_drvdata(spi, drm);
1115 DRM_DEBUG_DRIVER("SPI speed: %uMHz\n", spi->max_speed_hz / 1000000);
1122 static void repaper_remove(struct spi_device *spi)
1124 struct drm_device *drm = spi_get_drvdata(spi);
1130 static void repaper_shutdown(struct spi_device *spi)
1132 drm_atomic_helper_shutdown(spi_get_drvdata(spi));