XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
_EFI_SPI_PERIPHERAL Struct Reference

#include <SpiConfiguration.h>

Collaboration diagram for _EFI_SPI_PERIPHERAL:
Collaboration graph
[legend]

Public Attributes

CONST EFI_SPI_PERIPHERALNextSpiPeripheral
 
CONST CHAR16FriendlyName
 
CONST GUIDSpiPeripheralDriverGuid
 
CONST EFI_SPI_PARTSpiPart
 
UINT32 MaxClockHz
 
BOOLEAN ClockPolarity
 
BOOLEAN ClockPhase
 
UINT32 Attributes
 
CONST VOIDConfigurationData
 
CONST EFI_SPI_BUSSpiBus
 
EFI_SPI_CHIP_SELECT ChipSelect
 
VOIDChipSelectParameter
 

Detailed Description

The EFI_SPI_PERIPHERAL data structure describes how a specific block of logic which is connected to the SPI bus. This data structure also selects which upper level driver is used to manipulate this SPI device. The SpiPeripheraLDriverGuid is available from the vendor of the SPI peripheral driver.

Member Data Documentation

◆ Attributes

UINT32 _EFI_SPI_PERIPHERAL::Attributes

SPI peripheral attributes, select zero or more of:

  • SPI_PART_SUPPORTS_2_B1T_DATA_BUS_W1DTH - The SPI peripheral is wired to support a 2-bit data bus
  • SPI_PART_SUPPORTS_4_B1T_DATA_BUS_W1DTH - The SPI peripheral is wired to support a 4-bit data bus

◆ ChipSelect

EFI_SPI_CHIP_SELECT _EFI_SPI_PERIPHERAL::ChipSelect

Address of the routine which controls the chip select pin for this SPI peripheral. Call the SPI host controller's chip select routine when this value is set to NULL.

◆ ChipSelectParameter

VOID* _EFI_SPI_PERIPHERAL::ChipSelectParameter

Address of a data structure containing the additional values which describe the necessary control for the chip select. When ChipSelect is NULL, the declaration for this data structure is provided by the vendor of the host's SPI controller driver. The vendor's documentation specifies the necessary values to use for the chip select pin selection and control. When Chipselect is not NULL, the declaration for this data structure is provided by the board layer.

◆ ClockPhase

BOOLEAN _EFI_SPI_PERIPHERAL::ClockPhase

Specify the clock delay after chip select. Specify zero (0) to delay an entire clock cycle or one (1) to delay only half a clock cycle.

◆ ClockPolarity

BOOLEAN _EFI_SPI_PERIPHERAL::ClockPolarity

Specify the idle value of the clock as found in the datasheet. Use zero (0) if the clock'S idle value is low or one (1) if the the clock's idle value is high.

◆ ConfigurationData

CONST VOID* _EFI_SPI_PERIPHERAL::ConfigurationData

Address of a vendor specific data structure containing additional board configuration details related to the SPI chip. The SPI peripheral layer uses this data structure when configuring the chip.

◆ FriendlyName

CONST CHAR16* _EFI_SPI_PERIPHERAL::FriendlyName

A unicode string describing the function of the SPI part.

◆ MaxClockHz

UINT32 _EFI_SPI_PERIPHERAL::MaxClockHz

The maximum clock frequency is specified in the EFI_SPI_P ART. When this this value is non-zero and less than the value in the EFI_SPI_PART then this value is used for the maximum clock frequency for the SPI part.

◆ NextSpiPeripheral

CONST EFI_SPI_PERIPHERAL* _EFI_SPI_PERIPHERAL::NextSpiPeripheral

Address of the next EFI_SPI_PERIPHERAL data structure. Specify NULL if the current data structure is the last one on the SPI bus.

◆ SpiBus

CONST EFI_SPI_BUS* _EFI_SPI_PERIPHERAL::SpiBus

The address of an EFI_SPI_BUS data structure which describes the SPI bus to which this chip is connected.

◆ SpiPart

CONST EFI_SPI_PART* _EFI_SPI_PERIPHERAL::SpiPart

The address of an EFI_SPI_PART data structure which describes this chip.

◆ SpiPeripheralDriverGuid

CONST GUID* _EFI_SPI_PERIPHERAL::SpiPeripheralDriverGuid

Address of a GUID provided by the vendor of the SPI peripheral driver. Instead of using a " EFI_SPI_IO_PROTOCOL" GUID, the SPI bus driver uses this GUID to identify an EFI_SPI_IO_PROTOCOL data structure and to provide the connection points for the SPI peripheral drivers. This reduces the comparison logic in the SPI peripheral driver's Supported routine.


The documentation for this struct was generated from the following file: