Lines Matching +full:phy +full:- +full:cadence

1 // SPDX-License-Identifier: GPL-2.0
3 * Cadence PCIe platform driver.
5 * Copyright (c) 2019, Cadence Design Systems
6 * Author: Tom Joseph <tjoseph@cadence.com>
13 #include "pcie-cadence.h"
18 * struct cdns_plat_pcie - private data for this PCIe platform driver
19 * @pcie: Cadence PCIe controller
47 struct device *dev = &pdev->dev; in cdns_plat_pcie_probe()
57 return -EINVAL; in cdns_plat_pcie_probe()
59 is_rc = data->is_rc; in cdns_plat_pcie_probe()
64 return -ENOMEM; in cdns_plat_pcie_probe()
69 return -ENODEV; in cdns_plat_pcie_probe()
73 return -ENOMEM; in cdns_plat_pcie_probe()
76 rc->pcie.dev = dev; in cdns_plat_pcie_probe()
77 rc->pcie.ops = &cdns_plat_ops; in cdns_plat_pcie_probe()
78 cdns_plat_pcie->pcie = &rc->pcie; in cdns_plat_pcie_probe()
79 cdns_plat_pcie->is_rc = is_rc; in cdns_plat_pcie_probe()
81 ret = cdns_pcie_init_phy(dev, cdns_plat_pcie->pcie); in cdns_plat_pcie_probe()
83 dev_err(dev, "failed to init phy\n"); in cdns_plat_pcie_probe()
98 return -ENODEV; in cdns_plat_pcie_probe()
102 return -ENOMEM; in cdns_plat_pcie_probe()
104 ep->pcie.dev = dev; in cdns_plat_pcie_probe()
105 ep->pcie.ops = &cdns_plat_ops; in cdns_plat_pcie_probe()
106 cdns_plat_pcie->pcie = &ep->pcie; in cdns_plat_pcie_probe()
107 cdns_plat_pcie->is_rc = is_rc; in cdns_plat_pcie_probe()
109 ret = cdns_pcie_init_phy(dev, cdns_plat_pcie->pcie); in cdns_plat_pcie_probe()
111 dev_err(dev, "failed to init phy\n"); in cdns_plat_pcie_probe()
133 cdns_pcie_disable_phy(cdns_plat_pcie->pcie); in cdns_plat_pcie_probe()
134 phy_count = cdns_plat_pcie->pcie->phy_count; in cdns_plat_pcie_probe()
135 while (phy_count--) in cdns_plat_pcie_probe()
136 device_link_del(cdns_plat_pcie->pcie->link[phy_count]); in cdns_plat_pcie_probe()
143 struct device *dev = &pdev->dev; in cdns_plat_pcie_shutdown()
166 .compatible = "cdns,cdns-pcie-host",
170 .compatible = "cdns,cdns-pcie-ep",
178 .name = "cdns-pcie",