国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

wKgZPGkbq0qAEJn5AAJ4ER32kPM259.png

一、RK3588 PCIe核心硬件資源

wKgZPGkbq0qAdWCHAAG7G3O_i20179.png

1.1控制器與PHY對(duì)應(yīng)關(guān)系

RK3588的控制器與PHY綁定存在固定規(guī)則,拆分配置前需明確對(duì)應(yīng)關(guān)系:

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

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

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

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

二、3大核心拆分方案

wKgZPGkbq0qAXIPhAAGO9s98coA053.png

2.1方案14Lane RC + 2個(gè)PCIe 2.0(基礎(chǔ)高速方案)

① pcie30phy與高速控制器配置

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

低速控制器與comboPHY配置

// 啟用comboPHY(禁用SATA復(fù)用)&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>;// 獨(dú)立復(fù)位 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>;// 晶振穩(wěn)定時(shí)間(必配,避免時(shí)鐘異常) vin-supply = <&vcc12v_dcin>;};

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

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

// pcie30phy:2+2拆分模式&pcie30phy { rockchip,pcie30-phymode = ; status ="okay";};//pcie3x4:降為2Lane RC&pcie3x4 { num-lanes = <2>;//強(qiáng)制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";};

② 3個(gè)PCIe 2.0控制器配置

// 啟用全部3個(gè)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,復(fù)位GPIO改為RK_PA2 */};&pcie2x1l2 {/* 同pcie2x1l0,phys改為&combphy0_ps,復(fù)位GPIO改為RK_PC1 */};

2.3方案34個(gè)1Lane RC + 1個(gè)PCIe 2.0(多設(shè)備方案)

① 4個(gè)1Lane控制器配置

// pcie30phy:4×1拆分模式&pcie30phy { rockchip,pcie30-phymode = ; status ="okay";};//pcie3x4:降為1Lane RC&pcie3x4 { num-lanes = <1>;//強(qiáng)制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,復(fù)位GPIO改為RK_PA2 */};

② 1個(gè)PCIe 2.0控制器配置

// 啟用1個(gè)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";};

三、關(guān)鍵配置與內(nèi)核選項(xiàng)

wKgZPGkbq0qATscQAAFaJGuVGmE034.png

3.1 DTS參數(shù)詳解表

參數(shù)名稱

配置位置

取值示例

核心作用

避坑要點(diǎn)

rockchip,pcie30-phymode

pcie30phy節(jié)點(diǎn)

PHY_MODE_PCIE_AGGREGATION0x4

定義pcie30phy拆分模式

必須與控制器lane數(shù)量匹配,不可錯(cuò)配

num-lanes

控制器節(jié)點(diǎn)

<1><2><4>

指定控制器使用的lane數(shù)

拆分后需強(qiáng)制配置,如方案3pcie3x4設(shè)為<1>

reset-gpios

控制器節(jié)點(diǎn)

<&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>

外設(shè)復(fù)位信號(hào)

每個(gè)控制器需獨(dú)立配置,避免多設(shè)備同時(shí)復(fù)位

vpcie3v3-supply

控制器節(jié)點(diǎn)

<&vcc3v3_pcie30>

控制3.3V供電

多控制器共享時(shí),需設(shè)為regulator-always-on

phys

控制器節(jié)點(diǎn)

<&combphy1_ps PHY_TYPE_PCIE>

綁定PHY與控制器

comboPHY需加PHY_TYPE_PCIE,禁用其他復(fù)用

rockchip,perst-inactive-ms

控制器節(jié)點(diǎn)

<500>

調(diào)整復(fù)位時(shí)間

