breda
(a breda)
October 26, 2020, 1:27pm
1
The documentation for mbed 5.15 states that the SPI constructor can take NC for the MOSI or MISO pin if it is not used. This compiles fine, but it generates a runtime assert:
Error Message: Assertion failed: pin != (PinName)NC
File: …/mbed-os\targets\TARGET_STM\pinmap.c+62
because the spi_init_direct function in stm_spi_api calls pin_function() at line 172 with the PinName before it checks whether it is NC or not in line 201.
Is there a known work around for this?
Hi
I think this is corrected on mbed-os-6 branch, since
ARMmbed:master
← mprse:spi_init_nc_fix
opened 02:16PM - 18 Feb 20 UTC
<!--
For more information on the requirements for pull requests, please see [th… e contributing guidelines](https://os.mbed.com/docs/mbed-os/latest/contributing/workflow.html).
NOTE: Do not remove any of the template headings (even for optional sections) as this
template is automatically parsed.
-->
### Summary of changes
This PR fixes issue https://github.com/ARMmbed/mbed-os/issues/12435.
Static pin-map extension required to use `pin_function()` and `pin_mode()` functions instead of `pinmap_pinout()`. Unfortunately `pin_function()` does not allow passing `NC` pin.
The proposition is to call `pin_function()` and `pin_mode()` only if `MISO/MOSI` pin is not `NC`.
Additionally extended SPI FPGA test to verify all possible pin configurations including MISO and MOSI unconnected.
The idea is to add also similar tests for other peripherals if this proposal will be approved. I think that this should be added for peripherals that use more than one pin and provide the availability to specify at least one pin as NC.
<!--
Please provide the following information:
Description of the the change (what is this fixing / adding / removing?).
Why the change is needed (if this is fixing a reported issue please summarize what
the issue is and add the reference. E.g. Fixes #17119).
NOTE: This section is automatically written to release notes for Feature and
Major releases and should contain enough details for a user.
-->
#### Impact of changes
<!--
If there are any implications for users taking this change then they must be
provided here. For Major PR types this field is MANDATORY.
NOTE: This section is automatically written to release notes for Feature and
Major releases and should contain enough details for a user.
-->
#### Migration actions required
<!--
This should only be applicable in Major PR types for which this field is MANDATORY.
NOTE: This section is automatically written to release notes for Feature and
Major releases and should contain enough details for a user.
-->
### Documentation
<!--
Please provide details of any document updates required, including links to any
related PRs against the docs repository.
If no document updates are required please specify 'None', this at least tells us
that this has been considered.
-->
----------------------------------------------------------------------------------------------------------------
### Pull request type
<!--
Please add only one X to one of the following types. Do not fill multiple types (split the pull request otherwise).
Please note this is not a GitHub task list, indenting the boxes or changing the format to add a '.' or '*' in front of them would change the meaning incorrectly.
-->
[X] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)
----------------------------------------------------------------------------------------------------------------
### Test results
```
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
|-----------------------|---------------|----------------------------------------|--------|--------------------|-------------|
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | OK | 26.39 | default |
mbedgt: test suite results: 1 OK
mbedgt: test case report:
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
|-----------------------|---------------|----------------------------------------|-----------------------------------------------------------|--------|--------|--------|--------------------|
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (hw ss) | 1 | 0 | OK | 0.14 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (sw ss) | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test | 1 | 0 | OK | 0.38 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test (direct init) | 1 | 0 | OK | 0.37 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write(one sym) | 1 | 0 | OK | 0.21 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx < rx | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx > rx | 1 | 0 | OK | 0.21 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (2 MHz) | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (200 kHz) | 1 | 0 | OK | 0.24 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities max) | 1 | 0 | OK | 0.23 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities min) | 1 | 0 | OK | 0.24 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling | 1 | 0 | OK | 0.14 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling(block) | 1 | 0 | OK | 0.14 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins | 1 | 0 | OK | 0.54 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC) | 1 | 0 | OK | 0.24 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC, MISO/MOSI == NC) | 1 | 0 | OK | 0.59 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_1) | 1 | 0 | OK | 0.23 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_2) | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_3) | 1 | 0 | OK | 0.22 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (12) | 1 | 0 | OK | 0.29 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (16) | 1 | 0 | OK | 0.24 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (24) | 1 | 0 | OK | 0.28 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (32) | 1 | 0 | OK | 0.29 |
| NUCLEO_F429ZI-GCC_ARM | NUCLEO_F429ZI | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (4) | 1 | 0 | OK | 0.28 |
mbedgt: test case results: 25 OK
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
|-----------------------------|---------------------|----------------------------------------|--------|--------------------|-------------|
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | OK | 28.96 | default |
mbedgt: test suite results: 1 OK
mbedgt: test case report:
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
|-----------------------------|---------------------|----------------------------------------|-----------------------------------------------------------|--------|--------|--------|--------------------|
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (hw ss) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (sw ss) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test | 1 | 0 | OK | 0.27 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test (direct init) | 1 | 0 | OK | 0.27 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write | 1 | 0 | OK | 0.22 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write(one sym) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx < rx | 1 | 0 | OK | 0.22 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx > rx | 1 | 0 | OK | 0.22 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (2 MHz) | 1 | 0 | OK | 0.22 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (200 kHz) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities max) | 1 | 0 | OK | 0.24 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities min) | 1 | 0 | OK | 0.25 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling | 1 | 0 | OK | 0.24 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling(block) | 1 | 0 | OK | 0.24 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins | 1 | 0 | OK | 0.95 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC, MISO/MOSI == NC) | 1 | 0 | OK | 0.64 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_1) | 1 | 0 | OK | 0.22 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_2) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_3) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (12) | 1 | 0 | OK | 0.28 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (16) | 1 | 0 | OK | 0.23 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (24) | 1 | 0 | OK | 0.28 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (32) | 1 | 0 | OK | 0.29 |
| DISCO_L475VG_IOT01A-GCC_ARM | DISCO_L475VG_IOT01A | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (4) | 1 | 0 | OK | 0.29 |
mbedgt: test case results: 25 OK
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
|---------------------|---------------|----------------------------------------|--------|--------------------|-------------|
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | OK | 37.77 | default |
mbedgt: test suite results: 1 OK
mbedgt: test case report:
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
|---------------------|---------------|----------------------------------------|-----------------------------------------------------------|--------|--------|--------|--------------------|
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test | 1 | 0 | OK | 0.19 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test (direct init) | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write(one sym) | 1 | 0 | OK | 0.19 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx < rx | 1 | 0 | OK | 0.27 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx > rx | 1 | 0 | OK | 0.25 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (2 MHz) | 1 | 0 | OK | 0.22 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (200 kHz) | 1 | 0 | OK | 0.22 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities max) | 1 | 0 | OK | 0.22 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities min) | 1 | 0 | OK | 0.24 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling | 1 | 0 | OK | 0.22 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling(block) | 1 | 0 | OK | 0.23 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins | 1 | 0 | OK | 0.59 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC) | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC, MISO/MOSI == NC) | 1 | 0 | OK | 0.39 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_1) | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_2) | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_3) | 1 | 0 | OK | 0.22 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (12) | 1 | 0 | OK | 0.28 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (16) | 1 | 0 | OK | 0.21 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (24) | 1 | 0 | OK | 0.26 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (32) | 1 | 0 | OK | 0.27 |
| LPC55S69_NS-GCC_ARM | LPC55S69 | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (4) | 1 | 0 | OK | 0.27 |
mbedgt: test case results: 23 OK
| target | platform_name | test suite | result | elapsed_time (sec) | copy_method |
|--------------|---------------|----------------------------------------|--------|--------------------|-------------|
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | OK | 32.29 | default |
mbedgt: test suite results: 1 OK
mbedgt: test case report:
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
|--------------|---------------|----------------------------------------|-----------------------------------------------------------|--------|--------|--------|--------------------|
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (hw ss) | 1 | 0 | OK | 0.22 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - async mode (sw ss) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test | 1 | 0 | OK | 0.29 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - basic test (direct init) | 1 | 0 | OK | 0.3 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write | 1 | 0 | OK | 0.2 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - block write(one sym) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx < rx | 1 | 0 | OK | 0.26 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - buffers tx > rx | 1 | 0 | OK | 0.26 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (2 MHz) | 1 | 0 | OK | 0.22 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (200 kHz) | 1 | 0 | OK | 0.23 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities max) | 1 | 0 | OK | 0.22 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - frequency testing (capabilities min) | 1 | 0 | OK | 0.25 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling | 1 | 0 | OK | 0.22 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - hardware ss handling(block) | 1 | 0 | OK | 0.23 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins | 1 | 0 | OK | 0.81 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC) | 1 | 0 | OK | 0.52 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - init/free test all pins (CS == NC, MISO/MOSI == NC) | 1 | 0 | OK | 0.22 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_1) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_2) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - mode testing (MODE_3) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (12) | 1 | 0 | OK | 0.27 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (16) | 1 | 0 | OK | 0.21 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (24) | 1 | 0 | OK | 0.27 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (32) | 1 | 0 | OK | 0.26 |
| K64F-GCC_ARM | K64F | tests-mbed_hal_fpga_ci_test_shield-spi | SPI - symbol size testing (4) | 1 | 0 | OK | 0.27 |
mbedgt: test case results: 25 OK
```
<!--
Provide all the information required, listing all the testing performed. For new targets please attach full test results for all supported compilers.
-->
[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[X] Tests / results supplied as part of this PR
----------------------------------------------------------------------------------------------------------------
### Reviewers
<!--
Request additional reviewers with @username or @team
-->
@jeromecoutant @LMESTM @mmahadevan108
@fkjagodzinski @maciejbocianski
@jamesbeyond
----------------------------------------------------------------------------------------------------------------