PCIE功能

PCI-E是PCI Express的简写,是新一代的总线接口,是由20多家业界主导公司共同起草并完成的新技术规范,采用点对点的串行连接,可以将数据传输率提高到一个很高的频率,以此提供更高的带宽。PCI Express的接口根据总线位宽不同,还可分为X1、X4、X8和X16。
PCIe发展到现在,已经发布有多个版本了。RK3568支持3.0版本,每条Lane最大速率为8.0 GT/s。

 

RK3568的PCIe子系统支持三个控制器,一个是2-Lane Gen3 PHY,一个是1-Lane Gen2 PHY。2-Lane PCIe3.0支持两种模式Root Complex(RC)和Endpoint(EP)。1-Lane Gen2只支持RC模式。

资源模 式参考配置控制器节点PHY节点
PCIe Gen2 x 1 laneRCrk3568-evb2-lp4x- v10.dtsipcie2x1combphy2_psq
PCIe Gen3 x 2 laneRCrk3568-evb1-ddr4- v10.dtsipcie3x2pcie30phy
PCIe Gen3 拆分1 lane + 1 laneRCrk3568-evb6-ddr3- v10.dtsipcie3x2 pcie3x1pcie30phy
PCIe Gen3 x 2 laneEPrk3568-iotest-ddr3- v10.dtspcie3x2pcie30phy

RK3568作为RC功能时,需要配置成compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
如果需要 修改成EP模式,则需要修改为compatible = "rockchip,rk3568-pcie-ep", "snps,dw-pcie";



&pcie2x1 {
	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
};

&pcie30phy {
	status = "okay";
};

&pcie3x1 {
	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
};

&pcie3x2 {
	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
	vpcie3v3-supply = <&vcc3v3_pcie>;
	status = "okay";
};

 

RK3568的PCIE30信号,可以差分为两个控制器使用,分别配置1Lane信号。
此时lane0是由pcie3x2控制器使用,lane1是由pcie3x1控制器使用,硬件布板上严格按照我司原理图。另注意,此模式下两个1-lane的控制器必须同时工作在RC模式下。

PCIE30 2Lane的使用

&pcie30phy {
	status = "okay"
};

&pcie3x2 {
	status = "okay"
	reset-gpios = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>;
	vcc3v3-pcie = <&vcc3v3_pcie30>;
};

 

PCIE30拆分为两个1Lane使用

&pcie30phy {
	status = "okay"
};

&pcie3x1 {
	status = "okay"
	rockchip,bifurcation;
	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
	vcc3v3-pcie = <&vcc3v3_pcie301>;
};

&pcie3x2 {
	status = "okay"
	rockchip,bifurcation;
	reset-gpios = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>;
	vcc3v3-pcie = <&vcc3v3_pcie302>;
};
作者:SteveChen  创建时间:2025-04-17 08:43
最后编辑:SteveChen  更新时间:2025-07-04 15:34
上一篇:
下一篇: