source: rtems/bsps/arm/raspberrypi/include/bsp/spi.h

Last change on this file was feea03b6, checked in by Sebastian Huber <sebastian.huber@…>, on 02/27/19 at 09:53:30

Remove explicit file names from @file

This makes the @file documentation independent of the actual file name.

Update #3707.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup raspberrypi_spi
5 *
6 * @brief Raspberry Pi specific SPI definitions.
7 */
8
9/*
10 *  Copyright (c) 2014-2015 Andre Marques <andre.lousa.marques at gmail.com>
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.org/license/LICENSE.
15 */
16
17#ifndef LIBBSP_ARM_RASPBERRYPI_SPI_H
18#define LIBBSP_ARM_RASPBERRYPI_SPI_H
19
20#include <rtems/libi2c.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif /* __cplusplus */
25
26/**
27 * @name SPI constants.
28 *
29 * @{
30 */
31
32/**
33 * @brief GPU processor core clock rate in Hz.
34 *
35 * Unless configured otherwise on a "config.txt" file present on the SD card
36 * the GPU defaults to 250 MHz. Currently only 250 MHz is supported.
37 */
38
39/* TODO: It would be nice if this value could be probed at startup, probably
40 *       using the Mailbox interface since the usual way of setting this on
41 *       the hardware is through a "config.txt" text file on the SD card.
42 *       Having this setup on the configure.ac script would require changing
43 *       the same setting on two different places. */
44#define GPU_CORE_CLOCK_RATE 250000000
45
46/** @} */
47
48/**
49 * @name SPI directives.
50 *
51 * @{
52 */
53
54/**
55 * @brief Setups the Raspberry Pi SPI bus (located on the GPIO header)
56 *        on the "/dev/spi" device file, and registers the bus on the
57 *        libi2c API.
58 *
59 * @param[in] bidirectional_mode If TRUE sets the SPI bus to use 2-wire SPI,
60 *                               where the MOSI data line doubles as the
61 *                               slave out (SO) and slave in (SI) data lines.
62 *                               If FALSE the bus defaults to the usual
63 *                               3-wire SPI, with 2 separate data lines
64 *                               (MOSI and MISO).
65 *
66 * @retval Returns libi2c bus number.
67 * @retval <0 Could not register the bus. See @see rtems_libi2c_register_bus().
68 */
69extern int rpi_spi_init(bool bidirectional_mode);
70
71/** @} */
72
73#ifdef __cplusplus
74}
75#endif /* __cplusplus */
76
77#endif /* LIBBSP_ARM_RASPBERRYPI_SPI_H */
Note: See TracBrowser for help on using the repository browser.