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

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

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

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

深入解析RK3568引腳控制核心:rk3568-pinctrl.dtsi文件的作用與實(shí)踐(可應(yīng)用rk全系列)

jf_44130326 ? 來(lái)源:Linux1024 ? 2026-02-05 14:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式Linux開(kāi)發(fā)中,設(shè)備樹(shù)(Device Tree是連接硬件與軟件的關(guān)鍵橋梁,而針對(duì)Rockchip RK3568芯片的rk3568-pinctrl.dtsi文件,更是掌控芯片引腳功能的總開(kāi)關(guān)。無(wú)論是自定義開(kāi)發(fā)板適配、外設(shè)調(diào)試,還是性能優(yōu)化,理解這份文件都能讓開(kāi)發(fā)者少走90%的彎路。今天我們就從文件定位、核心作用、硬件映射、引腳復(fù)用邏輯,到實(shí)際開(kāi)發(fā)中的修改與意義,全方位拆解這份引腳說(shuō)明書(shū)。

wKgZO2kajD6AcO0YAAGhllHfqns501.png

一、文件定位:它是什么?放在哪里?

首先明確rk3568-pinctrl.dtsi的基礎(chǔ)信息——它不是普通的配置文件,而是ARM64架構(gòu)下RK3568芯片的引腳控制器Pinctrl)設(shè)備樹(shù)片段,路徑固定為:

kernel/arch/arm64/boot/dts/rockchip/rk3568-pinctrl.dtsi

?架構(gòu)歸屬arch/arm64表明它面向64ARM處理器,適配RK356864位運(yùn)行模式;

?廠商歸屬rockchip目錄下存放瑞芯微全系列芯片的設(shè)備樹(shù)文件,統(tǒng)一管理硬件描述;

?文件類(lèi)型.dtsi是設(shè)備樹(shù)片段文件,會(huì)被主設(shè)備樹(shù)(如rk3568-evb.dts)通過(guò)#include引用,避免重復(fù)編寫(xiě)引腳配置邏輯。

二、核心作用:為什么它是硬件與軟件的翻譯官

RK3568作為一款主流嵌入式芯片,擁有上百個(gè)引腳,每個(gè)引腳可支持多種功能(如UARTSPI、I2C等)。rk3568-pinctrl.dtsi的核心作用,就是將芯片硬件引腳的物理屬性與軟件驅(qū)動(dòng)的功能需求綁定,具體拆解為4個(gè)關(guān)鍵職責(zé):

1.引腳身份注冊(cè):給每個(gè)引腳貼功能標(biāo)簽

芯片的引腳并非孤立存在,而是按外設(shè)模塊分組(如音頻、串口、網(wǎng)口等)。文件中每個(gè)節(jié)點(diǎn)(如acodec、uart0、spi1)都對(duì)應(yīng)一個(gè)硬件模塊,節(jié)點(diǎn)下的rockchip,pins列表則明確該模塊需要使用的引腳,以及引腳的功能角色。

例如音頻編解碼器ACODEC)的引腳配置:

acodec {  /omit-if-no-ref/  acodec_pins: acodec-pins {    rockchip,pins =     /* acodec_adc_sync */      <1RK_PB15&pcfg_pull_none>,     /* acodec_adcclk */      <1RK_PA15&pcfg_pull_none>,     /* 其他ACODEC相關(guān)引腳... */;  };};

這段代碼的本質(zhì)是:給“ACODEC模塊分配一組引腳,每個(gè)引腳對(duì)應(yīng)一個(gè)具體功能(如RK_PB1負(fù)責(zé)acodec_adc_sync同步信號(hào)),軟件驅(qū)動(dòng)通過(guò)調(diào)用acodec_pins,就能知道該用哪些引腳實(shí)現(xiàn)音頻功能。

2.引腳參數(shù)配置:定義電氣特性

除了功能綁定,引腳的電氣屬性(如上拉/下拉、驅(qū)動(dòng)強(qiáng)度)直接影響硬件穩(wěn)定性。文件中通過(guò)pcfg_xxx系列配置項(xiàng)定義這些參數(shù),常見(jiàn)配置包括:

?&pcfg_pull_none:無(wú)上下拉(適用于有外部電平驅(qū)動(dòng)的場(chǎng)景,如時(shí)鐘信號(hào));

?&pcfg_pull_up:上拉(適用于I2C、SPI等需要穩(wěn)定電平的總線);

?&pcfg_pull_up_drv_level_2:上拉+驅(qū)動(dòng)強(qiáng)度等級(jí)2(適用于EMMC、SD卡等高速外設(shè),增強(qiáng)信號(hào)驅(qū)動(dòng)能力)。

例如EMMC的數(shù)據(jù)線配置:

emmc_bus8: emmc-bus8 {  rockchip,pins =   /* emmc_d0 */    <1RK_PB41&pcfg_pull_up_drv_level_2>,   /* 其他7根數(shù)據(jù)線... */;};

EMMC作為高速存儲(chǔ)設(shè)備,需要上拉保證空閑電平穩(wěn)定,同時(shí)驅(qū)動(dòng)強(qiáng)度設(shè)為2級(jí)(RK3568支持1-4級(jí),等級(jí)越高驅(qū)動(dòng)能力越強(qiáng)),避免信號(hào)衰減。

3.功能復(fù)用管理:實(shí)現(xiàn)一引腳多用途

RK3568的多數(shù)引腳支持功能復(fù)用Multiplexing——同一個(gè)物理引腳可切換為UART_TXSPI_CLK、GPIO等不同功能。文件通過(guò)功能索引rockchip,pins列表中的第三個(gè)數(shù)字)實(shí)現(xiàn)復(fù)用控制。

以引腳RK_PA0為例,它在文件中出現(xiàn)多次,對(duì)應(yīng)不同功能:

?作為ACODECacodec_adcdata<1 RK_PA0 5 &pcfg_pull_none>(索引5);

?作為Audio PWMaudiopwm_lout<1 RK_PA0 4 &pcfg_pull_none>(索引4);

?作為Audio PWMaudiopwm_loutp<1 RK_PA0 6 &pcfg_pull_none>(索引6)。

這里的索引是芯片手冊(cè)中定義的功能編號(hào),不同索引對(duì)應(yīng)引腳的不同內(nèi)部電路連接——軟件需要哪個(gè)功能,就調(diào)用對(duì)應(yīng)索引的配置,實(shí)現(xiàn)一引腳多用途的靈活切換。

4.為外設(shè)驅(qū)動(dòng)提供引腳資源

Linux驅(qū)動(dòng)(如UART驅(qū)動(dòng)、SPI驅(qū)動(dòng))不會(huì)直接操作物理引腳,而是通過(guò)引用設(shè)備樹(shù)中的引腳配置獲取資源。例如UART0驅(qū)動(dòng)要工作,需在其設(shè)備樹(shù)節(jié)點(diǎn)中引用uart0_xfer

