Lines Matching +full:de +full:- +full:asserting

1 // SPDX-License-Identifier: GPL-2.0
3 * Freescale i.MX6 PCI Express Root-Complex driver
5 * Copyright (C) 2013 Marek Vasut <marex@denx.de>
8 * pci-imx6.c: Sean Cross <xobs@kosagi.com>
9 * pcie-designware.c: Jingoo Han <jg1.han@samsung.com>
42 /* PCIe Port Logic registers (memory-mapped) */
63 /* PHY registers (not memory-mapped) */
115 return -ETIMEDOUT; in pcie_phy_poll_ack()
143 /* Read from the 16-bit PCIe PHY control registers (not memory-mapped) */
200 /* wait for ack de-assertion */ in pcie_phy_write()
218 /* wait for ack de-assertion */ in pcie_phy_write()
237 return -EAGAIN; in imx6_pcie_link_up()
282 * 0x0100_0000 --- 0x010F_FFFF 1MB IORESOURCE_IO in imx_pcie_regions_setup()
283 * 0x0110_0000 --- 0x01EF_FFFF 14MB IORESOURCE_MEM in imx_pcie_regions_setup()
284 * 0x01F0_0000 --- 0x01FF_FFFF 1MB Cfg + Registers in imx_pcie_regions_setup()
329 va_address = MX6_IO_ADDR + SZ_16M - SZ_1M; in get_bus_address()
340 return -EINVAL; in imx_pcie_addr_valid()
342 return -EINVAL; in imx_pcie_addr_valid()
347 * Replace the original ARM DABT handler with a simple jump-back one.
438 setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_PCIE_SW_RST); in imx6_pcie_assert_core_reset()
444 setbits_le32(&iomuxc_regs->gpr[12], IOMUXC_GPR12_TEST_POWERDOWN); in imx6_pcie_assert_core_reset()
446 setbits_le32(&iomuxc_regs->gpr[5], IOMUXC_GPR5_PCIE_BTNRST); in imx6_pcie_assert_core_reset()
448 setbits_le32(&gpc_regs->cntr, PCIE_PHY_PUP_REQ); in imx6_pcie_assert_core_reset()
464 gpr1 = readl(&iomuxc_regs->gpr[1]); in imx6_pcie_assert_core_reset()
465 gpr12 = readl(&iomuxc_regs->gpr[12]); in imx6_pcie_assert_core_reset()
477 writel(val, &iomuxc_regs->gpr[12]); in imx6_pcie_assert_core_reset()
480 setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_TEST_POWERDOWN); in imx6_pcie_assert_core_reset()
481 clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_REF_SSP_EN); in imx6_pcie_assert_core_reset()
491 clrbits_le32(&iomuxc_regs->gpr[12], IOMUXC_GPR12_APPS_LTSSM_ENABLE); in imx6_pcie_init_phy()
493 clrsetbits_le32(&iomuxc_regs->gpr[12], in imx6_pcie_init_phy()
496 clrsetbits_le32(&iomuxc_regs->gpr[12], in imx6_pcie_init_phy()
501 clrsetbits_le32(&iomuxc_regs->gpr[12], in imx6_pcie_init_phy()
511 &iomuxc_regs->gpr[8]); in imx6_pcie_init_phy()
537 * least 20 ms after de-asserting the #PERST so the EP device can in imx6_pcie_toggle_reset()
538 * do self-initialisation. in imx6_pcie_toggle_reset()
548 * not forget to wait at least 20 ms after de-asserting #PERST in in imx6_pcie_toggle_reset()
556 * Linux at all in the first place since it's in some non-reset in imx6_pcie_toggle_reset()
557 * state due to being previously used in U-Boot. in imx6_pcie_toggle_reset()
581 clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_PCIE_SW_RST); in imx6_pcie_deassert_core_reset()
591 clrbits_le32(&iomuxc_regs->gpr[12], IOMUXC_GPR12_TEST_POWERDOWN); in imx6_pcie_deassert_core_reset()
593 clrbits_le32(&iomuxc_regs->gpr[5], IOMUXC_GPR5_PCIE_BTNRST); in imx6_pcie_deassert_core_reset()
596 clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_TEST_POWERDOWN); in imx6_pcie_deassert_core_reset()
597 setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_REF_SSP_EN); in imx6_pcie_deassert_core_reset()
632 * link is up, a managed Gen1->Gen2 transition can be initiated. in imx_pcie_link_up()
640 setbits_le32(&iomuxc_regs->gpr[12], IOMUXC_GPR12_APPS_LTSSM_ENABLE); in imx_pcie_link_up()
652 return -EINVAL; in imx_pcie_link_up()
669 pci_set_region(&hose->regions[0], in imx_pcie_init()
674 pci_set_region(&hose->regions[1], in imx_pcie_init()
679 pci_set_region(&hose->regions[2], in imx_pcie_init()
683 hose->region_count = 3; in imx_pcie_init()
698 hose->last_busno = pci_hose_scan(hose); in imx_pcie_init()