diff options
Diffstat (limited to 'drivers/pci/pci-imx6.c')
-rw-r--r-- | drivers/pci/pci-imx6.c | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c index 85307bad3e..ac62d961d9 100644 --- a/drivers/pci/pci-imx6.c +++ b/drivers/pci/pci-imx6.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0-only /* * PCIe host controller driver for Freescale i.MX6 SoCs * @@ -30,9 +30,9 @@ #include <mfd/imx6q-iomuxc-gpr.h> #include <mfd/imx7-iomuxc-gpr.h> -#include <mach/imx6-regs.h> -#include <mach/imx7-regs.h> -#include <mach/imx8mq-regs.h> +#include <mach/imx/imx6-regs.h> +#include <mach/imx/imx7-regs.h> +#include <mach/imx/imx8mq-regs.h> #include "pcie-designware.h" @@ -97,8 +97,6 @@ struct imx6_pcie { #define PCIE_PL_PFLR (PL_OFFSET + 0x08) #define PCIE_PL_PFLR_LINK_STATE_MASK (0x3f << 16) #define PCIE_PL_PFLR_FORCE_LINK (1 << 15) -#define PCIE_PHY_DEBUG_R0 (PL_OFFSET + 0x28) -#define PCIE_PHY_DEBUG_R1_XMLH_LINK_IN_TRAINING (1 << 29) #define PCIE_PHY_DEBUG_R1_XMLH_LINK_UP (1 << 4) #define PCIE_PHY_CTRL (PL_OFFSET + 0x114) @@ -112,7 +110,6 @@ struct imx6_pcie { #define PCIE_PHY_STAT_ACK_LOC 16 #define PCIE_LINK_WIDTH_SPEED_CONTROL 0x80C -#define PORT_LOGIC_SPEED_CHANGE (0x1 << 17) /* PHY registers (not memory-mapped) */ #define PCIE_PHY_RX_ASIC_OUT 0x100D @@ -300,7 +297,7 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie) static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie) { - struct device_d *dev = imx6_pcie->pci->dev; + struct device *dev = imx6_pcie->pci->dev; u32 gpr1, gpr1x; unsigned int offset; int ret; @@ -354,7 +351,7 @@ static void imx7d_pcie_wait_for_phy_pll_lock(struct imx6_pcie *imx6_pcie) { u32 val; unsigned int retries; - struct device_d *dev = imx6_pcie->pci->dev; + struct device *dev = imx6_pcie->pci->dev; for (retries = 0; retries < PHY_PLL_LOCK_WAIT_MAX_RETRIES; retries++) { val = readl(imx6_pcie->iomuxc_gpr + IOMUXC_GPR22); @@ -370,7 +367,7 @@ static void imx7d_pcie_wait_for_phy_pll_lock(struct imx6_pcie *imx6_pcie) static void imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie) { - struct device_d *dev = imx6_pcie->pci->dev; + struct device *dev = imx6_pcie->pci->dev; int ret; u32 gpr1; @@ -528,7 +525,7 @@ static int imx6_pcie_wait_for_link(struct imx6_pcie *imx6_pcie) static int imx6_pcie_wait_for_speed_change(struct imx6_pcie *imx6_pcie) { struct dw_pcie *pci = imx6_pcie->pci; - struct device_d *dev = pci->dev; + struct device *dev = pci->dev; uint32_t tmp; uint64_t start = get_time_ns(); @@ -543,7 +540,7 @@ static int imx6_pcie_wait_for_speed_change(struct imx6_pcie *imx6_pcie) return -EINVAL; } -static void imx6_pcie_ltssm_enable(struct device_d *dev) +static void imx6_pcie_ltssm_enable(struct device *dev) { struct imx6_pcie *imx6_pcie = dev->priv; u32 gpr12; @@ -565,7 +562,7 @@ static void imx6_pcie_ltssm_enable(struct device_d *dev) static int imx6_pcie_establish_link(struct imx6_pcie *imx6_pcie) { struct dw_pcie *pci = imx6_pcie->pci; - struct device_d *dev = pci->dev; + struct device *dev = pci->dev; uint32_t tmp; int ret; @@ -636,8 +633,8 @@ static int imx6_pcie_establish_link(struct imx6_pcie *imx6_pcie) err_reset_phy: dev_dbg(dev, "PHY DEBUG_R0=0x%08x DEBUG_R1=0x%08x\n", - dw_pcie_readl_dbi(pci, PCIE_PHY_DEBUG_R0), - dw_pcie_readl_dbi(pci, PCIE_PHY_DEBUG_R1)); + dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG0), + dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG1)); imx6_pcie_reset_phy(imx6_pcie); return ret; @@ -659,8 +656,8 @@ static int imx6_pcie_host_init(struct pcie_port *pp) static int imx6_pcie_link_up(struct dw_pcie *pci) { - return dw_pcie_readl_dbi(pci, PCIE_PHY_DEBUG_R1) & - PCIE_PHY_DEBUG_R1_XMLH_LINK_UP; + return dw_pcie_readl_dbi(pci, PCIE_PORT_DEBUG1) & + PCIE_PORT_DEBUG1_LINK_UP; } static const struct dw_pcie_ops dw_pcie_ops = { @@ -672,7 +669,7 @@ static const struct dw_pcie_host_ops imx6_pcie_host_ops = { }; static int imx6_add_pcie_port(struct imx6_pcie *imx6_pcie, - struct device_d *dev) + struct device *dev) { struct dw_pcie *pci = imx6_pcie->pci; struct pcie_port *pp = &pci->pp; @@ -689,12 +686,12 @@ static int imx6_add_pcie_port(struct imx6_pcie *imx6_pcie, return 0; } -static int imx6_pcie_probe(struct device_d *dev) +static int imx6_pcie_probe(struct device *dev) { struct resource *iores; struct dw_pcie *pci; struct imx6_pcie *imx6_pcie; - struct device_node *np = dev->device_node; + struct device_node *np = dev->of_node; int ret; imx6_pcie = xzalloc(sizeof(*imx6_pcie)); @@ -817,7 +814,7 @@ static int imx6_pcie_probe(struct device_d *dev) return 0; } -static void imx6_pcie_remove(struct device_d *dev) +static void imx6_pcie_remove(struct device *dev) { struct imx6_pcie *imx6_pcie = dev->priv; @@ -877,8 +874,9 @@ static struct of_device_id imx6_pcie_of_match[] = { { .compatible = "fsl,imx8mq-pcie", .data = &drvdata[IMX8MQ], } , {}, }; +MODULE_DEVICE_TABLE(of, imx6_pcie_of_match); -static struct driver_d imx6_pcie_driver = { +static struct driver imx6_pcie_driver = { .name = "imx6-pcie", .of_compatible = DRV_OF_COMPAT(imx6_pcie_of_match), .probe = imx6_pcie_probe, |