Lines Matching +full:spi +full:- +full:3 +full:wire

1 // SPDX-License-Identifier: GPL-2.0-only
3 * SPI testing utility (using spidev driver)
8 * Cross-compile with cross-gcc -I/path/to/cross-kernel/include
23 #include <linux/spi/spidev.h>
66 while (length-- > 0) { in hex_dump()
86 * Unescape - process hexadecimal escape character
87 * converts shell input "\x23" -> 0x23
143 pabort("can't send spi message"); in transfer()
166 printf("Usage: %s [-DsbdlHOLC3vpNR24SI]\n", prog); in print_usage()
167 puts(" -D --device device to use (default /dev/spidev1.1)\n" in print_usage()
168 " -s --speed max speed (Hz)\n" in print_usage()
169 " -d --delay delay (usec)\n" in print_usage()
170 " -b --bpw bits per word\n" in print_usage()
171 " -i --input input data from a file (e.g. \"test.bin\")\n" in print_usage()
172 " -o --output output data to a file (e.g. \"results.bin\")\n" in print_usage()
173 " -l --loop loopback\n" in print_usage()
174 " -H --cpha clock phase\n" in print_usage()
175 " -O --cpol clock polarity\n" in print_usage()
176 " -L --lsb least significant bit first\n" in print_usage()
177 " -C --cs-high chip select active high\n" in print_usage()
178 " -3 --3wire SI/SO signals shared\n" in print_usage()
179 " -v --verbose Verbose (show tx buffer)\n" in print_usage()
180 " -p Send data (e.g. \"1234\\xde\\xad\")\n" in print_usage()
181 " -N --no-cs no chip select\n" in print_usage()
182 " -R --ready slave pulls low to pause\n" in print_usage()
183 " -2 --dual dual transfer\n" in print_usage()
184 " -4 --quad quad transfer\n" in print_usage()
185 " -S --size transfer size\n" in print_usage()
186 " -I --iter iterations\n"); in print_usage()
204 { "cs-high", 0, 0, 'C' }, in parse_opts()
205 { "3wire", 0, 0, '3' }, in parse_opts()
206 { "no-cs", 0, 0, 'N' }, in parse_opts()
220 if (c == -1) in parse_opts()
257 case '3': in parse_opts()
325 if (stat(filename, &sb) == -1) in transfer_file()
358 rx_rate = ((_read_count - prev_read_count) * 8) / (interval*1000.0); in show_transfer_rate()
359 tx_rate = ((_write_count - prev_write_count) * 8) / (interval*1000.0); in show_transfer_rate()
413 * spi mode in main()
416 if (ret == -1) in main()
417 pabort("can't set spi mode"); in main()
420 if (ret == -1) in main()
421 pabort("can't get spi mode"); in main()
427 if (ret == -1) in main()
431 if (ret == -1) in main()
438 if (ret == -1) in main()
442 if (ret == -1) in main()
445 printf("spi mode: 0x%x\n", mode); in main()
450 pabort("only one of -p and --input may be selected"); in main()
461 while (iterations-- > 0) { in main()
467 if (current.tv_sec - last_stat.tv_sec > interval) { in main()