PROTOCOLS
SpiImpl
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
spi 驱动程序的低级别协议。
ExchangeVector
全双工 SPI 事务。接收的数据将与传输的长度完全相等 缓冲区。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
txdata |
vector<uint8>
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_ExchangeVector_Result
|
ExchangeVmo
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
tx_buffer |
fuchsia.hardware.sharedmemory/SharedVmoBuffer
|
rx_buffer |
fuchsia.hardware.sharedmemory/SharedVmoBuffer
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_ExchangeVmo_Result
|
GetChipSelectCount
返回驱动程序实例可用或提供的芯片选择行数。 用作“chip_select”可接受值的限制字段(位于 Exchange() 中) 和 ExchangeVmo() 方法。
请求
<空>
响应
名称 | 类型 |
---|---|
count |
uint32
|
LockBus
给总线上锁。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_LockBus_Result
|
ReceiveVector
半双工会从 SPI 设备接收数据;始终读取所请求的完整尺寸。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
size |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_ReceiveVector_Result
|
ReceiveVmo
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
buffer |
fuchsia.hardware.sharedmemory/SharedVmoBuffer
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_ReceiveVmo_Result
|
RegisterVmo
Rights 是一个包含 SpiVmoRight 值的位字段,用于确定 实现在固定或映射 VMO 时使用的权限。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
vmo_id |
uint32
|
vmo |
fuchsia.mem/Range
|
rights |
fuchsia.hardware.sharedmemory/SharedVmoRight
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_RegisterVmo_Result
|
ReleaseRegisteredVmos
释放注册到此 chip_select 的所有 VMO。由核心驱动程序在客户端后调用 已断开连接,不再需要 VMO。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
TransmitVector
半双工将数据传输到 SPI 设备;在成功时始终传输整个缓冲区。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
data |
vector<uint8>
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_TransmitVector_Result
|
TransmitVmo
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
buffer |
fuchsia.hardware.sharedmemory/SharedVmoBuffer
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_TransmitVmo_Result
|
UnlockBus
给公交车开锁。
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_UnlockBus_Result
|
UnregisterVmo
请求
名称 | 类型 |
---|---|
chip_select |
uint32
|
vmo_id |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
SpiImpl_UnregisterVmo_Result
|
结构体
SpiImpl_ExchangeVector_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
rxdata |
vector<uint8>
|
无默认设置 |
SpiImpl_ExchangeVmo_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_LockBus_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_ReceiveVector_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
data |
vector<uint8>
|
无默认设置 |
SpiImpl_ReceiveVmo_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_RegisterVmo_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_TransmitVector_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_TransmitVmo_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_UnlockBus_Response
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
<空>
SpiImpl_UnregisterVmo_Response 资源
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
vmo |
handle<vmo>
|
无默认设置 |
联合体
SpiImpl_ExchangeVector_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_ExchangeVector_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_ExchangeVmo_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_ExchangeVmo_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_LockBus_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_LockBus_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_ReceiveVector_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_ReceiveVector_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_ReceiveVmo_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_ReceiveVmo_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_RegisterVmo_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_RegisterVmo_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_TransmitVector_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_TransmitVector_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_TransmitVmo_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_TransmitVmo_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_UnlockBus_Result 严格
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_UnlockBus_Response
|
|
2 |
err |
zx/Status
|
SpiImpl_UnregisterVmo_Result 严格的 资源
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SpiImpl_UnregisterVmo_Response
|
|
2 |
err |
zx/Status
|
服务
服务
在 fuchsia.hardware.spiimpl/spi-impl.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
设备 |
fuchsia.hardware.spiimpl/SpiImpl
|
驱动程序 |