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,165 @@ 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, SS_DEASSERT);
231+ }
129232
130233 if (init_direct) {
131- const spi_pinmap_t pinmap = get_spi_pinmap (mosi, miso, sclk, ssel );
234+ const spi_pinmap_t pinmap = get_spi_pinmap (mosi, miso, sclk, ss_pin );
132235 spi_init_direct (&spi, &pinmap);
133236 } else {
134- spi_init (&spi, mosi, miso, sclk, ssel );
237+ spi_init (&spi, mosi, miso, sclk, ss_pin );
135238 }
136239
137240 spi_format (&spi, sym_size, spi_mode, 0 );
138- spi_frequency (&spi, frequency );
241+ spi_frequency (&spi, freq );
139242
140243 // Configure spi_slave module
141244 tester.set_mode (spi_mode);
@@ -147,34 +250,63 @@ void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel
147250 tester.select_peripheral (SPITester::PeripheralSPI);
148251
149252 uint32_t checksum = 0 ;
253+ uint32_t sym_count = TRANSFER_COUNT;
150254 int result = 0 ;
151255 uint8_t tx_buf[TRANSFER_COUNT] = {0 };
152256 uint8_t rx_buf[TRANSFER_COUNT] = {0 };
153257
154258 // Send and receive test data
155259 switch (transfer_type) {
156260 case TRANSFER_SPI_MASTER_WRITE_SYNC:
261+ handle_ss (ss, true );
157262 for (int i = 0 ; i < TRANSFER_COUNT; i++) {
158263 uint32_t data = spi_master_write (&spi, (0 - i) & sym_mask);
159264 TEST_ASSERT_EQUAL (i & sym_mask, data);
160-
161265 checksum += (0 - i) & sym_mask;
162266 }
267+ handle_ss (ss, false );
163268 break ;
164269
165270 case TRANSFER_SPI_MASTER_BLOCK_WRITE_SYNC:
166271 for (int i = 0 ; i < TRANSFER_COUNT; i++) {
167272 tx_buf[i] = (0 - i) & sym_mask;
168- checksum += (0 - i) & sym_mask;
169- rx_buf[i] = 0xAA ;
273+ rx_buf[i] = 0xFF ;
274+
275+ switch (test_buffers) {
276+ case (BUFFERS_COMMON):
277+ case (BUFFERS_TX_GT_RX):
278+ checksum += ((0 - i) & sym_mask);
279+ break ;
280+ case (BUFFERS_TX_LT_RX):
281+ if (i < tx_cnt) {
282+ checksum += ((0 - i) & sym_mask);
283+ } else {
284+ checksum += (fill_symbol & sym_mask);
285+ }
286+ break ;
287+ case (BUFFERS_TX_ONE_SYM):
288+ tx_buf[0 ] = 0xAA ;
289+ checksum = 0xAA ;
290+ sym_count = 1 ;
291+ break ;
292+ default :
293+ break ;
294+ }
170295 }
171296
172- result = spi_master_block_write (&spi, (const char *)tx_buf, TRANSFER_COUNT, (char *)rx_buf, TRANSFER_COUNT, 0xF5 );
297+ handle_ss (ss, true );
298+ result = spi_master_block_write (&spi, (const char *)tx_buf, tx_cnt, (char *)rx_buf, rx_cnt, 0xF5 );
299+ handle_ss (ss, false );
173300
174- for (int i = 0 ; i < TRANSFER_COUNT ; i++) {
301+ for (int i = 0 ; i < rx_cnt ; i++) {
175302 TEST_ASSERT_EQUAL (i & sym_mask, rx_buf[i]);
176303 }
177- TEST_ASSERT_EQUAL (TRANSFER_COUNT, result);
304+
305+ for (int i = rx_cnt; i < TRANSFER_COUNT; i++) {
306+ TEST_ASSERT_EQUAL (0xFF , rx_buf[i]);
307+ }
308+
309+ TEST_ASSERT_EQUAL (sym_count, result);
178310 break ;
179311
180312#if DEVICE_SPI_ASYNCH
@@ -187,58 +319,76 @@ void fpga_spi_test_common(PinName mosi, PinName miso, PinName sclk, PinName ssel
187319
188320 async_trasfer_done = false ;
189321
322+ handle_ss (ss, true );
190323 spi_master_transfer (&spi, tx_buf, TRANSFER_COUNT, rx_buf, TRANSFER_COUNT, 8 , (uint32_t )spi_async_handler, SPI_EVENT_COMPLETE, DMA_USAGE_NEVER);
324+
191325 while (!async_trasfer_done);
326+ handle_ss (ss, false );
192327
193328 for (int i = 0 ; i < TRANSFER_COUNT; i++) {
194329 TEST_ASSERT_EQUAL (i & sym_mask, rx_buf[i]);
195330 }
196331
197332 break ;
198333#endif
199-
200334 default :
201335 TEST_ASSERT_MESSAGE (0 , " Unsupported transfer type." );
202336 break ;
203337
204338 }
205339
206340 // Verify that the transfer was successful
207- TEST_ASSERT_EQUAL (TRANSFER_COUNT , tester.get_transfer_count ());
341+ TEST_ASSERT_EQUAL (sym_count , tester.get_transfer_count ());
208342 TEST_ASSERT_EQUAL (checksum, tester.get_receive_checksum ());
209343
210344 spi_free (&spi);
211345 tester.reset ();
212346}
213347
214- template <SPITester::SpiMode spi_mode, uint32_t sym_size, transfer_type_t transfer_type, uint32_t frequency, bool init_direct>
348+ 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>
215349void fpga_spi_test_common (PinName mosi, PinName miso, PinName sclk, PinName ssel)
216350{
217- fpga_spi_test_common (mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, init_direct);
351+ fpga_spi_test_common (mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, test_buffers, auto_ss, init_direct);
352+ }
353+
354+ 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>
355+ void fpga_spi_test_common_no_ss (PinName mosi, PinName miso, PinName sclk)
356+ {
357+ PinName ssel = find_ss_pin (mosi, miso, sclk);
358+
359+ fpga_spi_test_common (mosi, miso, sclk, ssel, spi_mode, sym_size, transfer_type, frequency, test_buffers, auto_ss, init_direct);
218360}
219361
220362Case cases[] = {
221363 // This will be run for all pins
222- Case (" SPI - init/free test all pins" , all_ports<SPIPort , DefaultFormFactor, fpga_spi_test_init_free>),
364+ Case (" SPI - init/free test all pins" , all_ports<SPINoCSPort , DefaultFormFactor, fpga_spi_test_init_free>),
223365
224366 // 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 > >),
367+ 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 > >),
368+ 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 > >),
227369
228370 // 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-
371+ 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 > >),
372+ 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 > >),
373+ 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 > >),
374+ 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 > >),
375+ 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 > >),
376+ 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 > >),
377+ 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 > >),
378+ 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 > >),
379+ 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 > >),
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_LT_RX, false , false > >),
381+ Case (" SPI - frequency testing (200 kHz)" , one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_common_no_ss<SPITester::Mode0, 8 , TRANSFER_SPI_MASTER_WRITE_SYNC, FREQ_200_KHZ, BUFFERS_COMMON, false , false > >),
382+ 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 > >),
383+ 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 > >),
384+ 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 > >),
385+ 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 > >),
386+ 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 > >),
387+ 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 > >),
388+ 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 > >),
240389#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 > >)
390+ 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 > >),
391+ 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 > >)
242392#endif
243393};
244394
0 commit comments