伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

一文搞懂?RK3588 PCIe:從硬件資源到拆分配置?+?避坑指南(含腦圖)

jf_44130326 ? 來源:Linux1024 ? 作者:Linux1024 ? 2025-11-20 18:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RK3588作為瑞芯微旗艦級SoC,其PCIe控制器憑借靈活的鏈路拆分能力與豐富特性,成為連接NVMe、WiFi、AI加速卡等外設的核心橋梁。本文融合硬件資源解析、3大拆分方案實戰、關鍵配置步驟及避坑要點,附帶可視化腦圖,助力開發者快速落地PCIe相關項目。

wKgZPGkbq0qAEJn5AAJ4ER32kPM259.png

一、RK3588 PCIe核心硬件資源

wKgZPGkbq0qAdWCHAAG7G3O_i20179.png

1.1控制器與PHY對應關系

RK3588的控制器與PHY綁定存在固定規則,拆分配置前需明確對應關系:

?pcie3x44Lane:僅能配合pcie30phyPort04L/2L/1L模式);

?pcie3x22Lane:僅能配合pcie30phyPort12L/1L模式);

?pcie2x1l0/pcie2x1l1:可綁定pcie30phy(拆分后1Lane)或comboPHY;

?pcie2x1l2:僅綁定comboPHY(如combphy0_ps),與SATA復用。

二、3大核心拆分方案

wKgZPGkbq0qAXIPhAAGO9s98coA053.png

2.1方案14Lane RC + 2PCIe 2.0(基礎高速方案)

① pcie30phy與高速控制器配置

// pcie30phy:4Lane聚合模式&pcie30phy { rockchip,pcie30-phymode = ; status ="okay";};//pcie3x4:4Lane RC(支持NVMe等高速設備)&pcie3x4 {reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;//PERST#復位信號(必配) vpcie3v3-supply = <&vcc3v3_pcie30>;//3.3V供電(含外置晶振) status ="okay";//若需EP模式,替換compatible: // compatible ="rockchip,rk3588-pcie-ep","snps,dw-pcie";};

低速控制器與comboPHY配置

// 啟用comboPHY(禁用SATA復用)&combphy1_ps { status ="okay"; };&combphy2_psu { status ="okay"; };&sata0 { status ="disabled"; };// 避免與comboPHY沖突// pcie2x1l0:配合combphy1_ps(PCIe模式)&pcie2x1l0 { phys = <&combphy1_ps?PHY_TYPE_PCIE>;// 指定PCIe模式 reset-gpios = <&gpio4?RK_PA5GPIO_ACTIVE_HIGH>;// 獨立復位 status ="okay";};// pcie2x1l1:配合combphy2_psu&pcie2x1l1 { phys = <&combphy2_psu?PHY_TYPE_PCIE>; reset-gpios = <&gpio4?RK_PA2GPIO_ACTIVE_HIGH>; status ="okay";};

供電配置(vcc3v3_pcie30

vcc3v3_pcie30: vcc3v3-pcie30 { compatible ="regulator-fixed"; regulator-name ="vcc3v3_pcie30"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; gpios = <&gpio3?RK_PC3GPIO_ACTIVE_HIGH>;// PWREN控制 startup-delay-us = <5000>;// 晶振穩定時間(必配,避免時鐘異常) vin-supply = <&vcc12v_dcin>;};

2.2方案22Lane+2Lane RC + 3PCIe 2.0(平衡方案)

核心拆分配置(pcie30phy +2Lane控制器)

// pcie30phy:2+2拆分模式&pcie30phy { rockchip,pcie30-phymode = ; status ="okay";};//pcie3x4:降為2Lane RC&pcie3x4 { num-lanes = <2>;//強制2Lane(必配,拆分后需指定)reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};//pcie3x2:2Lane RC&pcie3x2 {reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};

② 3PCIe 2.0控制器配置

// 啟用全部3個comboPHY&combphy0_ps { status ="okay"; };&combphy1_ps { status ="okay"; };&combphy2_psu { status ="okay"; };// pcie2x1l0~l2分別綁定不同comboPHY&pcie2x1l0 { phys = <&combphy1_ps?PHY_TYPE_PCIE>; reset-gpios = <&gpio4?RK_PA5GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};&pcie2x1l1 {/* 同pcie2x1l0,復位GPIO改為RK_PA2 */};&pcie2x1l2 {/* 同pcie2x1l0,phys改為&combphy0_ps,復位GPIO改為RK_PC1 */};

2.3方案341Lane RC + 1PCIe 2.0(多設備方案)

① 41Lane控制器配置

// pcie30phy:4×1拆分模式&pcie30phy { rockchip,pcie30-phymode = ; status ="okay";};//pcie3x4:降為1Lane RC&pcie3x4 { num-lanes = <1>;//強制1Lanereset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};//pcie3x2:降為1Lane RC&pcie3x2 { num-lanes = <1>;reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};//pcie2x1l0/l1:綁定pcie30phy(1Lane)&pcie2x1l0 { phys = <&pcie30phy>;//綁定pcie30phy(非comboPHY)reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};&pcie2x1l1 {/* 同pcie2x1l0,復位GPIO改為RK_PA2 */};

② 1PCIe 2.0控制器配置

// 啟用1個comboPHY(禁用SATA)&combphy0_ps { status ="okay"; };&sata0 { status ="disabled"; };&pcie2x1l2 { phys = <&combphy0_ps?PHY_TYPE_PCIE>; reset-gpios = <&gpio4?RK_PC1GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie30>; status ="okay";};

三、關鍵配置與內核選項

wKgZPGkbq0qATscQAAFaJGuVGmE034.png

3.1 DTS參數詳解表

參數名稱

配置位置

取值示例

核心作用

避坑要點

rockchip,pcie30-phymode

pcie30phy節點

PHY_MODE_PCIE_AGGREGATION0x4

定義pcie30phy拆分模式

必須與控制器lane數量匹配,不可錯配

num-lanes

控制器節點

<1>、<2>、<4>

指定控制器使用的lane

拆分后需強制配置,如方案3pcie3x4設為<1>

reset-gpios

控制器節點

<&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>

外設復位信號

每個控制器需獨立配置,避免多設備同時復位

vpcie3v3-supply

控制器節點

<&vcc3v3_pcie30>

控制3.3V供電

多控制器共享時,需設為regulator-always-on

phys

控制器節點

<&combphy1_ps PHY_TYPE_PCIE>

綁定PHY與控制器

comboPHY需加PHY_TYPE_PCIE,禁用其他復用

rockchip,perst-inactive-ms

控制器節點

<500>

調整復位時間

外設復位慢時增大(如WiFi模塊設為500ms

3.2內核menuconfig必選選項

# 基礎PCIe支持CONFIG_PCI=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_MSI=y# 啟用MSI中斷CONFIG_PCI_MSI_IRQ_DOMAIN=y# RK PCIe驅動CONFIG_PCIE_DW=yCONFIG_PCIE_DW_HOST=yCONFIG_PCIE_DW_ROCKCHIP=y# PHY驅動CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y# pcie30phy驅動CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y# comboPHY驅動# 外設支持(按需選擇)CONFIG_BLK_DEV_NVME=y# NVMe SSDCONFIG_USB_XHCI_PCI=y# PCIe轉USBCONFIG_SATA_AHCI_PLATFORM=y# PCIe轉SATA

四、避坑指南與問題排查

wKgZPGkbq0uAX0xuAAH3pScAZEs155.png

4.1硬件避坑3大要點

1.信號完整性PCIe 3.0差分信號走線需控制阻抗(100Ω±10%),長度差≤5mm,避免過孔跨層和過長stub≤3mm);

2.供電要求pcie30phyAVDD_0V90.83V~0.99V)、AVDD_1V81.62V~1.98V)電壓需穩定,紋波≤50mV,避免與其他大電流外設共用電源;

