imx6_pcie         156 drivers/pci/controller/dwc/pci-imx6.c static int pcie_phy_poll_ack(struct imx6_pcie *imx6_pcie, bool exp_val)
imx6_pcie         158 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         177 drivers/pci/controller/dwc/pci-imx6.c static int pcie_phy_wait_ack(struct imx6_pcie *imx6_pcie, int addr)
imx6_pcie         179 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         189 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, true);
imx6_pcie         196 drivers/pci/controller/dwc/pci-imx6.c 	return pcie_phy_poll_ack(imx6_pcie, false);
imx6_pcie         200 drivers/pci/controller/dwc/pci-imx6.c static int pcie_phy_read(struct imx6_pcie *imx6_pcie, int addr, u16 *data)
imx6_pcie         202 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         206 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_wait_ack(imx6_pcie, addr);
imx6_pcie         214 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, true);
imx6_pcie         223 drivers/pci/controller/dwc/pci-imx6.c 	return pcie_phy_poll_ack(imx6_pcie, false);
imx6_pcie         226 drivers/pci/controller/dwc/pci-imx6.c static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, u16 data)
imx6_pcie         228 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         234 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_wait_ack(imx6_pcie, addr);
imx6_pcie         245 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, true);
imx6_pcie         254 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, false);
imx6_pcie         263 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, true);
imx6_pcie         272 drivers/pci/controller/dwc/pci-imx6.c 	ret = pcie_phy_poll_ack(imx6_pcie, false);
imx6_pcie         281 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_reset_phy(struct imx6_pcie *imx6_pcie)
imx6_pcie         285 drivers/pci/controller/dwc/pci-imx6.c 	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_IMX6_PHY))
imx6_pcie         288 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_read(imx6_pcie, PHY_RX_OVRD_IN_LO, &tmp);
imx6_pcie         291 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_write(imx6_pcie, PHY_RX_OVRD_IN_LO, tmp);
imx6_pcie         295 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_read(imx6_pcie, PHY_RX_OVRD_IN_LO, &tmp);
imx6_pcie         298 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_write(imx6_pcie, PHY_RX_OVRD_IN_LO, tmp);
imx6_pcie         339 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
imx6_pcie         346 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pd_pcie = dev_pm_domain_attach_by_name(dev, "pcie");
imx6_pcie         347 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->pd_pcie))
imx6_pcie         348 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->pd_pcie);
imx6_pcie         350 drivers/pci/controller/dwc/pci-imx6.c 	if (!imx6_pcie->pd_pcie)
imx6_pcie         352 drivers/pci/controller/dwc/pci-imx6.c 	link = device_link_add(dev, imx6_pcie->pd_pcie,
imx6_pcie         361 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pd_pcie_phy = dev_pm_domain_attach_by_name(dev, "pcie_phy");
imx6_pcie         362 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->pd_pcie_phy))
imx6_pcie         363 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->pd_pcie_phy);
imx6_pcie         365 drivers/pci/controller/dwc/pci-imx6.c 	link = device_link_add(dev, imx6_pcie->pd_pcie_phy,
imx6_pcie         377 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_assert_core_reset(struct imx6_pcie *imx6_pcie)
imx6_pcie         379 drivers/pci/controller/dwc/pci-imx6.c 	struct device *dev = imx6_pcie->pci->dev;
imx6_pcie         381 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         384 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_assert(imx6_pcie->pciephy_reset);
imx6_pcie         385 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_assert(imx6_pcie->apps_reset);
imx6_pcie         388 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         392 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5,
imx6_pcie         397 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         402 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         404 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         409 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->vpcie && regulator_is_enabled(imx6_pcie->vpcie) > 0) {
imx6_pcie         410 drivers/pci/controller/dwc/pci-imx6.c 		int ret = regulator_disable(imx6_pcie->vpcie);
imx6_pcie         418 drivers/pci/controller/dwc/pci-imx6.c static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie)
imx6_pcie         420 drivers/pci/controller/dwc/pci-imx6.c 	WARN_ON(imx6_pcie->drvdata->variant != IMX8MQ);
imx6_pcie         421 drivers/pci/controller/dwc/pci-imx6.c 	return imx6_pcie->controller_id == 1 ? IOMUXC_GPR16 : IOMUXC_GPR14;
imx6_pcie         424 drivers/pci/controller/dwc/pci-imx6.c static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
imx6_pcie         426 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         431 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         433 drivers/pci/controller/dwc/pci-imx6.c 		ret = clk_prepare_enable(imx6_pcie->pcie_inbound_axi);
imx6_pcie         439 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         445 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         454 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         460 drivers/pci/controller/dwc/pci-imx6.c 		ret = clk_prepare_enable(imx6_pcie->pcie_aux);
imx6_pcie         466 drivers/pci/controller/dwc/pci-imx6.c 		offset = imx6_pcie_grp_offset(imx6_pcie);
imx6_pcie         471 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, offset,
imx6_pcie         474 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, offset,
imx6_pcie         483 drivers/pci/controller/dwc/pci-imx6.c static void imx7d_pcie_wait_for_phy_pll_lock(struct imx6_pcie *imx6_pcie)
imx6_pcie         486 drivers/pci/controller/dwc/pci-imx6.c 	struct device *dev = imx6_pcie->pci->dev;
imx6_pcie         488 drivers/pci/controller/dwc/pci-imx6.c 	if (regmap_read_poll_timeout(imx6_pcie->iomuxc_gpr,
imx6_pcie         496 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
imx6_pcie         498 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         502 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->vpcie && !regulator_is_enabled(imx6_pcie->vpcie)) {
imx6_pcie         503 drivers/pci/controller/dwc/pci-imx6.c 		ret = regulator_enable(imx6_pcie->vpcie);
imx6_pcie         511 drivers/pci/controller/dwc/pci-imx6.c 	ret = clk_prepare_enable(imx6_pcie->pcie_phy);
imx6_pcie         517 drivers/pci/controller/dwc/pci-imx6.c 	ret = clk_prepare_enable(imx6_pcie->pcie_bus);
imx6_pcie         523 drivers/pci/controller/dwc/pci-imx6.c 	ret = clk_prepare_enable(imx6_pcie->pcie);
imx6_pcie         529 drivers/pci/controller/dwc/pci-imx6.c 	ret = imx6_pcie_enable_ref_clk(imx6_pcie);
imx6_pcie         539 drivers/pci/controller/dwc/pci-imx6.c 	if (gpio_is_valid(imx6_pcie->reset_gpio)) {
imx6_pcie         540 drivers/pci/controller/dwc/pci-imx6.c 		gpio_set_value_cansleep(imx6_pcie->reset_gpio,
imx6_pcie         541 drivers/pci/controller/dwc/pci-imx6.c 					imx6_pcie->gpio_active_high);
imx6_pcie         543 drivers/pci/controller/dwc/pci-imx6.c 		gpio_set_value_cansleep(imx6_pcie->reset_gpio,
imx6_pcie         544 drivers/pci/controller/dwc/pci-imx6.c 					!imx6_pcie->gpio_active_high);
imx6_pcie         547 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         549 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_deassert(imx6_pcie->pciephy_reset);
imx6_pcie         552 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_deassert(imx6_pcie->pciephy_reset);
imx6_pcie         558 drivers/pci/controller/dwc/pci-imx6.c 		if (likely(imx6_pcie->phy_base)) {
imx6_pcie         561 drivers/pci/controller/dwc/pci-imx6.c 			       imx6_pcie->phy_base + PCIE_PHY_CMN_REG4);
imx6_pcie         565 drivers/pci/controller/dwc/pci-imx6.c 			       imx6_pcie->phy_base + PCIE_PHY_CMN_REG24);
imx6_pcie         568 drivers/pci/controller/dwc/pci-imx6.c 			       imx6_pcie->phy_base + PCIE_PHY_CMN_REG26);
imx6_pcie         573 drivers/pci/controller/dwc/pci-imx6.c 		imx7d_pcie_wait_for_phy_pll_lock(imx6_pcie);
imx6_pcie         576 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR5,
imx6_pcie         580 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
imx6_pcie         592 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie);
imx6_pcie         594 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie_bus);
imx6_pcie         596 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie_phy);
imx6_pcie         598 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->vpcie && regulator_is_enabled(imx6_pcie->vpcie) > 0) {
imx6_pcie         599 drivers/pci/controller/dwc/pci-imx6.c 		ret = regulator_disable(imx6_pcie->vpcie);
imx6_pcie         606 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
imx6_pcie         610 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->drvdata->variant == IMX8MQ &&
imx6_pcie         611 drivers/pci/controller/dwc/pci-imx6.c 	    imx6_pcie->controller_id == 1) {
imx6_pcie         621 drivers/pci/controller/dwc/pci-imx6.c 	regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, mask, val);
imx6_pcie         624 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
imx6_pcie         626 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         632 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr,
imx6_pcie         633 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie_grp_offset(imx6_pcie),
imx6_pcie         638 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         642 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         647 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         651 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         654 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
imx6_pcie         656 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie->tx_deemph_gen1 << 0);
imx6_pcie         657 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
imx6_pcie         659 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie->tx_deemph_gen2_3p5db << 6);
imx6_pcie         660 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
imx6_pcie         662 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie->tx_deemph_gen2_6db << 12);
imx6_pcie         663 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
imx6_pcie         665 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie->tx_swing_full << 18);
imx6_pcie         666 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR8,
imx6_pcie         668 drivers/pci/controller/dwc/pci-imx6.c 				   imx6_pcie->tx_swing_low << 25);
imx6_pcie         672 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_configure_type(imx6_pcie);
imx6_pcie         675 drivers/pci/controller/dwc/pci-imx6.c static int imx6_setup_phy_mpll(struct imx6_pcie *imx6_pcie)
imx6_pcie         677 drivers/pci/controller/dwc/pci-imx6.c 	unsigned long phy_rate = clk_get_rate(imx6_pcie->pcie_phy);
imx6_pcie         681 drivers/pci/controller/dwc/pci-imx6.c 	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_IMX6_PHY))
imx6_pcie         700 drivers/pci/controller/dwc/pci-imx6.c 		dev_err(imx6_pcie->pci->dev,
imx6_pcie         705 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_read(imx6_pcie, PCIE_PHY_MPLL_OVRD_IN_LO, &val);
imx6_pcie         710 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_write(imx6_pcie, PCIE_PHY_MPLL_OVRD_IN_LO, val);
imx6_pcie         712 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_read(imx6_pcie, PCIE_PHY_ATEOVRD, &val);
imx6_pcie         717 drivers/pci/controller/dwc/pci-imx6.c 	pcie_phy_write(imx6_pcie, PCIE_PHY_ATEOVRD, val);
imx6_pcie         722 drivers/pci/controller/dwc/pci-imx6.c static int imx6_pcie_wait_for_speed_change(struct imx6_pcie *imx6_pcie)
imx6_pcie         724 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         743 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
imx6_pcie         745 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         749 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         755 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_deassert(imx6_pcie->apps_reset);
imx6_pcie         760 drivers/pci/controller/dwc/pci-imx6.c static int imx6_pcie_establish_link(struct imx6_pcie *imx6_pcie)
imx6_pcie         762 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         784 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->link_gen == 2) {
imx6_pcie         799 drivers/pci/controller/dwc/pci-imx6.c 		if (imx6_pcie->drvdata->flags &
imx6_pcie         810 drivers/pci/controller/dwc/pci-imx6.c 			ret = imx6_pcie_wait_for_speed_change(imx6_pcie);
imx6_pcie         835 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_reset_phy(imx6_pcie);
imx6_pcie         842 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = to_imx6_pcie(pci);
imx6_pcie         844 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_assert_core_reset(imx6_pcie);
imx6_pcie         845 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_init_phy(imx6_pcie);
imx6_pcie         846 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_deassert_core_reset(imx6_pcie);
imx6_pcie         847 drivers/pci/controller/dwc/pci-imx6.c 	imx6_setup_phy_mpll(imx6_pcie);
imx6_pcie         849 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_establish_link(imx6_pcie);
imx6_pcie         861 drivers/pci/controller/dwc/pci-imx6.c static int imx6_add_pcie_port(struct imx6_pcie *imx6_pcie,
imx6_pcie         864 drivers/pci/controller/dwc/pci-imx6.c 	struct dw_pcie *pci = imx6_pcie->pci;
imx6_pcie         895 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
imx6_pcie         897 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         900 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         904 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_assert(imx6_pcie->apps_reset);
imx6_pcie         911 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
imx6_pcie         913 drivers/pci/controller/dwc/pci-imx6.c 	struct device *dev = imx6_pcie->pci->dev;
imx6_pcie         916 drivers/pci/controller/dwc/pci-imx6.c 	if (imx6_pcie->turnoff_reset) {
imx6_pcie         917 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_assert(imx6_pcie->turnoff_reset);
imx6_pcie         918 drivers/pci/controller/dwc/pci-imx6.c 		reset_control_deassert(imx6_pcie->turnoff_reset);
imx6_pcie         923 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         925 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         928 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         947 drivers/pci/controller/dwc/pci-imx6.c static void imx6_pcie_clk_disable(struct imx6_pcie *imx6_pcie)
imx6_pcie         949 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie);
imx6_pcie         950 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie_phy);
imx6_pcie         951 drivers/pci/controller/dwc/pci-imx6.c 	clk_disable_unprepare(imx6_pcie->pcie_bus);
imx6_pcie         953 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie         955 drivers/pci/controller/dwc/pci-imx6.c 		clk_disable_unprepare(imx6_pcie->pcie_inbound_axi);
imx6_pcie         958 drivers/pci/controller/dwc/pci-imx6.c 		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
imx6_pcie         963 drivers/pci/controller/dwc/pci-imx6.c 		clk_disable_unprepare(imx6_pcie->pcie_aux);
imx6_pcie         972 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
imx6_pcie         974 drivers/pci/controller/dwc/pci-imx6.c 	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_SUPPORTS_SUSPEND))
imx6_pcie         977 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_pm_turnoff(imx6_pcie);
imx6_pcie         978 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_clk_disable(imx6_pcie);
imx6_pcie         987 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = dev_get_drvdata(dev);
imx6_pcie         988 drivers/pci/controller/dwc/pci-imx6.c 	struct pcie_port *pp = &imx6_pcie->pci->pp;
imx6_pcie         990 drivers/pci/controller/dwc/pci-imx6.c 	if (!(imx6_pcie->drvdata->flags & IMX6_PCIE_FLAG_SUPPORTS_SUSPEND))
imx6_pcie         993 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_assert_core_reset(imx6_pcie);
imx6_pcie         994 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_init_phy(imx6_pcie);
imx6_pcie         995 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_deassert_core_reset(imx6_pcie);
imx6_pcie         998 drivers/pci/controller/dwc/pci-imx6.c 	ret = imx6_pcie_establish_link(imx6_pcie);
imx6_pcie        1015 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie;
imx6_pcie        1022 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie = devm_kzalloc(dev, sizeof(*imx6_pcie), GFP_KERNEL);
imx6_pcie        1023 drivers/pci/controller/dwc/pci-imx6.c 	if (!imx6_pcie)
imx6_pcie        1033 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pci = pci;
imx6_pcie        1034 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->drvdata = of_device_get_match_data(dev);
imx6_pcie        1046 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->phy_base = devm_ioremap_resource(dev, &res);
imx6_pcie        1047 drivers/pci/controller/dwc/pci-imx6.c 		if (IS_ERR(imx6_pcie->phy_base)) {
imx6_pcie        1049 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->phy_base);
imx6_pcie        1059 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->reset_gpio = of_get_named_gpio(node, "reset-gpio", 0);
imx6_pcie        1060 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->gpio_active_high = of_property_read_bool(node,
imx6_pcie        1062 drivers/pci/controller/dwc/pci-imx6.c 	if (gpio_is_valid(imx6_pcie->reset_gpio)) {
imx6_pcie        1063 drivers/pci/controller/dwc/pci-imx6.c 		ret = devm_gpio_request_one(dev, imx6_pcie->reset_gpio,
imx6_pcie        1064 drivers/pci/controller/dwc/pci-imx6.c 				imx6_pcie->gpio_active_high ?
imx6_pcie        1072 drivers/pci/controller/dwc/pci-imx6.c 	} else if (imx6_pcie->reset_gpio == -EPROBE_DEFER) {
imx6_pcie        1073 drivers/pci/controller/dwc/pci-imx6.c 		return imx6_pcie->reset_gpio;
imx6_pcie        1077 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pcie_phy = devm_clk_get(dev, "pcie_phy");
imx6_pcie        1078 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->pcie_phy)) {
imx6_pcie        1080 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->pcie_phy);
imx6_pcie        1083 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pcie_bus = devm_clk_get(dev, "pcie_bus");
imx6_pcie        1084 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->pcie_bus)) {
imx6_pcie        1086 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->pcie_bus);
imx6_pcie        1089 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->pcie = devm_clk_get(dev, "pcie");
imx6_pcie        1090 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->pcie)) {
imx6_pcie        1092 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->pcie);
imx6_pcie        1095 drivers/pci/controller/dwc/pci-imx6.c 	switch (imx6_pcie->drvdata->variant) {
imx6_pcie        1097 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->pcie_inbound_axi = devm_clk_get(dev,
imx6_pcie        1099 drivers/pci/controller/dwc/pci-imx6.c 		if (IS_ERR(imx6_pcie->pcie_inbound_axi)) {
imx6_pcie        1101 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->pcie_inbound_axi);
imx6_pcie        1105 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux");
imx6_pcie        1106 drivers/pci/controller/dwc/pci-imx6.c 		if (IS_ERR(imx6_pcie->pcie_aux)) {
imx6_pcie        1108 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->pcie_aux);
imx6_pcie        1113 drivers/pci/controller/dwc/pci-imx6.c 			imx6_pcie->controller_id = 1;
imx6_pcie        1115 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->pciephy_reset = devm_reset_control_get_exclusive(dev,
imx6_pcie        1117 drivers/pci/controller/dwc/pci-imx6.c 		if (IS_ERR(imx6_pcie->pciephy_reset)) {
imx6_pcie        1119 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->pciephy_reset);
imx6_pcie        1122 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->apps_reset = devm_reset_control_get_exclusive(dev,
imx6_pcie        1124 drivers/pci/controller/dwc/pci-imx6.c 		if (IS_ERR(imx6_pcie->apps_reset)) {
imx6_pcie        1126 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->apps_reset);
imx6_pcie        1134 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->turnoff_reset = devm_reset_control_get_optional_exclusive(dev, "turnoff");
imx6_pcie        1135 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->turnoff_reset)) {
imx6_pcie        1137 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->turnoff_reset);
imx6_pcie        1141 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->iomuxc_gpr =
imx6_pcie        1143 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->iomuxc_gpr)) {
imx6_pcie        1145 drivers/pci/controller/dwc/pci-imx6.c 		return PTR_ERR(imx6_pcie->iomuxc_gpr);
imx6_pcie        1150 drivers/pci/controller/dwc/pci-imx6.c 				 &imx6_pcie->tx_deemph_gen1))
imx6_pcie        1151 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->tx_deemph_gen1 = 0;
imx6_pcie        1154 drivers/pci/controller/dwc/pci-imx6.c 				 &imx6_pcie->tx_deemph_gen2_3p5db))
imx6_pcie        1155 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->tx_deemph_gen2_3p5db = 0;
imx6_pcie        1158 drivers/pci/controller/dwc/pci-imx6.c 				 &imx6_pcie->tx_deemph_gen2_6db))
imx6_pcie        1159 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->tx_deemph_gen2_6db = 20;
imx6_pcie        1162 drivers/pci/controller/dwc/pci-imx6.c 				 &imx6_pcie->tx_swing_full))
imx6_pcie        1163 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->tx_swing_full = 127;
imx6_pcie        1166 drivers/pci/controller/dwc/pci-imx6.c 				 &imx6_pcie->tx_swing_low))
imx6_pcie        1167 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->tx_swing_low = 127;
imx6_pcie        1171 drivers/pci/controller/dwc/pci-imx6.c 				   &imx6_pcie->link_gen);
imx6_pcie        1173 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->link_gen = 1;
imx6_pcie        1175 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie->vpcie = devm_regulator_get_optional(&pdev->dev, "vpcie");
imx6_pcie        1176 drivers/pci/controller/dwc/pci-imx6.c 	if (IS_ERR(imx6_pcie->vpcie)) {
imx6_pcie        1177 drivers/pci/controller/dwc/pci-imx6.c 		if (PTR_ERR(imx6_pcie->vpcie) != -ENODEV)
imx6_pcie        1178 drivers/pci/controller/dwc/pci-imx6.c 			return PTR_ERR(imx6_pcie->vpcie);
imx6_pcie        1179 drivers/pci/controller/dwc/pci-imx6.c 		imx6_pcie->vpcie = NULL;
imx6_pcie        1182 drivers/pci/controller/dwc/pci-imx6.c 	platform_set_drvdata(pdev, imx6_pcie);
imx6_pcie        1188 drivers/pci/controller/dwc/pci-imx6.c 	ret = imx6_add_pcie_port(imx6_pcie, pdev);
imx6_pcie        1205 drivers/pci/controller/dwc/pci-imx6.c 	struct imx6_pcie *imx6_pcie = platform_get_drvdata(pdev);
imx6_pcie        1208 drivers/pci/controller/dwc/pci-imx6.c 	imx6_pcie_assert_core_reset(imx6_pcie);
imx6_pcie        1274 drivers/pci/controller/dwc/pci-imx6.c 		struct imx6_pcie *imx6_pcie = to_imx6_pcie(pci);
imx6_pcie        1280 drivers/pci/controller/dwc/pci-imx6.c 		if (imx6_pcie->drvdata->dbi_length) {
imx6_pcie        1281 drivers/pci/controller/dwc/pci-imx6.c 			dev->cfg_size = imx6_pcie->drvdata->dbi_length;