通訊協定
時鐘
定義於 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 之間的任何值都是此方法的有效傳回值。
舉例來說,如果根 Oscillator 沒有任何輸入內容,系統就有可能傳回 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
依索引設定時鐘的輸入內容。例如:來變更模型
這個時鐘有定義 0 到 N-1 的 N 個輸入資料,這些是有效引數
做為 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
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_Disable_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_Enable_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_Enable_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetInput_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_GetInput_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetNumInputs_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_GetNumInputs_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_GetRate_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_GetRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_IsEnabled_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_IsEnabled_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_QuerySupportedRate_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_QuerySupportedRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_SetInput_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_SetInput_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Clock_SetRate_Result 嚴格
定義於 fuchsia.hardware.clock/clock.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Clock_SetRate_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
服務
服務
定義於 fuchsia.hardware.clock/clock.fidl
名稱 | 類型 | 傳輸 |
---|---|---|
時鐘 |
fuchsia.hardware.clock/Clock
|
頻道 |