Skip to content

Commit c87e147

Browse files
committed
Extend FPGA-Test-Shield SPI master test
Increase coverage of the SPI master FPGA test: - check supported frequencies (based on the device capabilities), - add support for manual CS handling and test cases, - add test cases for rx/tx buffers with different length (based on the device capabilities), - add test case for one symbol transmission, - add test cases for different symbol sizes (based on the device capabilities).
1 parent 7202b77 commit c87e147

File tree

2 files changed

+205
-45
lines changed

2 files changed

+205
-45
lines changed

TESTS/mbed_hal_fpga_ci_test_shield/spi/main.cpp

Lines changed: 195 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,31 @@
3535

3636
using namespace utest::v1;
3737

38-
3938
typedef enum {
4039
TRANSFER_SPI_MASTER_WRITE_SYNC,
4140
TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC,
4241
TRANSFER_SPI_MASTER_TRANSFER_ASYNC
4342
} transfer_type_t;
4443

45-
#define FREQ_500_KHZ 500000
46-
#define FREQ_1_MHZ 1000000
47-
#define FREQ_2_MHZ 2000000
44+
typedef enum {
45+
BUFFERS_COMMON, // common case rx/tx buffers are defined and have the same size
46+
BUFFERS_TX_GT_RX, // tx buffer length is greater than rx buffer length
47+
BUFFERS_TX_LT_RX, // tx buffer length is less than rx buffer length
48+
BUFFERS_TX_ONE_SYM, // one symbol only is transmitted in both directions
49+
} test_buffers_t;
50+
51+
#define FREQ_200_KHZ (200000ull)
52+
#define FREQ_500_KHZ (500000)
53+
#define FREQ_1_MHZ (1000000)
54+
#define FREQ_2_MHZ (2000000)
55+
#define FREQ_10_MHZ (10000000ull)
4856
#define FREQ_MIN ((uint32_t)0)
4957
#define FREQ_MAX ((uint32_t)-1)
58+
#define FILL_SYM (0xF5F5F5F5)
59+
#define DUMMY_SYM (0xD5D5D5D5)
60+
61+
#define SS_ASSERT (0)
62+
#define SS_DEASSERT (!(SS_ASSERT))
5063

5164
#define TEST_CAPABILITY_BIT(MASK, CAP) ((1 << CAP) & (MASK))
5265

@@ -67,75 +80,166 @@ void spi_async_handler()
6780
}
6881
#endif
6982

83+
/* Function finds SS pin for manual SS handling. */
84+
static PinName find_ss_pin(PinName mosi, PinName miso, PinName sclk)
85+
{
86+
const PinList *ff_pins_list = pinmap_ff_default_pins();
87+
const PinList *restricted_pins_list = pinmap_restricted_pins();
88+
uint32_t cs_pin_idx;
89+
90+
for (cs_pin_idx = 0; cs_pin_idx < ff_pins_list->count; cs_pin_idx++) {
91+
if (ff_pins_list->pins[cs_pin_idx] == mosi ||
92+
ff_pins_list->pins[cs_pin_idx] == miso ||
93+
ff_pins_list->pins[cs_pin_idx] == sclk) {
94+
continue;
95+
}
96+
97+
bool restricted_pin = false;
98+
for (uint32_t i = 0; i < restricted_pins_list->count ; i++) {
99+
if (ff_pins_list->pins[cs_pin_idx] == restricted_pins_list->pins[i]) {
100+
restricted_pin = true;
101+
}
102+
}
103+
104+
if (restricted_pin) {
105+
continue;
106+
} else {
107+
break;
108+
}
109+
}
110+
111+
PinName ssel = (cs_pin_idx == ff_pins_list->count ? NC : ff_pins_list->pins[cs_pin_idx]);
112+
113+
TEST_ASSERT_MESSAGE(ssel != NC, "Unable to find pin for Chip Select");
114+
115+
return ssel;
116+
}
117+
118+
/* Function handles ss line if ss is specified. */
119+
static void handle_ss(DigitalOut *ss, bool select)
120+
{
121+
if (ss) {
122+
if (select) {
123+
*ss = SS_ASSERT;
124+
} else {
125+
*ss = SS_DEASSERT;
126+
}
127+
}
128+
}
129+
70130
/* Auxiliary function to check platform capabilities against test case. */
71-
static bool check_capabilities(const spi_capabilities_t *capabilities, SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency)
131+
static bool check_capabilities(const spi_capabilities_t *capabilities, SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, test_buffers_t test_buffers)
72132
{
73133
// Symbol size
74134
if (!TEST_CAPABILITY_BIT(capabilities->word_length, (sym_size - 1))) {
75-
utest_printf("\n<Specified symbol size is not supported on this platform> skipped ");
135+
utest_printf("\n<Specified symbol size is not supported on this platform> skipped. ");
76136
return false;
77137
}
78138

79139
// SPI clock mode
80140
if (!TEST_CAPABILITY_BIT(capabilities->clk_modes, spi_mode)) {
81-
utest_printf("\n<Specified spi clock mode is not supported on this platform> skipped");
141+
utest_printf("\n<Specified spi clock mode is not supported on this platform> skipped. ");
82142
return false;
83143
}
84144

85145
// Frequency
86146
if (frequency != FREQ_MAX && frequency != FREQ_MIN && frequency < capabilities->minimum_frequency && frequency > capabilities->maximum_frequency) {
87-
utest_printf("\n<Specified frequency is not supported on this platform> skipped ");
147+
utest_printf("\n<Specified frequency is not supported on this platform> skipped. ");
88148
return false;
89149
}
90150

91151
// Async mode
92152
if (transfer_type == TRANSFER_SPI_MASTER_TRANSFER_ASYNC && capabilities->async_mode == false) {
93-
utest_printf("\n<Async mode is not supported on this platform> skipped ");
153+
utest_printf("\n<Async mode is not supported on this platform> skipped. ");
154+
return false;
155+
}
156+
157+
if ((test_buffers == BUFFERS_TX_GT_RX || test_buffers == BUFFERS_TX_LT_RX) && capabilities->tx_rx_buffers_equal_length == true) {
158+
utest_printf("\n<RX length != TX length is not supported on this platform> skipped. ");
94159
return false;
95160
}
96161

97162
return true;
98163
}
99164

