工具/软件:
您好:
我们尝试使 J784S4 EVM 的两个 PCIe 端口都能在4x 中工作、但遗憾的是、我们无法 ATM。
此处的设置:
- 2个 J784S4XEVM:
- 第一个(EVM #A)在 RC 中配置了两个 PCIe 端口。
- 第二个(EVM #B)在 EP 中配置了两个 PCIe 端口。
- EVM #A 端口1之间的一个线束连接到 EVM #B 端口0。
- SW11设置为100000010。
- SW7设置为00000000。

- SW2设置为100001101。 (RC 中的两个 PCIe 端口)。

- Linux SDK 版本:10.01.00.05。
在 EVM #A 上进行硬件修改以避免使用 USB、但应改为使用2个 PCIe 通道:
- 组装的组件:
- C696、C697。
- C683、C684。
- R891、R892。
- R876、R877。
- R168、R169。
- C125、C129。
- 未组装的元件:
- C694、C695。
- C679、C680。
- R885、R886。
- R867、R868。
- R170、R171。
- R152、R155。
软件修改:
- k3-j784s4-evm.dts:
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 56a037532..dd92863be 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -13,7 +13,7 @@
/ {
compatible = "ti,j784s4-evm", "ti,j784s4";
- model = "Texas Instruments J784S4 EVM";
+ model = "Texas Instruments J784S4 EVM (PCIe1 4X)";
chosen {
stdout-path = "serial2:115200n8";
@@ -458,13 +458,6 @@ J784S4_IOPAD(0x010, PIN_INPUT_PULLUP, 8) /* (AH33) MCAN13_RX.I2C4_SDA */
>;
};
- main_usbss0_pins_default: main-usbss0-default-pins {
- bootph-all;
- pinctrl-single,pins = <
- J784S4_IOPAD(0x0ec, PIN_OUTPUT, 6) /* (AN37) TIMER_IO1.USB0_DRVVBUS */
- >;
- };
-
main_mcan4_pins_default: main-mcan4-default-pins {
pinctrl-single,pins = <
J784S4_IOPAD(0x088, PIN_INPUT, 0) /* (AF36) MCAN4_RX */
@@ -1372,40 +1365,6 @@ &dss {
<&k3_clks 218 22>;
};
-&serdes0 {
- status = "okay";
-
- serdes0_usb_link: phy@3 {
- reg = <3>;
- cdns,num-lanes = <1>;
- #phy-cells = <0>;
- cdns,phy-type = <PHY_TYPE_USB3>;
- resets = <&serdes_wiz0 4>;
- };
-};
-
-&serdes_wiz0 {
- status = "okay";
-};
-
-&usb_serdes_mux {
- idle-states = <0>; /* USB0 to SERDES lane 3 */
-};
-
-&usbss0 {
- status = "okay";
- pinctrl-0 = <&main_usbss0_pins_default>;
- pinctrl-names = "default";
- ti,vbus-divider;
-};
-
-&usb0 {
- dr_mode = "otg";
- maximum-speed = "super-speed";
- phys = <&serdes0_usb_link>;
- phy-names = "cdns3,usb3-phy";
-};
-
&serdes_wiz4 {
status = "okay";
};
- k3-j784s4-main.dtsi:
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index 105a8fd39..69e7e5a6d 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -159,8 +159,8 @@ serdes_ln_ctrl: mux-controller@4080 {
<0x28 0x3>, <0x2c 0x3>; /* SERDES2 lane2/3 select */
idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>,
<J784S4_SERDES0_LANE1_PCIE1_LANE1>,
- <J784S4_SERDES0_LANE2_IP3_UNUSED>,
- <J784S4_SERDES0_LANE3_USB>,
+ <J784S4_SERDES0_LANE2_PCIE1_LANE2>,
+ <J784S4_SERDES0_LANE3_PCIE1_LANE3>,
<J784S4_SERDES1_LANE0_PCIE0_LANE0>,
<J784S4_SERDES1_LANE1_PCIE0_LANE1>,
<J784S4_SERDES1_LANE2_PCIE0_LANE2>,
下面是我们启用 EVM #B 后获得的结果:

和链接大写和状态:

我们遗漏了什么?


