Lines Matching +full:sysconfig +full:- +full:ecp5
1 // SPDX-License-Identifier: GPL-2.0
3 * Lattice FPGA programming over slave SPI sysCONFIG interface.
9 #include "lattice-sysconfig.h"
17 struct spi_device *spi = to_spi_device(priv->dev); in sysconfig_spi_cmd_transfer()
25 struct spi_device *spi = to_spi_device(priv->dev); in sysconfig_spi_bitstream_burst_init()
36 return -ENOMEM; in sysconfig_spi_bitstream_burst_init()
48 spi_bus_lock(spi->controller); in sysconfig_spi_bitstream_burst_init()
52 spi_bus_unlock(spi->controller); in sysconfig_spi_bitstream_burst_init()
62 struct spi_device *spi = to_spi_device(priv->dev); in sysconfig_spi_bitstream_burst_write()
77 struct spi_device *spi = to_spi_device(priv->dev); in sysconfig_spi_bitstream_burst_complete()
80 spi_bus_unlock(spi->controller); in sysconfig_spi_bitstream_burst_complete()
89 struct device *dev = &spi->dev; in sysconfig_spi_probe()
95 return -ENOMEM; in sysconfig_spi_probe()
101 return -ENODEV; in sysconfig_spi_probe()
103 spi_max_speed = (const u32 *)dev_id->driver_data; in sysconfig_spi_probe()
107 return -EINVAL; in sysconfig_spi_probe()
109 if (spi->max_speed_hz > *spi_max_speed) { in sysconfig_spi_probe()
111 spi->max_speed_hz, *spi_max_speed); in sysconfig_spi_probe()
112 return -EINVAL; in sysconfig_spi_probe()
115 priv->dev = dev; in sysconfig_spi_probe()
116 priv->command_transfer = sysconfig_spi_cmd_transfer; in sysconfig_spi_probe()
117 priv->bitstream_burst_write_init = sysconfig_spi_bitstream_burst_init; in sysconfig_spi_probe()
118 priv->bitstream_burst_write = sysconfig_spi_bitstream_burst_write; in sysconfig_spi_probe()
119 priv->bitstream_burst_write_complete = sysconfig_spi_bitstream_burst_complete; in sysconfig_spi_probe()
126 .name = "sysconfig-ecp5",
135 .compatible = "lattice,sysconfig-ecp5",
152 MODULE_DESCRIPTION("Lattice sysCONFIG Slave SPI FPGA Manager");