chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時(shí)鐘子系統(tǒng)中clock驅(qū)動(dòng)實(shí)例

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

clock驅(qū)動(dòng)實(shí)例

clock驅(qū)動(dòng)在時(shí)鐘子系統(tǒng)中屬于provider,provider是時(shí)鐘的提供者,即具體的clock驅(qū)動(dòng)。

clock驅(qū)動(dòng)在Linux剛啟動(dòng)的時(shí)候就要完成,比initcall都要早期,因此clock驅(qū)動(dòng)是在內(nèi)核中進(jìn)行實(shí)現(xiàn)。 在內(nèi)核的drivers/clk目錄下,可以看到各個(gè)芯片廠商對(duì)各自芯片clock驅(qū)動(dòng)的實(shí)現(xiàn):

圖片

下面以一個(gè)簡(jiǎn)單的時(shí)鐘樹,舉例說明一個(gè)芯片的時(shí)鐘驅(qū)動(dòng)的大致實(shí)現(xiàn)過程:

1、時(shí)鐘樹

通常來說,一個(gè)芯片的時(shí)鐘樹是比較固定的,例如,以下時(shí)鐘樹:

圖片

時(shí)鐘樹的 根節(jié)點(diǎn)一般是晶振時(shí)鐘 ,上圖根節(jié)點(diǎn)為24M晶振時(shí)鐘。根節(jié)點(diǎn)下面是PLL,PLL用于提升頻率。PPL0下又分頻給PERI、DSP和ISP。PLL1分頻給DDR和ENC。

對(duì)于PLL來說,PLL的頻率可以通過寄存器設(shè)置,但通常是固定的,所以PLL屬于 固定時(shí)鐘

對(duì)PERI、DSP等模塊來說,它們的頻率來自于PLL的分頻,因此這些模塊的時(shí)鐘屬于 分頻時(shí)鐘 。

2、設(shè)備樹

設(shè)備樹中表示一個(gè)時(shí)鐘源,應(yīng)有如下屬性,例如24M晶振時(shí)鐘:

clocks{
 osc24M:osc24M{
  compatible = "fixed-clock";
  #clock-cells = < 0 >;
  clock-output-name = "osc24M";
  clock-frequency = < 24000000 >;
 };
};
屬性說明
compatible驅(qū)動(dòng)匹配名字
#clock-cells提供輸出時(shí)鐘的路數(shù)。#clock-cells為0時(shí),代表輸出一路時(shí)鐘#clock-cells為1時(shí),代表輸出2路時(shí)鐘。
#clock-output-names輸出時(shí)鐘的名字
#clock-frequency輸出時(shí)鐘的頻率

3、驅(qū)動(dòng)實(shí)現(xiàn)

