3535
3636using namespace utest ::v1;
3737
38-
3938typedef 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>
215350void 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
220363Case 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