那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

驅動開發時鐘API的使用

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 14:30 ? 次閱讀

時鐘API的使用

對于一般的驅動開發(非clock驅動),我們只需要在dts中配置時鐘,然后在驅動調用通用的時鐘API接口即可。

1、設備樹中配置時鐘

mmc0:mmc0@0x12345678{
  compatible = "xx,xx-mmc0";
  ......
  clocks = < &peri PERI_MCI0 >;//指定mmc0的時鐘來自PERI_MCI0,PERI_MCI0的父時鐘是peri
  clocks-names = "mmc0"; //時鐘名,調用devm_clk_get獲取時鐘時,可以傳入該名字
        ......
 };

以mmc的設備節點為例,上述mmc0指定了時鐘來自PERI_MCI0,PERI_MCI0的父時鐘是peri,并將所指定的時鐘給它命名為"mmc0"。

2、驅動中使用API接口

簡單的使用:

/* 1、獲取時鐘 */
host- >clk = devm_clk_get(&pdev- >dev, NULL); //或者devm_clk_get(&pdev- >dev, "mmc0")
 if (IS_ERR(host- >clk)) {
  dev_err(dev, "failed to find clock sourcen");
  ret = PTR_ERR(host- >clk);
  goto probe_out_free_dev;
 }

/* 2、使能時鐘 */
ret = clk_prepare_enable(host- >clk);
if (ret) {
 dev_err(dev, "failed to enable clock source.n");
 goto probe_out_free_dev;
}

probe_out_free_dev:
 kfree(host);

在驅動中操作時鐘,第一步需要獲取struct clk指針句柄,后續都通過該指針進行操作,例如:設置頻率:

ret = clk_set_rate(host- >clk, 300000);

獲得頻率:

ret = clk_get_rate(host- >clk);

注意:devm_clk_get()的兩個參數是二選一,可以都傳入,也可以只傳入一個參數。

i2c、mmc等這些外設驅動,通常只需要使能門控即可,因為這些外設并不是時鐘源,它們只有開關。如果直接調用clk_ser_rate函數設置頻率,clk_set_rate會向上傳遞,即設置它的父時鐘頻率。例如在該例子中直接調用clk_set_rate函數,最終設置的是時鐘源peri的頻率。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210414
  • API
    API
    +關注

    關注

    2

    文章

    1511

    瀏覽量

    62402
  • 開發
    +關注

    關注

    0

    文章

    370

    瀏覽量

    40920
  • 時鐘
    +關注

    關注

    11

    文章

    1747

    瀏覽量

    131804