uart0: serial@fe660000{  pinctrl-names ="default";  pinctrl-0= <&uart0_xfer>;// 引用uart0的引腳配置  status ="okay";};

uart0_xfer的定義正來(lái)自rk3568-pinctrl.dtsi

uart0 {  /omit-if-no-ref/  uart0_xfer: uart0-xfer {    rockchip,pins =     /* uart0_rx */      <0RK_PC03&pcfg_pull_up>,     /* uart0_tx */      <0RK_PC13&pcfg_pull_up>;  };};

可以說(shuō),rk3568-pinctrl.dtsi是外設(shè)驅(qū)動(dòng)的引腳資源池”——沒(méi)有它,驅(qū)動(dòng)就不知道該用哪個(gè)引腳,硬件自然無(wú)法工作。

三、與硬件的對(duì)應(yīng)關(guān)系:從代碼到物理引腳的映射

要理解這份文件,必須先搞懂rockchip,pins列表中每個(gè)參數(shù)的含義。以典型配置項(xiàng)<1 RK_PB1 5 &pcfg_pull_none>為例,4個(gè)參數(shù)分別對(duì)應(yīng)硬件的4個(gè)關(guān)鍵屬性:

參數(shù)位置

含義

說(shuō)明

1個(gè)

引腳組(Bank

RK3568將引腳分為多個(gè)Bank(如01、2、3、4),每個(gè)Bank包含多個(gè)引腳,方便管理

2個(gè)

引腳編號(hào)(Pin

RK_PB1表示“Bank1B組第1號(hào)引腳,對(duì)應(yīng)芯片datasheet中的物理引腳編號(hào)

3個(gè)

功能索引(Mux

對(duì)應(yīng)引腳的復(fù)用功能(如5對(duì)應(yīng)ACODEC_ADCDATA),值來(lái)自芯片手冊(cè)的復(fù)用表

4個(gè)

電氣配置(Config

上拉/下拉、驅(qū)動(dòng)強(qiáng)度等,決定引腳的電氣特性

舉個(gè)實(shí)際例子:根據(jù)RK3568 datasheetBank1 RK_PB1對(duì)應(yīng)的物理引腳編號(hào)是Pin123,當(dāng)配置為<1 RK_PB1 5 &pcfg_pull_none>時(shí),該引腳就被分配給ACODEC模塊,作為acodec_adc_sync同步信號(hào)引腳,且無(wú)上下拉——代碼中的配置與硬件物理引腳完全一一對(duì)應(yīng)。

四、開(kāi)發(fā)者實(shí)操:如何修改引腳配置?

在實(shí)際開(kāi)發(fā)中(如自定義開(kāi)發(fā)板、新增外設(shè)),開(kāi)發(fā)者常需要修改引腳配置,核心分為功能復(fù)用切換電氣參數(shù)調(diào)整兩類(lèi)場(chǎng)景。

場(chǎng)景1:功能復(fù)用切換(如將GPIO改為UART

假設(shè)需要將RK_PA0“ACODEC功能改為“UART3_TX”,步驟如下:

1.查芯片手冊(cè):確認(rèn)RK_PA0是否支持UART3_TX功能,以及對(duì)應(yīng)的功能索引(假設(shè)為2);

2.找對(duì)應(yīng)節(jié)點(diǎn):在文件中找到uart3節(jié)點(diǎn),添加或修改uart3_xfer的引腳配置;

3.修改配置項(xiàng):將原ACODECRK_PA0的配置注釋?zhuān)ū苊鉀_突),在uart3_xfer中添加:

uart3 {  uart3_xfer: uart3-xfer {    rockchip,pins =     /* uart3_rx */      <1RK_PA12&pcfg_pull_up>,     /* uart3_tx - 新增RK_PA0的配置 */      <1RK_PA02&pcfg_pull_up>;  };};

1.編譯燒錄:重新編譯設(shè)備樹(shù)(make dtbs),將新的rk3568-evb.dtb燒錄到開(kāi)發(fā)板,重啟后UART3即可使用RK_PA0作為TX引腳。

場(chǎng)景2:電氣參數(shù)調(diào)整(如增強(qiáng)驅(qū)動(dòng)強(qiáng)度)

假設(shè)SPI1連接高速Flash時(shí)信號(hào)不穩(wěn)定,需要將驅(qū)動(dòng)強(qiáng)度從等級(jí)1”改為等級(jí)2”,步驟如下:

1.SPI1的引腳配置:在文件中找到spi1m0_pins節(jié)點(diǎn);

2.修改驅(qū)動(dòng)強(qiáng)度配置:將原&pcfg_pull_none改為&pcfg_pull_none_drv_level_2

spi1 {  spi1m0_pins: spi1m0-pins {    rockchip,pins =     /* spi1_clkm0 - 增強(qiáng)驅(qū)動(dòng)強(qiáng)度 */      <2RK_PB53&pcfg_pull_none_drv_level_2>,     /* 其他SPI1引腳... */;  };};

1.驗(yàn)證效果:重新燒錄設(shè)備樹(shù)后,通過(guò)示波器觀察SPI_CLK信號(hào),會(huì)發(fā)現(xiàn)信號(hào)幅度更穩(wěn)定,傳輸錯(cuò)誤率降低。

修改注意事項(xiàng)

1.避免引腳沖突:同一個(gè)物理引腳不能同時(shí)分配給兩個(gè)外設(shè)(如RK_PA0不能同時(shí)作為ACODECUART3的引腳),否則會(huì)導(dǎo)致硬件異常;

2.遵循芯片限制:并非所有引腳都支持任意復(fù)用功能(如部分引腳僅支持GPIOI2C),需嚴(yán)格參考芯片手冊(cè)的引腳復(fù)用表;

3.備份原配置:修改前建議備份原文件,避免誤操作導(dǎo)致設(shè)備無(wú)法啟動(dòng)。

五、開(kāi)發(fā)者關(guān)注它的意義:解決90%的硬件適配問(wèn)題

對(duì)RK3568開(kāi)發(fā)者而言,rk3568-pinctrl.dtsi不是可有可無(wú)的配置文件,而是解決硬件問(wèn)題的鑰匙,核心意義體現(xiàn)在4個(gè)方面:

1.自定義開(kāi)發(fā)板的必改文件

商用開(kāi)發(fā)板(如瑞芯微EVB)的引腳配置是固定的,但自定義開(kāi)發(fā)板(如工業(yè)控制板、物聯(lián)網(wǎng)設(shè)備)的外設(shè)布局不同(如傳感器SPI2而非SPI1),必須修改這份文件,將外設(shè)引腳與芯片引腳對(duì)應(yīng)——否則外設(shè)根本無(wú)法被驅(qū)動(dòng)識(shí)別。

2.外設(shè)調(diào)試的定位工具

當(dāng)外設(shè)無(wú)法工作時(shí)(如UART收不到數(shù)據(jù)、SPI設(shè)備無(wú)響應(yīng)),優(yōu)先排查這份文件:

?是不是引腳功能索引錯(cuò)了?(如UART_TX用了GPIO的索引);

?是不是上拉下拉配置反了?(如I2C引腳用了pull_none導(dǎo)致電平不穩(wěn)定);

?是不是驅(qū)動(dòng)強(qiáng)度不夠?(如高速外設(shè)用了等級(jí)1驅(qū)動(dòng)導(dǎo)致信號(hào)衰減)。

多數(shù)時(shí)候,外設(shè)問(wèn)題的根源都在引腳配置上。

3.性能優(yōu)化的關(guān)鍵入口

高速外設(shè)(如GMAC網(wǎng)口、PCIE設(shè)備)的性能與引腳配置直接相關(guān)。例如文件中“gmac-txd-level3”節(jié)點(diǎn)專(zhuān)門(mén)優(yōu)化GMAC的驅(qū)動(dòng)強(qiáng)度:

gmac-txd-level3 {  gmac0_tx_bus2_level3: gmac0-tx-bus2-level3 {    rockchip,pins =     /* gmac0_txd0 */      <2RK_PB31&pcfg_pull_none_drv_level_3>,     /* 其他GMAC引腳... */;  };};

GMACTX引腳驅(qū)動(dòng)強(qiáng)度改為等級(jí)3后,網(wǎng)口的傳輸速率和穩(wěn)定性會(huì)顯著提升——這是軟件代碼優(yōu)化無(wú)法實(shí)現(xiàn)的,必須通過(guò)引腳配置調(diào)整。

4.功能擴(kuò)展的基礎(chǔ)前提

新增外設(shè)(如攝像頭、顯示屏、4G模塊)時(shí),首先要做的就是分配引腳并配置復(fù)用。例如新增一個(gè)I2C傳感器,需要在i2c5節(jié)點(diǎn)中添加引腳配置,指定傳感器的SCL/SDA引腳,再在傳感器的設(shè)備樹(shù)節(jié)點(diǎn)中引用該配置——沒(méi)有rk3568-pinctrl.dtsi的支持,新增外設(shè)就是無(wú)米之炊

總結(jié):它是RK3568開(kāi)發(fā)的硬件說(shuō)明書(shū)

rk3568-pinctrl.dtsi看似是一堆代碼,實(shí)則是RK3568芯片的硬件說(shuō)明書(shū)”——它將復(fù)雜的引腳硬件特性,轉(zhuǎn)化為軟件可理解的配置語(yǔ)言,讓驅(qū)動(dòng)與硬件高效協(xié)作。對(duì)開(kāi)發(fā)者而言,掌握這份文件,不僅能快速解決硬件適配問(wèn)題,更能深入理解芯片的工作原理,為后續(xù)的性能優(yōu)化和功能擴(kuò)展打下基礎(chǔ)。

如果你正在做RK3568開(kāi)發(fā),不妨打開(kāi)這份文件,對(duì)照芯片手冊(cè)梳理一遍常用外設(shè)的引腳配置——相信我,這會(huì)讓你在后續(xù)開(kāi)發(fā)中少走很多彎路。

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20434

    瀏覽量

    333885
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    2111

    瀏覽量

    55673
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    644

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    rk3568處理器屬于什么檔次 rk3568性能怎么樣

     rk3568處理器屬于中高端通用型SOC,RK3568兼具CPU、GPU、NPU、VPU于一身,是一款高性能低功耗四核應(yīng)用的處理器。
    發(fā)表于 08-26 17:05 ?2.2w次閱讀
    <b class='flag-5'>rk3568</b>處理器屬于什么檔次 <b class='flag-5'>rk3568</b>性能怎么樣

    ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-20 09:55 ?47次下載
    ROC <b class='flag-5'>RK3568</b> PC源代碼<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588 RKNN SDK

    RK3568核心板數(shù)據(jù)手冊(cè)

    HD-RK3568-CORE 核心板基于 Rockchip RK3568 系列 Quad-core ARM Cortex-A55 處理 器開(kāi)發(fā)。該處理器集成了最新的高性能 CPU、G
    發(fā)表于 04-18 14:17 ?60次下載

    RK3568 SDK 的編譯

    RK3568 SDK 的編譯
    的頭像 發(fā)表于 12-13 11:46 ?2880次閱讀
    <b class='flag-5'>RK3568</b> SDK 的編譯

    瑞芯微RK3568對(duì)比RK3399性能解析

    RK3568核心板是武漢萬(wàn)象奧科基于瑞芯微Rockchip的RK3568設(shè)計(jì)的一款高性能核心板。
    的頭像 發(fā)表于 04-20 14:58 ?3953次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>對(duì)比<b class='flag-5'>RK</b>3399性能<b class='flag-5'>解析</b>

    瑞芯微RK3568主板開(kāi)發(fā)板PET_RK3568_P01簡(jiǎn)述

    瑞芯微RK3568主板開(kāi)發(fā)板PET_RK3568_P01簡(jiǎn)述
    的頭像 發(fā)表于 08-08 11:41 ?6129次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>主板開(kāi)發(fā)板PET_<b class='flag-5'>RK3568</b>_P01簡(jiǎn)述

    瑞芯微RK3568核心板PET_RK3568_CORE簡(jiǎn)述

    瑞芯微RK3568核心板PET_RK3568_CORE簡(jiǎn)述
    的頭像 發(fā)表于 08-08 11:44 ?7388次閱讀
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>核心</b>板PET_<b class='flag-5'>RK3568</b>_CORE簡(jiǎn)述

    rk3568rk3399的區(qū)別

    rk3568rk3399的區(qū)別 隨著人工智能、物聯(lián)網(wǎng)和5G等技術(shù)的不斷發(fā)展,CPU芯片的需求越來(lái)越高。而在所有的CPU芯片中,Rockchip的產(chǎn)品備受矚目。作為一家集成電路設(shè)計(jì)廠商
    的頭像 發(fā)表于 08-15 17:04 ?5721次閱讀

    RK3568RK3566的區(qū)別

    有所不同。在本文中,我們將詳細(xì)討論這兩者之間的區(qū)別。 1. CPU和GPU RK3568集成了四個(gè)Cortex-A55核心和兩個(gè)Cortex-A76核心,采用的GPU是Mali-G52。而RK
    的頭像 發(fā)表于 08-15 17:25 ?2.3w次閱讀

    RK35683568J的區(qū)別

    RK35683568J的區(qū)別 在當(dāng)前處理器市場(chǎng)中,以小而美形象聞名的瑞克微電子旗下產(chǎn)品RK3568/J也引起了廣泛關(guān)注,其中RK35683568
    的頭像 發(fā)表于 08-15 17:25 ?1.4w次閱讀

    rk3568有多少引腳?

    設(shè)計(jì)。rk3568廣泛應(yīng)用于智能家居、安防監(jiān)控、電子商務(wù)等領(lǐng)域。 那么,rk3568有多少個(gè)引腳呢? rk3568引腳數(shù)目是LFBGA46
    的頭像 發(fā)表于 08-15 17:25 ?2919次閱讀

    rk3568是什么架構(gòu)的?

    RK3568是什么架構(gòu)的? 中國(guó)領(lǐng)先的無(wú)晶圓廠半導(dǎo)體公司Rockchip Electronics推出了一款專(zhuān)門(mén)為人工智能應(yīng)用設(shè)計(jì)的新型片上系統(tǒng)(SoC)。這種新型SoC被稱(chēng)為RK3568,構(gòu)建
    的頭像 發(fā)表于 08-15 17:25 ?4814次閱讀

    RK3568-視頻開(kāi)發(fā)案例

    RK3568-視頻開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-18 15:51 ?1718次閱讀
    <b class='flag-5'>RK3568</b>-視頻開(kāi)發(fā)案例

    RK3568燒錄工具

    RK3568 燒錄工具
    發(fā)表于 11-11 14:16 ?11次下載

    迅為RK3568?重制版RK3568驅(qū)動(dòng)指南全面升級(jí)

    迅為RK3568 重制版RK3568驅(qū)動(dòng)指南全面升級(jí)
    的頭像 發(fā)表于 07-28 15:25 ?2472次閱讀
    迅為<b class='flag-5'>RK3568</b>?重制版<b class='flag-5'>RK3568</b>驅(qū)動(dòng)指南全面升級(jí)