Google is committed to advancing racial equity for Black communities. See how.

fuchsia.hardware.spi

PROTOCOLS

Device

Defined in fuchsia.hardware.spi/spi.fidl

Exchange

Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must be the same.

Request

NameType
tx_buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer
rx_buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

Response

NameType
result fuchsia.hardware.sharedmemory/SharedVmoIo_Exchange_Result

ExchangeVector

Full-duplex SPI transaction. Received data will exactly equal the length of the transmit buffer.

Request

NameType
txdata vector<uint8>[8196]

Response

NameType
status zx/status
rxdata vector<uint8>[8196]

Receive

Receives data from the device into buffer.

Request

NameType
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

Response

NameType
result fuchsia.hardware.sharedmemory/SharedVmoIo_Receive_Result

ReceiveVector

Half-duplex receive data from a SPI device; always reads the full size requested.

Request

NameType
size uint32

Response

NameType
status zx/status
data vector<uint8>[8196]

RegisterVmo

Registers a VMO and transfers ownership to the driver. vmo_id: The ID chosen by the client that will be used in operations on this VMO. vmo: The handle, offset, and size of this VMO. IO operations on this VMO will be relative to the offset and size specified here. rights: A bit field of SharedVmoRight values indicating how this VMO may be used. Callers should assume that the driver will map and/or pin the VMO using these rights.

Request

NameType
vmo_id uint32
vmo fuchsia.mem/Range
rights fuchsia.hardware.sharedmemory/SharedVmoRight

Response

NameType
result fuchsia.hardware.sharedmemory/SharedVmoRegister_RegisterVmo_Result

Transmit

Sends the data in buffer to the device.

Request

NameType
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

Response

NameType
result fuchsia.hardware.sharedmemory/SharedVmoIo_Transmit_Result

TransmitVector

Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.

Request

NameType
data vector<uint8>[8196]

Response

NameType
status zx/status

UnregisterVmo

Unmaps and/or unpins the VMO and returns the handle to the caller.

Request

NameType
vmo_id uint32

Response

NameType
result fuchsia.hardware.sharedmemory/SharedVmoRegister_UnregisterVmo_Result

Spi

Defined in fuchsia.hardware.spi/spi.banjo

ConnectServer

Tells the SPI driver to start listening for fuchsia.hardware.spi messages on server. See sdk/fidl/fuchsia.hardware.spi/spi.fidl.

Request

NameType
server handle<channel>

Response

NameType

Exchange

Full-duplex SPI transaction. Received data will exactly equal the length of the transmit buffer.

Request

NameType
txdata vector<uint8>

Response

NameType
status zx/status
rxdata vector<uint8>

Receive

Half-duplex receive data from a SPI device; always reads the full size requested.

Request

NameType
size uint32

Response

NameType
status zx/status
rxdata vector<uint8>

Transmit

Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.

Request

NameType
txdata vector<uint8>

Response

NameType
status zx/status

STRUCTS

CONSTANTS

NameValueTypeDescription
MAX_TRANSFER_SIZE 8196 uint32