fuchsia.hardware.spi

Added: 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/Result

CanAssertCs

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

请求

<EMPTY>

响应

名称类型
can bool

DeassertCs

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

请求

<EMPTY>

响应

名称类型
status zx/Result

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/Result
rxdata vector<uint8>:8196

接收

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

请求

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

响应

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

ReceiveVector

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

请求

名称类型
size uint32

响应

名称类型
status zx/Result
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/Result

UnregisterVmo

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

请求

名称类型
vmo_id uint32

响应

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

测试

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

ConnectSpiLoopback

在环回模式下打开与 SPI 设备的连接,以用于测试。

如果此 build 中未启用调试,则返回 ZX_ERR_NOT_SUPPORTED。

如果 SPI 实现驱动程序本身不支持环回模式,此调用将成功,但对设备的调用将失败,并显示 ZX_ERR_NOT_SUPPORTED。

请求

名称类型
server server_end:Device

响应

名称类型
payload Test_ConnectSpiLoopback_Result

获取

请求

<EMPTY>

响应

名称类型
payload fuchsia.driver.token/NodeToken_Get_Result

STRUCTS

Test_ConnectSpiLoopback_Response

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

<EMPTY>

UNIONS

Test_ConnectSpiLoopback_Result strict

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

序数变体类型说明
response Test_ConnectSpiLoopback_Response
err zx/Status

常量

名称值类型说明
MAX_TRANSFER_SIZE 8196 uint32

服务

ControllerService

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

名称类型传输
设备 fuchsia.hardware.spi/Controller 渠道

服务

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

名称类型传输
设备 fuchsia.hardware.spi/Device 渠道

TestService

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

名称类型传输
test fuchsia.hardware.spi/Test 渠道