Lines Matching defs:pcie
19 #include "pcie-iproc.h"
23 .compatible = "brcm,iproc-pcie",
26 .compatible = "brcm,iproc-pcie-paxb-v2",
29 .compatible = "brcm,iproc-pcie-paxc",
32 .compatible = "brcm,iproc-pcie-paxc-v2",
42 struct iproc_pcie *pcie;
48 bridge = devm_pci_alloc_host_bridge(dev, sizeof(*pcie));
52 pcie = pci_host_bridge_priv(bridge);
54 pcie->dev = dev;
55 pcie->type = (enum iproc_pcie_type) of_device_get_match_data(dev);
63 pcie->base = devm_pci_remap_cfgspace(dev, reg.start,
65 if (!pcie->base) {
69 pcie->base_addr = reg.start;
71 if (of_property_read_bool(np, "brcm,pcie-ob")) {
74 ret = of_property_read_u32(np, "brcm,pcie-ob-axi-offset",
78 "missing brcm,pcie-ob-axi-offset property\n");
81 pcie->ob.axi_offset = val;
82 pcie->need_ob_cfg = true;
90 pcie->need_ib_cfg = of_property_read_bool(np, "dma-ranges");
93 pcie->phy = devm_phy_optional_get(dev, "pcie-phy");
94 if (IS_ERR(pcie->phy))
95 return PTR_ERR(pcie->phy);
98 switch (pcie->type) {
101 pcie->map_irq = NULL;
107 ret = iproc_pcie_setup(pcie, &bridge->windows);
113 platform_set_drvdata(pdev, pcie);
119 struct iproc_pcie *pcie = platform_get_drvdata(pdev);
121 iproc_pcie_remove(pcie);
126 struct iproc_pcie *pcie = platform_get_drvdata(pdev);
128 iproc_pcie_shutdown(pcie);
133 .name = "iproc-pcie",