fuchsia.hardware.spiimpl

Added: HEAD

PROTOCOLS

SpiImpl

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

Low-level protocol for spi drivers.

ExchangeVector

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

Request

NameType
chip_select uint32
txdata vector<uint8>

Response

NameType
payload SpiImpl_ExchangeVector_Result

ExchangeVmo

Request

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

Response

NameType
payload SpiImpl_ExchangeVmo_Result

GetChipSelectCount

Returns the number of chip select lines available or provided by the driver instance. To be used as a limit on the acceptable values for the `chip_select' field in the Exchange() and ExchangeVmo() methods.

Request

<EMPTY>

Response

NameType
count uint32

LockBus

Lock the bus.

Request

NameType
chip_select uint32

Response

NameType
payload SpiImpl_LockBus_Result

ReceiveVector

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

Request

NameType
chip_select uint32
size uint32

Response

NameType
payload SpiImpl_ReceiveVector_Result

ReceiveVmo

Request

NameType
chip_select uint32
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

Response

NameType
payload SpiImpl_ReceiveVmo_Result

RegisterVmo

rights is a bit field containing SpiVmoRight values, and determines the read/write permissions used by the implementation when pinning or mapping the VMO.

Request

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

Response

NameType
payload SpiImpl_RegisterVmo_Result

ReleaseRegisteredVmos

Release all VMOs registered to this chip_select. Called by the core driver after the client has disconnected and the VMOs are no longer needed.

Request

NameType
chip_select uint32

TransmitVector

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

Request

NameType
chip_select uint32
data vector<uint8>

Response

NameType
payload SpiImpl_TransmitVector_Result

TransmitVmo

Request

NameType
chip_select uint32
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

Response

NameType
payload SpiImpl_TransmitVmo_Result

UnlockBus

Unlock the bus.

Request

NameType
chip_select uint32

Response

NameType
payload SpiImpl_UnlockBus_Result

UnregisterVmo

Request

NameType
chip_select uint32
vmo_id uint32

Response

NameType
payload SpiImpl_UnregisterVmo_Result

STRUCTS

SpiImpl_ExchangeVector_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

FieldTypeDescriptionDefault
rxdata vector<uint8> No default

SpiImpl_ExchangeVmo_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_LockBus_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_ReceiveVector_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

FieldTypeDescriptionDefault
data vector<uint8> No default

SpiImpl_ReceiveVmo_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_RegisterVmo_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_TransmitVector_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_TransmitVmo_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_UnlockBus_Response

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

<EMPTY>

SpiImpl_UnregisterVmo_Response resource

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

FieldTypeDescriptionDefault
vmo handle<vmo> No default

UNIONS

SpiImpl_ExchangeVector_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_ExchangeVector_Response
err zx/Status

SpiImpl_ExchangeVmo_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_ExchangeVmo_Response
err zx/Status

SpiImpl_LockBus_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_LockBus_Response
err zx/Status

SpiImpl_ReceiveVector_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_ReceiveVector_Response
err zx/Status

SpiImpl_ReceiveVmo_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_ReceiveVmo_Response
err zx/Status

SpiImpl_RegisterVmo_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_RegisterVmo_Response
err zx/Status

SpiImpl_TransmitVector_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_TransmitVector_Response
err zx/Status

SpiImpl_TransmitVmo_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_TransmitVmo_Response
err zx/Status

SpiImpl_UnlockBus_Result strict

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_UnlockBus_Response
err zx/Status

SpiImpl_UnregisterVmo_Result strict resource

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

OrdinalVariantTypeDescription
response SpiImpl_UnregisterVmo_Response
err zx/Status

SERVICES

Service

Defined in fuchsia.hardware.spiimpl/spi-impl.fidl

NameTypeTransport
device fuchsia.hardware.spiimpl/SpiImpl Driver