3.復用沖突comboPHY(如combphy0_ps)支持PCIe/SATA復用,啟用PCIe時必須禁用SATA&sata0 { status = "disabled"; }),反之亦然。

4.2軟件避坑4大場景

場景

常見錯誤

正確做法

多控制器供電

單獨給某個控制器配置vpcie3v3-supply

共享供電設為regulator-always-on,示例:regulator-always-on;

拆分后地址重疊

未調整bus-range導致地址沖突

每個控制器分配獨立總線地址,同步修改msi-mapbus-range = <0x30 0x60>;msi-map = <0x3000 &its 0x3000 0x3000>;

外設復位不充分

復位時間不足導致枚舉失敗

增加rockchip,perst-inactive-msrockchip,perst-inactive-ms = <500>;

cache一致性問題

使用memcpy訪問BAR空間導致異常

改用IO專用APImemset_io、memcpy_toio,用戶態用循環賦值

4.3常見問題排查速查表

問題現象

可能原因

解決方案

鏈路upLTSSM=0x30011)但枚舉不到設備

1.外設vendor ID0xffffffff/0x0;2.復位時間不足

1.drivers/pci/probe.c添加vendor ID打印;2.rockchip,perst-inactive-ms=500

拆分后部分控制器無響應

1.控制器與PHY綁定錯誤;2.未給pcie30phy未用Port供電

1.確認pcie3x4綁定Port0,pcie3x2綁定Port12.即使僅用1Port,另一個Port仍需供電

休眠喚醒后設備離線

1. 3.3V供電休眠時關閉;2.未配置CLKREQ#信號

1.供電設為regulator-always-on2.控制器節點加supports-clkreq屬性

BAR空間分配失?。?/span>log“no space for”

1. 32bits-np地址不足;2. switch無效端口占用資源

1.擴展地址(參考文檔7.18節修改ranges);2.過濾無效端口(probe.c加黑名單)

性能抖動(如AI卡幀率波動)

PCIe控制器內存優先級低

執行命令提高優先級:io -4 0xfdf3a008 0x404(所有控制器通用)

