Lines Matching +full:0 +full:x0020000

55 #define RK_PCIE_DBG			0
57 #define PCIE_DMA_OFFSET 0x380000
59 #define PCIE_DMA_CTRL_OFF 0x8
60 #define PCIE_DMA_WR_ENB 0xc
61 #define PCIE_DMA_WR_CTRL_LO 0x200
62 #define PCIE_DMA_WR_CTRL_HI 0x204
63 #define PCIE_DMA_WR_XFERSIZE 0x208
64 #define PCIE_DMA_WR_SAR_PTR_LO 0x20c
65 #define PCIE_DMA_WR_SAR_PTR_HI 0x210
66 #define PCIE_DMA_WR_DAR_PTR_LO 0x214
67 #define PCIE_DMA_WR_DAR_PTR_HI 0x218
68 #define PCIE_DMA_WR_WEILO 0x18
69 #define PCIE_DMA_WR_WEIHI 0x1c
70 #define PCIE_DMA_WR_DOORBELL 0x10
71 #define PCIE_DMA_WR_INT_STATUS 0x4c
72 #define PCIE_DMA_WR_INT_MASK 0x54
73 #define PCIE_DMA_WR_INT_CLEAR 0x58
75 #define PCIE_DMA_RD_ENB 0x2c
76 #define PCIE_DMA_RD_CTRL_LO 0x300
77 #define PCIE_DMA_RD_CTRL_HI 0x304
78 #define PCIE_DMA_RD_XFERSIZE 0x308
79 #define PCIE_DMA_RD_SAR_PTR_LO 0x30c
80 #define PCIE_DMA_RD_SAR_PTR_HI 0x310
81 #define PCIE_DMA_RD_DAR_PTR_LO 0x314
82 #define PCIE_DMA_RD_DAR_PTR_HI 0x318
83 #define PCIE_DMA_RD_WEILO 0x38
84 #define PCIE_DMA_RD_WEIHI 0x3c
85 #define PCIE_DMA_RD_DOORBELL 0x30
86 #define PCIE_DMA_RD_INT_STATUS 0xa0
87 #define PCIE_DMA_RD_INT_MASK 0xa8
88 #define PCIE_DMA_RD_INT_CLEAR 0xac
96 #define PCIE_DIRECT_SPEED_CHANGE (0x1 << 17)
98 #define PCIE_TYPE0_STATUS_COMMAND_REG 0x4
99 #define PCIE_TYPE0_BAR0_REG 0x10
101 #define PCIE_CAP_LINK_CONTROL2_LINK_STATUS 0xa0
103 #define PCIE_CLIENT_INTR_STATUS_MSG_RX 0x04
105 #define PCIE_CLIENT_INTR_STATUS_LEGACY 0x08
106 #define PCIE_CLIENT_INTR_STATUS_MISC 0x10
107 #define PCIE_CLIENT_INTR_MASK_LEGACY 0x1c
108 #define UNMASK_ALL_LEGACY_INT 0xffff0000
109 #define MASK_LEGACY_INT(x) (0x00110011 << x)
110 #define UNMASK_LEGACY_INT(x) (0x00110000 << x)
111 #define PCIE_CLIENT_INTR_MASK 0x24
112 #define PCIE_CLIENT_POWER 0x2c
114 #define PCIE_CLIENT_MSG_GEN 0x34
116 #define PCIE_CLIENT_GENERAL_DEBUG 0x104
117 #define PCIE_CLIENT_HOT_RESET_CTRL 0x180
118 #define PCIE_LTSSM_APP_DLY1_EN BIT(0)
123 #define PCIE_CLIENT_LTSSM_STATUS 0x300
126 #define PCIE_CLIENT_CDM_RASDES_TBA_INFO_CMN 0x154
127 #define PCIE_CLIENT_DBG_FIFO_MODE_CON 0x310
128 #define PCIE_CLIENT_DBG_FIFO_PTN_HIT_D0 0x320
129 #define PCIE_CLIENT_DBG_FIFO_PTN_HIT_D1 0x324
130 #define PCIE_CLIENT_DBG_FIFO_TRN_HIT_D0 0x328
131 #define PCIE_CLIENT_DBG_FIFO_TRN_HIT_D1 0x32c
132 #define PCIE_CLIENT_DBG_FIFO_STATUS 0x350
133 #define PCIE_CLIENT_DBG_TRANSITION_DATA 0xffff0000
134 #define PCIE_CLIENT_DBF_EN 0xffff0007
136 #define PCIE_PHY_LINKUP BIT(0)
139 #define PCIE_TYPE0_HDR_DBI2_OFFSET 0x100000
140 #define PCIE_SB_BAR0_MASK_REG 0x100010
142 #define PCIE_PL_ORDER_RULE_CTRL_OFF 0x8B4
147 S_L0 = 0x11,
148 S_L0S = 0x12,
149 S_L1_IDLE = 0x14,
150 S_L2_IDLE = 0x15,
151 S_MAX = 0x1f,
207 *val = 0; in rk_pcie_read()
218 *val = 0; in rk_pcie_read()
267 return __rk_pcie_read_apb(rk_pcie, rk_pcie->apb_base, reg, 0x4); in rk_pcie_readl_apb()
273 __rk_pcie_write_apb(rk_pcie, rk_pcie->apb_base, reg, 0x4, val); in rk_pcie_writel_apb()
281 if (val == 0xffffffff) in rk_pcie_iatu_unroll_enabled()
284 return 0; in rk_pcie_iatu_unroll_enabled()
365 for (retries = 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++) { in rk_pcie_prog_inbound_atu_unroll()
369 return 0; in rk_pcie_prog_inbound_atu_unroll()
416 for (retries = 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++) { in rk_pcie_prog_inbound_atu()
419 return 0; in rk_pcie_prog_inbound_atu()
434 u8 func_no = 0x0; in rk_pcie_ep_inbound_atu()
449 if (ret < 0) { in rk_pcie_ep_inbound_atu()
455 return 0; in rk_pcie_ep_inbound_atu()
460 return 0; in rk_pcie_ep_inbound_atu()
507 for (retries = 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++) { in rk_pcie_prog_outbound_atu_unroll()
527 rk_pcie_prog_outbound_atu_unroll(pci, 0x0, index, type, in rk_pcie_prog_outbound_atu()
545 PCIE_ATU_FUNC_NUM(0x0)); in rk_pcie_prog_outbound_atu()
552 for (retries = 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++) { in rk_pcie_prog_outbound_atu()
584 return 0; in rk_pcie_ep_outbound_atu()
589 return 0; in rk_pcie_ep_outbound_atu()
598 dw_pcie_writel_dbi(rk_pcie->pci, reg, 0x0); in __rk_pcie_ep_reset_bar()
600 dw_pcie_writel_dbi(rk_pcie->pci, reg + 4, 0x0); in __rk_pcie_ep_reset_bar()
605 __rk_pcie_ep_reset_bar(rk_pcie, bar, 0); in rk_pcie_ep_reset_bar()
627 phys_addr = 0x0; in rk_pcie_ep_atu_init()
628 pci_addr = 0x0; in rk_pcie_ep_atu_init()
634 return 0; in rk_pcie_ep_atu_init()
663 rk_pcie_writel_apb(rk_pcie, 0x0, 0xf00000); in rk_pcie_set_mode()
668 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_POWER, 0x00010001); in rk_pcie_set_mode()
671 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_POWER, 0x30011000); in rk_pcie_set_mode()
674 rk_pcie_writel_apb(rk_pcie, 0x0, 0xf00040); in rk_pcie_set_mode()
683 0xff00); in rk_pcie_set_mode()
690 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_GENERAL_DEBUG, 0x0); in rk_pcie_link_status_clear()
695 rk_pcie_writel_apb(rk_pcie, 0x0, 0xc0008); in rk_pcie_disable_ltssm()
700 rk_pcie_writel_apb(rk_pcie, 0x0, 0xC000C); in rk_pcie_enable_ltssm()
710 if ((val & (PCIE_PHY_LINKUP | PCIE_DATA_LINKUP)) == 0x3) in rk_pcie_link_up()
714 if ((val & (RDLH_LINKUP | SMLH_LINKUP)) == 0x30000) in rk_pcie_link_up()
718 return 0; in rk_pcie_link_up()
746 dev_info(pci->dev, "ltssm = 0x%x\n", in rk_pcie_debug_dump()
748 for (loop = 0; loop < 64; loop++) in rk_pcie_debug_dump()
749 dev_info(pci->dev, "fifo_status = 0x%x\n", in rk_pcie_debug_dump()
767 return 0; in rk_pcie_establish_link()
771 gpiod_set_value_cansleep(rk_pcie->rst_gpio, 0); in rk_pcie_establish_link()
778 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_INTR_MASK, 0x40000); in rk_pcie_establish_link()
794 return 0; in rk_pcie_establish_link()
815 for (retries = 0; retries < 100; retries++) { in rk_pcie_establish_link()
827 dev_info(pci->dev, "PCIe Link up, LTSSM is 0x%x\n", in rk_pcie_establish_link()
830 return 0; in rk_pcie_establish_link()
834 dev_info_ratelimited(pci->dev, "PCIe Linking... LTSSM is 0x%x\n", in rk_pcie_establish_link()
842 return rk_pcie->is_signal_test == true ? 0 : -EINVAL; in rk_pcie_establish_link()
854 return 0; in rk_pcie_init_dma_trx()
871 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_INTR_MASK, 0xc000000); in rk_pcie_init_dma_trx()
875 0x0); in rk_pcie_init_dma_trx()
878 0x0); in rk_pcie_init_dma_trx()
879 return 0; in rk_pcie_init_dma_trx()
886 int start = 0; in rk_pci_find_resbar_capability()
897 * cap version and next pointer all being 0. in rk_pci_find_resbar_capability()
899 if (header == 0) in rk_pci_find_resbar_capability()
900 return 0; in rk_pci_find_resbar_capability()
902 while (ttl-- > 0) { in rk_pci_find_resbar_capability()
915 return 0; in rk_pci_find_resbar_capability()
943 dw_pcie_writel_dbi2(rk_pcie->pci, reg + 4, 0); in rk_pcie_ep_set_bar_flag()
947 dw_pcie_writel_dbi(rk_pcie->pci, reg + 4, 0); in rk_pcie_ep_set_bar_flag()
949 return 0; in rk_pcie_ep_set_bar_flag()
963 rk_pcie_writel_apb(rk_pcie, PCIE_CLIENT_INTR_MASK, 0xc000000); in rk_pcie_ep_setup()
967 0x0); in rk_pcie_ep_setup()
970 0x0); in rk_pcie_ep_setup()
974 lanes = 0; in rk_pcie_ep_setup()
1022 dw_pcie_writel_dbi(rk_pcie->pci, PCIE_TYPE0_STATUS_COMMAND_REG, 0x6); in rk_pcie_ep_setup()
1029 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0x4, 0xfffff0); in rk_pcie_ep_setup()
1030 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0x8, 0x13c0); in rk_pcie_ep_setup()
1031 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0xc, 0xfffff0); in rk_pcie_ep_setup()
1032 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0x10, 0x3c0); in rk_pcie_ep_setup()
1034 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0x4 + bar * 0x8, 0xfffff0); in rk_pcie_ep_setup()
1035 dw_pcie_writel_dbi(rk_pcie->pci, resbar_base + 0x8 + bar * 0x8, 0x6c0); in rk_pcie_ep_setup()
1046 dw_pcie_writew_dbi(rk_pcie->pci, PCI_DEVICE_ID, 0x356a); in rk_pcie_ep_setup()
1047 dw_pcie_writew_dbi(rk_pcie->pci, PCI_CLASS_DEVICE, 0x0580); in rk_pcie_ep_setup()
1065 if (ret < 0) { in rk_pcie_ep_win_parse()
1077 if (ret < 0) { in rk_pcie_ep_win_parse()
1106 return 0; in rk_pcie_ep_win_parse()
1111 return 0; in rk_pcie_msi_host_init()
1130 dw_pcie_writel_dbi(pci, PCIE_TYPE0_HDR_DBI2_OFFSET + 0x10 + BAR_0 * 4, 0); in rk_pcie_host_init()
1131 dw_pcie_writel_dbi(pci, PCIE_TYPE0_HDR_DBI2_OFFSET + 0x10 + BAR_1 * 4, 0); in rk_pcie_host_init()
1135 if (pp->msi_irq > 0) in rk_pcie_host_init()
1155 if (pp->msi_irq < 0) { in rk_add_pcie_port()
1172 return 0; in rk_add_pcie_port()
1183 mem = of_parse_phandle(np, "memory-region", 0); in rk_pcie_add_ep()
1189 ret = of_address_to_resource(mem, 0, &reg); in rk_pcie_add_ep()
1190 if (ret < 0) { in rk_pcie_add_ep()
1223 return 0; in rk_pcie_add_ep()
1225 return 0; in rk_pcie_add_ep()
1243 return 0; in rk_pcie_clk_init()
1298 return 0; in rk_pcie_resource_get()
1338 if (ret < 0) { in rk_pcie_phy_init()
1345 return 0; in rk_pcie_phy_init()
1352 u32 val = (0x1 << 18); /* Write mask bit */ in rk_pcie_reset_grant_ctrl()
1355 val |= (0x1 << 2); in rk_pcie_reset_grant_ctrl()
1357 ret = regmap_write(rk_pcie->usb_pcie_grf, 0x0, val); in rk_pcie_reset_grant_ctrl()
1416 int ctr_off = PCIE_DMA_OFFSET + chn * 0x200; in rk_pcie_start_dma_dwc()
1426 table->enb.enb = 0x1; in rk_pcie_config_dma_dwc()
1427 table->ctx_reg.ctrllo.lie = 0x1; in rk_pcie_config_dma_dwc()
1428 table->ctx_reg.ctrllo.rie = 0x0; in rk_pcie_config_dma_dwc()
1429 table->ctx_reg.ctrllo.td = 0x1; in rk_pcie_config_dma_dwc()
1430 table->ctx_reg.ctrlhi.asdword = 0x0; in rk_pcie_config_dma_dwc()
1433 table->ctx_reg.sarptrlo = (u32)(table->bus & 0xffffffff); in rk_pcie_config_dma_dwc()
1435 table->ctx_reg.darptrlo = (u32)(table->local & 0xffffffff); in rk_pcie_config_dma_dwc()
1438 table->ctx_reg.sarptrlo = (u32)(table->local & 0xffffffff); in rk_pcie_config_dma_dwc()
1440 table->ctx_reg.darptrlo = (u32)(table->bus & 0xffffffff); in rk_pcie_config_dma_dwc()
1443 table->weilo.weight0 = 0x0; in rk_pcie_config_dma_dwc()
1444 table->start.stop = 0x0; in rk_pcie_config_dma_dwc()
1456 val &= 0xffff0000; in rk_pcie_hot_rst_work()
1463 status, ((status & 0x3F) == 0), 100, RK_PCIE_HOTRESET_TMOUT_US); in rk_pcie_hot_rst_work()
1482 for (chn = 0; chn < PCIE_DMA_CHANEL_MAX_NUM; chn++) { in rk_pcie_sys_irq_handler()
1484 clears.doneclr = 0x1 << chn; in rk_pcie_sys_irq_handler()
1493 clears.abortclr = 0x1 << chn; in rk_pcie_sys_irq_handler()
1501 for (chn = 0; chn < PCIE_DMA_CHANEL_MAX_NUM; chn++) { in rk_pcie_sys_irq_handler()
1503 clears.doneclr = 0x1 << chn; in rk_pcie_sys_irq_handler()
1512 clears.abortclr = 0x1 << chn; in rk_pcie_sys_irq_handler()
1534 if (irq < 0) { in rk_pcie_request_sys_irq()
1546 return 0; in rk_pcie_request_sys_irq()
1625 ret = regmap_write(rk_pcie->pmu_grf, 0x100, 0x01000100); in rk1808_pcie_fixup()
1629 ret = regmap_write(rk_pcie->pmu_grf, 0x0, 0x0c000000); in rk1808_pcie_fixup()
1686 return 0; in rk_pcie_intx_map()
1705 reg = reg & 0xf; in rk_pcie_legacy_int_handler()
1739 return 0; in rk_pcie_init_irq_domain()
1744 int ret = 0; in rk_pcie_enable_power()
1759 int ret = 0; in rk_pcie_disable_power()
1775 seq_printf(s, ss "0x%x\n", dw_pcie_readl_dbi(pcie->pci, cap_base + 0xc)); \
1776 } while (0)
1795 else if (val & 0x3) in rockchip_pcie_rasdes_show()
1796 pm = (val == 0x3) ? "L0s" : (val & BIT(1) ? "RX L0s" : "TX L0s"); in rockchip_pcie_rasdes_show()
1800 seq_printf(s, "Common event signal status: 0x%s\n", pm); in rockchip_pcie_rasdes_show()
1805 return 0; in rockchip_pcie_rasdes_show()
1808 RAS_DES_EVENT("EBUF Overflow: ", 0); in rockchip_pcie_rasdes_show()
1809 RAS_DES_EVENT("EBUF Under-run: ", 0x0010000); in rockchip_pcie_rasdes_show()
1810 RAS_DES_EVENT("Decode Error: ", 0x0020000); in rockchip_pcie_rasdes_show()
1811 RAS_DES_EVENT("Running Disparity Error: ", 0x0030000); in rockchip_pcie_rasdes_show()
1812 RAS_DES_EVENT("SKP OS Parity Error: ", 0x0040000); in rockchip_pcie_rasdes_show()
1813 RAS_DES_EVENT("SYNC Header Error: ", 0x0050000); in rockchip_pcie_rasdes_show()
1814 RAS_DES_EVENT("CTL SKP OS Parity Error: ", 0x0060000); in rockchip_pcie_rasdes_show()
1815 RAS_DES_EVENT("Detect EI Infer: ", 0x1050000); in rockchip_pcie_rasdes_show()
1816 RAS_DES_EVENT("Receiver Error: ", 0x1060000); in rockchip_pcie_rasdes_show()
1817 RAS_DES_EVENT("Rx Recovery Request: ", 0x1070000); in rockchip_pcie_rasdes_show()
1818 RAS_DES_EVENT("N_FTS Timeout: ", 0x1080000); in rockchip_pcie_rasdes_show()
1819 RAS_DES_EVENT("Framing Error: ", 0x1090000); in rockchip_pcie_rasdes_show()
1820 RAS_DES_EVENT("Deskew Error: ", 0x10a0000); in rockchip_pcie_rasdes_show()
1821 RAS_DES_EVENT("BAD TLP: ", 0x2000000); in rockchip_pcie_rasdes_show()
1822 RAS_DES_EVENT("LCRC Error: ", 0x2010000); in rockchip_pcie_rasdes_show()
1823 RAS_DES_EVENT("BAD DLLP: ", 0x2020000); in rockchip_pcie_rasdes_show()
1824 RAS_DES_EVENT("Replay Number Rollover: ", 0x2030000); in rockchip_pcie_rasdes_show()
1825 RAS_DES_EVENT("Replay Timeout: ", 0x2040000); in rockchip_pcie_rasdes_show()
1826 RAS_DES_EVENT("Rx Nak DLLP: ", 0x2050000); in rockchip_pcie_rasdes_show()
1827 RAS_DES_EVENT("Tx Nak DLLP: ", 0x2060000); in rockchip_pcie_rasdes_show()
1828 RAS_DES_EVENT("Retry TLP: ", 0x2070000); in rockchip_pcie_rasdes_show()
1829 RAS_DES_EVENT("FC Timeout: ", 0x3000000); in rockchip_pcie_rasdes_show()
1830 RAS_DES_EVENT("Poisoned TLP: ", 0x3010000); in rockchip_pcie_rasdes_show()
1831 RAS_DES_EVENT("ECRC Error: ", 0x3020000); in rockchip_pcie_rasdes_show()
1832 RAS_DES_EVENT("Unsupported Request: ", 0x3030000); in rockchip_pcie_rasdes_show()
1833 RAS_DES_EVENT("Completer Abort: ", 0x3040000); in rockchip_pcie_rasdes_show()
1834 RAS_DES_EVENT("Completion Timeout: ", 0x3050000); in rockchip_pcie_rasdes_show()
1836 return 0; in rockchip_pcie_rasdes_show()
1859 return 0; in rockchip_pcie_rasdes_write()
1864 dw_pcie_writel_dbi(pcie->pci, cap_base + 8, 0x1c); in rockchip_pcie_rasdes_write()
1865 dw_pcie_writel_dbi(pcie->pci, cap_base + 8, 0x3); in rockchip_pcie_rasdes_write()
1868 dw_pcie_writel_dbi(pcie->pci, cap_base + 8, 0x14); in rockchip_pcie_rasdes_write()
1871 dw_pcie_writel_dbi(pcie->pci, cap_base + 8, 0x3); in rockchip_pcie_rasdes_write()
1891 seq_printf(s, "ltssm = 0x%x\n", in rockchip_pcie_fifo_show()
1893 for (loop = 0; loop < 64; loop++) in rockchip_pcie_fifo_show()
1894 seq_printf(s, "fifo_status = 0x%x\n", in rockchip_pcie_fifo_show()
1897 return 0; in rockchip_pcie_fifo_show()
1922 return 0; in rockchip_pcie_debugfs_init()
1941 u32 val = 0; in rk_pcie_really_probe()
2062 if (irq >= 0) { in rk_pcie_really_probe()
2114 return 0; in rk_pcie_really_probe()
2146 if (ret < 0) in rk_pcie_really_probe()
2153 return 0; in rk_pcie_really_probe()
2156 dw_pcie_writel_dbi(rk_pcie->pci, val + 8, 0x1c); in rk_pcie_really_probe()
2157 dw_pcie_writel_dbi(rk_pcie->pci, val + 8, 0x3); in rk_pcie_really_probe()
2160 return 0; in rk_pcie_really_probe()
2192 return 0; in rk_pcie_probe()
2232 rk_pcie->l1ss_ctl1 = 0; in rk_pcie_downstream_dev_to_d0()
2241 if (PCI_SLOT(pdev->devfn) == 0) { in rk_pcie_downstream_dev_to_d0()
2267 int ret = 0, power; in rockchip_dw_pcie_suspend()
2272 * This is as per PCI Express Base r5.0 r1.0 May 22-2019, in rockchip_dw_pcie_suspend()
2351 gpiod_set_value_cansleep(rk_pcie->rst_gpio, 0); in rockchip_dw_pcie_suspend()
2387 if (ret < 0) { in rockchip_dw_pcie_resume()
2439 if (rk_pcie->pci->pp.msi_irq > 0) in rockchip_dw_pcie_resume()
2442 return 0; in rockchip_dw_pcie_resume()
2458 return 0; in rockchip_dw_pcie_prepare()