RTEMS 6.3
Loading...
Searching...
No Matches
raspberrypi-spi.h File Reference

Raspberry Pi specific SPI definitions. More...

#include <bsp/utility.h>
#include <bsp/rpi-gpio.h>

Go to the source code of this file.

Data Structures

struct  raspberrypi_spi

Macros

#define RPI_SPICS_LEN_LONG   BSP_BIT32(25)
#define RPI_SPICS_DMA_LEN   BSP_BIT32(24)
#define RPI_SPICS_CSPOL2   BSP_BIT32(23)
#define RPI_SPICS_CSPOL1   BSP_BIT32(22)
#define RPI_SPICS_CSPOL0   BSP_BIT32(21)
#define RPI_SPICS_RXF   BSP_BIT32(20)
#define RPI_SPICS_RXR   BSP_BIT32(19)
#define RPI_SPICS_TXD   BSP_BIT32(18)
#define RPI_SPICS_RXD   BSP_BIT32(17)
#define RPI_SPICS_DONE   BSP_BIT32(16)
#define RPI_SPICS_LEN   BSP_BIT32(13)
#define RPI_SPICS_REN   BSP_BIT32(12)
#define RPI_SPICS_ADCS   BSP_BIT32(11)
#define RPI_SPICS_INTR   BSP_BIT32(10)
#define RPI_SPICS_INTD   BSP_BIT32(9)
#define RPI_SPICS_DMAEN   BSP_BIT32(8)
#define RPI_SPICS_TA   BSP_BIT32(7)
#define RPI_SPICS_CSPOL   BSP_BIT32(6)
#define RPI_SPICS_CLEAR_TX   BSP_BIT32(5)
#define RPI_SPICS_CLEAR_RX   BSP_BIT32(4)
#define RPI_SPICS_CPOL   BSP_BIT32(3)
#define RPI_SPICS_CPHA   BSP_BIT32(2)
#define RPI_SPICS_CS(val)
#define RPI_SPICS_CS_SET(reg, val)
#define RPI_SPIFIFO_DATA(val)
#define RPI_SPIFIFO_DATA_GET(reg)
#define RPI_SPIFIFO_DATA_SET(reg, val)
#define RPI_SPICLK_CDIV(val)
#define RPI_SPICLK_CDIV_GET(reg)
#define RPI_SPICLK_CDIV_SET(reg, val)
#define RPI_SPIDLEN_LEN(val)
#define RPI_SPIDLEN_LEN_GET(reg)
#define RPI_SPIDLEN_LEN_SET(reg, val)
#define RPI_SPILTOH_TOH(val)
#define RPI_SPILTOH_TOH_GET(reg)
#define RPI_SPILTOH_TOH_SET(reg, val)
#define RPI_SPIDC_RPANIC(val)
#define RPI_SPIDC_RPANIC_GET(reg)
#define RPI_SPIDC_RPANIC_SET(reg, val)
#define RPI_SPIDC_RDREQ(val)
#define RPI_SPIDC_RDREQ_GET(reg)
#define RPI_SPIDC_RDREQ_SET(reg, val)
#define RPI_SPIDC_TPANIC(val)
#define RPI_SPIDC_TPANIC_GET(reg)
#define RPI_SPIDC_TPANIC_SET(reg, val)
#define RPI_SPIDC_TDREQ(val)
#define RPI_SPIDC_TDREQ_GET(reg)
#define RPI_SPIDC_TDREQ_SET(reg, val)

Enumerations

enum  raspberrypi_spi_device {
  raspberrypi_SPI0 , raspberrypi_SPI3 , raspberrypi_SPI4 , raspberrypi_SPI5 ,
  raspberrypi_SPI6
}

Functions

rtems_status_code raspberrypi_spi_init (raspberrypi_spi_device device)
 Register a spi device.

Detailed Description

Raspberry Pi specific SPI definitions.

Macro Definition Documentation

◆ RPI_SPICLK_CDIV

#define RPI_SPICLK_CDIV ( val)
Value:
BSP_FLD32(val, 0, 15)

◆ RPI_SPICLK_CDIV_GET

#define RPI_SPICLK_CDIV_GET ( reg)
Value:
BSP_FLD32GET(reg, 0, 15)

◆ RPI_SPICLK_CDIV_SET

#define RPI_SPICLK_CDIV_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 15)

◆ RPI_SPICS_CS

#define RPI_SPICS_CS ( val)
Value:
BSP_FLD32(val, 0, 1)

◆ RPI_SPICS_CS_SET

#define RPI_SPICS_CS_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 1)

◆ RPI_SPIDC_RDREQ

#define RPI_SPIDC_RDREQ ( val)
Value:
BSP_FLD32(val, 16, 23)

◆ RPI_SPIDC_RDREQ_GET

#define RPI_SPIDC_RDREQ_GET ( reg)
Value:
BSP_FLD32GET(reg, 16, 23)

◆ RPI_SPIDC_RDREQ_SET

#define RPI_SPIDC_RDREQ_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 16, 23)

◆ RPI_SPIDC_RPANIC

#define RPI_SPIDC_RPANIC ( val)
Value:
BSP_FLD32(val, 24, 31)

◆ RPI_SPIDC_RPANIC_GET

#define RPI_SPIDC_RPANIC_GET ( reg)
Value:
BSP_FLD32GET(reg, 24, 31)

◆ RPI_SPIDC_RPANIC_SET

#define RPI_SPIDC_RPANIC_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 24, 31)

◆ RPI_SPIDC_TDREQ

#define RPI_SPIDC_TDREQ ( val)
Value:
BSP_FLD32(val, 0, 7)

◆ RPI_SPIDC_TDREQ_GET

#define RPI_SPIDC_TDREQ_GET ( reg)
Value:
BSP_FLD32GET(reg, 0, 7)

◆ RPI_SPIDC_TDREQ_SET

#define RPI_SPIDC_TDREQ_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 7)

◆ RPI_SPIDC_TPANIC

#define RPI_SPIDC_TPANIC ( val)
Value:
BSP_FLD32(val, 8, 15)

◆ RPI_SPIDC_TPANIC_GET

#define RPI_SPIDC_TPANIC_GET ( reg)
Value:
BSP_FLD32GET(reg, 8, 15)

◆ RPI_SPIDC_TPANIC_SET

#define RPI_SPIDC_TPANIC_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 8, 15)

◆ RPI_SPIDLEN_LEN

#define RPI_SPIDLEN_LEN ( val)
Value:
BSP_FLD32(val, 0, 15)

◆ RPI_SPIDLEN_LEN_GET

#define RPI_SPIDLEN_LEN_GET ( reg)
Value:
BSP_FLD32GET(reg, 0, 15)

◆ RPI_SPIDLEN_LEN_SET

#define RPI_SPIDLEN_LEN_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 15)

◆ RPI_SPIFIFO_DATA

#define RPI_SPIFIFO_DATA ( val)
Value:
BSP_FLD32(val, 0, 31)

◆ RPI_SPIFIFO_DATA_GET

#define RPI_SPIFIFO_DATA_GET ( reg)
Value:
BSP_FLD32GET(reg, 0, 31)

◆ RPI_SPIFIFO_DATA_SET

#define RPI_SPIFIFO_DATA_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 31)

◆ RPI_SPILTOH_TOH

#define RPI_SPILTOH_TOH ( val)
Value:
BSP_FLD32(val, 0, 3)

◆ RPI_SPILTOH_TOH_GET

#define RPI_SPILTOH_TOH_GET ( reg)
Value:
BSP_FLD32GET(reg, 0, 3)

◆ RPI_SPILTOH_TOH_SET

#define RPI_SPILTOH_TOH_SET ( reg,
val )
Value:
BSP_FLD32SET(reg, val, 0, 3)

Function Documentation

◆ raspberrypi_spi_init()

rtems_status_code raspberrypi_spi_init ( raspberrypi_spi_device device)

Register a spi device.

Parameters
deviceThe optional devices are raspberrypi_SPI0, raspberrypi_SPI3, raspberrypi_SPI4, raspberrypi_SPI5, raspberrypi_SPI6.
Return values
RTEMS_SUCCESSFULSuccessfully registered SPI device.
RTEMS_INVALID_NUMBERThis status code indicates that a specified number was invalid.
RTEMS_UNSATISFIEDThis status code indicates that the request was not satisfied.