[LEDE-DEV] WPQ864 PCIe card on PCIe3 does not work when there is no PCIe card on PCIe1
苏士涛
tinnnysu at gmail.com
Tue May 9 19:21:57 PDT 2017
I have a WPQ864 board, which is based on AP148. When I enable the
PCIe3, some thing strange happened. PCIe card on PCIe3(0x1b900000)
does not work when there is no PCIe card on PCIe1(0x1b500000). But
QSDK works good.
DTS file I make:
https://raw.githubusercontent.com/tinnnysu/source/add-support-for-wpq864/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-wpq864-1g.dts
When PCIe card on PCIe1 and PCIe3, dmesg output:
[ 0.149782] 1b500000.pci supply vdda not found, using dummy regulator
[ 0.149884] 1b500000.pci supply vdda_phy not found, using dummy regulator
[ 0.149980] 1b500000.pci supply vdda_refclk not found, using dummy regulator
[ 0.150623] OF: PCI: host bridge /soc/pci at 1b500000 ranges:
[ 0.150662] OF: PCI: IO 0x0fe00000..0x0fefffff -> 0x0fe00000
[ 0.150687] OF: PCI: MEM 0x08000000..0x0fdfffff -> 0x08000000
[ 0.260563] qcom-pcie 1b500000.pci: link up
[ 0.262633] qcom-pcie 1b500000.pci: PCI host bridge to bus 0000:00
[ 0.262655] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.262674] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff]
(bus address [0xfe00000-0xfefffff])
[ 0.262688] pci_bus 0000:00: root bus resource [mem 0x08000000-0x0fdfffff]
[ 0.263217] PCI: bus0: Fast back to back transfers disabled
[ 0.265467] PCI: bus1: Fast back to back transfers disabled
[ 0.265807] pci 0000:00:00.0: BAR 8: assigned [mem 0x08000000-0x081fffff]
[ 0.265831] pci 0000:01:00.0: BAR 0: assigned [mem
0x08000000-0x081fffff 64bit]
[ 0.265965] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.265989] pci 0000:00:00.0: bridge window [mem 0x08000000-0x081fffff]
[ 0.266741] 1b700000.pci supply vdda not found, using dummy regulator
[ 0.266845] 1b700000.pci supply vdda_phy not found, using dummy regulator
[ 0.266933] 1b700000.pci supply vdda_refclk not found, using dummy regulator
[ 0.267541] OF: PCI: host bridge /soc/pci at 1b700000 ranges:
[ 0.267580] OF: PCI: IO 0x31e00000..0x31efffff -> 0x31e00000
[ 0.267600] OF: PCI: MEM 0x2e000000..0x31dfffff -> 0x2e000000
[ 1.299852] qcom-pcie 1b700000.pci: phy link never came up
[ 1.302148] ------------[ cut here ]------------
[ 1.302171] WARNING: CPU: 0 PID: 1 at
drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0x118/0x140
[ 1.302182] pcie1_phy_clk status stuck at 'on'
[ 1.302190] Modules linked in:
[ 1.302212] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.20 #0
[ 1.302222] Hardware name: Generic DT based system
[ 1.302270] [<c0215670>] (unwind_backtrace) from [<c0211f1c>]
(show_stack+0x10/0x14)
[ 1.302294] [<c0211f1c>] (show_stack) from [<c0393f04>]
(dump_stack+0x7c/0x9c)
[ 1.302320] [<c0393f04>] (dump_stack) from [<c021d70c>] (__warn+0xbc/0xec)
[ 1.302343] [<c021d70c>] (__warn) from [<c021d770>]
(warn_slowpath_fmt+0x34/0x44)
[ 1.302364] [<c021d770>] (warn_slowpath_fmt) from [<c03f3f6c>]
(clk_branch_toggle+0x118/0x140)
[ 1.302387] [<c03f3f6c>] (clk_branch_toggle) from [<c03eb5bc>]
(clk_core_disable+0x6c/0x7c)
[ 1.302409] [<c03eb5bc>] (clk_core_disable) from [<c03ec4d8>]
(clk_core_disable_lock+0x18/0x24)
[ 1.302439] [<c03ec4d8>] (clk_core_disable_lock) from [<c03e903c>]
(qcom_pcie_deinit_v0+0x6c/0xb8)
[ 1.302460] [<c03e903c>] (qcom_pcie_deinit_v0) from [<c03e8b9c>]
(dw_pcie_host_init+0x3a0/0x4b4)
[ 1.302482] [<c03e8b9c>] (dw_pcie_host_init) from [<c03e9a50>]
(qcom_pcie_probe+0x178/0x1d0)
[ 1.302511] [<c03e9a50>] (qcom_pcie_probe) from [<c042279c>]
(platform_drv_probe+0x38/0x6c)
[ 1.302535] [<c042279c>] (platform_drv_probe) from [<c0421284>]
(driver_probe_device+0x10c/0x254)
[ 1.302553] [<c0421284>] (driver_probe_device) from [<c042144c>]
(__driver_attach+0x80/0xa4)
[ 1.302572] [<c042144c>] (__driver_attach) from [<c041fbd8>]
(bus_for_each_dev+0x68/0x8c)
[ 1.302593] [<c041fbd8>] (bus_for_each_dev) from [<c0420a4c>]
(bus_add_driver+0xc8/0x1e4)
[ 1.302612] [<c0420a4c>] (bus_add_driver) from [<c0421a3c>]
(driver_register+0x9c/0xe0)
[ 1.302632] [<c0421a3c>] (driver_register) from [<c0209778>]
(do_one_initcall+0xb8/0x174)
[ 1.302661] [<c0209778>] (do_one_initcall) from [<c071adc8>]
(kernel_init_freeable+0x120/0x1e8)
[ 1.302692] [<c071adc8>] (kernel_init_freeable) from [<c05c2204>]
(kernel_init+0xc/0xf4)
[ 1.302718] [<c05c2204>] (kernel_init) from [<c020ec78>]
(ret_from_fork+0x14/0x3c)
[ 1.302737] ---[ end trace 23593370cb814e5a ]---
[ 1.302991] qcom-pcie 1b700000.pci: PCI host bridge to bus 0001:00
[ 1.303010] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 1.303025] pci_bus 0001:00: root bus resource [mem 0x2e000000-0x31dfffff]
[ 1.303090] PCI: bus0: Fast back to back transfers enabled
[ 1.303394] ipq8064-pinctrl 800000.pinmux: invalid group "gpio16"
for function "pcie3_rst"
[ 1.303594] 1b900000.pci supply vdda not found, using dummy regulator
[ 1.303693] 1b900000.pci supply vdda_phy not found, using dummy regulator
[ 1.303780] 1b900000.pci supply vdda_refclk not found, using dummy regulator
[ 1.304422] OF: PCI: host bridge /soc/pci at 1b900000 ranges:
[ 1.304459] OF: PCI: IO 0x35e00000..0x35efffff -> 0x35e00000
[ 1.304482] OF: PCI: MEM 0x32000000..0x35dfffff -> 0x32000000
[ 1.414379] qcom-pcie 1b900000.pci: link up
[ 1.416332] qcom-pcie 1b900000.pci: PCI host bridge to bus 0002:00
[ 1.416351] pci_bus 0002:00: root bus resource [bus 00-ff]
[ 1.416365] pci_bus 0002:00: root bus resource [mem 0x32000000-0x35dfffff]
[ 1.416835] PCI: bus0: Fast back to back transfers disabled
[ 1.419166] PCI: bus1: Fast back to back transfers disabled
[ 1.419649] pci 0002:00:00.0: BAR 8: assigned [mem 0x32000000-0x322fffff]
[ 1.419675] pci 0002:01:00.0: BAR 0: assigned [mem
0x32000000-0x321fffff 64bit]
[ 1.419806] pci 0002:01:00.0: BAR 6: assigned [mem
0x32200000-0x3220ffff pref]
[ 1.419821] pci 0002:00:00.0: PCI bridge to [bus 01]
[ 1.419840] pci 0002:00:00.0: bridge window [mem 0x32000000-0x322fffff]
When there is only one PCIe card on PCIe3 dmesg output:
[ 0.149895] 1b500000.pci supply vdda not found, using dummy regulator
[ 0.149996] 1b500000.pci supply vdda_phy not found, using dummy regulator
[ 0.150092] 1b500000.pci supply vdda_refclk not found, using dummy regulator
[ 0.150741] OF: PCI: host bridge /soc/pci at 1b500000 ranges:
[ 0.150781] OF: PCI: IO 0x0fe00000..0x0fefffff -> 0x0fe00000
[ 0.150807] OF: PCI: MEM 0x08000000..0x0fdfffff -> 0x08000000
[ 1.182859] qcom-pcie 1b500000.pci: phy link never came up
[ 1.185211] ------------[ cut here ]------------
[ 1.185238] WARNING: CPU: 0 PID: 1 at
drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0x118/0x140
[ 1.185249] pcie_phy_clk status stuck at 'on'
[ 1.185259] Modules linked in:
[ 1.185281] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.20 #0
[ 1.185292] Hardware name: Generic DT based system
[ 1.185340] [<c0215670>] (unwind_backtrace) from [<c0211f1c>]
(show_stack+0x10/0x14)
[ 1.185365] [<c0211f1c>] (show_stack) from [<c0393f04>]
(dump_stack+0x7c/0x9c)
[ 1.185391] [<c0393f04>] (dump_stack) from [<c021d70c>] (__warn+0xbc/0xec)
[ 1.185413] [<c021d70c>] (__warn) from [<c021d770>]
(warn_slowpath_fmt+0x34/0x44)
[ 1.185434] [<c021d770>] (warn_slowpath_fmt) from [<c03f3f6c>]
(clk_branch_toggle+0x118/0x140)
[ 1.185456] [<c03f3f6c>] (clk_branch_toggle) from [<c03eb5bc>]
(clk_core_disable+0x6c/0x7c)
[ 1.185479] [<c03eb5bc>] (clk_core_disable) from [<c03ec4d8>]
(clk_core_disable_lock+0x18/0x24)
[ 1.185508] [<c03ec4d8>] (clk_core_disable_lock) from [<c03e903c>]
(qcom_pcie_deinit_v0+0x6c/0xb8)
[ 1.185531] [<c03e903c>] (qcom_pcie_deinit_v0) from [<c03e8b9c>]
(dw_pcie_host_init+0x3a0/0x4b4)
[ 1.185553] [<c03e8b9c>] (dw_pcie_host_init) from [<c03e9a50>]
(qcom_pcie_probe+0x178/0x1d0)
[ 1.185583] [<c03e9a50>] (qcom_pcie_probe) from [<c042279c>]
(platform_drv_probe+0x38/0x6c)
[ 1.185608] [<c042279c>] (platform_drv_probe) from [<c0421284>]
(driver_probe_device+0x10c/0x254)
[ 1.185626] [<c0421284>] (driver_probe_device) from [<c042144c>]
(__driver_attach+0x80/0xa4)
[ 1.185645] [<c042144c>] (__driver_attach) from [<c041fbd8>]
(bus_for_each_dev+0x68/0x8c)
[ 1.185668] [<c041fbd8>] (bus_for_each_dev) from [<c0420a4c>]
(bus_add_driver+0xc8/0x1e4)
[ 1.185687] [<c0420a4c>] (bus_add_driver) from [<c0421a3c>]
(driver_register+0x9c/0xe0)
[ 1.185708] [<c0421a3c>] (driver_register) from [<c0209778>]
(do_one_initcall+0xb8/0x174)
[ 1.185738] [<c0209778>] (do_one_initcall) from [<c071adc8>]
(kernel_init_freeable+0x120/0x1e8)
[ 1.185771] [<c071adc8>] (kernel_init_freeable) from [<c05c2204>]
(kernel_init+0xc/0xf4)
[ 1.185797] [<c05c2204>] (kernel_init) from [<c020ec78>]
(ret_from_fork+0x14/0x3c)
[ 1.185816] ---[ end trace 99f464ac19438df2 ]---
[ 1.186111] qcom-pcie 1b500000.pci: PCI host bridge to bus 0000:00
[ 1.186132] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.186151] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff]
(bus address [0xfe00000-0xfefffff])
[ 1.186165] pci_bus 0000:00: root bus resource [mem 0x08000000-0x0fdfffff]
[ 1.186237] PCI: bus0: Fast back to back transfers enabled
[ 1.186561] 1b700000.pci supply vdda not found, using dummy regulator
[ 1.186664] 1b700000.pci supply vdda_phy not found, using dummy regulator
[ 1.186751] 1b700000.pci supply vdda_refclk not found, using dummy regulator
[ 1.187377] OF: PCI: host bridge /soc/pci at 1b700000 ranges:
[ 1.187417] OF: PCI: IO 0x31e00000..0x31efffff -> 0x31e00000
[ 1.187438] OF: PCI: MEM 0x2e000000..0x31dfffff -> 0x2e000000
[ 2.219493] qcom-pcie 1b700000.pci: phy link never came up
[ 2.221795] ------------[ cut here ]------------
[ 2.221817] WARNING: CPU: 0 PID: 1 at
drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0x118/0x140
[ 2.221826] pcie1_phy_clk status stuck at 'on'
[ 2.221835] Modules linked in:
[ 2.221854] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 4.9.20 #0
[ 2.221865] Hardware name: Generic DT based system
[ 2.221895] [<c0215670>] (unwind_backtrace) from [<c0211f1c>]
(show_stack+0x10/0x14)
[ 2.221915] [<c0211f1c>] (show_stack) from [<c0393f04>]
(dump_stack+0x7c/0x9c)
[ 2.221935] [<c0393f04>] (dump_stack) from [<c021d70c>] (__warn+0xbc/0xec)
[ 2.221954] [<c021d70c>] (__warn) from [<c021d770>]
(warn_slowpath_fmt+0x34/0x44)
[ 2.221974] [<c021d770>] (warn_slowpath_fmt) from [<c03f3f6c>]
(clk_branch_toggle+0x118/0x140)
[ 2.221992] [<c03f3f6c>] (clk_branch_toggle) from [<c03eb5bc>]
(clk_core_disable+0x6c/0x7c)
[ 2.222010] [<c03eb5bc>] (clk_core_disable) from [<c03ec4d8>]
(clk_core_disable_lock+0x18/0x24)
[ 2.222033] [<c03ec4d8>] (clk_core_disable_lock) from [<c03e903c>]
(qcom_pcie_deinit_v0+0x6c/0xb8)
[ 2.222053] [<c03e903c>] (qcom_pcie_deinit_v0) from [<c03e8b9c>]
(dw_pcie_host_init+0x3a0/0x4b4)
[ 2.222074] [<c03e8b9c>] (dw_pcie_host_init) from [<c03e9a50>]
(qcom_pcie_probe+0x178/0x1d0)
[ 2.222097] [<c03e9a50>] (qcom_pcie_probe) from [<c042279c>]
(platform_drv_probe+0x38/0x6c)
[ 2.222116] [<c042279c>] (platform_drv_probe) from [<c0421284>]
(driver_probe_device+0x10c/0x254)
[ 2.222134] [<c0421284>] (driver_probe_device) from [<c042144c>]
(__driver_attach+0x80/0xa4)
[ 2.222152] [<c042144c>] (__driver_attach) from [<c041fbd8>]
(bus_for_each_dev+0x68/0x8c)
[ 2.222169] [<c041fbd8>] (bus_for_each_dev) from [<c0420a4c>]
(bus_add_driver+0xc8/0x1e4)
[ 2.222187] [<c0420a4c>] (bus_add_driver) from [<c0421a3c>]
(driver_register+0x9c/0xe0)
[ 2.222206] [<c0421a3c>] (driver_register) from [<c0209778>]
(do_one_initcall+0xb8/0x174)
[ 2.222229] [<c0209778>] (do_one_initcall) from [<c071adc8>]
(kernel_init_freeable+0x120/0x1e8)
[ 2.222252] [<c071adc8>] (kernel_init_freeable) from [<c05c2204>]
(kernel_init+0xc/0xf4)
[ 2.222274] [<c05c2204>] (kernel_init) from [<c020ec78>]
(ret_from_fork+0x14/0x3c)
[ 2.222287] ---[ end trace 99f464ac19438df3 ]---
[ 2.222533] qcom-pcie 1b700000.pci: PCI host bridge to bus 0001:00
[ 2.222551] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 2.222565] pci_bus 0001:00: root bus resource [mem 0x2e000000-0x31dfffff]
[ 2.222629] PCI: bus0: Fast back to back transfers enabled
[ 2.222757] ipq8064-pinctrl 800000.pinmux: invalid group "gpio16"
for function "pcie3_rst"
[ 2.222961] 1b900000.pci supply vdda not found, using dummy regulator
[ 2.223063] 1b900000.pci supply vdda_phy not found, using dummy regulator
[ 2.223152] 1b900000.pci supply vdda_refclk not found, using dummy regulator
[ 2.223796] OF: PCI: host bridge /soc/pci at 1b900000 ranges:
[ 2.223829] OF: PCI: IO 0x35e00000..0x35efffff -> 0x35e00000
[ 2.223854] OF: PCI: MEM 0x32000000..0x35dfffff -> 0x32000000
[ 3.257163] qcom-pcie 1b900000.pci: phy link never came up
[ 3.259421] ------------[ cut here ]------------
[ 3.259442] WARNING: CPU: 0 PID: 1 at
drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0x118/0x140
[ 3.259452] pcie2_phy_clk status stuck at 'on'
[ 3.259461] Modules linked in:
[ 3.259480] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 4.9.20 #0
[ 3.259490] Hardware name: Generic DT based system
[ 3.259521] [<c0215670>] (unwind_backtrace) from [<c0211f1c>]
(show_stack+0x10/0x14)
[ 3.259542] [<c0211f1c>] (show_stack) from [<c0393f04>]
(dump_stack+0x7c/0x9c)
[ 3.259564] [<c0393f04>] (dump_stack) from [<c021d70c>] (__warn+0xbc/0xec)
[ 3.259583] [<c021d70c>] (__warn) from [<c021d770>]
(warn_slowpath_fmt+0x34/0x44)
[ 3.259602] [<c021d770>] (warn_slowpath_fmt) from [<c03f3f6c>]
(clk_branch_toggle+0x118/0x140)
[ 3.259620] [<c03f3f6c>] (clk_branch_toggle) from [<c03eb5bc>]
(clk_core_disable+0x6c/0x7c)
[ 3.259638] [<c03eb5bc>] (clk_core_disable) from [<c03ec4d8>]
(clk_core_disable_lock+0x18/0x24)
[ 3.259662] [<c03ec4d8>] (clk_core_disable_lock) from [<c03e903c>]
(qcom_pcie_deinit_v0+0x6c/0xb8)
[ 3.259682] [<c03e903c>] (qcom_pcie_deinit_v0) from [<c03e8b9c>]
(dw_pcie_host_init+0x3a0/0x4b4)
[ 3.259703] [<c03e8b9c>] (dw_pcie_host_init) from [<c03e9a50>]
(qcom_pcie_probe+0x178/0x1d0)
[ 3.259728] [<c03e9a50>] (qcom_pcie_probe) from [<c042279c>]
(platform_drv_probe+0x38/0x6c)
[ 3.259749] [<c042279c>] (platform_drv_probe) from [<c0421284>]
(driver_probe_device+0x10c/0x254)
[ 3.259767] [<c0421284>] (driver_probe_device) from [<c042144c>]
(__driver_attach+0x80/0xa4)
[ 3.259786] [<c042144c>] (__driver_attach) from [<c041fbd8>]
(bus_for_each_dev+0x68/0x8c)
[ 3.259804] [<c041fbd8>] (bus_for_each_dev) from [<c0420a4c>]
(bus_add_driver+0xc8/0x1e4)
[ 3.259821] [<c0420a4c>] (bus_add_driver) from [<c0421a3c>]
(driver_register+0x9c/0xe0)
[ 3.259840] [<c0421a3c>] (driver_register) from [<c0209778>]
(do_one_initcall+0xb8/0x174)
[ 3.259864] [<c0209778>] (do_one_initcall) from [<c071adc8>]
(kernel_init_freeable+0x120/0x1e8)
[ 3.259891] [<c071adc8>] (kernel_init_freeable) from [<c05c2204>]
(kernel_init+0xc/0xf4)
[ 3.259913] [<c05c2204>] (kernel_init) from [<c020ec78>]
(ret_from_fork+0x14/0x3c)
[ 3.259927] ---[ end trace 99f464ac19438df4 ]---
[ 3.260191] qcom-pcie 1b900000.pci: PCI host bridge to bus 0002:00
[ 3.260209] pci_bus 0002:00: root bus resource [bus 00-ff]
[ 3.260224] pci_bus 0002:00: root bus resource [mem 0x32000000-0x35dfffff]
[ 3.260287] PCI: bus0: Fast back to back transfers enabled
Would somebody give me some tips?
Thanks.
WPQ864 Datasheet:
http://www.compex.com.sg/wp-content/uploads/2015/11/WPQ864-6A02-v3.1-WH-141.pdf
WPQ864 Hardware Guide:
http://www.compex.com.sg/wp-content/uploads/2015/11/WPQ864-Hw-Guide-v1.25.pdf
WPQ864 QSDK Download: http://downloads.compex.com.sg/?dir=uploads/QSDK/WPQ864/
--
Shitao Su
More information about the Lede-dev
mailing list