Lines Matching +full:0 +full:xfe100000
46 #define AFI_AXI_BAR0_SZ 0x00
47 #define AFI_AXI_BAR1_SZ 0x04
48 #define AFI_AXI_BAR2_SZ 0x08
49 #define AFI_AXI_BAR3_SZ 0x0c
50 #define AFI_AXI_BAR4_SZ 0x10
51 #define AFI_AXI_BAR5_SZ 0x14
53 #define AFI_AXI_BAR0_START 0x18
54 #define AFI_AXI_BAR1_START 0x1c
55 #define AFI_AXI_BAR2_START 0x20
56 #define AFI_AXI_BAR3_START 0x24
57 #define AFI_AXI_BAR4_START 0x28
58 #define AFI_AXI_BAR5_START 0x2c
60 #define AFI_FPCI_BAR0 0x30
61 #define AFI_FPCI_BAR1 0x34
62 #define AFI_FPCI_BAR2 0x38
63 #define AFI_FPCI_BAR3 0x3c
64 #define AFI_FPCI_BAR4 0x40
65 #define AFI_FPCI_BAR5 0x44
67 #define AFI_CACHE_BAR0_SZ 0x48
68 #define AFI_CACHE_BAR0_ST 0x4c
69 #define AFI_CACHE_BAR1_SZ 0x50
70 #define AFI_CACHE_BAR1_ST 0x54
72 #define AFI_MSI_BAR_SZ 0x60
73 #define AFI_MSI_FPCI_BAR_ST 0x64
74 #define AFI_MSI_AXI_BAR_ST 0x68
76 #define AFI_CONFIGURATION 0xac
77 #define AFI_CONFIGURATION_EN_FPCI (1 << 0)
79 #define AFI_FPCI_ERROR_MASKS 0xb0
81 #define AFI_INTR_MASK 0xb4
82 #define AFI_INTR_MASK_INT_MASK (1 << 0)
85 #define AFI_SM_INTR_ENABLE 0xc4
86 #define AFI_SM_INTR_INTA_ASSERT (1 << 0)
95 #define AFI_AFI_INTR_ENABLE 0xc8
96 #define AFI_INTR_EN_INI_SLVERR (1 << 0)
106 #define AFI_PCIE_CONFIG 0x0f8
108 #define AFI_PCIE_CONFIG_PCIE_DISABLE_ALL 0xe
109 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_MASK (0xf << 20)
110 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_SINGLE (0x0 << 20)
111 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_420 (0x0 << 20)
112 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_X2_X1 (0x0 << 20)
113 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_DUAL (0x1 << 20)
114 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_222 (0x1 << 20)
115 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_X4_X1 (0x1 << 20)
116 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_411 (0x2 << 20)
117 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_T186_401 (0x0 << 20)
118 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_T186_211 (0x1 << 20)
119 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_T186_111 (0x2 << 20)
121 #define AFI_FUSE 0x104
124 #define AFI_PEX0_CTRL 0x110
125 #define AFI_PEX1_CTRL 0x118
126 #define AFI_PEX2_CTRL 0x128
127 #define AFI_PEX2_CTRL_T186 0x19c
128 #define AFI_PEX_CTRL_RST (1 << 0)
133 #define AFI_PLLE_CONTROL 0x160
137 #define AFI_PEXBIAS_CTRL_0 0x168
139 #define PADS_CTL_SEL 0x0000009C
141 #define PADS_CTL 0x000000A0
142 #define PADS_CTL_IDDQ_1L (1 << 0)
146 #define PADS_PLL_CTL_TEGRA20 0x000000B8
147 #define PADS_PLL_CTL_TEGRA30 0x000000B4
148 #define PADS_PLL_CTL_RST_B4SM (0x1 << 1)
149 #define PADS_PLL_CTL_LOCKDET (0x1 << 8)
150 #define PADS_PLL_CTL_REFCLK_MASK (0x3 << 16)
151 #define PADS_PLL_CTL_REFCLK_INTERNAL_CML (0x0 << 16)
152 #define PADS_PLL_CTL_REFCLK_INTERNAL_CMOS (0x1 << 16)
153 #define PADS_PLL_CTL_REFCLK_EXTERNAL (0x2 << 16)
154 #define PADS_PLL_CTL_TXCLKREF_MASK (0x1 << 20)
155 #define PADS_PLL_CTL_TXCLKREF_DIV10 (0x0 << 20)
156 #define PADS_PLL_CTL_TXCLKREF_DIV5 (0x1 << 20)
157 #define PADS_PLL_CTL_TXCLKREF_BUF_EN (0x1 << 22)
159 #define PADS_REFCLK_CFG0 0x000000C8
160 #define PADS_REFCLK_CFG1 0x000000CC
172 #define RP_VEND_XP 0x00000F00
175 #define RP_VEND_CTL2 0x00000FA8
178 #define RP_PRIV_MISC 0x00000FE0
179 #define RP_PRIV_MISC_PRSNT_MAP_EP_PRSNT (0xE << 0)
180 #define RP_PRIV_MISC_PRSNT_MAP_EP_ABSNT (0xF << 0)
182 #define RP_LINK_CONTROL_STATUS 0x00000090
183 #define RP_LINK_CONTROL_STATUS_DL_LINK_ACTIVE 0x20000000
184 #define RP_LINK_CONTROL_STATUS_LINKSTAT_MASK 0x3fff0000
278 return ((where & 0xf00) << 16) | (PCI_BUS(bdf) << 16) | in tegra_pcie_conf_offset()
280 (where & 0xfc); in tegra_pcie_conf_offset()
288 if (bus == 0) { in tegra_pcie_conf_address()
295 return 0; in tegra_pcie_conf_address()
302 if (dev != 0) in tegra_pcie_conf_address()
307 return 0; in tegra_pcie_conf_address()
320 if (err < 0) { in pci_tegra_read_config()
321 value = 0xffffffff; in pci_tegra_read_config()
329 if (PCI_BUS(bdf) == 0) { in pci_tegra_read_config()
331 value &= ~0x00ff0000; in pci_tegra_read_config()
340 return 0; in pci_tegra_read_config()
353 if (err < 0) in pci_tegra_write_config()
354 return 0; in pci_tegra_write_config()
360 return 0; in pci_tegra_write_config()
377 return 0; in tegra_pcie_port_parse_dt()
386 case 0x00000004: in tegra_pcie_get_xbar_config()
389 return 0; in tegra_pcie_get_xbar_config()
391 case 0x00000202: in tegra_pcie_get_xbar_config()
394 return 0; in tegra_pcie_get_xbar_config()
399 case 0x00000204: in tegra_pcie_get_xbar_config()
402 return 0; in tegra_pcie_get_xbar_config()
404 case 0x00020202: in tegra_pcie_get_xbar_config()
407 return 0; in tegra_pcie_get_xbar_config()
409 case 0x00010104: in tegra_pcie_get_xbar_config()
412 return 0; in tegra_pcie_get_xbar_config()
418 case 0x0000104: in tegra_pcie_get_xbar_config()
421 return 0; in tegra_pcie_get_xbar_config()
423 case 0x0000102: in tegra_pcie_get_xbar_config()
426 return 0; in tegra_pcie_get_xbar_config()
431 case 0x0010004: in tegra_pcie_get_xbar_config()
434 return 0; in tegra_pcie_get_xbar_config()
436 case 0x0010102: in tegra_pcie_get_xbar_config()
439 return 0; in tegra_pcie_get_xbar_config()
441 case 0x0010101: in tegra_pcie_get_xbar_config()
444 return 0; in tegra_pcie_get_xbar_config()
460 if (err < 0) { in tegra_pcie_parse_port_info()
467 err = ofnode_read_pci_addr(node, 0, "reg", &addr); in tegra_pcie_parse_port_info()
468 if (err < 0) { in tegra_pcie_parse_port_info()
475 return 0; in tegra_pcie_parse_port_info()
480 return 0; in tegra_pcie_board_init()
487 u32 lanes = 0; in tegra_pcie_parse_dt()
490 err = dev_read_resource(dev, 0, &pcie->pads); in tegra_pcie_parse_dt()
491 if (err < 0) { in tegra_pcie_parse_dt()
497 if (err < 0) { in tegra_pcie_parse_dt()
503 if (err < 0) { in tegra_pcie_parse_dt()
509 if (err < 0) { in tegra_pcie_parse_dt()
518 if (err < 0) { in tegra_pcie_parse_dt()
526 unsigned int index = 0, num_lanes = 0; in tegra_pcie_parse_dt()
530 if (err < 0) { in tegra_pcie_parse_dt()
544 memset(port, 0, sizeof(*port)); in tegra_pcie_parse_dt()
549 if (err < 0) { in tegra_pcie_parse_dt()
560 if (err < 0) { in tegra_pcie_parse_dt()
565 return 0; in tegra_pcie_parse_dt()
603 return 0; in tegra_pcie_power_on()
618 if (err < 0) { in tegra_pcie_power_on()
625 if (err < 0) { in tegra_pcie_power_on()
631 reset_set_enable(PERIPH_ID_AFI, 0); in tegra_pcie_power_on()
638 value = readl(NV_PA_CLK_RST_BASE + 0x48c); in tegra_pcie_power_on()
639 value |= (1 << 0); in tegra_pcie_power_on()
641 writel(value, NV_PA_CLK_RST_BASE + 0x48c); in tegra_pcie_power_on()
645 if (err < 0) { in tegra_pcie_power_on()
650 return 0; in tegra_pcie_power_on()
656 unsigned long start = get_timer(0); in tegra_pcie_pll_wait()
662 return 0; in tegra_pcie_pll_wait()
675 pads_writel(pcie, 0, PADS_CTL_SEL); in tegra_pcie_phy_enable()
705 if (err < 0) { in tegra_pcie_phy_enable()
720 return 0; in tegra_pcie_phy_enable()
743 afi_writel(pcie, 0, AFI_PEXBIAS_CTRL_0);
769 if (err < 0) {
783 reset_set_enable(PERIPH_ID_PCIEXCLK, 0);
792 afi_writel(pcie, 0, AFI_AFI_INTR_ENABLE);
793 afi_writel(pcie, 0, AFI_SM_INTR_ENABLE);
794 afi_writel(pcie, 0, AFI_INTR_MASK);
795 afi_writel(pcie, 0, AFI_FPCI_ERROR_MASKS);
797 return 0;
807 /* BAR 0: type 1 extended configuration space */
808 fpci = 0xfe100000;
821 fpci = 0xfdfc0000;
830 fpci = (((pref->phys_start >> 12) & 0x0fffffff) << 4) | 0x1;
839 fpci = (((mem->phys_start >> 12) & 0x0fffffff) << 4) | 0x1;
848 afi_writel(pcie, 0, AFI_AXI_BAR4_START);
849 afi_writel(pcie, 0, AFI_AXI_BAR4_SZ);
850 afi_writel(pcie, 0, AFI_FPCI_BAR4);
852 afi_writel(pcie, 0, AFI_AXI_BAR5_START);
853 afi_writel(pcie, 0, AFI_AXI_BAR5_SZ);
854 afi_writel(pcie, 0, AFI_FPCI_BAR5);
858 afi_writel(pcie, 0, AFI_CACHE_BAR0_SZ);
859 afi_writel(pcie, 0, AFI_CACHE_BAR1_ST);
860 afi_writel(pcie, 0, AFI_CACHE_BAR1_SZ);
863 afi_writel(pcie, 0, AFI_MSI_FPCI_BAR_ST);
864 afi_writel(pcie, 0, AFI_MSI_BAR_SZ);
865 afi_writel(pcie, 0, AFI_MSI_AXI_BAR_ST);
866 afi_writel(pcie, 0, AFI_MSI_BAR_SZ);
868 return 0;
873 unsigned long ret = 0;
876 case 0:
1035 return 0;
1043 .pads_refclk_cfg0 = 0xfa5cfa5c,
1054 .pads_refclk_cfg0 = 0xfa5cfa5c,
1055 .pads_refclk_cfg1 = 0xfa5cfa5c,
1065 .pads_refclk_cfg0 = 0x44ac44ac,
1075 .pads_refclk_cfg0 = 0x90b890b8,
1085 .pads_refclk_cfg0 = 0x80b880b8,
1086 .pads_refclk_cfg1 = 0x000480b8,
1106 return 0;
1153 if (err < 0) {
1159 if (err < 0) {
1165 if (err < 0) {
1171 if (err < 0) {
1176 return 0;