Lines Matching +full:iproc +full:- +full:pcie
1 // SPDX-License-Identifier: GPL-2.0
4 * Copyright (C) 2015 Hauke Mehrtens <hauke@hauke-m.de>
15 #include "pcie-iproc.h"
21 dev->class = PCI_CLASS_BRIDGE_PCI_NORMAL; in bcma_pcie2_fixup_class()
28 struct iproc_pcie *pcie = dev->sysdata; in iproc_bcma_pcie_map_irq() local
29 struct bcma_device *bdev = container_of(pcie->dev, struct bcma_device, dev); in iproc_bcma_pcie_map_irq()
36 struct device *dev = &bdev->dev; in iproc_bcma_pcie_probe()
37 struct iproc_pcie *pcie; in iproc_bcma_pcie_probe() local
41 bridge = devm_pci_alloc_host_bridge(dev, sizeof(*pcie)); in iproc_bcma_pcie_probe()
43 return -ENOMEM; in iproc_bcma_pcie_probe()
45 pcie = pci_host_bridge_priv(bridge); in iproc_bcma_pcie_probe()
47 pcie->dev = dev; in iproc_bcma_pcie_probe()
49 pcie->type = IPROC_PCIE_PAXB_BCMA; in iproc_bcma_pcie_probe()
50 pcie->base = bdev->io_addr; in iproc_bcma_pcie_probe()
51 if (!pcie->base) { in iproc_bcma_pcie_probe()
53 return -ENOMEM; in iproc_bcma_pcie_probe()
56 pcie->base_addr = bdev->addr; in iproc_bcma_pcie_probe()
58 pcie->mem.start = bdev->addr_s[0]; in iproc_bcma_pcie_probe()
59 pcie->mem.end = bdev->addr_s[0] + SZ_128M - 1; in iproc_bcma_pcie_probe()
60 pcie->mem.name = "PCIe MEM space"; in iproc_bcma_pcie_probe()
61 pcie->mem.flags = IORESOURCE_MEM; in iproc_bcma_pcie_probe()
62 pci_add_resource(&bridge->windows, &pcie->mem); in iproc_bcma_pcie_probe()
63 ret = devm_request_pci_bus_resources(dev, &bridge->windows); in iproc_bcma_pcie_probe()
67 pcie->map_irq = iproc_bcma_pcie_map_irq; in iproc_bcma_pcie_probe()
69 bcma_set_drvdata(bdev, pcie); in iproc_bcma_pcie_probe()
71 return iproc_pcie_setup(pcie, &bridge->windows); in iproc_bcma_pcie_probe()
76 struct iproc_pcie *pcie = bcma_get_drvdata(bdev); in iproc_bcma_pcie_remove() local
78 iproc_pcie_remove(pcie); in iproc_bcma_pcie_remove()
96 MODULE_DESCRIPTION("Broadcom iProc PCIe BCMA driver");