summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-12-21 12:20:12 +0100
committerStefan Roese <sr@denx.de>2022-01-14 07:47:57 +0100
commit2ac06f3e66c13b793f9b0859888b7062f24910e6 (patch)
tree9f54a3ac5cf37b129b2d7bdd27e437b24bedce04
parent8f9e0f4d207e7bb65173c7cd00d91946cfb838a7 (diff)
board: gdsys: a38x: Enable PCIe link 2 in spl_board_init()
A385 controlcenterdc board does not use PCI DM properly and touches some PCIe devices directly in its board code. This controlcenterdc spl_board_init() function expects that PCIe link is already initialized. Link itself is initialized in a38x serdes code but this will change in future and link initialization will be postponed from U-Boot SPL to proper U-Boot. So explicitly enable PCIe link 2 in spl_board_init() function via SoC Control Register 1 to not break this code by future changes. This board has PCIe link 2 just x1, so no additional initialization (except enabling PCIe port) is needed. Signed-off-by: Pali Rohár <pali@kernel.org>
-rw-r--r--board/gdsys/a38x/controlcenterdc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/board/gdsys/a38x/controlcenterdc.c b/board/gdsys/a38x/controlcenterdc.c
index 243d022326..7d65400ccb 100644
--- a/board/gdsys/a38x/controlcenterdc.c
+++ b/board/gdsys/a38x/controlcenterdc.c
@@ -100,6 +100,10 @@ void spl_board_init(void)
uint k;
struct gpio_desc gpio = {};
+ /* Enable PCIe link 2 */
+ setbits_32(MVEBU_REGISTER(0x18204), BIT(2));
+ mdelay(10);
+
if (!request_gpio_by_name(&gpio, "pca9698@22", 31, "fpga-program-gpio")) {
/* prepare FPGA reconfiguration */
dm_gpio_set_dir_flags(&gpio, GPIOD_IS_OUT);