drivers/pci/pci_mvebu: Fix for boards with X4 lanes
authorPhil Sutter <phil@nwl.cc>
Fri, 25 Dec 2015 13:41:20 +0000 (14:41 +0100)
committerStefan Roese <sr@denx.de>
Thu, 14 Jan 2016 13:08:59 +0000 (14:08 +0100)
commit9a04527840dbb2c7b8bc5bd5145fa9bd26c597b4
tree5ccc51a1f1823cd98d6ea6fb45256ede22d42f0c
parent7e1e59a7b7da45361761ab1439c2751f4cae4163
drivers/pci/pci_mvebu: Fix for boards with X4 lanes

Armada XP has support for X4 lanes, boards specify this in their
serdes_cfg. During PEX init in high_speed_env_lib.c, the configuration
is stored in GEN_PURP_RES_2_REG.

When enumerating PEX, subsequent interfaces of an X4 lane must be
skipped. Otherwise the enumeration hangs up the board.

The way this is implemented here is not exactly beautiful, but it mimics
how Marvell's BSP does it. Alternatively we could get the information
using board_serdes_cfg_get(), but that won't lead to clean code, either.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Stefan Roese <sr@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/mach-mvebu/include/mach/soc.h
drivers/pci/pci_mvebu.c