外設(shè)復(fù)位慢時(shí)增大(如WiFi模塊設(shè)為500ms

3.2內(nèi)核menuconfig必選選項(xiàng)

# 基礎(chǔ)PCIe支持CONFIG_PCI=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_MSI=y# 啟用MSI中斷CONFIG_PCI_MSI_IRQ_DOMAIN=y# RK PCIe驅(qū)動(dòng)CONFIG_PCIE_DW=yCONFIG_PCIE_DW_HOST=yCONFIG_PCIE_DW_ROCKCHIP=y# PHY驅(qū)動(dòng)CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y# pcie30phy驅(qū)動(dòng)CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y# comboPHY驅(qū)動(dòng)# 外設(shè)支持(按需選擇)CONFIG_BLK_DEV_NVME=y# NVMe SSDCONFIG_USB_XHCI_PCI=y# PCIe轉(zhuǎn)USBCONFIG_SATA_AHCI_PLATFORM=y# PCIe轉(zhuǎn)SATA

四、避坑指南與問題排查

wKgZPGkbq0uAX0xuAAH3pScAZEs155.png

4.1硬件避坑3大要點(diǎn)

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

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

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

4.2軟件避坑4大場景

場景

常見錯(cuò)誤

正確做法

多控制器供電

單獨(dú)給某個(gè)控制器配置vpcie3v3-supply

共享供電設(shè)為regulator-always-on,示例:regulator-always-on;

拆分后地址重疊

未調(diào)整bus-range導(dǎo)致地址沖突

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

外設(shè)復(fù)位不充分

復(fù)位時(shí)間不足導(dǎo)致枚舉失敗

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

cache一致性問題

使用memcpy訪問BAR空間導(dǎo)致異常

改用IO專用APImemset_iomemcpy_toio,用戶態(tài)用循環(huán)賦值

4.3常見問題排查速查表

問題現(xiàn)象

可能原因

解決方案

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

1.外設(shè)vendor ID0xffffffff/0x02.復(fù)位時(shí)間不足

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

拆分后部分控制器無響應(yīng)

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

1.確認(rèn)pcie3x4綁定Port0pcie3x2綁定Port12.即使僅用1個(gè)Port,另一個(gè)Port仍需供電

休眠喚醒后設(shè)備離線

1. 3.3V供電休眠時(shí)關(guān)閉;2.未配置CLKREQ#信號(hào)

1.供電設(shè)為regulator-always-on2.控制器節(jié)點(diǎn)加supports-clkreq屬性

BAR空間分配失敗(log“no space for”

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

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

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

PCIe控制器內(nèi)存優(yōu)先級(jí)低

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

通過本文的硬件資源解析、拆分方案實(shí)戰(zhàn)、配置要點(diǎn)與避坑指南,開發(fā)者可快速完成RK3588 PCIe的適配與調(diào)試。若需進(jìn)一步簡化配置,可基于本文整理的拆分方案+參數(shù)表制作項(xiàng)目模板,提高開發(fā)效率。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11608

    瀏覽量

    217666
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1416

    瀏覽量

    87437
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    480

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    實(shí)戰(zhàn)案例 | RK3588 CAN通信BUG指南

    前言:RK3588內(nèi)置CAN控制器存在不可修復(fù)的硬件缺陷,考慮工業(yè)、醫(yī)療、車載等應(yīng)用領(lǐng)域?qū)AN通訊穩(wěn)定性有著極高的要求,為規(guī)避此問題,建議使用SPI轉(zhuǎn)CAN替代原生CAN接口。、背景說明
    的頭像 發(fā)表于 02-20 08:30 ?8753次閱讀
    實(shí)戰(zhàn)案例 | <b class='flag-5'>RK3588</b> CAN通信BUG<b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

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

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI之屏參配置

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

    RK3588 EVB開發(fā)板原理講解【

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

    RK3588 EVB開發(fā)板原理講解【四】

    PCIe 設(shè)備,無需重啟計(jì)算機(jī)。 RK3588PCIe 控制器RK3588 共有 5 個(gè) PCIe 控制器,
    發(fā)表于 02-18 08:04

    RK3588 EVB開發(fā)板原理講解【八】 RK3588 power Tree

    分享: RK3588 EVB開發(fā)板原理講解【RK3588原理設(shè)計(jì)- 整體框架設(shè)計(jì) RK3588
    發(fā)表于 03-01 11:38

    RK3588 EVB 開發(fā)板介紹

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

    RK3588 EVB 用戶使用指南

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

    RK3588 原理遷移同步 PCB 的關(guān)鍵操作及技巧

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

    rk3588是armv8嗎?rk3588硬件資料

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

    Banana Pi BPI-W3 RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE ] - PCIE的開發(fā)指南

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

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

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

    rk3588硬件原理

    RK3588硬件參考設(shè)計(jì)
    發(fā)表于 02-25 17:44 ?38次下載

    RK3588 PCIe設(shè)備識(shí)別失敗?“非法Class”陷阱

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

    開發(fā)者必備,10 分鐘搞定 RK3588 PCIE 拆分

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