fuchsia.hardware.pinimpl

添加时间:HEAD

协议

PinImpl

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

该协议结合了 fuchsia.hardware.gpio.Gpio 和 fuchsia.hardware.pin.Pin,表示要对其执行操作的 PIN 码。请参阅这些协议 了解特定方法的详细信息。

PinImpl 服务器必须支持至少一个客户端连接。服务器应该释放 如果请求中断的客户端断开连接,则 GetInterrupt() 返回的中断。

常见错误代码:

  • ZX_ERR_NOT_FOUND:不存在编号为 pin 的 PIN 码。
  • ZX_ERR_NOT_SUPPORTED:此控制器不支持请求的操作。
  • ZX_ERR_WRONG_TYPE:如果引脚不支持 GPIO。

配置

请求

名称类型
pin uint32
config fuchsia.hardware.pin/Configuration

响应

名称类型
payload PinImpl_Configure_Result

ConfigureInterrupt

请求

名称类型
pin uint32
config fuchsia.hardware.gpio/InterruptConfiguration

响应

名称类型
payload PinImpl_ConfigureInterrupt_Result

GetInterrupt

PinImpl 服务器应为每个 GetInterrupt() 调用创建一个新的中断对象。

请求

名称类型
pin uint32

响应

名称类型
payload PinImpl_GetInterrupt_Result

已读

请求

名称类型
pin uint32

响应

名称类型
payload PinImpl_Read_Result

ReleaseInterrupt

请求

名称类型
pin uint32

响应

名称类型
payload PinImpl_ReleaseInterrupt_Result

SetBufferMode

请求

名称类型
pin uint32
mode fuchsia.hardware.gpio/BufferMode

响应

名称类型
payload PinImpl_SetBufferMode_Result

结构体

呼叫

fuchsia.hardware.pinimpl/metadata.fidl 中定义

字段类型说明默认
pin uint32

执行此调用的平台专用 PIN 码。

无默认设置
call InitCall

make 的调用和传递给它的参数。

无默认设置

ControllerMetadata

fuchsia.hardware.pinimpl/metadata.fidl 中定义

字段类型说明默认
id uint32

控制器的 ID,在所有 GPIO 控制器中具有唯一性。

无默认设置

PinImpl_ConfigureInterrupt_Response

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

<空>

PinImpl_Configure_Response

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

字段类型说明默认
new_config fuchsia.hardware.pin/Configuration 无默认设置

PinImpl_GetInterrupt_Response 资源

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

字段类型说明默认
interrupt handle<interrupt> 无默认设置

PinImpl_Read_Response

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

字段类型说明默认
value bool 无默认设置

PinImpl_ReleaseInterrupt_Response

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

<空>

PinImpl_SetBufferMode_Response

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

<空>

元数据

fuchsia.hardware.pinimpl/metadata.fidl 中定义

作为 DEVICE_METADATA_GPIO_INIT 传递给元数据中的 GPIO 核心驱动程序。处理步数 它们在向量中出现的顺序依序呈现。在 GPIO 期间处理一次 核心驱动程序的绑定钩子。

序数字段类型说明
init_steps vector<InitStep>

联合体

InitCall 柔性环境

fuchsia.hardware.pinimpl/metadata.fidl 中定义

作为 InitStep 的一部分进行的 fuchsia.hardware.pinimpl.PinImpl 调用的参数。

序数变体类型说明
pin_config fuchsia.hardware.pin/Configuration

如果已设置,GPIO 核心驱动程序将调用“Configure”具有指定配置的实体。

buffer_mode fuchsia.hardware.gpio/BufferMode

如果设置了此字段,GPIO 核心驱动程序将以给定模式调用 SetBufferMode

InitStep 柔性环境

fuchsia.hardware.pinimpl/metadata.fidl 中定义

由 GPIO 核心驱动程序执行的单个 init 步骤。

序数变体类型说明
call Call

如果设置,GPIO 核心驱动程序将使用给定引脚调用 PinImpl 驱动程序,并且 参数。

delay zx/Duration

如果已设置,GPIO 核心驱动程序将延迟这么长的时间,之后再处理下一步。

PinImpl_ConfigureInterrupt_Result 严格

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

PinImpl_Configure_Result 严格

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

PinImpl_GetInterrupt_Result 严格 资源

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

PinImpl_Read_Result 严格

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

PinImpl_ReleaseInterrupt_Result 严格

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

PinImpl_SetBufferMode_Result 严格

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

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

服务

服务

fuchsia.hardware.pinimpl/pin-impl.fidl 中定义

名称类型传输
设备 fuchsia.hardware.pinimpl/PinImpl 驱动程序