Lines Matching +full:spi +full:- +full:tx +full:- +full:delay +full:- +full:us

1 /*drivers/spi/spi-rockchip-test.c -spi test driver
10 /* how to test spi
24 #include <linux/delay.h>
26 #include <linux/dma-mapping.h>
30 #include <linux/spi/spi.h>
36 #include <linux/platform_data/spi-rockchip.h>
45 struct spi_device *spi; member
57 int ret = -1; in spi_write_slt()
58 struct spi_device *spi = NULL; in spi_write_slt() local
72 spi = g_spi_test_data[id]->spi; in spi_write_slt()
77 ret = spi_sync(spi, &m); in spi_write_slt()
86 int ret = -1; in spi_read_slt()
87 struct spi_device *spi = NULL; in spi_read_slt() local
101 spi = g_spi_test_data[id]->spi; in spi_read_slt()
106 ret = spi_sync(spi, &m); in spi_read_slt()
116 int ret = -1; in spi_write_then_read_slt()
117 struct spi_device *spi = NULL; in spi_write_then_read_slt() local
125 spi = g_spi_test_data[id]->spi; in spi_write_then_read_slt()
128 ret = spi_write_then_read(spi, txbuf, n_tx, rxbuf, n_rx); in spi_write_then_read_slt()
135 int ret = -1; in spi_write_and_read_slt()
136 struct spi_device *spi = NULL; in spi_write_and_read_slt() local
150 spi = g_spi_test_data[id]->spi; in spi_write_and_read_slt()
155 return spi_sync(spi, &m); in spi_write_and_read_slt()
166 unsigned long us = 0, bytes = 0; in spi_test_write() local
174 return -EFAULT; in spi_test_write()
189 tmp[n - 1] = 0; in spi_test_write()
193 struct spi_device *spi = NULL; in spi_test_write() local
204 spi = g_spi_test_data[id]->spi; in spi_test_write()
206 spi->max_speed_hz = val; in spi_test_write()
214 printk("spi write alloc buf size %d fail\n", size); in spi_test_write()
226 us = ktime_to_us(cost_time); in spi_test_write()
229 bytes = bytes * 1000 / us; in spi_test_write()
230 printk("spi write %d*%d cost %ldus speed:%ldKB/S\n", size, times, us, bytes); in spi_test_write()
240 printk("spi read alloc buf size %d fail\n", size); in spi_test_write()
249 us = ktime_to_us(cost_time); in spi_test_write()
252 bytes = bytes * 1000 / us; in spi_test_write()
253 printk("spi read %d*%d cost %ldus speed:%ldKB/S\n", size, times, us, bytes); in spi_test_write()
254 print_hex_dump(KERN_ERR, "SPI RX: ", in spi_test_write()
270 printk("spi tx alloc buf size %d fail\n", size); in spi_test_write()
277 printk("spi rx alloc buf size %d fail\n", size); in spi_test_write()
288 printk("spi loop test fail\n"); in spi_test_write()
295 us = ktime_to_us(cost_time); in spi_test_write()
298 bytes = bytes * 1000 / us; in spi_test_write()
299 printk("spi loop %d*%d cost %ldus speed:%ldKB/S\n", size, times, us, bytes); in spi_test_write()
335 static int rockchip_spi_test_probe(struct spi_device *spi) in rockchip_spi_test_probe() argument
341 if (!spi) in rockchip_spi_test_probe()
342 return -ENOMEM; in rockchip_spi_test_probe()
346 dev_err(&spi->dev, "ERR: no memory for spi_test_data\n"); in rockchip_spi_test_probe()
347 return -ENOMEM; in rockchip_spi_test_probe()
349 spi->bits_per_word = 8; in rockchip_spi_test_probe()
351 spi_test_data->spi = spi; in rockchip_spi_test_probe()
352 spi_test_data->dev = &spi->dev; in rockchip_spi_test_probe()
354 ret = spi_setup(spi); in rockchip_spi_test_probe()
356 dev_err(spi_test_data->dev, "ERR: fail to setup spi\n"); in rockchip_spi_test_probe()
357 return -1; in rockchip_spi_test_probe()
360 if (device_property_read_u32(&spi->dev, "id", &id)) { in rockchip_spi_test_probe()
361 dev_warn(&spi->dev, "fail to get id, default set 0\n"); in rockchip_spi_test_probe()
367 …=%d,cs=%d,mode=%d,speed=%d\n", __func__, spi->modalias, spi->master->bus_num, spi->chip_select, sp… in rockchip_spi_test_probe()
372 static int rockchip_spi_test_remove(struct spi_device *spi) in rockchip_spi_test_remove() argument
423 MODULE_AUTHOR("Luo Wei <lw@rock-chips.com>");
424 MODULE_AUTHOR("Huibin Hong <hhb@rock-chips.com>");
425 MODULE_DESCRIPTION("ROCKCHIP SPI TEST Driver");
427 MODULE_ALIAS("spi:spi_test");