收藏 人收藏

    評論

    相關推薦

    SDK、API、Open API有什么區別(iot開發平臺)

    的SDK已經被當作一個產品來運營。開發者不需要再對產品的每個功能進行開發,選擇合適穩定的SDK服務并花費很少的經歷就可以在產品中集成某項功能。[ API的概念]API即“應用程序編程接
    發表于 07-09 15:32

    OpenHarmony 應用開發SDK、API 與基礎工具

    一、整體說明 ArkTS 語言是鴻蒙系統主推的應用開發語言。因此鴻蒙系統提供給開發者的 API 絕大部分也是 ArkTS 語言的。 鴻蒙系統提供的 API 范圍非常全面,包括應用服務、
    發表于 09-19 15:45

    分析API都有哪些特點

    。因此,理解好的API特性是至關重要的。那么什么是好的API呢? API一詞似乎是對軟件開發人員的一種Rorschach Test。Web開發
    發表于 09-28 17:38 ?11次下載

    Android開發手冊—API函數詳解

    Android開發手冊—API函數詳解
    發表于 10-17 09:01 ?13次下載
    Android<b class='flag-5'>開發</b>手冊—<b class='flag-5'>API</b>函數詳解

    基于Android開發手冊—API函數詳解

    基于Android開發手冊—API函數詳解
    發表于 10-24 09:06 ?18次下載
    基于Android<b class='flag-5'>開發</b>手冊—<b class='flag-5'>API</b>函數詳解

    《Linux設備驅動開發詳解》第10章、中斷與時鐘PDF免費下載

    《Linux設備驅動開發詳解》第10章、中斷與時鐘
    發表于 10-27 11:29 ?0次下載
    《Linux設備<b class='flag-5'>驅動</b><b class='flag-5'>開發</b>詳解》第10章、中斷與<b class='flag-5'>時鐘</b>PDF免費下載

    TI網絡開發套件v2.21 API 參考指南

    本參考指南NDK主要編程API參考指南。它旨在幫助開發網絡應用程序,并描述由堆棧庫提供的各種API函數。
    發表于 04-13 16:35 ?3次下載
    TI網絡<b class='flag-5'>開發</b>套件v2.21 <b class='flag-5'>API</b> 參考指南

    用于 Linux 管理 API 手冊的 PTP 時鐘管理器

    用于 Linux 管理 API 手冊的 PTP 時鐘管理器
    發表于 02-02 18:44 ?1次下載
    用于 Linux 管理 <b class='flag-5'>API</b> 手冊的 PTP <b class='flag-5'>時鐘</b>管理器

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    API托管、API運維、API變現,助力企業數字化轉型。 API和微服務已經成為核心的數字化變革驅動引擎,數字企業RD始終圍繞著
    的頭像 發表于 02-17 19:05 ?1167次閱讀

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    華為云API Arts是API全生命周期一體化協作平臺,支持開發者一站式高效實現API設計、API開發
    的頭像 發表于 03-01 15:45 ?841次閱讀
    <b class='flag-5'>API</b>+DevOps:華為云<b class='flag-5'>API</b> Arts一體化平臺,端到端呵護您的<b class='flag-5'>API</b>

    用于 Linux 管理 API 手冊的 PTP 時鐘管理器

    用于 Linux 管理 API 手冊的 PTP 時鐘管理器
    發表于 07-04 18:31 ?1次下載
    用于 Linux 管理 <b class='flag-5'>API</b> 手冊的 PTP <b class='flag-5'>時鐘</b>管理器

    基于Java的接口快速開發框架——magic-api

    magic-api 是一個基于Java的接口快速開發框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、Mapper、XML、VO等Java對象
    發表于 07-19 11:42 ?966次閱讀
    基于Java的接口快速<b class='flag-5'>開發</b>框架——magic-<b class='flag-5'>api</b>

    時鐘子系統中clock驅動實例

    clock驅動實例 clock驅動時鐘子系統中屬于provider,provider是時鐘的提供者,即具體的clock驅動。 clock
    的頭像 發表于 09-27 14:39 ?859次閱讀
    <b class='flag-5'>時鐘</b>子系統中clock<b class='flag-5'>驅動</b>實例

    華納云:使用 WireMock 在開發和測試中模擬 API 服務

    在本地開發和測試期間,經常會遇到您的應用依賴于遠程 API 的情況。網絡問題、速率限制,甚至 API 提供商的停機都可能阻礙您的進度。這會嚴重影響您的工作效率并使測試更具挑戰性。這就
    的頭像 發表于 10-25 16:46 ?426次閱讀

    api驅動的云服務是什么意思?

    API驅動的云服務是指利用API技術來驅動和提供云服務的模式。在這種模式下,云服務提供商會公開一系列的API接口,允許
    的頭像 發表于 11-14 10:06 ?250次閱讀
    乐宝百家乐官网游戏| 实战百家乐官网十大取胜原因百分百战胜百家乐官网不买币不吹牛只你能做到按我说的.百家乐官网基本规则 | 大发888真钱娱乐城下载| 百家乐官网7杀6| 广东百家乐网| 保单百家乐官网路单| 大田县| 真人百家乐试玩账号| 永兴县| 百家乐最常见的路子| 越西县| 百家乐和的几率| 百家乐官网压分规律| 百家乐网上玩法| 巴黎百家乐官网地址| 财神百家乐的玩法技巧和规则 | 百家乐赌博机玩法| 百家乐官网庄闲规则| 大世界百家乐娱乐| 366百家乐官网赌博| 大发888娱乐城送白菜| 新葡京百家乐官网的玩法技巧和规则| 百家乐singapore| 百家乐官网概率下注法| 郑州市太阳城宾馆| 博九百家乐官网的玩法技巧和规则| 京城娱乐城| 大上海百家乐官网的玩法技巧和规则 | 百家乐官网赌博策略大全| 金三角百家乐的玩法技巧和规则| 神人百家乐官网赌博| 娱乐城金赞| 百家乐官方游戏| 百家乐官网高额投注| 大发888安装需要多久| 艮山坤向 24山| 丰台区| 威尼斯人娱乐城真人赌博| 汉百家乐官网春| 阜城县| 大发888安装包|