Lines Matching refs:spi
71 struct spi_device *spi = (struct spi_device *)context; in firmware_load() local
72 struct fpga_data *data = spi_get_drvdata(spi); in firmware_load()
83 dev_err(&spi->dev, "Cannot load firmware, aborting\n"); in firmware_load()
88 dev_err(&spi->dev, "Error: Firmware size is 0!\n"); in firmware_load()
99 ret = spi_write_then_read(spi, txbuf, 8, rxbuf, rx_len); in firmware_load()
101 dev_dbg(&spi->dev, "FPGA JTAG ID=%08x\n", jedec_id); in firmware_load()
108 dev_err(&spi->dev, in firmware_load()
114 dev_info(&spi->dev, "FPGA %s detected\n", ecp3_dev[i].name); in firmware_load()
117 ret = spi_write_then_read(spi, txbuf, 8, rxbuf, rx_len); in firmware_load()
119 dev_dbg(&spi->dev, "FPGA Status=%08x\n", status); in firmware_load()
123 dev_err(&spi->dev, "Error: Can't allocate memory!\n"); in firmware_load()
137 ret = spi_write(spi, txbuf, 4); in firmware_load()
140 ret = spi_write(spi, txbuf, 4); in firmware_load()
143 ret = spi_write(spi, txbuf, 4); in firmware_load()
150 ret = spi_write_then_read(spi, txbuf, 8, rxbuf, rx_len); in firmware_load()
159 dev_err(&spi->dev, in firmware_load()
166 dev_info(&spi->dev, "Configuring the FPGA...\n"); in firmware_load()
167 ret = spi_write(spi, buffer, fw->size + 8); in firmware_load()
170 ret = spi_write(spi, txbuf, 4); in firmware_load()
173 ret = spi_write_then_read(spi, txbuf, 8, rxbuf, rx_len); in firmware_load()
175 dev_dbg(&spi->dev, "FPGA Status=%08x\n", status); in firmware_load()
179 dev_info(&spi->dev, "FPGA successfully configured!\n"); in firmware_load()
181 dev_info(&spi->dev, "FPGA not configured (DONE not set)\n"); in firmware_load()
193 static int lattice_ecp3_probe(struct spi_device *spi) in lattice_ecp3_probe() argument
198 data = devm_kzalloc(&spi->dev, sizeof(*data), GFP_KERNEL); in lattice_ecp3_probe()
200 dev_err(&spi->dev, "Memory allocation for fpga_data failed\n"); in lattice_ecp3_probe()
203 spi_set_drvdata(spi, data); in lattice_ecp3_probe()
207 FIRMWARE_NAME, &spi->dev, in lattice_ecp3_probe()
208 GFP_KERNEL, spi, firmware_load); in lattice_ecp3_probe()
210 dev_err(&spi->dev, "Firmware loading failed with %d!\n", err); in lattice_ecp3_probe()
214 dev_info(&spi->dev, "FPGA bitstream configuration driver registered\n"); in lattice_ecp3_probe()
219 static int lattice_ecp3_remove(struct spi_device *spi) in lattice_ecp3_remove() argument
221 struct fpga_data *data = spi_get_drvdata(spi); in lattice_ecp3_remove()
233 MODULE_DEVICE_TABLE(spi, lattice_ecp3_id);