5555#define PARF_AXI_MSTR_WR_ADDR_HALT_V2 0x1a8
5656#define PARF_Q2A_FLUSH 0x1ac
5757#define PARF_LTSSM 0x1b0
58- #define PARF_SLV_DBI_ELBI 0x1b4
5958#define PARF_INT_ALL_STATUS 0x224
6059#define PARF_INT_ALL_CLEAR 0x228
6160#define PARF_INT_ALL_MASK 0x22c
6564#define PARF_DBI_BASE_ADDR_V2_HI 0x354
6665#define PARF_SLV_ADDR_SPACE_SIZE_V2 0x358
6766#define PARF_SLV_ADDR_SPACE_SIZE_V2_HI 0x35c
68- #define PARF_BLOCK_SLV_AXI_WR_BASE 0x360
69- #define PARF_BLOCK_SLV_AXI_WR_BASE_HI 0x364
70- #define PARF_BLOCK_SLV_AXI_WR_LIMIT 0x368
71- #define PARF_BLOCK_SLV_AXI_WR_LIMIT_HI 0x36c
72- #define PARF_BLOCK_SLV_AXI_RD_BASE 0x370
73- #define PARF_BLOCK_SLV_AXI_RD_BASE_HI 0x374
74- #define PARF_BLOCK_SLV_AXI_RD_LIMIT 0x378
75- #define PARF_BLOCK_SLV_AXI_RD_LIMIT_HI 0x37c
76- #define PARF_ECAM_BASE 0x380
77- #define PARF_ECAM_BASE_HI 0x384
7867#define PARF_NO_SNOOP_OVERRIDE 0x3d4
7968#define PARF_ATU_BASE_ADDR 0x634
8069#define PARF_ATU_BASE_ADDR_HI 0x638
9887
9988/* PARF_SYS_CTRL register fields */
10089#define MAC_PHY_POWERDOWN_IN_P2_D_MUX_EN BIT(29)
101- #define PCIE_ECAM_BLOCKER_EN BIT(26)
10290#define MST_WAKEUP_EN BIT(13)
10391#define SLV_WAKEUP_EN BIT(12)
10492#define MSTR_ACLK_CGC_DIS BIT(10)
146134/* PARF_LTSSM register fields */
147135#define LTSSM_EN BIT(8)
148136
149- /* PARF_SLV_DBI_ELBI */
150- #define SLV_DBI_ELBI_ADDR_BASE GENMASK(11, 0)
151-
152137/* PARF_INT_ALL_{STATUS/CLEAR/MASK} register fields */
153138#define PARF_INT_ALL_LINK_UP BIT(13)
154139#define PARF_INT_MSI_DEV_0_7 GENMASK(30, 23)
@@ -326,47 +311,6 @@ static void qcom_ep_reset_deassert(struct qcom_pcie *pcie)
326311 qcom_perst_assert (pcie , false);
327312}
328313
329- static void qcom_pci_config_ecam (struct dw_pcie_rp * pp )
330- {
331- struct dw_pcie * pci = to_dw_pcie_from_pp (pp );
332- struct qcom_pcie * pcie = to_qcom_pcie (pci );
333- u64 addr , addr_end ;
334- u32 val ;
335-
336- writel_relaxed (lower_32_bits (pci -> dbi_phys_addr ), pcie -> parf + PARF_ECAM_BASE );
337- writel_relaxed (upper_32_bits (pci -> dbi_phys_addr ), pcie -> parf + PARF_ECAM_BASE_HI );
338-
339- /*
340- * The only device on the root bus is a single Root Port. If we try to
341- * access any devices other than Device/Function 00.0 on Bus 0, the TLP
342- * will go outside of the controller to the PCI bus. But with CFG Shift
343- * Feature (ECAM) enabled in iATU, there is no guarantee that the
344- * response is going to be all F's. Hence, to make sure that the
345- * requester gets all F's response for accesses other than the Root
346- * Port, configure iATU to block the transactions starting from
347- * function 1 of the root bus to the end of the root bus (i.e., from
348- * dbi_base + 4KB to dbi_base + 1MB).
349- */
350- addr = pci -> dbi_phys_addr + SZ_4K ;
351- writel_relaxed (lower_32_bits (addr ), pcie -> parf + PARF_BLOCK_SLV_AXI_WR_BASE );
352- writel_relaxed (upper_32_bits (addr ), pcie -> parf + PARF_BLOCK_SLV_AXI_WR_BASE_HI );
353-
354- writel_relaxed (lower_32_bits (addr ), pcie -> parf + PARF_BLOCK_SLV_AXI_RD_BASE );
355- writel_relaxed (upper_32_bits (addr ), pcie -> parf + PARF_BLOCK_SLV_AXI_RD_BASE_HI );
356-
357- addr_end = pci -> dbi_phys_addr + SZ_1M - 1 ;
358-
359- writel_relaxed (lower_32_bits (addr_end ), pcie -> parf + PARF_BLOCK_SLV_AXI_WR_LIMIT );
360- writel_relaxed (upper_32_bits (addr_end ), pcie -> parf + PARF_BLOCK_SLV_AXI_WR_LIMIT_HI );
361-
362- writel_relaxed (lower_32_bits (addr_end ), pcie -> parf + PARF_BLOCK_SLV_AXI_RD_LIMIT );
363- writel_relaxed (upper_32_bits (addr_end ), pcie -> parf + PARF_BLOCK_SLV_AXI_RD_LIMIT_HI );
364-
365- val = readl_relaxed (pcie -> parf + PARF_SYS_CTRL );
366- val |= PCIE_ECAM_BLOCKER_EN ;
367- writel_relaxed (val , pcie -> parf + PARF_SYS_CTRL );
368- }
369-
370314static int qcom_pcie_start_link (struct dw_pcie * pci )
371315{
372316 struct qcom_pcie * pcie = to_qcom_pcie (pci );
@@ -1320,7 +1264,6 @@ static int qcom_pcie_host_init(struct dw_pcie_rp *pp)
13201264{
13211265 struct dw_pcie * pci = to_dw_pcie_from_pp (pp );
13221266 struct qcom_pcie * pcie = to_qcom_pcie (pci );
1323- u16 offset ;
13241267 int ret ;
13251268
13261269 qcom_ep_reset_assert (pcie );
@@ -1329,17 +1272,6 @@ static int qcom_pcie_host_init(struct dw_pcie_rp *pp)
13291272 if (ret )
13301273 return ret ;
13311274
1332- if (pp -> ecam_enabled ) {
1333- /*
1334- * Override ELBI when ECAM is enabled, as when ECAM is enabled,
1335- * ELBI moves under the 'config' space.
1336- */
1337- offset = FIELD_GET (SLV_DBI_ELBI_ADDR_BASE , readl (pcie -> parf + PARF_SLV_DBI_ELBI ));
1338- pci -> elbi_base = pci -> dbi_base + offset ;
1339-
1340- qcom_pci_config_ecam (pp );
1341- }
1342-
13431275 ret = qcom_pcie_phy_power_on (pcie );
13441276 if (ret )
13451277 goto err_deinit ;
0 commit comments