I am trying to use my new MT7921 m.2 card on the BPI-R64. I have it mounted on a mpcie to m.2 adapter. On my very old laptop, it works ok, the card is detected. I have not tried anything else on the old laptop. On the R64 the card is not detected. I’ve even tried prolonging the poll delay from 100ms to 5000ms in here:
/* 100ms timeout value should be enough for Gen1/2 training */ err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val, !!(val & PCIE_PORT_LINKUP_V2), 20, 100 * USEC_PER_MSEC);
But even waiting 5 seconds, the Port0 link does not come up.
[ 0.983923] mtk-pcie 1a143000.pcie: host bridge /[email protected] ranges: [ 0.990755] mtk-pcie 1a143000.pcie: Parsing ranges property... [ 0.996680] mtk-pcie 1a143000.pcie: MEM 0x0020000000..0x0027ffffff -> 0x0020000000 [ 1.005242] mtk-pcie 1a143000.pcie: Port0 Executing startup!!! (added myself) [ 6.122597] mtk-pcie 1a143000.pcie: Port0 link down [ 6.127754] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:00 [ 6.133990] pci_bus 0000:00: root bus resource [bus 00-ff] [ 6.139485] pci_bus 0000:00: root bus resource [mem 0x20000000-0x27ffffff] [ 6.146368] pci_bus 0000:00: scanning bus [ 6.151900] pci_bus 0000:00: fixups for bus [ 6.156109] pci_bus 0000:00: bus scan returning with max=00 [ 6.162123] mtk-pcie 1a145000.pcie: host bridge /[email protected] ranges: [ 6.168702] mtk-pcie 1a145000.pcie: Parsing ranges property... [ 6.174548] mtk-pcie 1a145000.pcie: MEM 0x0028000000..0x002fffffff -> 0x0028000000 [ 6.182927] mtk-pcie 1a145000.pcie: Port1 Executing startup!!! [ 11.296227] mtk-pcie 1a145000.pcie: Port1 link down [ 11.301360] mtk-pcie 1a145000.pcie: PCI host bridge to bus 0001:00 [ 11.307564] pci_bus 0001:00: root bus resource [bus 00-ff] [ 11.313058] pci_bus 0001:00: root bus resource [mem 0x28000000-0x2fffffff] [ 11.319939] pci_bus 0001:00: scanning bus [ 11.325461] pci_bus 0001:00: fixups for bus [ 11.329665] pci_bus 0001:00: bus scan returning with max=00
The card is in the CN25 slot. I’ve even tried the wifi card from my old laptop in the R64, with exactly the same result, link down.
I have soldered a led (with shunt resistor ofcourse) on the 3.3V of the adapter, so I have checked that the 3.3V switches on, just before the (now visible) 5 second wait. (It also is switched on briefly when I connect power).
I have tried other images, because I suspected that not running u-boot could cause a difference in some register somewhere, but without succes. I tried the latest debian image from Frank, and tried the earliest v4.4.92 debian version I could find on the wiki page. All the same, Port0 link down.
I’ve looked in the schematics, the PERST signal is being used to switch on the 3.3V supply. I wonder if every card will like this? This should be the signal indicating to the card that supply and clock are stable right?
Anyone have any suggestions? Be a little patient, I don’t always have time to try something new immedeately.
I’ve checked that neither the m.2 adapter, nor the old wifi card from laptop (AR9285), have any of the 5V pins connected. They are not connected to anything on both.
Also u-boot on Franks latest debian image finds nothing when I type