Mistake on this page?
Report an issue in GitHub or email us
fpga_spi_master_test.h
1 /* mbed Microcontroller Library
2  * Copyright (c) 2019 ARM Limited
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 /** \addtogroup hal_spi_tests */
19 /** @{*/
20 
21 #ifndef MBED_FPGA_MASTER_SPI_TEST_H
22 #define MBED_FPGA_MASTER_SPI_TEST_H
23 
24 #if DEVICE_SPI
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /** Test that the spi-Master can be initialized/de-initialized using all possible
31  * SPI pins.
32  *
33  * Given board provides SPI-Master support.
34  * When SPI-Master is initialized (and then de-initialized) using valid set of SPI pins.
35  * Then the operation is successfull.
36  *
37  */
38 void fpga_spi_master_test_init_free(PinName mosi, PinName miso, PinName sclk);
39 
40 /** Test that the spi_get_capabilities() indicates that slave mode is unsupported if the given `ssel`
41  * pin cannot be managed by hardware.
42  *
43  * Given board provides SPI support.
44  * When `ssel` pin passed to spi_get_capabilities() cannot be managed by hardware.
45  * Then capabilities should indicate that slave mode is unsupported.
46  *
47  */
48 void fpga_spi_test_capabilities_ssel(PinName mosi, PinName miso, PinName sclk);
49 
50 /** Test that the spi_frequency() returns actual SPI frequency.
51  *
52  * Given board provides SPI-Master support.
53  * When specified frequency is selected by means of spi_frequency().
54  * Then frequency returned by spi_frequency() is used for the transmission.
55  *
56  * Additionally we check that spi_format() updates the configuration of the peripheral (format)
57  * except the baud rate generator.
58  */
59 void fpga_spi_master_test_freq(PinName mosi, PinName miso, PinName sclk);
60 
61 /** Test that the SPI-Master transfer can be performed in various configurations.
62  *
63  * Given board provides SPI-Master support.
64  * When SPI transmission is performed using different settings.
65  * Then data is successfully transfered.
66  *
67  * Additionally we check that spi_frequency() updates the baud rate generator
68  * leaving other configurations (format) unchanged.
69  */
70 void fpga_spi_master_test_common(PinName mosi, PinName miso, PinName sclk);
71 
72 /**@}*/
73 
74 #ifdef __cplusplus
75 }
76 #endif
77 
78 #endif
79 
80 #endif
81 
82 /**@}*/
void fpga_spi_master_test_freq(PinName mosi, PinName miso, PinName sclk)
Test that the spi_frequency() returns actual SPI frequency.
void fpga_spi_master_test_common(PinName mosi, PinName miso, PinName sclk)
Test that the SPI-Master transfer can be performed in various configurations.
void fpga_spi_test_capabilities_ssel(PinName mosi, PinName miso, PinName sclk)
Test that the spi_get_capabilities() indicates that slave mode is unsupported if the given ssel pin c...
void fpga_spi_master_test_init_free(PinName mosi, PinName miso, PinName sclk)
Test that the spi-Master can be initialized/de-initialized using all possible SPI pins...
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.