u-boot/drivers/pci
Pali Rohár 94c30f9c8f arm: mvebu: a38x: serdes: Move non-serdes PCIe code to pci_mvebu.c
As explained in commit 3bedbcc3aa ("arm: mvebu: a38x: serdes: Don't
overwrite read-only SAR PCIe registers") it is required to set Maximum Link
Width bits of PCIe Root Port Link Capabilities Register depending of number
of used serdes lanes. As this register is part of PCIe address space and
not serdes address space, move it into pci_mvebu.c driver.

Read number of PCIe lanes from DT property "num-lanes" which is used also
by other PCIe controller drivers in Linux kernel. If this property is
absent then it defaults to 1. This property needs to be set to 4 for every
mvebu board which use PEX_ROOT_COMPLEX_X4 or PEX_BUS_MODE_X4.

Enabling of PCIe port needs to be done afer all registers in PCIe address
space are properly configure. For this purpose use new mvebu-reset driver
(part of system-controller) and remove this code from serdes code.

Because some PCIe ports cannot be enabled individually, it is required to
first setup all PCIe ports and then enable them.

This change contains also all required "num-lanes" and "resets" DTS
properties, to make pci_mvebu.c driver work correctly.

Signed-off-by: Pali Rohár <pali@kernel.org>
2022-01-14 07:47:57 +01:00
..
Kconfig arm: mvebu: a38x: serdes: Move non-serdes PCIe code to pci_mvebu.c 2022-01-14 07:47:57 +01:00
Makefile pci: Remove unused FSL_PCI_INIT code 2021-12-27 08:41:38 -05:00
pci-aardvark.c Prepare v2022.01-rc4 2021-12-20 17:12:04 -05:00
pci-emul-uclass.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
pci-rcar-gen2.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
pci-rcar-gen3.c pci: renesas: Fix BAR mapping on Gen3 2021-02-20 22:38:28 +01:00
pci-uclass.c pci: Skip configuring invalid P2P bridge devices 2021-10-14 19:45:07 -04:00
pci_auto.c pci: When disabling pref MEM set all base bits 2022-01-12 14:21:24 -05:00
pci_auto_common.c pci: Fix printf format for regions 2021-10-14 19:45:07 -04:00
pci_common.c pci: Drop DM_PCI check from pci_common 2021-08-05 16:14:36 -04:00
pci_compat.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_gt64120.c pci: gt64120: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_internal.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pci_mpc85xx.c pci: mpc85xx: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_msc01.c pci: msc01: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_mvebu.c arm: mvebu: a38x: serdes: Move non-serdes PCIe code to pci_mvebu.c 2022-01-14 07:47:57 +01:00
pci_octeontx.c pci: pci_octeontx: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pci_rom.c video: Fix video on coreboot with the copy buffer 2021-03-27 15:04:30 +13:00
pci_sandbox.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
pci_sh4.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pci_sh7751.c pci: sh7751: Fix access to config space via PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_sh7780.c pci: sh7780: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_tegra.c pci: tegra: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_x86.c dm: pci: Update the PCI read_config() method to const dev * 2020-02-05 19:33:45 -07:00
pcie_brcmstb.c pci: pcie-brcmstb: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pcie_dw_common.c drivers: pci: pcie_dw_common: fix Werror compilation error 2021-05-31 16:35:55 +08:00
pcie_dw_common.h pci: add common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_dw_meson.c pci: pcie_dw_meson: fix usb fail when pci link fails to go up 2021-10-07 10:14:50 +02:00
pcie_dw_mvebu.c pcie: designware: mvebu: do not configure ATU for IO when not used 2021-05-16 06:48:45 +02:00
pcie_dw_rockchip.c pci: pcie_dw_rockchip: Replace msleep occurences by udelay 2021-06-18 14:36:54 +08:00
pcie_dw_sifive.c drivers: pci: add pcie support for fu740 2021-05-31 16:35:54 +08:00
pcie_dw_ti.c pci: pcie_dw_ti: migrate to common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_ecam_generic.c RFC: arm: pci: Add PCI cam support to PCI-E ecam driver 2021-11-17 17:09:47 -05:00
pcie_ecam_synquacer.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_fsl.c pci: fsl: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pcie_fsl.h dm: pci: fsl: Correct the workaround of erratum A-007815 2020-10-23 16:52:09 +05:30
pcie_fsl_fixup.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_imx.c pci: imx: Drop use of DM_PCI 2021-08-05 19:46:35 -04:00
pcie_intel_fpga.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_iproc.c pci: pcie_iproc: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pcie_layerscape.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_layerscape.h pci: layerscape: Remove the shadow SVR definitions 2021-02-08 14:01:18 +05:30
pcie_layerscape_ep.c pci: layerscape-ep: Add check of the PCIe controller enablement 2021-06-17 11:46:11 +05:30
pcie_layerscape_fixup.c fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
pcie_layerscape_fixup_common.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape_fixup_common.h treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_layerscape_gen4.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape_gen4.h pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_gen4_fixup.c fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
pcie_layerscape_rc.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_mediatek.c pci: mediatek: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pcie_octeon.c mips: octeon: Add Octeon PCIe host controller driver 2021-04-28 10:05:12 +02:00
pcie_phytium.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_rockchip.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_uniphier.c pci: uniphier: Add UniPhier PCIe controller driver 2021-07-14 16:48:08 -04:00
pcie_xilinx.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00