compatibility: "ti,keystone-pcie"
reg: index 1 is the base address and length of DW application registers.
- index 2 is the base address and length of PCI mode configuration
- register.
- index 3 is the base address and length of PCI device ID register.
+ index 2 is the base address and length of PCI device ID register.
pcie_msi_intc : Interrupt controller device node for MSI IRQ chip
interrupt-cells: should be set to 1
#define MAX_MSI_HOST_IRQS 8
#define MAX_LEGACY_HOST_IRQS 4
-/* RC mode settings masks */
-#define PCIE_RC_MODE BIT(2)
-#define PCIE_MODE_MASK (BIT(1) | BIT(2))
-
/* DEV_STAT_CTRL */
#define PCIE_CAP_BASE 0x70
void __iomem *reg_p;
struct phy *phy;
int ret = 0;
- u32 val;
ks_pcie = devm_kzalloc(&pdev->dev, sizeof(*ks_pcie),
GFP_KERNEL);
}
pp = &ks_pcie->pp;
- /* index 2 is the devcfg register for RC mode settings */
- res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
- reg_p = devm_ioremap_resource(dev, res);
- if (IS_ERR(reg_p))
- return PTR_ERR(reg_p);
-
- /* enable RC mode in devcfg */
- val = readl(reg_p);
- val &= ~PCIE_MODE_MASK;
- val |= PCIE_RC_MODE;
- writel(val, reg_p);
-
/* initialize SerDes Phy if present */
phy = devm_phy_get(dev, "pcie-phy");
if (!IS_ERR_OR_NULL(phy)) {
return ret;
}
- /* index 3 is to read PCI DEVICE_ID */
- res = platform_get_resource(pdev, IORESOURCE_MEM, 3);
+ /* index 2 is to read PCI DEVICE_ID */
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
reg_p = devm_ioremap_resource(dev, res);
if (IS_ERR(reg_p))
return PTR_ERR(reg_p);