@@ -162,14 +162,40 @@ static bool check_capabilities(const spi_capabilities_t *capabilities, SPITester
162162 return true ;
163163}
164164
165- void fpga_spi_test_init_free (PinName mosi, PinName miso, PinName sclk)
165+ void fpga_spi_test_init_free (PinName mosi, PinName miso, PinName sclk, PinName ssel)
166+ {
167+ spi_init (&spi, mosi, miso, sclk, ssel);
168+ spi_format (&spi, 8 , 0 , 0 );
169+ spi_frequency (&spi, 1000000 );
170+ spi_free (&spi);
171+ }
172+
173+ void fpga_spi_test_init_free_cs_nc (PinName mosi, PinName miso, PinName sclk)
166174{
167175 spi_init (&spi, mosi, miso, sclk, NC);
168176 spi_format (&spi, 8 , 0 , 0 );
169177 spi_frequency (&spi, 1000000 );
170178 spi_free (&spi);
171179}
172180
181+ void fpga_spi_test_init_free_cs_nc_miso_nc_mosi_nc (PinName mosi, PinName miso, PinName sclk)
182+ {
183+ utest_printf (" \n Testing: MOSI = NC. " );
184+
185+ spi_init (&spi, NC, miso, sclk, NC);
186+ spi_format (&spi, 8 , 0 , 0 );
187+ spi_frequency (&spi, 1000000 );
188+ spi_free (&spi);
189+
190+ utest_printf (" Testing: MISO = NC. " );
191+
192+ spi_init (&spi, mosi, NC, sclk, NC);
193+ spi_format (&spi, 8 , 0 , 0 );
194+ spi_frequency (&spi, 1000000 );
195+ spi_free (&spi);
196+ }
197+
198+
173199void 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)
174200{
175201 spi_capabilities_t capabilities;
@@ -361,7 +387,9 @@ void fpga_spi_test_common_no_ss(PinName mosi, PinName miso, PinName sclk)
361387
362388Case cases[] = {
363389 // This will be run for all pins
364- Case (" SPI - init/free test all pins" , all_ports<SPINoCSPort, DefaultFormFactor, fpga_spi_test_init_free>),
390+ Case (" SPI - init/free test all pins" , all_ports<SPIPort, DefaultFormFactor, fpga_spi_test_init_free>),
391+ Case (" SPI - init/free test all pins (CS == NC)" , all_ports<SPINoCSPort, DefaultFormFactor, fpga_spi_test_init_free_cs_nc>),
392+ Case (" SPI - init/free test all pins (CS == NC, MISO/MOSI == NC)" , one_peripheral<SPINoCSPort, DefaultFormFactor, fpga_spi_test_init_free_cs_nc_miso_nc_mosi_nc>),
365393
366394 // This will be run for all peripherals
367395 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 > >),
0 commit comments