Lines Matching refs:spi
94 struct spi_device *spi; member
112 static inline int dataflash_status(struct spi_device *spi) in dataflash_status() argument
117 return spi_w8r8(spi, OP_READ_STATUS); in dataflash_status()
124 static int dataflash_waitready(struct spi_device *spi) in dataflash_waitready() argument
129 status = dataflash_status(spi); in dataflash_waitready()
132 dev_name(&spi->dev), status); in dataflash_waitready()
151 struct spi_device *spi = priv->spi; in dataflash_erase() local
159 dev_name(&spi->dev), (long long)instr->addr, in dataflash_erase()
198 status = spi_sync(spi, &msg); in dataflash_erase()
199 (void) dataflash_waitready(spi); in dataflash_erase()
203 dev_name(&spi->dev), pageaddr, status); in dataflash_erase()
244 pr_debug("%s: read 0x%x..0x%x\n", dev_name(&priv->spi->dev), in dataflash_read()
278 status = spi_sync(priv->spi, &msg); in dataflash_read()
286 dev_name(&priv->spi->dev), in dataflash_read()
303 struct spi_device *spi = priv->spi; in dataflash_write() local
313 dev_name(&spi->dev), (unsigned)to, (unsigned)(to + len)); in dataflash_write()
361 status = spi_sync(spi, &msg); in dataflash_write()
364 dev_name(&spi->dev), addr, status); in dataflash_write()
366 (void) dataflash_waitready(priv->spi); in dataflash_write()
382 status = spi_sync(spi, &msg); in dataflash_write()
386 dev_name(&spi->dev), addr, writelen, status); in dataflash_write()
388 (void) dataflash_waitready(priv->spi); in dataflash_write()
403 status = spi_sync(spi, &msg); in dataflash_write()
406 dev_name(&spi->dev), addr, status); in dataflash_write()
408 status = dataflash_waitready(priv->spi); in dataflash_write()
413 dev_name(&spi->dev), pageaddr, status); in dataflash_write()
456 static ssize_t otp_read(struct spi_device *spi, unsigned base, in otp_read() argument
489 dataflash_waitready(spi); in otp_read()
491 status = spi_sync(spi, &m); in otp_read()
509 status = otp_read(priv->spi, 64, buf, from, len); in dataflash_read_fact_otp()
526 status = otp_read(priv->spi, 0, buf, from, len); in dataflash_read_user_otp()
578 dataflash_waitready(priv->spi); in dataflash_write_user_otp()
579 status = spi_sync(priv->spi, &m); in dataflash_write_user_otp()
621 static int add_dataflash_otp(struct spi_device *spi, char *name, int nr_pages, in add_dataflash_otp() argument
627 struct flash_platform_data *pdata = dev_get_platdata(&spi->dev); in add_dataflash_otp()
636 priv->spi = spi; in add_dataflash_otp()
642 spi->master->bus_num, spi->chip_select, in add_dataflash_otp()
658 device->dev.parent = &spi->dev; in add_dataflash_otp()
663 dev_info(&spi->dev, "%s (%lld KBytes) pagesize %d bytes%s\n", in add_dataflash_otp()
666 spi_set_drvdata(spi, priv); in add_dataflash_otp()
668 ppdata.of_node = spi->dev.of_node; in add_dataflash_otp()
680 static inline int add_dataflash(struct spi_device *spi, char *name, in add_dataflash() argument
683 return add_dataflash_otp(spi, name, nr_pages, pagesize, in add_dataflash()
740 static struct flash_info *jedec_probe(struct spi_device *spi) in jedec_probe() argument
757 tmp = spi_write_then_read(spi, &code, 1, id, 3); in jedec_probe()
760 dev_name(&spi->dev), tmp); in jedec_probe()
777 dev_name(&spi->dev), in jedec_probe()
782 status = dataflash_status(spi); in jedec_probe()
785 dev_name(&spi->dev), status); in jedec_probe()
805 dev_warn(&spi->dev, "JEDEC id %06x not handled\n", jedec); in jedec_probe()
823 static int dataflash_probe(struct spi_device *spi) in dataflash_probe() argument
835 info = jedec_probe(spi); in dataflash_probe()
839 return add_dataflash_otp(spi, info->name, info->nr_pages, in dataflash_probe()
847 status = dataflash_status(spi); in dataflash_probe()
850 dev_name(&spi->dev), status); in dataflash_probe()
862 status = add_dataflash(spi, "AT45DB011B", 512, 264, 9); in dataflash_probe()
865 status = add_dataflash(spi, "AT45DB021B", 1024, 264, 9); in dataflash_probe()
868 status = add_dataflash(spi, "AT45DB041x", 2048, 264, 9); in dataflash_probe()
871 status = add_dataflash(spi, "AT45DB081B", 4096, 264, 9); in dataflash_probe()
874 status = add_dataflash(spi, "AT45DB161x", 4096, 528, 10); in dataflash_probe()
877 status = add_dataflash(spi, "AT45DB321x", 8192, 528, 10); in dataflash_probe()
881 status = add_dataflash(spi, "AT45DB642x", 8192, 1056, 11); in dataflash_probe()
885 dev_info(&spi->dev, "unsupported device (%x)\n", in dataflash_probe()
891 pr_debug("%s: add_dataflash --> %d\n", dev_name(&spi->dev), in dataflash_probe()
897 static int dataflash_remove(struct spi_device *spi) in dataflash_remove() argument
899 struct dataflash *flash = spi_get_drvdata(spi); in dataflash_remove()
902 pr_debug("%s: remove\n", dev_name(&spi->dev)); in dataflash_remove()