协议
时钟
在 fuchsia.hardware.clock/clock.fidl 中定义
用于驾驶员之间的通信。
停用
停用(门控)此时钟。
驱动程序应调用此方法向时钟子系统指明:
不再需要某个特定时钟信号。
如果此时钟类型不支持 Disable
,则返回 ZX_ERR_NOT_SUPPORTED
如果操作因任何其他原因而失败,则返回 ZX_ERR_INTERNAL
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_Disable_Result
|
启用
启用(取消)此时钟。
驱动程序必须对其依赖的所有时钟调用启用。
如果此时钟类型不支持 Enable
,则返回 ZX_ERR_NOT_SUPPORTED
。
如果操作超时(例如 PLL 无法锁定),则返回 ZX_ERR_TIMED_OUT
。
如果操作因任何其他原因而失败,则返回 ZX_ERR_INTERNAL
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_Enable_Result
|
GetInput
返回该时钟的当前输入索引。
GetInput 不应以任何方式改变时钟树的状态。
如果此时钟类型不支持 GetInput
,则返回 ZX_ERR_NOT_SUPPORTED
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_GetInput_Result
|
GetNumInputs
返回此时钟包含的输入数量。
此方法的有效返回值为 0 到 UINT32_MAX 之间的任何值。
例如,如果没有输入,根振荡器可能会返回 0。
GetNumInputs 不应以任何方式更改时钟树的状态。
如果此时钟类型不支持 GetNumInputs
,则返回 ZX_ERR_NOT_SUPPORTED
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_GetNumInputs_Result
|
GetRate
返回指定时钟的运行速率。
GetRate 不得以任何方式改变时钟树的状态。
如果此时钟类型不支持 GetRate
,则返回 ZX_ERR_NOT_SUPPORTED
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_GetRate_Result
|
IsEnabled
如果指定的时钟正在运行,则返回 true
。
可能会查询硬件或返回缓存的值。
IsEnabled 不应以任何方式更改时钟树的状态。
如果此时钟类型不支持 IsEnabled
,则返回 ZX_ERR_NOT_SUPPORTED
。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Clock_IsEnabled_Result
|
QuerySupportedRate
查询硬件以获取支持的最高速率(
超过 hz_in。
QuerySupportedRate
不得以任何方式更改时钟树的状态。
如果此时钟类型不支持 QuerySupportedRate
,则返回 ZX_ERR_NOT_SUPPORTED
。
请求
名称 | 类型 |
---|---|
hz_in |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
Clock_QuerySupportedRate_Result
|
SetInput
通过索引设置此时钟的输入。例如,方法是选择多路复用器
该时钟有 N 个输入,定义为 0 到 N-1,它们是有效参数
SetInput 的索引。
如果此时钟类型不支持 SetInput
,则返回 ZX_ERR_NOT_SUPPORTED
如果 idx
不在 GetNumInputs
提供的范围内,则返回 ZX_ERR_OUT_OF_RANGE
。
如果操作因任何其他原因而失败,则返回 ZX_ERR_INTERNAL
。
请求
名称 | 类型 |
---|---|
idx |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Clock_SetInput_Result
|
SetRate
尝试设置时钟提供程序的速率。
如果此时钟类型不支持 SetRate
,则返回 ZX_ERR_NOT_SUPPORTED
如果请求的费率不是报告为受 QuerySupportedRate
支持的费率,则返回 ZX_ERR_INVALID_ARGS
。
如果操作超时(例如 PLL 无法锁定),则返回 ZX_ERR_TIMED_OUT
。
如果操作因任何其他原因而失败,则返回 ZX_ERR_INTERNAL
。
请求
名称 | 类型 |
---|---|
hz |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
Clock_SetRate_Result
|
结构体
Clock_Disable_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
<空>
Clock_Enable_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
<空>
Clock_GetInput_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
index |
uint32
|
无默认设置 |
Clock_GetNumInputs_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
n |
uint32
|
无默认设置 |
Clock_GetRate_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
hz |
uint64
|
无默认设置 |
Clock_IsEnabled_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
enabled |
bool
|
无默认设置 |
Clock_QuerySupportedRate_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
hz_out |
uint64
|
无默认设置 |
Clock_SetInput_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
<空>
Clock_SetRate_Response
在 fuchsia.hardware.clock/clock.fidl 中定义
<空>
联合体
Clock_Disable_Result 严格
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_Disable_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_Enable_Result
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_Enable_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetInput_Result 严格
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_GetInput_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetNumInputs_Result 严格
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_GetNumInputs_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetRate_Result 严格
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_GetRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_IsEnabled_Result
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_IsEnabled_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_QuerySupportedRate_Result strict
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_QuerySupportedRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_SetInput_Result strict
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_SetInput_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_SetRate_Result 严格
在 fuchsia.hardware.clock/clock.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Clock_SetRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
服务
服务
在 fuchsia.hardware.clock/clock.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
时钟 |
fuchsia.hardware.clock/Clock
|
频道 |