Pcie设备在ubuntu,内核4.9.224下调试失败

使用贵司的VIM3主板,贵司的ubuntu系统,内核Linux Khadas 4.9.224。调试pci设备,我们设备是pcie桥芯片asm1083+fpga来做的。插电源开机只能找到asm1083,lspci 可以看到如下asm1083的信息:
root@Khadas:/usr/src/fpgacore# lspci
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 / PCIe bridge (rev 01)
01:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
此时直接软件重启(reboot)后,再次查看可以找到我们自己设备:
root@Khadas:/usr/src/fpgacore# lspci
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 / PCIe bridge (rev 01)
01:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
02:00.0 Computer telephony device: Zycoo Co., Ltd CooVOX TDM E1/T1 Module (rev 01)

然后加载驱动,直接在pci_iomap(pdev, 0, 0);分配内存返回0,就是分配不到。我们的这个设备在X86的平台下工作是正常的。请问这两个问题该怎么入手解决?

试试这个补丁:

diff --git a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi
index ae403b0a95af..95cadcaaf621 100644
--- a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi
+++ b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi
@@ -956,9 +956,9 @@
                interrupt-map-mask = <0 0 0 0>;
                interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_EDGE_RISING>;
                device_type = "pci";
-               ranges = <0x81000000 0 0 0 0xfc600000 0x0 0x100000
+               ranges = <0x81000000 0 0 0 0xfc600000 0x0 0x400000
                        /* downstream I/O */
-                       0x82000000 0 0xfc700000 0x0 0xfc700000 0 0x1900000>;
+                       0x82000000 0 0xfca00000 0x0 0xfca00000 0 0x1600000>;
                        /* non-prefetchable memory */
                num-lanes = <1>;
                pcie-num = <1>;

按如上补丁修改后,现象一样。
操作方法:修改dts文件后,make kernel; make kernel-deb
将得到的包linux-dtb-amlogic-4.9_0.9.4_arm64.deb上传到系统后执行dpkg -i linux-dtb-amlogic-4.9_0.9.4_arm64.deb。然后sync后重启。
目录/boot下生成了dtb.old文件夹为原来的文件,dtb文件夹下dtb文件时间后几天时间一致。