精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Linux reset子系統有什么功能

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

Linux reset子系統

reset子系統非常簡單,與clock子系統非常類似,但在驅動實現上,reset驅動更簡單。

因為clock驅動主要是時鐘的實現,涉及到固定時鐘、分頻、門控等一些時鐘的分級關系,需要弄清楚時鐘樹里每個時鐘的關系。

而reset驅動有點相當于clock驅動的門控,它只有復位和解復位兩個功能。

類似于clock子系統,reset子系統也分為了consumerprovider,結構體關系如下:

圖片

consumer

reset API接口的使用者,內核提供了統一的reset接口:

devm_reset_control_get(struct device *dev, const char *id)//獲取reset句柄
reset_control_deassert(struct reset_control *rstc)//解復位
reset_control_assert(struct reset_control *rstc)//復位
reset_control_reset(struct reset_control *rstc)//先復位,延遲一會,然后解復位

struct reset_control結構體表示一個reset句柄,驅動中使用reset API,需要先獲取reset句柄

provider

reset提供者,即reset驅動。struct reset_controller_dev結構體代表一個reset控制器,內部包含了reset操作函數集合struct reset_control_ops,注冊reset驅動時,需要分配一個struct reset_controller_dev結構體,然后填充成員,最后將該結構體注冊。

struct reset_controller_dev{
    const struct reset_control_ops *ops;//復位控制操作函數
    struct list_head list;//全局鏈表,復位控制器注冊后掛載到全局鏈表
    struct list_head reset_control_head;//各個模塊復位的鏈表頭
    struct device *dev;
    int of_reset_n_cells;//dts中引用時,需要幾個參數
        
    //通過dts引用的參數,解析復位控制器中相應的參數
    int (*of_xlate)(struct reset_controller_dev *rcdev, const struct of_phandle_args *reset_spec);
    unsigned int nr_resets;//復位設備個數
}

struct reset_control_ops{
    int (*reset)(struct reset_controller_dev *rcdev, unsigned long id);//復位+解復位
    int (*assert)(struct reset_controller_dev *rcdev, unsigned long id);//復位
    int (*deassert)(struct reset_controller_dev *rcdev, unsigned long id);//解復位
    int (*status)(struct reset_controller_dev *rcdev, unsigned long id);//復位狀態查詢
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動
    +關注

    關注

    12

    文章

    1827

    瀏覽量

    85186
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208950
  • 子系統
    +關注

    關注

    0

    文章

    109

    瀏覽量

    12386
收藏 人收藏

    評論

    相關推薦

    Linux下輸入子系統上報觸摸屏坐標

    ??在 Linux 中,輸入子系統是由輸入子系統設備驅動層、輸入子系統核心層(Input Core)和輸入子系統事件處理層(Event Ha
    的頭像 發表于 09-25 08:56 ?2414次閱讀
    <b class='flag-5'>Linux</b>下輸入<b class='flag-5'>子系統</b>上報觸摸屏坐標

    Linux reset子系統及驅動實例

    上篇講了Linux clock驅動,今天說說Linuxreset驅動。
    發表于 05-31 16:16 ?1086次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>reset</b><b class='flag-5'>子系統</b>及驅動實例

    Linux LED子系統詳解

    Linux LED子系統詳解
    的頭像 發表于 06-10 10:37 ?1521次閱讀
    <b class='flag-5'>Linux</b> LED<b class='flag-5'>子系統</b>詳解

    如何使用Linux內核中的input子系統

    的 input 子系統下提供的 API 函數接口,完成設備的注冊即可。在本章節中我們來學習一下如何使用 Linux內核中的 input 子系統
    發表于 12-29 07:20

    Linux子系統中使用adb功能有哪幾種方式呢

    Linux子系統中使用adb功能兩種方式:1、使用Windows系統的adb2、在Linux
    發表于 04-19 16:37

    基于Linux內核輸入子系統的驅動研究

    Linux因其完全開放的特性和穩定優良的性能深受歡迎,當推出了內核輸入子系統后,更方便了嵌入式領域的驅動開放。介紹了Linux的設備驅動基礎,詳細闡述了基于Linux內核輸入
    發表于 09-12 16:38 ?23次下載

    Linux內核輸入子系統的驅動研究

    Linux內核輸入子系統的驅動研究
    發表于 10-31 14:41 ?14次下載
    <b class='flag-5'>Linux</b>內核輸入<b class='flag-5'>子系統</b>的驅動研究

    詳細了解Linux設備模型中的input子系統

    linux輸入子系統linux input subsystem)從上到下由三層實現,分別為:輸入子系統事件處理層(EventHandler)、輸入
    發表于 05-12 09:04 ?1033次閱讀
    詳細了解<b class='flag-5'>Linux</b>設備模型中的input<b class='flag-5'>子系統</b>

    Windows 10操作系統會有專門的Linux子系統

    曾經一段時間,微軟對 Linux 的態度并不友好。但隨著企業戰略的全面轉型,該公司已經積極投身相關應用與服務的開發。甚至在 Windows 10 操作系統層面,都有專門的 Linux
    的頭像 發表于 03-14 09:45 ?3107次閱讀

    Windows 子系統助力 Linux 2.0

    Windows 子系統助力 Linux 2.0
    的頭像 發表于 01-04 11:17 ?631次閱讀

    Linux系統中NFC子系統架構分析

    目前在Linux系統中,每個廠家都使用不同的方式實現NFC驅動,然后自己在應用層上面做適配。但是Linux也已經推出NFC子系統,很多廠家也逐步在統一。
    發表于 01-04 14:01 ?1993次閱讀

    linux-usb子系統的核心描述

    本文將描述linux-usb子系統的核心,主要分析其核心的初始化流程,文中源碼基于內核版本:4.1.15。
    的頭像 發表于 01-14 09:37 ?2649次閱讀

    Linux內核reset驅動實例

    reset驅動實例 類似于clock驅動,reset驅動也是編進內核的,在Linux啟動時,完成reset驅動的加載。 設備樹 reset
    的頭像 發表于 09-27 14:21 ?729次閱讀

    Linux clock子系統是什么

    clock子系統 Linux的時鐘子系統由CCF(common clock framework)框架管理, CCF向上給用戶提供了通用的時鐘接口,向下給驅動開發者提供硬件操作的接口 。各結構體關系
    的頭像 發表于 09-27 14:25 ?800次閱讀
    <b class='flag-5'>Linux</b> clock<b class='flag-5'>子系統</b>是什么

    Linux網絡子系統的實現

    Linux網絡子系統的分層 Linux網絡子系統實現需要: l 支持不同的協議族 ( INET, INET6, UNIX, NETLINK...) l 支持不同的網絡設備 l 支持統一
    的頭像 發表于 11-11 11:25 ?1290次閱讀
    <b class='flag-5'>Linux</b>網絡<b class='flag-5'>子系統</b>的實現