Skip to content

Commit 6d0a901

Browse files
committed
SPI FPGA test: Test all possible pin configurations to init SPI
1 parent c6a6984 commit 6d0a901

File tree

1 file changed

+30
-2
lines changed
  • TESTS/mbed_hal_fpga_ci_test_shield/spi

1 file changed

+30
-2
lines changed

TESTS/mbed_hal_fpga_ci_test_shield/spi/main.cpp

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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("\nTesting: 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+
173199
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)
174200
{
175201
spi_capabilities_t capabilities;
@@ -361,7 +387,9 @@ void fpga_spi_test_common_no_ss(PinName mosi, PinName miso, PinName sclk)
361387

362388
Case 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

Comments
 (0)