100-
void fpga_spi_test_init_free(PinName mosi, PinName miso, PinName sclk, PinName ssel)
165+
void fpga_spi_test_init_free(PinName mosi, PinName miso, PinName sclk)
101166
{
102-
spi_init(&spi, mosi, miso, sclk, ssel);
103-
spi_format(&spi, 8, SPITester::Mode0, 0);
167+
spi_init(&spi, mosi, miso, sclk, NC);
168+
spi_format(&spi, 8, 0, 0);
104169
spi_frequency(&spi, 1000000);
105170
spi_free(&spi);
106171
}
107172

108-
void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel, SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, bool init_direct)
173+
void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel, SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, test_buffers_t test_buffers, bool auto_ss, bool init_direct)
109174
{
110175
spi_capabilities_t capabilities;
111-
176+
uint32_t freq = frequency;
177+
uint32_t tx_cnt = TRANSFER_COUNT;
178+
uint32_t rx_cnt = TRANSFER_COUNT;
179+
uint8_t fill_symbol = (uint8_t)FILL_SYM;
180+
PinName ss_pin = (auto_ss ? ssel : NC);
181+
DigitalOut *ss = NULL;
112182

113183
spi_get_capabilities(ssel, false, &capabilities);
114184

115-
if (check_capabilities(&capabilities, spi_mode, sym_size, transfer_type, frequency) == false) {
185+
if (check_capabilities(&capabilities, spi_mode, sym_size, transfer_type, frequency, test_buffers) == false) {
116186
return;
117187
}
118188

119189
uint32_t sym_mask = ((1 << sym_size) - 1);
120190

191+
switch (frequency) {
192+
case (FREQ_MIN):
193+
freq = capabilities.minimum_frequency;
194+
break;
195+
case (FREQ_MAX):
196+
freq = capabilities.maximum_frequency;
197+
break;
198+
default:
199+
break;
200+
}
201+
202+
switch (test_buffers) {
203+
case (BUFFERS_COMMON):
204+
// nothing to change
205+
break;
206+
case (BUFFERS_TX_GT_RX):
207+
rx_cnt /= 2;
208+
break;
209+
case (BUFFERS_TX_LT_RX):
210+
tx_cnt /= 2;
211+
break;
212+
case (BUFFERS_TX_ONE_SYM):
213+
tx_cnt = 1;
214+
rx_cnt = 1;
215+
break;
216+
217+
default:
218+
break;
219+
}
220+
121221
// Remap pins for test
122222
tester.reset();
123223
tester.pin_map_set(mosi, MbedTester::LogicalPinSPIMosi);
124224
tester.pin_map_set(miso, MbedTester::LogicalPinSPIMiso);
125225
tester.pin_map_set(sclk, MbedTester::LogicalPinSPISclk);
126226
tester.pin_map_set(ssel, MbedTester::LogicalPinSPISsel);
127227

128-
// Initialize mbed SPI pins
228+
// Manually handle SS pin
229+
if (!auto_ss) {
230+
ss = new DigitalOut(ssel);
231+
*ss = SS_DEASSERT;
232+
}
129233

130234
if (init_direct) {
131-
const spi_pinmap_t pinmap = get_spi_pinmap(mosi, miso, sclk, ssel);
235+
const spi_pinmap_t pinmap = get_spi_pinmap(mosi, miso, sclk, ss_pin);
132236
spi_init_direct(&spi, &pinmap);
133237
} else {
134-
spi_init(&spi, mosi, miso, sclk, ssel);
238+
spi_init(&spi, mosi, miso, sclk, ss_pin);
135239
}
136240

137241
spi_format(&spi, sym_size, spi_mode, 0);
138-
spi_frequency(&spi, frequency);
242+
spi_frequency(&spi, freq);
139243

140244
// Configure spi_slave module
141245
tester.set_mode(spi_mode);
@@ -147,34 +251,63 @@ void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel
147251
tester.select_peripheral(SPITester::PeripheralSPI);
148252

149253
uint32_t checksum = 0;
254+
uint32_t sym_count = TRANSFER_COUNT;
150255
int result = 0;
151256
uint8_t tx_buf[TRANSFER_COUNT] = {0};
152257
uint8_t rx_buf[TRANSFER_COUNT] = {0};
153258

154259
// Send and receive test data
155260
switch (transfer_type) {
156261
case TRANSFER_SPI_MASTER_WRITE_SYNC:
262+
handle_ss(ss, true);
157263
for (int i = 0; i < TRANSFER_COUNT; i++) {
158264
uint32_t data = spi_master_write(&spi, (0 - i) & sym_mask);
159265
TEST_ASSERT_EQUAL(i & sym_mask, data);
160-
161266
checksum += (0 - i) & sym_mask;
162267
}
268+
handle_ss(ss, false);
163269
break;
164270

165271
case TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC:
166272
for (int i = 0; i < TRANSFER_COUNT; i++) {
167273
tx_buf[i] = (0 - i) & sym_mask;
168-
checksum += (0 - i) & sym_mask;
169-
rx_buf[i] = 0xAA;
274+
rx_buf[i] = 0xFF;
275+
276+
switch (test_buffers) {
277+
case (BUFFERS_COMMON):
278+
case (BUFFERS_TX_GT_RX):
279+
checksum += ((0 - i) & sym_mask);
280+
break;
281+
case (BUFFERS_TX_LT_RX):
282+
if (i < tx_cnt) {
283+
checksum += ((0 - i) & sym_mask);
284+
} else {
285+
checksum += (fill_symbol & sym_mask);
286+
}
287+
break;
288+
case (BUFFERS_TX_ONE_SYM):
289+
tx_buf[0] = 0xAA;
290+
checksum = 0xAA;
291+
sym_count = 1;
292+
break;
293+
default:
294+
break;
295+
}
170296
}
171297

172-
result = spi_master_block_write(&spi, (const char *)tx_buf, TRANSFER_COUNT, (char *)rx_buf, TRANSFER_COUNT, 0xF5);
298+
handle_ss(ss, true);
299+
result = spi_master_block_write(&spi, (const char *)tx_buf, tx_cnt, (char *)rx_buf, rx_cnt, 0xF5);
300+
handle_ss(ss, false);
173301

174-
for (int i = 0; i < TRANSFER_COUNT; i++) {
302+
for (int i = 0; i < rx_cnt; i++) {
175303
TEST_ASSERT_EQUAL(i & sym_mask, rx_buf[i]);
176304
}
177-
TEST_ASSERT_EQUAL(TRANSFER_COUNT, result);
305+
306+
for (int i = rx_cnt; i < TRANSFER_COUNT; i++) {
307+
TEST_ASSERT_EQUAL(0xFF, rx_buf[i]);
308+
}
309+
310+
TEST_ASSERT_EQUAL(sym_count, result);
178311
break;
179312

180313
#if DEVICE_SPI_ASYNCH
@@ -187,58 +320,76 @@ void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel
187320

188321
async_trasfer_done = false;
189322

323+
handle_ss(ss, true);
190324
spi_master_transfer(&spi, tx_buf, TRANSFER_COUNT, rx_buf, TRANSFER_COUNT, 8, (uint32_t)spi_async_handler, SPI_EVENT_COMPLETE, DMA_USAGE_NEVER);
325+
191326
while (!async_trasfer_done);
327+
handle_ss(ss, false);
192328

193329
for (int i = 0; i < TRANSFER_COUNT; i++) {
194330
TEST_ASSERT_EQUAL(i & sym_mask, rx_buf[i]);
195331
}
196332

197333
break;
198334
#endif
199-
200335
default:
201336
TEST_ASSERT_MESSAGE(0, "Unsupported transfer type.");
202337
break;
203338

204339
}
205340

206341
// Verify that the transfer was successful
207-
TEST_ASSERT_EQUAL(TRANSFER_COUNT, tester.get_transfer_count());
342+
TEST_ASSERT_EQUAL(sym_count, tester.get_transfer_count());
208343
TEST_ASSERT_EQUAL(checksum, tester.get_receive_checksum());
209344

210345
spi_free(&spi);
211346
tester.reset();
212347
}
213348

214-
template<SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, bool init_direct>
349+
template<SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, test_buffers_t test_buffers, bool auto_ss, bool init_direct>
215350
void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel)
216351
{
217-
fpga_spi_test_common(mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, init_direct);
352+
fpga_spi_test_common(mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, test_buffers, auto_ss, init_direct);
353+
}
354+
355+
template<SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, test_buffers_t test_buffers, bool auto_ss, bool init_direct>
356+
void fpga_spi_test_common_no_ss(PinName mosi, PinName miso, PinName sclk)
357+
{
358+
PinName ssel = find_ss_pin(mosi, miso, sclk);
359+
360+
fpga_spi_test_common(mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, test_buffers, auto_ss, init_direct);
218361
}
219362

220363
Case cases[] = {
221364
// This will be run for all pins
222-
Case("SPI - init/free test all pins", all_ports<SPIPort, DefaultFormFactor, fpga_spi_test_init_free>),
365+
Case("SPI - init/free test all pins", all_ports<SPINoCSPort, DefaultFormFactor, fpga_spi_test_init_free>),
223366

224367
// This will be run for all peripherals
225-
Case("SPI - basic test", all_peripherals<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, false> >),
226-
Case("SPI - basic test (direct init)", all_peripherals<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, true> >),
368+
Case("SPI - basic test", all_peripherals<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
369+
Case("SPI - basic test (direct init)", all_peripherals<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, true> >),
227370

228371
// This will be run for single pin configuration
229-
Case("SPI - mode testing (MODE_1)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode1, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, false> >),
230-
Case("SPI - mode testing (MODE_2)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode2, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, false> >),
231-
Case("SPI - mode testing (MODE_3)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode3, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, false> >),
232-
233-
Case("SPI - symbol size testing (16)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 16, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, false> >),
234-
235-
Case("SPI - frequency testing (500 kHz)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_500_KHZ, false> >),
236-
Case("SPI - frequency testing (2 MHz)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_2_MHZ, false> >),
237-
238-
Case("SPI - block write", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, false> >),
239-
372+
Case("SPI - mode testing (MODE_1)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode1, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
373+
Case("SPI - mode testing (MODE_2)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode2, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
374+
Case("SPI - mode testing (MODE_3)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode3, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
375+
Case("SPI - symbol size testing (4)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 4, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
376+
Case("SPI - symbol size testing (12)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 12, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
377+
Case("SPI - symbol size testing (16)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 16, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
378+
Case("SPI - symbol size testing (24)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 24, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
379+
Case("SPI - symbol size testing (32)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 32, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
380+
Case("SPI - buffers tx > rx", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_TX_GT_RX, false, false> >),
381+
Case("SPI - buffers tx < rx", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_TX_LT_RX, false, false> >),
382+
Case("SPI - frequency testing (500 kHz)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_500_KHZ, BUFFERS_COMMON, false, false> >),
383+
Case("SPI - frequency testing (2 MHz)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_2_MHZ, BUFFERS_COMMON, false, false> >),
384+
Case("SPI - frequency testing (capabilities min)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_MIN, BUFFERS_COMMON, false, false> >),
385+
Case("SPI - frequency testing (capabilities max)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_MAX, BUFFERS_COMMON, false, false> >),
386+
Case("SPI - block write", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
387+
Case("SPI - block write(one sym)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_TX_ONE_SYM, false, false> >),
388+
Case("SPI - hardware ss handling", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, true, false> >),
389+
Case("SPI - hardware ss handling(block)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC, FREQ_1_MHZ, BUFFERS_COMMON, true, false> >),
240390
#if DEVICE_SPI_ASYNCH
241-
Case("SPI - async mode", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_TRANSFER_ASYNC, FREQ_1_MHZ, false> >)
391+
Case("SPI - async mode (sw ss)", one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_TRANSFER_ASYNC, FREQ_1_MHZ, BUFFERS_COMMON, false, false> >),
392+
Case("SPI - async mode (hw ss)", one_peripheral<SPIPort, DefaultFormFactor, fpga_spi_test_common<SPITester::Mode0, 8, TRANSFER_SPI_MASTER_TRANSFER_ASYNC, FREQ_1_MHZ, BUFFERS_COMMON, true, false> >)
242393
#endif
243394
};
244395

0 commit comments

Comments
 (0)