吴忠躺衫网络科技有限公司

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

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

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

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

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

Linux reset子系統(tǒng)

reset子系統(tǒng)非常簡(jiǎn)單,與clock子系統(tǒng)非常類似,但在驅(qū)動(dòng)實(shí)現(xiàn)上,reset驅(qū)動(dòng)更簡(jiǎn)單。

因?yàn)閏lock驅(qū)動(dòng)主要是時(shí)鐘的實(shí)現(xiàn),涉及到固定時(shí)鐘、分頻、門(mén)控等一些時(shí)鐘的分級(jí)關(guān)系,需要弄清楚時(shí)鐘樹(shù)里每個(gè)時(shí)鐘的關(guān)系。

而reset驅(qū)動(dòng)有點(diǎn)相當(dāng)于clock驅(qū)動(dòng)的門(mén)控,它只有復(fù)位和解復(fù)位兩個(gè)功能。

類似于clock子系統(tǒng),reset子系統(tǒng)也分為了consumerprovider,結(jié)構(gòu)體關(guān)系如下:

圖片

consumer

reset API接口的使用者,內(nèi)核提供了統(tǒng)一的reset接口:

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

struct reset_control結(jié)構(gòu)體表示一個(gè)reset句柄,驅(qū)動(dòng)中使用reset API,需要先獲取reset句柄

provider

reset提供者,即reset驅(qū)動(dòng)。struct reset_controller_dev結(jié)構(gòu)體代表一個(gè)reset控制器,內(nèi)部包含了reset操作函數(shù)集合struct reset_control_ops,注冊(cè)reset驅(qū)動(dòng)時(shí),需要分配一個(gè)struct reset_controller_dev結(jié)構(gòu)體,然后填充成員,最后將該結(jié)構(gòu)體注冊(cè)。

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

struct reset_control_ops{
    int (*reset)(struct reset_controller_dev *rcdev, unsigned long id);//復(fù)位+解復(fù)位
    int (*assert)(struct reset_controller_dev *rcdev, unsigned long id);//復(fù)位
    int (*deassert)(struct reset_controller_dev *rcdev, unsigned long id);//解復(fù)位
    int (*status)(struct reset_controller_dev *rcdev, unsigned long id);//復(fù)位狀態(tài)查詢
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1851

    瀏覽量

    85634
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

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

    關(guān)注

    0

    文章

    110

    瀏覽量

    12453
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux下輸入子系統(tǒng)上報(bào)觸摸屏坐標(biāo)

