Hello, can anybody check/commit it? I got it working on my ARM64
ET-101-MB, thinking about how generic these are, this probably can
help other boards too.

Index: sys/dev/fdt/dwpcie.c
===================================================================
RCS file: /cvs/src/sys/dev/fdt/dwpcie.c,v
retrieving revision 1.39
diff -u -p -r1.39 dwpcie.c
--- sys/dev/fdt/dwpcie.c        27 Nov 2022 22:04:59 -0000      1.39
+++ sys/dev/fdt/dwpcie.c        14 Jan 2023 10:04:12 -0000
@@ -278,12 +278,15 @@ dwpcie_match(struct device *parent, void
        struct fdt_attach_args *faa = aux;

        return (OF_is_compatible(faa->fa_node, "amlogic,g12a-pcie") ||
+           OF_is_compatible(faa->fa_node, "baikal,bm1000-pcie") ||
+           OF_is_compatible(faa->fa_node, "baikal,pcie-m") ||
            OF_is_compatible(faa->fa_node, "fsl,imx8mm-pcie") ||
            OF_is_compatible(faa->fa_node, "fsl,imx8mq-pcie") ||
            OF_is_compatible(faa->fa_node, "marvell,armada8k-pcie") ||
            OF_is_compatible(faa->fa_node, "qcom,pcie-sc8280xp") ||
            OF_is_compatible(faa->fa_node, "rockchip,rk3568-pcie") ||
-           OF_is_compatible(faa->fa_node, "sifive,fu740-pcie"));
+           OF_is_compatible(faa->fa_node, "sifive,fu740-pcie") ||
+           OF_is_compatible(faa->fa_node, "snps,dw-pcie"));
 }

 void   dwpcie_attach_deferred(struct device *);


dmesg BEFORE
"pcie" at simplebus0 not configured
"pcie" at simplebus0 not configured

dmesg AFTER
dwpcie0 at simplebus0
dwpcie1 at simplebus0
...
pci0 at dwpcie0
ppb0 at pci0 dev 0 function 0 unknown vendor 0x1d39 product 0x8060 rev 0x00
pci1 at ppb0 bus 1
pci2 at dwpcie1
ppb1 at pci2 dev 0 function 0 unknown vendor 0x1d39 product 0x8060 rev 0x00
pci3 at ppb1 bus 1

Reply via email to