linux/drivers/pci/controller/dwc
Mauro Carvalho Chehab b22dbbb245 PCI: kirin: Support PERST# GPIOs for HiKey970 external PEX 8606 bridge
On HiKey970, there's a PEX 8606 PCI bridge on its PHY with 6 lanes. Only 4
lanes are connected:

  lane 0 - connected to Kirin 970 (upstream)
  lane 4 - M.2 slot
  lane 5 - mini PCIe slot
  lane 6 - on-board Ethernet controller

Each lane has its own PERST# GPIO pin and needs a clock request.

Add support to parse a DT schema containing the above data.

HiKey 970 requires a little more waiting time for the PCI bridge - which is
outside the SoC - to finish the PERST# reset, and then initialize the eye
diagram.

Increase the waiting time for the PERST# signals accordingly.

[bhelgaas: squash refcount fix from Wan Jiabing <wanjiabing@vivo.com>:
https://lore.kernel.org/r/20211103062518.25695-1-wanjiabing@vivo.com
and drop "parent" refcount per
https://lore.kernel.org/all/20211103143059.GA683503@bhelgaas/]
Link: https://lore.kernel.org/r/bb391a0e0f0863b66e645048315fab1a4f63f277.1634812676.git.mchehab+huawei@kernel.org
Link: https://lore.kernel.org/all/9a365cffe5af9ec5a1f79638968c3a2efa979b65.1634622716.git.mchehab+huawei@kernel.org/
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Xiaowei Song <songxiaowei@hisilicon.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
2021-11-04 14:32:21 -05:00
..
Kconfig Merge branch 'remotes/lorenzo/pci/keembay' 2021-09-02 14:56:48 -05:00
Makefile Merge branch 'remotes/lorenzo/pci/keembay' 2021-09-02 14:56:48 -05:00
pci-dra7xx.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pci-exynos.c PCI: dwc: exynos: Rework the driver to support Exynos5433 variant 2020-12-01 10:22:30 +00:00
pci-imx6.c PCI: imx6: Enable PHY internal regulator when supplied >3V 2021-06-24 14:50:34 -05:00
pci-keystone.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pci-layerscape-ep.c PCI: layerscape: Correct syntax by changing comma to semicolon 2021-03-22 17:24:19 +00:00
pci-layerscape.c PCI: layerscape: Convert to builtin_platform_driver() 2021-02-24 11:08:48 -06:00
pci-meson.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00
pcie-al.c PCI: al: Remove useless dw_pcie_ops 2021-02-24 11:09:50 -06:00
pcie-armada8k.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-artpec6.c PCI: artpec6: Remove local code block from switch statement 2021-08-31 14:54:33 -05:00
pcie-designware-ep.c PCI: endpoint: Add virtual function number in pci_epc ops 2021-08-19 14:13:28 +01:00
pcie-designware-host.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-designware-plat.c PCI: dwc: Remove surplus break statement after return 2021-08-31 14:56:43 -05:00
pcie-designware.c PCI: dwc: Move iATU detection earlier 2021-04-29 17:05:59 +01:00
pcie-designware.h PCI: dwc: Move iATU detection earlier 2021-04-29 17:05:59 +01:00
pcie-dw-rockchip.c PCI: rockchip-dwc: Add Rockchip RK356X host controller driver 2021-08-31 14:58:20 -05:00
pcie-fu740.c PCI: fu740: Add SiFive FU740 PCIe host controller driver 2021-05-04 14:58:22 +01:00
pcie-hisi.c PCI: Unify ECAM constants in native PCI Express drivers 2020-12-10 14:55:49 -06:00
pcie-histb.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-intel-gw.c PCI: intel-gw: Fix INTx enable 2021-06-24 14:44:13 -05:00
pcie-keembay.c PCI: keembay: Add support for Intel Keem Bay 2021-08-20 13:47:05 +01:00
pcie-kirin.c PCI: kirin: Support PERST# GPIOs for HiKey970 external PEX 8606 bridge 2021-11-04 14:32:21 -05:00
pcie-qcom.c PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 2021-02-24 14:38:49 -06:00
pcie-spear13xx.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-tegra194-acpi.c PCI: tegra194: Fix MCFG quirk build regressions 2021-06-18 10:32:34 -05:00
pcie-tegra194.c PCI: tegra194: Cleanup unused code 2021-08-04 12:28:17 +01:00
pcie-uniphier-ep.c PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code 2020-11-19 10:51:40 +00:00
pcie-uniphier.c PCI: Bulk conversion to generic_handle_domain_irq() 2021-08-02 11:53:05 -05:00
pcie-visconti.c PCI: visconti: Add Toshiba Visconti PCIe host controller driver 2021-08-31 14:52:05 -05:00