pci: pci@fffe1000 {
compatible = "brcm,bcm6348-pci";
- reg = <0xfffe1000 0x200>,
- <0x08000000 0x10000>;
- reg-names = "pci",
- "pci-io";
+ reg = <0xfffe1000 0x200>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
bus-range = <0x00 0x01>;
- ranges = <0x2000000 0 0x30000000 0x30000000 0 0x8000000>;
+ ranges = <0x2000000 0 0x30000000 0x30000000 0 0x8000000>,
+ <0x1000000 0 0x08000000 0x08000000 0 0x0010000>;
linux,pci-probe-only = <1>;
interrupt-parent = <&periph_intc>;
pci: pci@10001000 {
compatible = "brcm,bcm6348-pci";
- reg = <0x10001000 0x200>,
- <0x08000000 0x10000>;
- reg-names = "pci",
- "pci-io";
+ reg = <0x10001000 0x200>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
bus-range = <0x00 0x01>;
- ranges = <0x2000000 0 0x30000000 0x30000000 0 0x8000000>;
+ ranges = <0x2000000 0 0x30000000 0x30000000 0 0x8000000>,
+ <0x1000000 0 0x08000000 0x08000000 0 0x0010000>;
linux,pci-probe-only = <1>;
interrupt-parent = <&periph_intc>;
.write = bcm6348_pci_write,
};
-static struct resource bcm6348_pci_io_resource = {
- .name = "BCM6348 PCI IO space",
- .flags = IORESOURCE_IO,
-};
+static struct resource bcm6348_pci_io_resource;
static struct resource bcm6348_pci_mem_resource;
static struct resource bcm6348_pci_busn_resource;
of_pci_check_probe_only();
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pci");
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->pci = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->pci))
return PTR_ERR(priv->pci);
priv->pcmcia = priv->pci + PCMCIA_OFFSET;
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pci-io");
- if (!res)
- return -EINVAL;
-#ifdef CONFIG_CARDBUS
- bcm6348_pci_io_resource.start = res->start;
- bcm6348_pci_io_resource.end = res->end - (resource_size(res) >> 1);
- bcm6348_cb_io_resource.start = res->start + (resource_size(res) >> 1);
- bcm6348_cb_io_resource.end = res->end;
-#else
- bcm6348_pci_io_resource.start = res->start;
- bcm6348_pci_io_resource.end = res->end;
-#endif
-
priv->irq = platform_get_irq(pdev, 0);
if (!priv->irq)
return -ENODEV;
of_pci_parse_bus_range(np, &bcm6348_pci_busn_resource);
pci_add_resource(&resources, &bcm6348_pci_busn_resource);
+#ifdef CONFIG_CARDBUS
+ bcm6348_cb_io_resource.start = bcm6348_pci_io_resource.start + (resource_size(&bcm6348_pci_io_resource) >> 1);
+ bcm6348_cb_io_resource.end = bcm6348_pci_io_resource.end;
+ bcm6348_pci_io_resource.end = bcm6348_pci_io_resource.end - (resource_size(&bcm6348_pci_io_resource) >> 1);
+#endif
+
/*
* Configuration accesses are done through IO space, remap 4
* first bytes to access it from CPU.