    ??在 Linux 中,輸入子系統(tǒng)是由輸入子系統(tǒng)設(shè)備驅(qū)動(dòng)層、輸入子系統(tǒng)核心層(Input Core)和輸入子系統(tǒng)事件處理層(Event Ha
    的頭像 發(fā)表于 09-25 08:56 ?2549次閱讀
    <b class='flag-5'>Linux</b>下輸入<b class='flag-5'>子系統(tǒng)</b>上報(bào)觸摸屏坐標(biāo)

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

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

    Linux LED子系統(tǒng)詳解

    Linux LED子系統(tǒng)詳解
    的頭像 發(fā)表于 06-10 10:37 ?1591次閱讀
    <b class='flag-5'>Linux</b> LED<b class='flag-5'>子系統(tǒng)</b>詳解

    如何使用Linux內(nèi)核中的input子系統(tǒng)

    的 input 子系統(tǒng)下提供的 API 函數(shù)接口,完成設(shè)備的注冊(cè)即可。在本章節(jié)中我們來(lái)學(xué)習(xí)一下如何使用 Linux內(nèi)核中的 input 子系統(tǒng)
    發(fā)表于 12-29 07:20

    Linux子系統(tǒng)中使用adb功能有哪幾種方式呢

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

    基于Linux內(nèi)核輸入子系統(tǒng)的驅(qū)動(dòng)研究

    Linux因其完全開(kāi)放的特性和穩(wěn)定優(yōu)良的性能深受歡迎,當(dāng)推出了內(nèi)核輸入子系統(tǒng)后,更方便了嵌入式領(lǐng)域的驅(qū)動(dòng)開(kāi)放。介紹了Linux的設(shè)備驅(qū)動(dòng)基礎(chǔ),詳細(xì)闡述了基于Linux內(nèi)核輸入
    發(fā)表于 09-12 16:38 ?23次下載

    Linux內(nèi)核輸入子系統(tǒng)的驅(qū)動(dòng)研究

    Linux內(nèi)核輸入子系統(tǒng)的驅(qū)動(dòng)研究
    發(fā)表于 10-31 14:41 ?14次下載
    <b class='flag-5'>Linux</b>內(nèi)核輸入<b class='flag-5'>子系統(tǒng)</b>的驅(qū)動(dòng)研究

    詳細(xì)了解Linux設(shè)備模型中的input子系統(tǒng)

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

    Windows 10操作系統(tǒng)會(huì)有專門(mén)的Linux子系統(tǒng)

    曾經(jīng)一段時(shí)間,微軟對(duì) Linux 的態(tài)度并不友好。但隨著企業(yè)戰(zhàn)略的全面轉(zhuǎn)型,該公司已經(jīng)積極投身相關(guān)應(yīng)用與服務(wù)的開(kāi)發(fā)。甚至在 Windows 10 操作系統(tǒng)層面,都有專門(mén)的 Linux
    的頭像 發(fā)表于 03-14 09:45 ?3165次閱讀

    Windows 子系統(tǒng)助力 Linux 2.0

    Windows 子系統(tǒng)助力 Linux 2.0
    的頭像 發(fā)表于 01-04 11:17 ?691次閱讀

    Linux系統(tǒng)中NFC子系統(tǒng)架構(gòu)分析

    目前在Linux系統(tǒng)中,每個(gè)廠家都使用不同的方式實(shí)現(xiàn)NFC驅(qū)動(dòng),然后自己在應(yīng)用層上面做適配。但是Linux也已經(jīng)推出NFC子系統(tǒng),很多廠家也逐步在統(tǒng)一。
    發(fā)表于 01-04 14:01 ?2139次閱讀

    linux-usb子系統(tǒng)的核心描述

    本文將描述linux-usb子系統(tǒng)的核心,主要分析其核心的初始化流程,文中源碼基于內(nèi)核版本:4.1.15。
    的頭像 發(fā)表于 01-14 09:37 ?2827次閱讀

    Linux內(nèi)核reset驅(qū)動(dòng)實(shí)例

    reset驅(qū)動(dòng)實(shí)例 類似于clock驅(qū)動(dòng),reset驅(qū)動(dòng)也是編進(jìn)內(nèi)核的,在Linux啟動(dòng)時(shí),完成reset驅(qū)動(dòng)的加載。 設(shè)備樹(shù) reset
    的頭像 發(fā)表于 09-27 14:21 ?842次閱讀

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

    clock子系統(tǒng) Linux的時(shí)鐘子系統(tǒng)由CCF(common clock framework)框架管理, CCF向上給用戶提供了通用的時(shí)鐘接口,向下給驅(qū)動(dòng)開(kāi)發(fā)者提供硬件操作的接口 。各結(jié)構(gòu)體關(guān)系
    的頭像 發(fā)表于 09-27 14:25 ?888次閱讀
    <b class='flag-5'>Linux</b> clock<b class='flag-5'>子系統(tǒng)</b>是什么

    Linux網(wǎng)絡(luò)子系統(tǒng)的實(shí)現(xiàn)

    Linux網(wǎng)絡(luò)子系統(tǒng)的分層 Linux網(wǎng)絡(luò)子系統(tǒng)實(shí)現(xiàn)需要: l 支持不同的協(xié)議族 ( INET, INET6, UNIX, NETLINK...) l 支持不同的網(wǎng)絡(luò)設(shè)備 l 支持統(tǒng)一
    的頭像 發(fā)表于 11-11 11:25 ?1416次閱讀
    <b class='flag-5'>Linux</b>網(wǎng)絡(luò)<b class='flag-5'>子系統(tǒng)</b>的實(shí)現(xiàn)
    大发888娱乐游戏账号| 百家乐官网赌博故事| 百家乐官网送18元彩金| 免费下百家乐赌博软件| 决胜德州扑克刷金币| 风水24山代表什么| 菲律宾沙龙国际| 肯博百家乐现金网| 博赢国际娱乐城| 百家乐投注方法| 百家乐官网视频双扣下载| 伯爵百家乐娱乐网| 合江县| 百家乐保证赢| 去澳门百家乐官网的玩法技巧和规则| 新大发888娱乐城| 百家乐棋牌正式版| 百家乐官网庄闲庄庄闲| 百家乐官网游戏必赢法| 恒丰百家乐的玩法技巧和规则| 百家乐官网看大路| 优博网| 大发888娱乐官网地址| 百家乐网络赌场| 24山入宅择日| 百家乐官网看点打法| 百家乐官网平台| 百家乐官网谁能看准牌| 真人百家乐官网网站接口| 大发888娱乐城高手| 找真人百家乐的玩法技巧和规则 | 线上百家乐官网赢钱| 德州扑克 在线| 美高梅百家乐娱乐城| 百家乐官网网站| 金榜百家乐官网的玩法技巧和规则| 辽中县| 凌云县| 香港六合彩开奖结果| bet365苹果| 老k棋牌游戏大厅|