From 5d510fc4698ac66b4f977b5df5f3973909798e88 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Wed, 11 May 2016 15:54:35 +0200 Subject: apalis_t30: add optional pcie evalboard initialisation Implement optional PCIe EvalBoard initialisation which properly reset the PLX (now Avago) PEX 8605 PCIe switch plus PCIe devices on the Apalis Evaluation carrier board. Please note that you will have to enable the second PCIe port in the dts as well e.g.: diff --git a/arch/arm/dts/tegra30-apalis.dts b/arch/arm/dts/tegra30-apalis.dts index be4f4d6..321c7d6 100644 --- a/arch/arm/dts/tegra30-apalis.dts +++ b/arch/arm/dts/tegra30-apalis.dts @@ -59,6 +59,7 @@ }; pci@2,0 { + status = "okay"; nvidia,num-lanes = <1>; }; Signed-off-by: Marcel Ziswiler Acked-by: Max Krummenacher (cherry picked from commit 340f51a210df1da640a57267e6c7fa56b8a852ed) --- board/toradex/apalis_t30/apalis_t30.c | 19 +++++++++++++++++++ include/configs/apalis_t30.h | 1 + 2 files changed, 20 insertions(+) diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c index 4e75846ca3..773f9e9580 100644 --- a/board/toradex/apalis_t30/apalis_t30.c +++ b/board/toradex/apalis_t30/apalis_t30.c @@ -127,6 +127,25 @@ int tegra_pcie_board_init(void) return err; } +#ifdef APALIS_T30_PCIE_EVALBOARD_INIT +#define PEX_PERST_N GPIO_PS7 /* Apalis GPIO7 */ +#define RESET_MOCI_N GPIO_PI4 + + /* Reset PLX PEX 8605 PCIe Switch plus PCIe devices on Apalis Evaluation + Board */ + gpio_request(PEX_PERST_N, "PEX_PERST_N"); + gpio_request(RESET_MOCI_N, "RESET_MOCI_N"); + gpio_direction_output(PEX_PERST_N, 0); + gpio_direction_output(RESET_MOCI_N, 0); + /* Must be asserted for 100 ms after power and clocks are stable */ + mdelay(100); + gpio_set_value(PEX_PERST_N, 1); + /* Err_5: PEX_REFCLK_OUTpx/nx Clock Outputs is not Guaranteed Until + 900 us After PEX_PERST# De-assertion */ + mdelay(1); + gpio_set_value(RESET_MOCI_N, 1); +#endif /* APALIS_T30_PCIE_EVALBOARD_INIT */ + return 0; } #endif /* CONFIG_PCI_TEGRA */ diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index cf9e40bfb2..921911dc77 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -56,6 +56,7 @@ /* PCI host support */ #undef CONFIG_PCI_SCAN_SHOW #define CONFIG_CMD_PCI +#undef APALIS_T30_PCIE_EVALBOARD_INIT /* PCI networking support */ #define CONFIG_E1000_NO_NVM -- cgit v1.2.3