Lines Matching refs:pcie

23 #include "pcie-designware.h"
56 static bool ls_pcie_is_bridge(struct ls_pcie *pcie)
58 struct dw_pcie *pci = pcie->pci;
68 static void ls_pcie_clear_multifunction(struct ls_pcie *pcie)
70 struct dw_pcie *pci = pcie->pci;
76 static void ls_pcie_drop_msg_tlp(struct ls_pcie *pcie)
79 struct dw_pcie *pci = pcie->pci;
86 static void ls_pcie_disable_outbound_atus(struct ls_pcie *pcie)
91 dw_pcie_disable_atu(pcie->pci, i, DW_PCIE_REGION_OUTBOUND);
97 struct ls_pcie *pcie = to_ls_pcie(pci);
99 if (!pcie->scfg)
102 regmap_read(pcie->scfg, SCFG_PEXMSCPORTSR(pcie->index), &state);
113 struct ls_pcie *pcie = to_ls_pcie(pci);
116 state = (ioread32(pcie->lut + pcie->drvdata->lut_dbg) >>
117 pcie->drvdata->ltssm_shift) &
127 static void ls_pcie_fix_error_response(struct ls_pcie *pcie)
129 struct dw_pcie *pci = pcie->pci;
137 struct ls_pcie *pcie = to_ls_pcie(pci);
144 ls_pcie_disable_outbound_atus(pcie);
145 ls_pcie_fix_error_response(pcie);
148 ls_pcie_clear_multifunction(pcie);
151 ls_pcie_drop_msg_tlp(pcie);
161 struct ls_pcie *pcie = to_ls_pcie(pci);
166 pcie->scfg = syscon_regmap_lookup_by_phandle(dev->of_node,
167 "fsl,pcie-scfg");
168 if (IS_ERR(pcie->scfg)) {
169 ret = PTR_ERR(pcie->scfg);
171 pcie->scfg = NULL;
176 "fsl,pcie-scfg", index, 2)) {
177 pcie->scfg = NULL;
180 pcie->index = index[1];
264 { .compatible = "fsl,ls1012a-pcie", .data = &ls1046_drvdata },
265 { .compatible = "fsl,ls1021a-pcie", .data = &ls1021_drvdata },
266 { .compatible = "fsl,ls1028a-pcie", .data = &ls2088_drvdata },
267 { .compatible = "fsl,ls1043a-pcie", .data = &ls1043_drvdata },
268 { .compatible = "fsl,ls1046a-pcie", .data = &ls1046_drvdata },
269 { .compatible = "fsl,ls2080a-pcie", .data = &ls2080_drvdata },
270 { .compatible = "fsl,ls2085a-pcie", .data = &ls2080_drvdata },
271 { .compatible = "fsl,ls2088a-pcie", .data = &ls2088_drvdata },
272 { .compatible = "fsl,ls1088a-pcie", .data = &ls2088_drvdata },
276 static int __init ls_add_pcie_port(struct ls_pcie *pcie)
278 struct dw_pcie *pci = pcie->pci;
283 pp->ops = pcie->drvdata->ops;
298 struct ls_pcie *pcie;
302 pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
303 if (!pcie)
310 pcie->drvdata = of_device_get_match_data(dev);
313 pci->ops = pcie->drvdata->dw_pcie_ops;
315 pcie->pci = pci;
322 pcie->lut = pci->dbi_base + pcie->drvdata->lut_offset;
324 if (!ls_pcie_is_bridge(pcie))
327 platform_set_drvdata(pdev, pcie);
329 ret = ls_add_pcie_port(pcie);
338 .name = "layerscape-pcie",