Lines Matching refs:pcie

58 static bool ls_pcie_is_bridge(struct ls_pcie *pcie)  in ls_pcie_is_bridge()  argument
62 header_type = ioread8(pcie->dbi + PCI_HEADER_TYPE); in ls_pcie_is_bridge()
69 static void ls_pcie_clear_multifunction(struct ls_pcie *pcie) in ls_pcie_clear_multifunction() argument
71 iowrite8(PCI_HEADER_TYPE_BRIDGE, pcie->dbi + PCI_HEADER_TYPE); in ls_pcie_clear_multifunction()
75 static void ls_pcie_fix_class(struct ls_pcie *pcie) in ls_pcie_fix_class() argument
77 iowrite16(PCI_CLASS_BRIDGE_PCI, pcie->dbi + PCI_CLASS_DEVICE); in ls_pcie_fix_class()
83 struct ls_pcie *pcie = to_ls_pcie(pp); in ls1021_pcie_link_up() local
85 if (!pcie->scfg) in ls1021_pcie_link_up()
88 regmap_read(pcie->scfg, SCFG_PEXMSCPORTSR(pcie->index), &state); in ls1021_pcie_link_up()
99 struct ls_pcie *pcie = to_ls_pcie(pp); in ls1021_pcie_host_init() local
102 pcie->scfg = syscon_regmap_lookup_by_phandle(pp->dev->of_node, in ls1021_pcie_host_init()
104 if (IS_ERR(pcie->scfg)) { in ls1021_pcie_host_init()
106 pcie->scfg = NULL; in ls1021_pcie_host_init()
112 pcie->scfg = NULL; in ls1021_pcie_host_init()
115 pcie->index = index[1]; in ls1021_pcie_host_init()
123 val = ioread32(pcie->dbi + PCIE_STRFMR1); in ls1021_pcie_host_init()
125 iowrite32(val, pcie->dbi + PCIE_STRFMR1); in ls1021_pcie_host_init()
130 struct ls_pcie *pcie = to_ls_pcie(pp); in ls_pcie_link_up() local
133 state = (ioread32(pcie->lut + PCIE_LUT_DBG) >> in ls_pcie_link_up()
134 pcie->drvdata->ltssm_shift) & in ls_pcie_link_up()
145 struct ls_pcie *pcie = to_ls_pcie(pp); in ls_pcie_host_init() local
147 iowrite32(1, pcie->dbi + PCIE_DBI_RO_WR_EN); in ls_pcie_host_init()
148 ls_pcie_fix_class(pcie); in ls_pcie_host_init()
149 ls_pcie_clear_multifunction(pcie); in ls_pcie_host_init()
150 iowrite32(0, pcie->dbi + PCIE_DBI_RO_WR_EN); in ls_pcie_host_init()
214 struct ls_pcie *pcie = to_ls_pcie(pp); in ls_add_pcie_port() local
217 pp->dbi_base = pcie->dbi; in ls_add_pcie_port()
218 pp->ops = pcie->drvdata->ops; in ls_add_pcie_port()
232 struct ls_pcie *pcie; in ls_pcie_probe() local
240 pcie = devm_kzalloc(&pdev->dev, sizeof(*pcie), GFP_KERNEL); in ls_pcie_probe()
241 if (!pcie) in ls_pcie_probe()
245 pcie->dbi = devm_ioremap_resource(&pdev->dev, dbi_base); in ls_pcie_probe()
246 if (IS_ERR(pcie->dbi)) { in ls_pcie_probe()
248 return PTR_ERR(pcie->dbi); in ls_pcie_probe()
251 pcie->drvdata = match->data; in ls_pcie_probe()
252 pcie->lut = pcie->dbi + pcie->drvdata->lut_offset; in ls_pcie_probe()
254 if (!ls_pcie_is_bridge(pcie)) in ls_pcie_probe()
257 ret = ls_add_pcie_port(&pcie->pp, pdev); in ls_pcie_probe()
261 platform_set_drvdata(pdev, pcie); in ls_pcie_probe()