器件型号: J784S4XEVM
尊敬的专家:
我正在继续此帖子: J784S4XEVM:PCIe RC 使能栏 0 崩溃 — 处理器论坛-处理器 — TI E2E 支持论坛
最后一个答案是“预计 BAR 寄存器在 RC 运行时不会发生变化“
但是、即使我从设备树中配置 BAR 0、它仍会崩溃。
pcie0_rc: pcie@2900000 {
compatible = "ti,j784s4-pcie-host";
reg = <0x00 0x02900000 0x00 0x1000>,
<0x00 0x02907000 0x00 0x400>,
<0x00 0x0d000000 0x00 0x00800000>,
<0x00 0x10000000 0x00 0x00001000>,
<0x40 0x00000000 0x01 0x00000000>;
reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
interrupt-names = "link_state";
interrupts = <GIC_SPI 318 IRQ_TYPE_EDGE_RISING>;
device_type = "pci";
ti,syscon-pcie-ctrl = <&pcie0_ctrl 0x0>;
max-link-speed = <3>;
num-lanes = <4>;
power-domains = <&k3_pds 332 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 332 0>;
clock-names = "fck";
#address-cells = <3>;
#size-cells = <2>;
bus-range = <0x0 0xff>;
vendor-id = <0x104c>;
device-id = <0xb012>;
msi-map = <0x0 &gic_its 0x0 0x10000>;
dma-coherent;
ranges = <0x02000000 0x0 0x10001000 0x0 0x10001000 0x0 0x7fff000>,
<0x42000000 0x40 0x0 0x40 0x0 0x1 0x0>;
dma-ranges = <0x02000000 0x0 0xa8000000 0x0 0xa8000000 0x0 0x10000>,
<0x02000000 0x0 0xA9000000 0x0 0xa9000000 0x0 0x10000>; /* doesn't crash if I remove this line */
status = "disabled";
};
如果我删除第二个 dma-range 条目(配置 BAR0)、它不会崩溃。
我给驱动程序打补丁、当 dma-range 只有 1 个条目时使用 BAR 0。 它仍然崩溃
以下每个案例都会崩溃:
- Bar 0 32b pref
- bar 0 32b non-pref
- bar 0 64b pref
- 条形图 1 +条形图 0
我是否遗漏了一些东西?
您是否已成功启用 bar 0 + bar 1?
感谢你的帮助
Charles