diff options
| author | Yan He <yanhe@codeaurora.org> | 2015-12-07 18:20:35 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:15:47 -0700 |
| commit | ec62d30ab9638255b6e3851b03af8c506cf3fc01 (patch) | |
| tree | 7719ad77ac1857abb691f411f4f33d6be6c0577a /drivers/platform | |
| parent | 161d538a829379d59af2d6d9194bb163efb7e900 (diff) | |
msm: ep_pcie: set up execution environment before link up
Set up the execution environment before PCIe link training to
provide better adaptability to various hosts.
Change-Id: I72721d3b88a7e5b1a0a1f408da2228391559468e
Signed-off-by: Yan He <yanhe@codeaurora.org>
Diffstat (limited to 'drivers/platform')
| -rw-r--r-- | drivers/platform/msm/ep_pcie/ep_pcie_com.h | 3 | ||||
| -rw-r--r-- | drivers/platform/msm/ep_pcie/ep_pcie_core.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/platform/msm/ep_pcie/ep_pcie_com.h b/drivers/platform/msm/ep_pcie/ep_pcie_com.h index c886dd2777dd..69a486575edd 100644 --- a/drivers/platform/msm/ep_pcie/ep_pcie_com.h +++ b/drivers/platform/msm/ep_pcie/ep_pcie_com.h @@ -95,6 +95,9 @@ #define PCIE20_PLR_IATU_LTAR 0x918 #define PCIE20_PLR_IATU_UTAR 0x91c +#define PCIE20_MHICFG 0x110 +#define PCIE20_BHI_EXECENV 0x228 + #define PCIE20_AUX_CLK_FREQ_REG 0xB40 #define PERST_TIMEOUT_US_MIN 1000 diff --git a/drivers/platform/msm/ep_pcie/ep_pcie_core.c b/drivers/platform/msm/ep_pcie/ep_pcie_core.c index c8399388c823..d21461c9291e 100644 --- a/drivers/platform/msm/ep_pcie/ep_pcie_core.c +++ b/drivers/platform/msm/ep_pcie/ep_pcie_core.c @@ -557,6 +557,9 @@ static void ep_pcie_core_init(struct ep_pcie_dev_t *dev) /* Configure BARs */ ep_pcie_bar_init(dev); + ep_pcie_write_reg(dev->mmio, PCIE20_MHICFG, 0x02800880); + ep_pcie_write_reg(dev->mmio, PCIE20_BHI_EXECENV, 0x2); + /* Configure IRQ events */ if (dev->aggregated_irq) { ep_pcie_write_reg(dev->parf, PCIE20_PARF_INT_ALL_MASK, 0); |
