Lines Matching defs:pcie
13 #include "pcie-cadence.h"
33 struct cdns_pcie *pcie = &rc->pcie;
46 return pcie->reg_base + (where & 0xfff);
49 if (!(cdns_pcie_readl(pcie, CDNS_PCIE_LM_BASE) & 0x1))
52 cdns_pcie_writel(pcie, CDNS_PCIE_AT_LINKDOWN, 0x0);
58 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_PCI_ADDR0(0), addr0);
71 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_DESC0(0), desc0);
82 static int cdns_pcie_host_training_complete(struct cdns_pcie *pcie)
91 lnk_stat = cdns_pcie_rp_readw(pcie, pcie_cap_off + PCI_EXP_LNKSTA);
103 static int cdns_pcie_host_wait_for_link(struct cdns_pcie *pcie)
105 struct device *dev = pcie->dev;
110 if (cdns_pcie_link_up(pcie)) {
120 static int cdns_pcie_retrain(struct cdns_pcie *pcie)
131 lnk_cap_sls = cdns_pcie_readl(pcie, (CDNS_PCIE_RP_BASE + pcie_cap_off +
136 lnk_stat = cdns_pcie_rp_readw(pcie, pcie_cap_off + PCI_EXP_LNKSTA);
138 lnk_ctl = cdns_pcie_rp_readw(pcie,
141 cdns_pcie_rp_writew(pcie, pcie_cap_off + PCI_EXP_LNKCTL,
144 ret = cdns_pcie_host_training_complete(pcie);
148 ret = cdns_pcie_host_wait_for_link(pcie);
155 struct cdns_pcie *pcie = &rc->pcie;
158 ret = cdns_pcie_host_wait_for_link(pcie);
165 ret = cdns_pcie_retrain(pcie);
172 struct cdns_pcie *pcie = &rc->pcie;
191 cdns_pcie_writel(pcie, CDNS_PCIE_LM_RC_BAR_CFG, value);
197 cdns_pcie_writel(pcie, CDNS_PCIE_LM_ID, id);
201 cdns_pcie_rp_writew(pcie, PCI_DEVICE_ID, rc->device_id);
203 cdns_pcie_rp_writeb(pcie, PCI_CLASS_REVISION, 0);
204 cdns_pcie_rp_writeb(pcie, PCI_CLASS_PROG, 0);
205 cdns_pcie_rp_writew(pcie, PCI_CLASS_DEVICE, PCI_CLASS_BRIDGE_PCI);
215 struct cdns_pcie *pcie = &rc->pcie;
227 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_RP_BAR_ADDR0(bar), addr0);
228 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_RP_BAR_ADDR1(bar), addr1);
233 value = cdns_pcie_readl(pcie, CDNS_PCIE_LM_RC_BAR_CFG);
250 cdns_pcie_writel(pcie, CDNS_PCIE_LM_RC_BAR_CFG, value);
307 struct cdns_pcie *pcie = &rc->pcie;
308 struct device *dev = pcie->dev;
388 struct cdns_pcie *pcie = &rc->pcie;
389 struct device *dev = pcie->dev;
425 struct cdns_pcie *pcie = &rc->pcie;
444 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_PCI_ADDR1(0), addr1);
445 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_DESC1(0), desc1);
447 if (pcie->ops->cpu_addr_fixup)
448 cpu_addr = pcie->ops->cpu_addr_fixup(pcie, cpu_addr);
453 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_CPU_ADDR0(0), addr0);
454 cdns_pcie_writel(pcie, CDNS_PCIE_AT_OB_REGION_CPU_ADDR1(0), addr1);
462 cdns_pcie_set_outbound_region(pcie, busnr, 0, r,
468 cdns_pcie_set_outbound_region(pcie, busnr, 0, r,
494 struct device *dev = rc->pcie.dev;
499 struct cdns_pcie *pcie;
507 pcie = &rc->pcie;
508 pcie->is_rc = true;
516 pcie->reg_base = devm_platform_ioremap_resource_byname(pdev, "reg");
517 if (IS_ERR(pcie->reg_base)) {
519 return PTR_ERR(pcie->reg_base);
529 cdns_pcie_detect_quiet_min_delay_set(&rc->pcie);
531 ret = cdns_pcie_start_link(pcie);