通過本文的硬件資源解析、拆分方案實戰、配置要點與避坑指南,開發者可快速完成RK3588 PCIe的適配與調試。若需進一步簡化配置,可基于本文整理的拆分方案+參數表制作項目模板,提高開發效率。

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

    關注

    88

    文章

    11786

    瀏覽量

    219318
  • PCIe
    +關注

    關注

    16

    文章

    1465

    瀏覽量

    88745
  • RK3588
    +關注

    關注

    8

    文章

    571

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    實戰案例 | RK3588 CAN通信BUG指南

    前言:RK3588內置CAN控制器存在不可修復的硬件缺陷,考慮工業、醫療、車載等應用領域對CAN通訊穩定性有著極高的要求,為規避此問題,建議使用SPI轉CAN替代原生CAN接口。、背景說明
    的頭像 發表于 02-20 08:30 ?1.1w次閱讀
    實戰案例 | <b class='flag-5'>RK3588</b> CAN通信BUG<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發板受到廣大開發者伙伴的關注和問詢。針對相關的開發板功能、操作
    的頭像 發表于 09-22 15:54 ?2.3w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之屏參配置

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之屏參配置
    的頭像 發表于 06-10 10:36 ?4700次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕調試筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI之屏參<b class='flag-5'>配置</b>

    RK3588 EVB開發板原理講解【

    、USB配置 rk3588的usb dp sata pcie 很多復用,這里給了個說明,根據項目需求進行設計。 6、核心供電 按照原廠參考即可 7、CPU部分電路 soc工
    發表于 02-11 16:29

    RK3588 EVB開發板原理講解【八】 RK3588 power Tree

    分享: RK3588 EVB開發板原理講解【RK3588原理設計- 整體框架設計 RK3588
    發表于 03-01 11:38

    RK3588 EVB 開發板介紹

    、音頻輸出、陣列MIC輸入等外設接口。RK3588S EVB 功能接口正面分布 RK3588S EVB功能配置
    發表于 03-16 16:39

    RK3588 EVB 用戶使用指南

    本文檔主要介紹 RK3588 EVB 基本功能和硬件特性、多功能硬件配置、軟件調試操作使用方法,旨在幫助調試人員更快、更準確地使用 RK3588
    發表于 03-16 16:57

    RK3588 原理遷移同步 PCB 的關鍵操作及技巧

    RK3588 原理遷移同步 PCB 的關鍵操作及技巧
    的頭像 發表于 08-14 10:00 ?2071次閱讀
    <b class='flag-5'>RK3588</b> <b class='flag-5'>從</b>原理<b class='flag-5'>圖</b>遷移同步<b class='flag-5'>到</b> PCB 的關鍵操作及技巧

    rk3588是armv8嗎?rk3588硬件資料

    rk3588是armv8嗎?rk3588 硬件資料 RK3588款高性能處理器,是Rockchip公司推出的最新芯片。本文將詳細介紹
    的頭像 發表于 08-21 17:32 ?6096次閱讀

    Banana Pi BPI-W3 RK3588平臺驅動調試篇 [ PCIE ] - PCIE的開發指南

    RK3588共有5個PCIe的控制器,硬件IP是?樣的,配置不?樣,其中?個4Lane DM模式可以?持作為EP使?,另外?個2Lane和3個1Lane控制器均只能作為RC使?。
    的頭像 發表于 11-02 09:22 ?4414次閱讀
    Banana Pi BPI-W3 <b class='flag-5'>RK3588</b>平臺驅動調試篇 [ <b class='flag-5'>PCIE</b>篇<b class='flag-5'>一</b> ] - <b class='flag-5'>PCIE</b>的開發<b class='flag-5'>指南</b>

    迅為電子RK3588S與RK3588硬件性能區別及板卡選型

    迅為電子RK3588S與RK3588硬件性能區別及板卡選型
    的頭像 發表于 06-25 15:30 ?6464次閱讀
    迅為電子<b class='flag-5'>RK3588</b>S與<b class='flag-5'>RK3588</b><b class='flag-5'>硬件</b>性能區別及板卡選型

    rk3588硬件原理

    RK3588硬件參考設計
    發表于 02-25 17:44 ?44次下載

    RK3588 PCIe設備識別失???“非法Class”陷阱

    前言:在RK3588平臺開發過程中,你是否遇到過這樣的窘境:明明PCIe總線上掛好了網卡模塊,lspci能識別到芯片,可驅動就是加載失敗,排查半天找不到關鍵問題?別慌!本文將帶你步步解決這個棘手
    的頭像 發表于 08-29 08:32 ?1912次閱讀
    <b class='flag-5'>RK3588</b> <b class='flag-5'>PCIe</b>設備識別失???<b class='flag-5'>一</b>招<b class='flag-5'>避</b><b class='flag-5'>坑</b>“非法Class”陷阱

    開發者必備,10 分鐘搞定 RK3588 PCIE 拆分

    RK3588PCIE拆分的核心邏輯、配置步驟與實戰技巧,輕松上手!RK3588PCIE拆分
    的頭像 發表于 11-13 08:31 ?1531次閱讀
    開發者必備,10 分鐘搞定 <b class='flag-5'>RK3588</b> <b class='flag-5'>PCIE</b> <b class='flag-5'>拆分</b>!

    實戰復盤:RK3588 SPI+PCIe3x4方案啟動修復,節點配置驅動適配全解析

    ? ? ? 在 RK3588 嵌入式項目中, “ 接口配置不匹配 ” 是高頻踩點 —— 近期 基于 linux6.1 內核 調試 SPI 閃存 +PCIe3x4 外設 方案時,就遇到
    的頭像 發表于 01-08 10:24 ?535次閱讀
    實戰復盤:<b class='flag-5'>RK3588</b> SPI+<b class='flag-5'>PCIe</b>3x4方案啟動修復,<b class='flag-5'>從</b>節點<b class='flag-5'>配置</b><b class='flag-5'>到</b>驅動適配全解析