summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorYan He <yanhe@codeaurora.org>2015-12-07 18:20:35 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:15:47 -0700
commitec62d30ab9638255b6e3851b03af8c506cf3fc01 (patch)
tree7719ad77ac1857abb691f411f4f33d6be6c0577a /drivers/platform
parent161d538a829379d59af2d6d9194bb163efb7e900 (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.h3
-rw-r--r--drivers/platform/msm/ep_pcie/ep_pcie_core.c3
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);