fuchsia.hardware.spi

添加了:HEAD

协议

控制器

fuchsia.hardware.spi/spi.fidl 中定义

OpenSession

在设备上打开新会话。

一次最多允许一个会话;如果已经存在会话,服务器端将使用 ZX_ERR_ALREADY_BOUND 关闭。

请求

名称类型
session server_end:Device

设备

fuchsia.hardware.spi/spi.fidl 中定义

AssertCs

为此设备断言 CS。 如果总线上有多个设备,则返回 ZX_ERR_NOT_SUPPORTED。

请求

<EMPTY>

响应

名称类型
status zx/Status

CanAssertCs

如果设备可以调用 |AssertCs()| 和 |DeassertCs()|,则返回 true。

请求

<EMPTY>

响应

名称类型
can bool

DeassertCs

为此设备取消断言 CS。 如果 CS 已取消断言,则返回 ZX_ERR_BAD_STATE。如果总线上有多个设备,则返回 ZX_ERR_NOT_SUPPORTED。

请求

<EMPTY>

响应

名称类型
status zx/Status

Exchange

同时发送和接收数据。tx_buffer 和 rx_buffer 的大小字段必须相同。

请求

名称类型
tx_buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer
rx_buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

响应

名称类型
payload fuchsia.hardware.sharedmemory/SharedVmoIo_Exchange_Result

ExchangeVector

全双工 SPI 事务。收到的数据将与传输缓冲区长度完全相同。

请求

名称类型
txdata vector<uint8>:8196

响应

名称类型
status zx/Status
rxdata vector<uint8>:8196

接收

将数据从设备接收到缓冲区。

请求

名称类型
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

响应

名称类型
payload fuchsia.hardware.sharedmemory/SharedVmoIo_Receive_Result

ReceiveVector

从 SPI 设备接收半双工数据;始终读取请求的完整大小。

请求

名称类型
size uint32

响应

名称类型
status zx/Status
data vector<uint8>:8196

RegisterVmo

注册 VMO 并将所有权转移给驱动程序。 vmo_id:客户端选择的 ID,将用于对此 VMO 执行的操作。 vmo:此 VMO 的句柄、偏移量和大小。对此 VMO 的 IO 操作将相对于此处指定的偏移量和大小。 rights:一个由 SharedVmoRight 值组成的位字段,用于指示此 VMO 的使用方式。调用方应假定驱动程序将使用这些权限映射和/或固定 VMO。

请求

名称类型
vmo_id uint32
vmo fuchsia.mem/Range
rights fuchsia.hardware.sharedmemory/SharedVmoRight

响应

名称类型
payload fuchsia.hardware.sharedmemory/SharedVmoRegister_RegisterVmo_Result

传输

将缓冲区中的数据发送到设备。

请求

名称类型
buffer fuchsia.hardware.sharedmemory/SharedVmoBuffer

响应

名称类型
payload fuchsia.hardware.sharedmemory/SharedVmoIo_Transmit_Result

TransmitVector

将数据以半双工方式传输到 SPI 设备;成功时始终传输整个缓冲区。

请求

名称类型
data vector<uint8>:8196

响应

名称类型
status zx/Status

UnregisterVmo

取消映射和/或取消固定 VMO,并将句柄返回给调用方。

请求

名称类型
vmo_id uint32

响应

名称类型
payload fuchsia.hardware.sharedmemory/SharedVmoRegister_UnregisterVmo_Result

常量

名称类型说明
MAX_TRANSFER_SIZE 8196 uint32

服务

ControllerService

fuchsia.hardware.spi/spi.fidl 中定义

名称类型传输
device fuchsia.hardware.spi/Controller 频道

服务

fuchsia.hardware.spi/spi.fidl 中定义

名称类型传输
device fuchsia.hardware.spi/Device 频道