Openwrt/target/linux/mvebu/patches-4.14
Tomasz Maciej Nowak 772258044b mvebu: reduce speed to gen1 for espressobin pcie
Since the beginning there's been an issue with initializing the Atheros
based MiniPCIe wireless cards. Here's an example of kerenel log:

 OF: PCI: host bridge /soc/pcie@d0070000 ranges:
 OF: PCI:   MEM 0xe8000000..0xe8ffffff -> 0xe8000000
 OF: PCI:    IO 0xe9000000..0xe900ffff -> 0xe9000000
 advk-pcie d0070000.pcie: link up
 advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00
 pci_bus 0000:00: root bus resource [bus 00-ff]
 pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff]
 pci_bus 0000:00: root bus resource [io  0x0000-0xffff](bus address[0xe9000000-0xe900ffff])
 pci 0000:00:00.0: BAR 0: assigned [mem0xe8000000-0xe801ffff 64bit]
 pci 0000:00:00.0: BAR 6: assigned [mem0xe8020000-0xe802ffff pref]
 [...]
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x44
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
 ath9k 0000:00:00.0: enabling device (0000 -> 0002)
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0xc
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x40
 ath9k 0000:00:00.0: request_irq failed
 advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4
 ath9k: probe of 0000:00:00.0 failed with error -22

The same happens for ath5k cards, while ath10k card didn't appear at
all (not detected):

 OF: PCI: host bridge /soc/pcie@d0070000 ranges:
 OF: PCI:   MEM 0xe8000000..0xe8ffffff -> 0xe8000000
 OF: PCI:    IO 0xe9000000..0xe900ffff -> 0xe9000000
 advk-pcie d0070000.pcie: link never came up
 advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00
 pci_bus 0000:00: root bus resource [bus 00-ff]
 pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff]
 pci_bus 0000:00: root bus resource [io  0x0000-0xffff](bus address[0xe9000000-0xe900ffff])
 advk-pcie d0070000.pcie: config read/write timed out

Following the issue on esppressobin.net forum [1] the workaround seems
to be limiting the speed of PCIe bridge to 1st generation. This fixed
the initialisation of all tested Atheros wireless cards.

The change shouldn't affect the performance for wireless cards,
it could reduce the performance of storage controller cards but since
OpenWrt focuses on wireless connectivity, fixing compatibility with
wireless cards should be a priority.

For the record, the iwlwifi and mt76 cards were not affected by this
issue.

1. http://espressobin.net/forums/topic/which-pcie-wlan-cards-are-supported

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-06-18 07:10:20 +02:00
..
002-add_powertables.patch
003-add_switch_nodes.patch
004-add_sata_disk_activity_trigger.patch
005-linksys_hardcode_nand_ecc_settings.patch
006-mvebu-Mangle-bootloader-s-kernel-arguments.patch
100-find_active_root.patch
102-revert_i2c_delay.patch
103-remove-nand-driver-bug.patch
104-linksys_mamba_disable_keep_config.patch
105-build_new_dtbs.patch
110-pxa3xxx_revert_irq_thread.patch
205-armada-385-rd-mtd-partitions.patch
206-ARM-mvebu-385-ap-Add-partitions.patch
210-clearfog_switch_node.patch
220-disable-untested-dsa-boards.patch
230-armada-xp-linksys-mamba-broken-idle.patch
300-mvneta-tx-queue-workaround.patch
400-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch
401-pci-mvebu-time-out-reset-on-link-up.patch
402-sfp-display-SFP-module-information.patch
403-net-mvneta-convert-to-phylink.patch
404-net-mvneta-hack-fix-phy_interface.patch
405-net-mvneta-disable-MVNETA_CAUSE_PSC_SYNC_CHANGE-inte.patch
406-net-mvneta-add-module-EEPROM-reading-support.patch
407-phy-fixed-phy-remove-fixed_phy_update_state.patch
408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
409-sfp-use-netdev-sfp_bus-for-start-stop.patch
410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch
411-sfp-add-sfp-compatible.patch
412-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch
413-ARM-dts-armada388-clearfog-increase-speed-of-i2c0-to.patch
414-ARM-dts-armada388-clearfog-add-SFP-module-support.patch
415-ARM-dts-armada388-clearfog-document-MPP-usage.patch
420-rtc-trimming-support.patch
421-rtc-initialize.patch
423-ARM-dts-armada-385-linksys-Disable-internal-RTC.patch
450-reprobe_sfp_phy.patch
500-clk-mvebu-armada-37xx-periph-cosmetic-changes.patch
501-clk-mvebu-armada-37xx-periph-prepare-cpu-clk-to-be-u.patch
502-clk-mvebu-armada-37xx-periph-add-DVFS-support-for-cp.patch
503-cpufreq-Add-DVFS-support-for-Armada-37xx.patch
504-spi-a3700-Change-SPI-mode-before-asserting-chip-sele.patch
505-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch
506-arm64-dts-marvell-armada-37xx-add-UART-clock.patch
507-arm64-dts-marvell-armada-37xx-add-nodes-allowing-cpu.patch
508-cpufreq-armada-37xx-Fix-clock-leak.patch
520-arm64-dts-marvell-armada37xx-Add-eth0-alias.patch
521-esporessobin-dt-enable-spi-nor-on-i2c.patch
524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
526-PCI-aardvark-disable-LOS-state-by-default.patch
527-PCI-aardvark-allow-to-specify-link-capability.patch
528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch