专栏底层软件J5同其他SOC采用PCIE通信,软件适配方案

J5同其他SOC采用PCIE通信,软件适配方案

洛克里里zz2023-08-31
68
2

关于J5平台 PCIE的调试的问题请教地平线同事:

平台默认设计:双J5平台默认直连,J5A 作为RC,J5B 作为EP,J5B先上电给J5A提供同频时钟;但是如果单J5 设计,与其他SOC(比如X9U)通过PCIE通信,J5作为RC,X9U作为EP,那么就需要X9U 来提供同频时钟,软件dts如何修改?

[平台双J5 dts的配置

hobot_pcie_rc: hobot_pcie_rc@59c00000 {

compatible = "hobot,pcie-rc";

reg = <0 0x59c00000 0 0x400000>, /* Controller registers */

<0 0x60000000 0 0x2000>, /* PCI config space */

//<0x4 0x80000000 0 0x2000>, /* 64bit PCI config space */

<0 0x48070000 0 0x1000>; /* apb */

reg-names = "dbi", "config", "apb";

#address-cells = <3>;

#size-cells = <2>;

bus-range = <0x00 0xff>;

ranges = <0x82000000 0 0x60002000 0 0x60002000 0 0x0fffe000>;

//ranges = <0x83000000 0x4 0x80002000 0x4 0x80002000 0x0 0xFFFFE000>; /* 64bit PCI space */

interrupts = <0 94 0x4>, <0 97 0x4>; /* MSI, intc */

#interrupt-cells = <1>;

num-lanes = <2>;

num-viewport = <8>;

status = "disabled";

power-domains = <&pmu PD_PERISYS>;

resets = <&rst_peri 0x0 0>, /* rst_phy */

<&rst_peri 0x0 1>, /* rst_perst */

<&rst_peri 0x0 2>, /* rst_button */

<&rst_peri 0x0 3>, /* rst_powup */

<&rst_peri 0x0 4>; /* rst_apb */

pinctrl-names = "default";

pinctrl-0 = <&ep_perst_func>;

clkreq-gpio = <&port1_b 12 GPIO_ACTIVE_LOW>; /* CLKREQ# */

ep-perst-gpios = <&port1_d 8 GPIO_ACTIVE_HIGH>, /* PEX */

<&port1_c 24 GPIO_ACTIVE_HIGH>; /* M.2 */

clock-frequency-auxclk = <0 96000000>;

clock-frequency-phyclk = <0 96000000>;

clock-names = "pcie_aux_clk", "pcie_phy_clk", "ref_p_clk", "ref_n_clk";

clocks = <&peri_pcie_aux_clk>, <&peri_pcie_phy_reg_clk>, <&safty_pcie_phy_ref_clk>, <&safty_pcie_phy_ref_n_clk>;

};

如上dts中红色部分,针对单J5,外部提供时钟,软件如何修改?

底层软件
评论2
0/1000
  • 洛克里里zz
    Lv.1

    地平线的专家能否帮忙答复一下?

    2023-09-04
    0
    0
  • D-bot
    Lv.3

    您好,您的帖子已较长时间未处理,如有新的问题,欢迎重新发起提问。

    该问题的相关解答,可参考OE Agent(https://chat.oe.horizon.auto/) 解答如下:
    2026-03-05
    0
    0