u-boot/arch
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
..
arc Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
arm arm: mvebu: a38x: serdes: Move non-serdes PCIe code to pci_mvebu.c 2022-01-14 07:47:57 +01:00
m68k m68k: mcf5445x: pci: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
microblaze image: Drop IMAGE_ENABLE_OF_LIBFDT 2021-10-08 15:53:26 -04:00
mips Convert CONFIG_USB_EHCI_IS_TDI to Kconfig 2021-10-15 09:42:22 -04:00
nds32 Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
nios2 lmb: nios2: Add arch_lmb_reserve() 2021-09-23 14:15:32 -04:00
powerpc ppc: mpc83xx: Remove unused CONFIG symbols 2021-12-27 16:20:18 -05:00
riscv riscv: qemu: Split devicetree files for qemu_riscv32/64 2021-12-23 10:24:39 -05:00
sandbox sandbox: compatibility of os_get_filesize() 2022-01-13 09:13:41 -07:00
sh Convert CONFIG_CPU_SH7751 to Kconfig 2021-12-27 16:20:19 -05:00
x86 bloblist: Rename the SPL tag 2022-01-13 09:13:41 -07:00
xtensa Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
.gitignore
Kconfig Convert CONFIG_ARCH_MAP_SYSMEM to Kconfig 2021-12-27 16:20:18 -05:00
u-boot-elf.lds