Lines Matching +full:0 +full:xfe100000

52 #define AFI_AXI_BAR0_SZ	0x00
53 #define AFI_AXI_BAR1_SZ 0x04
54 #define AFI_AXI_BAR2_SZ 0x08
55 #define AFI_AXI_BAR3_SZ 0x0c
56 #define AFI_AXI_BAR4_SZ 0x10
57 #define AFI_AXI_BAR5_SZ 0x14
59 #define AFI_AXI_BAR0_START 0x18
60 #define AFI_AXI_BAR1_START 0x1c
61 #define AFI_AXI_BAR2_START 0x20
62 #define AFI_AXI_BAR3_START 0x24
63 #define AFI_AXI_BAR4_START 0x28
64 #define AFI_AXI_BAR5_START 0x2c
66 #define AFI_FPCI_BAR0 0x30
67 #define AFI_FPCI_BAR1 0x34
68 #define AFI_FPCI_BAR2 0x38
69 #define AFI_FPCI_BAR3 0x3c
70 #define AFI_FPCI_BAR4 0x40
71 #define AFI_FPCI_BAR5 0x44
73 #define AFI_CACHE_BAR0_SZ 0x48
74 #define AFI_CACHE_BAR0_ST 0x4c
75 #define AFI_CACHE_BAR1_SZ 0x50
76 #define AFI_CACHE_BAR1_ST 0x54
78 #define AFI_MSI_BAR_SZ 0x60
79 #define AFI_MSI_FPCI_BAR_ST 0x64
80 #define AFI_MSI_AXI_BAR_ST 0x68
82 #define AFI_MSI_VEC(x) (0x6c + ((x) * 4))
83 #define AFI_MSI_EN_VEC(x) (0x8c + ((x) * 4))
85 #define AFI_CONFIGURATION 0xac
86 #define AFI_CONFIGURATION_EN_FPCI (1 << 0)
89 #define AFI_FPCI_ERROR_MASKS 0xb0
91 #define AFI_INTR_MASK 0xb4
92 #define AFI_INTR_MASK_INT_MASK (1 << 0)
95 #define AFI_INTR_CODE 0xb8
96 #define AFI_INTR_CODE_MASK 0xf
112 #define AFI_INTR_SIGNATURE 0xbc
113 #define AFI_UPPER_FPCI_ADDRESS 0xc0
114 #define AFI_SM_INTR_ENABLE 0xc4
115 #define AFI_SM_INTR_INTA_ASSERT (1 << 0)
124 #define AFI_AFI_INTR_ENABLE 0xc8
125 #define AFI_INTR_EN_INI_SLVERR (1 << 0)
135 #define AFI_PCIE_PME 0xf0
137 #define AFI_PCIE_CONFIG 0x0f8
139 #define AFI_PCIE_CONFIG_PCIE_DISABLE_ALL 0xe
140 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_MASK (0xf << 20)
141 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_SINGLE (0x0 << 20)
142 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_420 (0x0 << 20)
143 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_X2_X1 (0x0 << 20)
144 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_401 (0x0 << 20)
145 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_DUAL (0x1 << 20)
146 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_222 (0x1 << 20)
147 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_X4_X1 (0x1 << 20)
148 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_211 (0x1 << 20)
149 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_411 (0x2 << 20)
150 #define AFI_PCIE_CONFIG_SM2TMS0_XBAR_CONFIG_111 (0x2 << 20)
152 #define AFI_PCIE_CONFIG_PCIE_CLKREQ_GPIO_ALL (0x7 << 29)
154 #define AFI_FUSE 0x104
157 #define AFI_PEX0_CTRL 0x110
158 #define AFI_PEX1_CTRL 0x118
159 #define AFI_PEX_CTRL_RST (1 << 0)
164 #define AFI_PLLE_CONTROL 0x160
168 #define AFI_PEXBIAS_CTRL_0 0x168
170 #define RP_ECTL_2_R1 0x00000e84
171 #define RP_ECTL_2_R1_RX_CTLE_1C_MASK 0xffff
173 #define RP_ECTL_4_R1 0x00000e8c
174 #define RP_ECTL_4_R1_RX_CDR_CTRL_1C_MASK (0xffff << 16)
177 #define RP_ECTL_5_R1 0x00000e90
178 #define RP_ECTL_5_R1_RX_EQ_CTRL_L_1C_MASK 0xffffffff
180 #define RP_ECTL_6_R1 0x00000e94
181 #define RP_ECTL_6_R1_RX_EQ_CTRL_H_1C_MASK 0xffffffff
183 #define RP_ECTL_2_R2 0x00000ea4
184 #define RP_ECTL_2_R2_RX_CTLE_1C_MASK 0xffff
186 #define RP_ECTL_4_R2 0x00000eac
187 #define RP_ECTL_4_R2_RX_CDR_CTRL_1C_MASK (0xffff << 16)
190 #define RP_ECTL_5_R2 0x00000eb0
191 #define RP_ECTL_5_R2_RX_EQ_CTRL_L_1C_MASK 0xffffffff
193 #define RP_ECTL_6_R2 0x00000eb4
194 #define RP_ECTL_6_R2_RX_EQ_CTRL_H_1C_MASK 0xffffffff
196 #define RP_VEND_XP 0x00000f00
200 #define RP_VEND_XP_UPDATE_FC_THRESHOLD_MASK (0xff << 18)
202 #define RP_VEND_CTL0 0x00000f44
203 #define RP_VEND_CTL0_DSK_RST_PULSE_WIDTH_MASK (0xf << 12)
204 #define RP_VEND_CTL0_DSK_RST_PULSE_WIDTH (0x9 << 12)
206 #define RP_VEND_CTL1 0x00000f48
209 #define RP_VEND_XP_BIST 0x00000f4c
212 #define RP_VEND_CTL2 0x00000fa8
215 #define RP_PRIV_MISC 0x00000fe0
216 #define RP_PRIV_MISC_PRSNT_MAP_EP_PRSNT (0xe << 0)
217 #define RP_PRIV_MISC_PRSNT_MAP_EP_ABSNT (0xf << 0)
218 #define RP_PRIV_MISC_CTLR_CLK_CLAMP_THRESHOLD_MASK (0x7f << 16)
219 #define RP_PRIV_MISC_CTLR_CLK_CLAMP_THRESHOLD (0xf << 16)
221 #define RP_PRIV_MISC_TMS_CLK_CLAMP_THRESHOLD_MASK (0x7f << 24)
222 #define RP_PRIV_MISC_TMS_CLK_CLAMP_THRESHOLD (0xf << 24)
225 #define RP_LINK_CONTROL_STATUS 0x00000090
226 #define RP_LINK_CONTROL_STATUS_DL_LINK_ACTIVE 0x20000000
227 #define RP_LINK_CONTROL_STATUS_LINKSTAT_MASK 0x3fff0000
229 #define RP_LINK_CONTROL_STATUS_2 0x000000b0
231 #define PADS_CTL_SEL 0x0000009c
233 #define PADS_CTL 0x000000a0
234 #define PADS_CTL_IDDQ_1L (1 << 0)
238 #define PADS_PLL_CTL_TEGRA20 0x000000b8
239 #define PADS_PLL_CTL_TEGRA30 0x000000b4
242 #define PADS_PLL_CTL_REFCLK_MASK (0x3 << 16)
243 #define PADS_PLL_CTL_REFCLK_INTERNAL_CML (0 << 16)
246 #define PADS_PLL_CTL_TXCLKREF_MASK (0x1 << 20)
247 #define PADS_PLL_CTL_TXCLKREF_DIV10 (0 << 20)
251 #define PADS_REFCLK_CFG0 0x000000c8
252 #define PADS_REFCLK_CFG1 0x000000cc
253 #define PADS_REFCLK_BIAS 0x000000d0
406 * [ 7: 0] register number
421 return ((where & 0xf00) << 16) | (bus << 16) | (PCI_SLOT(devfn) << 11) | in tegra_pcie_conf_offset()
422 (PCI_FUNC(devfn) << 8) | (where & 0xff); in tegra_pcie_conf_offset()
432 if (bus->number == 0) { in tegra_pcie_map_bus()
449 base = 0xfe100000 + ((offset & ~(SZ_4K - 1)) >> 8); in tegra_pcie_map_bus()
462 if (bus->number == 0) in tegra_pcie_config_read()
472 if (bus->number == 0) in tegra_pcie_config_write()
488 unsigned long ret = 0; in tegra_pcie_port_get_pex_ctrl()
491 case 0: in tegra_pcie_port_get_pex_ctrl()
524 gpiod_set_value(port->reset_gpio, 0); in tegra_pcie_port_reset()
625 * instability in deskew logic on lane-0. Increase the deskew in tegra_pcie_apply_sw_fixup()
731 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf0, tegra_pcie_fixup_class);
732 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_fixup_class);
733 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0e1c, tegra_pcie_fixup_class);
734 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0e1d, tegra_pcie_fixup_class);
741 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0bf0, tegra_pcie_relax_enable);
742 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_relax_enable);
743 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0e1c, tegra_pcie_relax_enable);
744 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0e1d, tegra_pcie_relax_enable);
785 afi_writel(pcie, 0, AFI_INTR_CODE); in tegra_pcie_isr()
791 code = 0; in tegra_pcie_isr()
804 u32 fpci = afi_readl(pcie, AFI_UPPER_FPCI_ADDRESS) & 0xff; in tegra_pcie_isr()
805 u64 address = (u64)fpci << 32 | (signature & 0xfffffffc); in tegra_pcie_isr()
818 * - 0xfdfc000000: I/O space
819 * - 0xfdfe000000: type 0 configuration space
820 * - 0xfdff000000: type 1 configuration space
821 * - 0xfe00000000: type 0 extended configuration space
822 * - 0xfe10000000: type 1 extended configuration space
830 /* Bar 0: type 1 extended configuration space */ in tegra_pcie_setup_translations()
844 fpci_bar = 0xfdfc0000; in tegra_pcie_setup_translations()
851 fpci_bar = (((res->start >> 12) & 0x0fffffff) << 4) | 0x1; in tegra_pcie_setup_translations()
871 afi_writel(pcie, 0, AFI_AXI_BAR4_START); in tegra_pcie_setup_translations()
872 afi_writel(pcie, 0, AFI_AXI_BAR4_SZ); in tegra_pcie_setup_translations()
873 afi_writel(pcie, 0, AFI_FPCI_BAR4); in tegra_pcie_setup_translations()
875 afi_writel(pcie, 0, AFI_AXI_BAR5_START); in tegra_pcie_setup_translations()
876 afi_writel(pcie, 0, AFI_AXI_BAR5_SZ); in tegra_pcie_setup_translations()
877 afi_writel(pcie, 0, AFI_FPCI_BAR5); in tegra_pcie_setup_translations()
881 afi_writel(pcie, 0, AFI_CACHE_BAR0_ST); in tegra_pcie_setup_translations()
882 afi_writel(pcie, 0, AFI_CACHE_BAR0_SZ); in tegra_pcie_setup_translations()
883 afi_writel(pcie, 0, AFI_CACHE_BAR1_ST); in tegra_pcie_setup_translations()
884 afi_writel(pcie, 0, AFI_CACHE_BAR1_SZ); in tegra_pcie_setup_translations()
888 afi_writel(pcie, 0, AFI_MSI_FPCI_BAR_ST); in tegra_pcie_setup_translations()
889 afi_writel(pcie, 0, AFI_MSI_BAR_SZ); in tegra_pcie_setup_translations()
890 afi_writel(pcie, 0, AFI_MSI_AXI_BAR_ST); in tegra_pcie_setup_translations()
891 afi_writel(pcie, 0, AFI_MSI_BAR_SZ); in tegra_pcie_setup_translations()
904 return 0; in tegra_pcie_pll_wait()
918 pads_writel(pcie, 0x0, PADS_CTL_SEL); in tegra_pcie_phy_enable()
948 if (err < 0) { in tegra_pcie_phy_enable()
963 return 0; in tegra_pcie_phy_enable()
988 return 0; in tegra_pcie_phy_disable()
997 for (i = 0; i < port->lanes; i++) { in tegra_pcie_port_phy_power_on()
999 if (err < 0) { in tegra_pcie_port_phy_power_on()
1005 return 0; in tegra_pcie_port_phy_power_on()
1014 for (i = 0; i < port->lanes; i++) { in tegra_pcie_port_phy_power_off()
1016 if (err < 0) { in tegra_pcie_port_phy_power_off()
1023 return 0; in tegra_pcie_port_phy_power_off()
1038 if (err < 0) in tegra_pcie_phy_power_on()
1046 if (err < 0) { in tegra_pcie_phy_power_on()
1054 return 0; in tegra_pcie_phy_power_on()
1069 if (err < 0) in tegra_pcie_phy_power_off()
1077 if (err < 0) { in tegra_pcie_phy_power_off()
1085 return 0; in tegra_pcie_phy_power_off()
1104 afi_writel(pcie, 0, AFI_PEXBIAS_CTRL_0); in tegra_pcie_enable_controller()
1143 afi_writel(pcie, 0xffffffff, AFI_SM_INTR_ENABLE); in tegra_pcie_enable_controller()
1149 afi_writel(pcie, 0, AFI_FPCI_ERROR_MASKS); in tegra_pcie_enable_controller()
1169 if (err < 0) in tegra_pcie_power_off()
1188 if (err < 0) in tegra_pcie_power_on()
1205 if (err < 0) { in tegra_pcie_power_on()
1212 if (err < 0) { in tegra_pcie_power_on()
1219 if (err < 0) { in tegra_pcie_power_on()
1226 return 0; in tegra_pcie_power_on()
1276 return 0; in tegra_pcie_clocks_get()
1295 return 0; in tegra_pcie_resets_get()
1311 if (err < 0) { in tegra_pcie_phys_get_legacy()
1318 return 0; in tegra_pcie_phys_get_legacy()
1353 for (i = 0; i < port->lanes; i++) { in tegra_pcie_port_get_phys()
1362 if (err < 0) { in tegra_pcie_port_get_phys()
1371 return 0; in tegra_pcie_port_get_phys()
1386 if (err < 0) in tegra_pcie_phys_get()
1390 return 0; in tegra_pcie_phys_get()
1401 if (err < 0) in tegra_pcie_phys_put()
1407 for (i = 0; i < port->lanes; i++) { in tegra_pcie_phys_put()
1409 if (err < 0) in tegra_pcie_phys_put()
1438 if (err < 0) { in tegra_pcie_get_resources()
1476 if (err < 0) in tegra_pcie_get_resources()
1487 return 0; in tegra_pcie_get_resources()
1500 if (pcie->irq > 0) in tegra_pcie_put_resources()
1506 return 0; in tegra_pcie_put_resources()
1518 val |= (0x1 << soc->ports[port->index].pme.turnoff_bit); in tegra_pcie_pme_turnoff()
1523 val & (0x1 << ack_bit), 1, PME_ACK_TIMEOUT); in tegra_pcie_pme_turnoff()
1531 val &= ~(0x1 << soc->ports[port->index].pme.turnoff_bit); in tegra_pcie_pme_turnoff()
1545 for (i = 0; i < 8; i++) { in tegra_pcie_msi_irq()
1671 if (hwirq < 0) in tegra_msi_domain_alloc()
1674 for (i = 0; i < nr_irqs; i++) in tegra_msi_domain_alloc()
1681 return 0; in tegra_msi_domain_alloc()
1729 return 0; in tegra_allocate_domains()
1757 if (err < 0) in tegra_pcie_msi_setup()
1770 if (err < 0) { in tegra_pcie_msi_setup()
1783 return 0; in tegra_pcie_msi_setup()
1808 for (i = 0; i < ARRAY_SIZE(msi_state); i++) in tegra_pcie_enable_msi()
1825 for (i = 0; i < INT_PCI_MSI_NR; i++) { in tegra_pcie_msi_teardown()
1827 if (irq > 0) in tegra_pcie_msi_teardown()
1846 return 0; in tegra_pcie_disable_msi()
1866 case 0x010004: in tegra_pcie_get_xbar_config()
1869 return 0; in tegra_pcie_get_xbar_config()
1871 case 0x010102: in tegra_pcie_get_xbar_config()
1874 return 0; in tegra_pcie_get_xbar_config()
1876 case 0x010101: in tegra_pcie_get_xbar_config()
1879 return 0; in tegra_pcie_get_xbar_config()
1886 return 0; in tegra_pcie_get_xbar_config()
1891 case 0x0000104: in tegra_pcie_get_xbar_config()
1894 return 0; in tegra_pcie_get_xbar_config()
1896 case 0x0000102: in tegra_pcie_get_xbar_config()
1899 return 0; in tegra_pcie_get_xbar_config()
1903 case 0x00000204: in tegra_pcie_get_xbar_config()
1906 return 0; in tegra_pcie_get_xbar_config()
1908 case 0x00020202: in tegra_pcie_get_xbar_config()
1911 return 0; in tegra_pcie_get_xbar_config()
1913 case 0x00010104: in tegra_pcie_get_xbar_config()
1916 return 0; in tegra_pcie_get_xbar_config()
1920 case 0x00000004: in tegra_pcie_get_xbar_config()
1923 return 0; in tegra_pcie_get_xbar_config()
1925 case 0x00000202: in tegra_pcie_get_xbar_config()
1928 return 0; in tegra_pcie_get_xbar_config()
1947 for (i = 0; i < num_supplies; i++) { in of_regulator_bulk_available()
1974 if (pcie->num_supplies == 0) { in tegra_pcie_get_legacy_regulators()
1985 pcie->supplies[0].supply = "pex-clk"; in tegra_pcie_get_legacy_regulators()
2007 unsigned int i = 0; in tegra_pcie_get_regulators()
2050 /* VDD_PEXA and AVDD_PEXA supply lanes 0 to 3 */ in tegra_pcie_get_regulators()
2051 if (lane_mask & 0x0f) in tegra_pcie_get_regulators()
2055 if (lane_mask & 0x30) in tegra_pcie_get_regulators()
2058 pcie->num_supplies = 4 + (need_pexa ? 2 : 0) + in tegra_pcie_get_regulators()
2059 (need_pexb ? 2 : 0); in tegra_pcie_get_regulators()
2090 pcie->supplies[0].supply = "avdd-pex"; in tegra_pcie_get_regulators()
2110 pcie->num_supplies = 0; in tegra_pcie_get_regulators()
2120 u32 lanes = 0, mask = 0; in tegra_pcie_parse_dt()
2121 unsigned int lane = 0; in tegra_pcie_parse_dt()
2132 if (err < 0) { in tegra_pcie_parse_dt()
2148 if (err < 0) { in tegra_pcie_parse_dt()
2176 err = of_address_to_resource(port, 0, &rp->regs); in tegra_pcie_parse_dt()
2177 if (err < 0) { in tegra_pcie_parse_dt()
2206 "reset-gpios", 0, in tegra_pcie_parse_dt()
2224 if (err < 0) { in tegra_pcie_parse_dt()
2230 if (err < 0) in tegra_pcie_parse_dt()
2233 return 0; in tegra_pcie_parse_dt()
2320 if ((value & PCI_EXP_LNKSTA_LT) == 0) in tegra_pcie_change_link_speed()
2339 if ((value & PCI_EXP_LNKSTA_LT) == 0) in tegra_pcie_change_link_speed()
2391 { .pme.turnoff_bit = 0, .pme.ack_bit = 5 },
2398 .msi_base_shift = 0,
2401 .pads_refclk_cfg0 = 0xfa5cfa5c,
2417 { .pme.turnoff_bit = 0, .pme.ack_bit = 5 },
2426 .afi_pex2_ctrl = 0x128,
2429 .pads_refclk_cfg0 = 0xfa5cfa5c,
2430 .pads_refclk_cfg1 = 0xfa5cfa5c,
2451 .pads_refclk_cfg0 = 0x44ac44ac,
2472 .pads_refclk_cfg0 = 0x90b890b8,
2474 .update_fc_threshold = 0x01800000,
2488 .rp_ectl_2_r1 = 0x0000000f,
2489 .rp_ectl_4_r1 = 0x00000067,
2490 .rp_ectl_5_r1 = 0x55010000,
2491 .rp_ectl_6_r1 = 0x00000001,
2492 .rp_ectl_2_r2 = 0x0000008f,
2493 .rp_ectl_4_r2 = 0x000000c7,
2494 .rp_ectl_5_r2 = 0x55010000,
2495 .rp_ectl_6_r2 = 0x00000001,
2502 { .pme.turnoff_bit = 0, .pme.ack_bit = 5 },
2511 .afi_pex2_ctrl = 0x19c,
2514 .pads_refclk_cfg0 = 0x80b880b8,
2515 .pads_refclk_cfg1 = 0x000480b8,
2594 return 0; in tegra_pcie_ports_seq_show()
2640 if (err < 0) in tegra_pcie_probe()
2644 if (err < 0) { in tegra_pcie_probe()
2650 if (err < 0) { in tegra_pcie_probe()
2657 if (err < 0) { in tegra_pcie_probe()
2666 if (err < 0) { in tegra_pcie_probe()
2674 return 0; in tegra_pcie_probe()
2707 return 0; in tegra_pcie_remove()
2729 if (err < 0) in tegra_pcie_pm_suspend()
2742 return 0; in tegra_pcie_pm_suspend()
2757 if (err < 0) { in tegra_pcie_pm_resume()
2778 if (err < 0) { in tegra_pcie_pm_resume()
2787 return 0; in tegra_pcie_pm_resume()