Lines Matching defs:pcie
20 #include "pcie-iproc.h"
24 .compatible = "brcm,iproc-pcie",
27 .compatible = "brcm,iproc-pcie-paxb-v2",
30 .compatible = "brcm,iproc-pcie-paxc",
33 .compatible = "brcm,iproc-pcie-paxc-v2",
43 struct iproc_pcie *pcie;
49 bridge = devm_pci_alloc_host_bridge(dev, sizeof(*pcie));
53 pcie = pci_host_bridge_priv(bridge);
55 pcie->dev = dev;
56 pcie->type = (enum iproc_pcie_type) of_device_get_match_data(dev);
64 pcie->base = devm_pci_remap_cfgspace(dev, reg.start,
66 if (!pcie->base) {
70 pcie->base_addr = reg.start;
72 if (of_property_read_bool(np, "brcm,pcie-ob")) {
75 ret = of_property_read_u32(np, "brcm,pcie-ob-axi-offset",
79 "missing brcm,pcie-ob-axi-offset property\n");
82 pcie->ob.axi_offset = val;
83 pcie->need_ob_cfg = true;
91 pcie->need_ib_cfg = of_property_read_bool(np, "dma-ranges");
94 pcie->phy = devm_phy_optional_get(dev, "pcie-phy");
95 if (IS_ERR(pcie->phy))
96 return PTR_ERR(pcie->phy);
99 switch (pcie->type) {
102 pcie->map_irq = NULL;
108 ret = iproc_pcie_setup(pcie, &bridge->windows);
114 platform_set_drvdata(pdev, pcie);
120 struct iproc_pcie *pcie = platform_get_drvdata(pdev);
122 return iproc_pcie_remove(pcie);
127 struct iproc_pcie *pcie = platform_get_drvdata(pdev);
129 iproc_pcie_shutdown(pcie);
134 .name = "iproc-pcie",