clock驅(qū)動(dòng)編寫的基本步驟:

  1. 實(shí)現(xiàn)struct clk_ops相關(guān)成員函數(shù)
  2. 定義分配struct clk_onecell_data結(jié)構(gòu)體,初始化相關(guān)數(shù)據(jù)
  3. 定義分配struct clk_init_data結(jié)構(gòu)體,初始化相關(guān)數(shù)據(jù)
  4. 調(diào)用clk_register將時(shí)鐘注冊(cè)進(jìn)框架
  5. 調(diào)用clk_register_clkdev注冊(cè)時(shí)鐘設(shè)備
  6. 調(diào)用of_clk_add_provider,將clk provider存放到of_clk_provider鏈表中管理
  7. 調(diào)用CLK_OF_DECLARE聲明驅(qū)動(dòng)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1918

    瀏覽量

    86939
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213823
  • Clocks
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    9751
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1032

    瀏覽量

    21819
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux clock子系統(tǒng)驅(qū)動(dòng)實(shí)例

    在Linux驅(qū)動(dòng),操作時(shí)鐘只需要簡(jiǎn)單調(diào)用內(nèi)核提供的通用接口即可,clock驅(qū)動(dòng)通常是由芯片廠商開發(fā)的,在Linux啟動(dòng)時(shí)
    發(fā)表于 05-31 16:10 ?1164次閱讀
    Linux <b class='flag-5'>clock</b><b class='flag-5'>子系統(tǒng)</b>及<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>實(shí)例</b>

    Linux reset子系統(tǒng)驅(qū)動(dòng)實(shí)例

    上篇講了Linux clock驅(qū)動(dòng),今天說說Linux的reset驅(qū)動(dòng)
    發(fā)表于 05-31 16:16 ?1502次閱讀
    Linux reset<b class='flag-5'>子系統(tǒng)</b>及<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>實(shí)例</b>

    子系統(tǒng)設(shè)計(jì)實(shí)例PDF格式

    子系統(tǒng)設(shè)計(jì)實(shí)例 [hide][[/hide]
    發(fā)表于 09-25 16:00

    FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航

    FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航
    發(fā)表于 09-26 12:43

    FPGA_數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航

    FPGA_數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航
    發(fā)表于 09-28 13:41

    SYSBIOS6驅(qū)動(dòng)clock的timer配置問題如何解決

    現(xiàn)在使用C6748開發(fā),需要使用sy***ios6。在SYSBIOS6需要使用某一個(gè)timer來驅(qū)動(dòng)系統(tǒng)時(shí)鐘,在sy***ios的cfg文件
    發(fā)表于 05-19 11:15

    子系統(tǒng)設(shè)計(jì)實(shí)例

    子系統(tǒng)設(shè)計(jì)實(shí)例將精選一些歷屆電子競(jìng)賽的賽題,通過對(duì)它們的具體分析和設(shè)計(jì)、實(shí)施,將理論與實(shí)踐緊密的結(jié)合起來,通過具體的設(shè)計(jì)訓(xùn)練提高實(shí)際能力。 簡(jiǎn)易數(shù)字頻
    發(fā)表于 07-28 18:24 ?69次下載

    FPGA_數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航

    FPGA_數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航,基于VHDL設(shè)計(jì)語言。
    發(fā)表于 05-11 15:54 ?24次下載

    三個(gè)命令生成的報(bào)告均可顯示Clock Skew的具體數(shù)值

    如果時(shí)鐘同時(shí)驅(qū)動(dòng)I/O和Slice的邏輯資源,且負(fù)載小于2000時(shí),可通過CLOCK_LOW_FANOUT屬性對(duì)相應(yīng)的時(shí)鐘net進(jìn)行設(shè)置,
    的頭像 發(fā)表于 11-07 11:08 ?5167次閱讀
    三個(gè)命令生成的報(bào)告<b class='flag-5'>中</b>均可顯示<b class='flag-5'>Clock</b> Skew的具體數(shù)值

    Linux時(shí)間子系統(tǒng)之一:clock source(時(shí)鐘源)

    clock source用于為linux內(nèi)核提供一個(gè)時(shí)間基線,如果你用linux的date命令獲取當(dāng)前時(shí)間,內(nèi)核會(huì)讀取當(dāng)前的clock source,轉(zhuǎn)換并返回合適的時(shí)間單位給用戶空間。
    發(fā)表于 05-10 14:36 ?2158次閱讀

    為什么需要時(shí)鐘門控?時(shí)鐘門控終極指南

    時(shí)鐘門控(Clock Gating)** 是一種在數(shù)字IC設(shè)計(jì)某些部分不需要時(shí)關(guān)閉時(shí)鐘的技術(shù)。這里的“部分”可以是單個(gè)寄存器、模塊、子系統(tǒng)
    的頭像 發(fā)表于 06-29 15:58 ?2704次閱讀
    為什么需要<b class='flag-5'>時(shí)鐘</b>門控?<b class='flag-5'>時(shí)鐘</b>門控終極指南

    Linux reset子系統(tǒng)有什么功能

    Linux reset子系統(tǒng) reset子系統(tǒng)非常簡(jiǎn)單,與clock子系統(tǒng)非常類似,但在驅(qū)動(dòng)實(shí)現(xiàn)上,reset
    的頭像 發(fā)表于 09-27 14:06 ?1063次閱讀
    Linux reset<b class='flag-5'>子系統(tǒng)</b>有什么功能

    Linux clock子系統(tǒng)是什么

    clock子系統(tǒng) Linux的時(shí)鐘子系統(tǒng)由CCF(common clock framework)框架管理, CCF向上給用戶提供了通用的
    的頭像 發(fā)表于 09-27 14:25 ?1145次閱讀
    Linux <b class='flag-5'>clock</b><b class='flag-5'>子系統(tǒng)</b>是什么

    SOC設(shè)計(jì)Clock Gating的基本原理與應(yīng)用講解

    SOC(System on Chip,片上系統(tǒng))設(shè)計(jì),時(shí)鐘信號(hào)的控制對(duì)于整個(gè)系統(tǒng)的性能和功耗至關(guān)重要。本文將帶您了解SOC設(shè)計(jì)的一種
    的頭像 發(fā)表于 04-28 09:12 ?3456次閱讀

    深度解析linux時(shí)鐘子系統(tǒng)

    linux內(nèi)核實(shí)現(xiàn)了一個(gè)CLK子系統(tǒng),用于對(duì)上層提供各模塊(例如需要時(shí)鐘信號(hào)的外設(shè),USB等)的時(shí)鐘驅(qū)動(dòng)接口,對(duì)下層提供具體SOC的
    的頭像 發(fā)表于 09-29 16:46 ?1311次閱讀
    深度解析linux<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>子系統(tǒng)</b>