|
41 | 41 | #define IMX8MQ_GPR_PCIE_CLK_REQ_OVERRIDE BIT(11)
|
42 | 42 | #define IMX8MQ_GPR_PCIE_VREG_BYPASS BIT(12)
|
43 | 43 | #define IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE GENMASK(11, 8)
|
44 |
| -#define IMX8MQ_PCIE2_BASE_ADDR 0x33c00000 |
45 | 44 |
|
46 | 45 | #define IMX95_PCIE_PHY_GEN_CTRL 0x0
|
47 | 46 | #define IMX95_PCIE_REF_USE_PAD BIT(17)
|
@@ -1474,9 +1473,8 @@ static int imx_pcie_probe(struct platform_device *pdev)
|
1474 | 1473 | struct dw_pcie *pci;
|
1475 | 1474 | struct imx_pcie *imx_pcie;
|
1476 | 1475 | struct device_node *np;
|
1477 |
| - struct resource *dbi_base; |
1478 | 1476 | struct device_node *node = dev->of_node;
|
1479 |
| - int i, ret, req_cnt; |
| 1477 | + int i, ret, req_cnt, domain; |
1480 | 1478 | u16 val;
|
1481 | 1479 |
|
1482 | 1480 | imx_pcie = devm_kzalloc(dev, sizeof(*imx_pcie), GFP_KERNEL);
|
@@ -1515,10 +1513,6 @@ static int imx_pcie_probe(struct platform_device *pdev)
|
1515 | 1513 | return PTR_ERR(imx_pcie->phy_base);
|
1516 | 1514 | }
|
1517 | 1515 |
|
1518 |
| - pci->dbi_base = devm_platform_get_and_ioremap_resource(pdev, 0, &dbi_base); |
1519 |
| - if (IS_ERR(pci->dbi_base)) |
1520 |
| - return PTR_ERR(pci->dbi_base); |
1521 |
| - |
1522 | 1516 | /* Fetch GPIOs */
|
1523 | 1517 | imx_pcie->reset_gpiod = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
|
1524 | 1518 | if (IS_ERR(imx_pcie->reset_gpiod))
|
@@ -1565,8 +1559,11 @@ static int imx_pcie_probe(struct platform_device *pdev)
|
1565 | 1559 | switch (imx_pcie->drvdata->variant) {
|
1566 | 1560 | case IMX8MQ:
|
1567 | 1561 | case IMX8MQ_EP:
|
1568 |
| - if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) |
1569 |
| - imx_pcie->controller_id = 1; |
| 1562 | + domain = of_get_pci_domain_nr(node); |
| 1563 | + if (domain < 0 || domain > 1) |
| 1564 | + return dev_err_probe(dev, -ENODEV, "no \"linux,pci-domain\" property in devicetree\n"); |
| 1565 | + |
| 1566 | + imx_pcie->controller_id = domain; |
1570 | 1567 | break;
|
1571 | 1568 | default:
|
1572 | 1569 | break;
|
|
0 commit comments