forked from mirrors/linux
		
	PCI: tegra: Add Tegra194 PCIe support
Add support for Synopsys DesignWare core IP based PCIe host controller present in the Tegra194 SoC. Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
		
							parent
							
								
									5dae15b21d
								
							
						
					
					
						commit
						56e15a238d
					
				
					 4 changed files with 1653 additions and 1 deletions
				
			
		| 
						 | 
					@ -220,6 +220,16 @@ config PCI_MESON
 | 
				
			||||||
	  and therefore the driver re-uses the DesignWare core functions to
 | 
						  and therefore the driver re-uses the DesignWare core functions to
 | 
				
			||||||
	  implement the driver.
 | 
						  implement the driver.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config PCIE_TEGRA194
 | 
				
			||||||
 | 
						tristate "NVIDIA Tegra194 (and later) PCIe controller"
 | 
				
			||||||
 | 
						depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
 | 
				
			||||||
 | 
						depends on PCI_MSI_IRQ_DOMAIN
 | 
				
			||||||
 | 
						select PCIE_DW_HOST
 | 
				
			||||||
 | 
						select PHY_TEGRA194_P2U
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Say Y here if you want support for DesignWare core based PCIe host
 | 
				
			||||||
 | 
						  controller found in NVIDIA Tegra194 SoC.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config PCIE_UNIPHIER
 | 
					config PCIE_UNIPHIER
 | 
				
			||||||
	bool "Socionext UniPhier PCIe controllers"
 | 
						bool "Socionext UniPhier PCIe controllers"
 | 
				
			||||||
	depends on ARCH_UNIPHIER || COMPILE_TEST
 | 
						depends on ARCH_UNIPHIER || COMPILE_TEST
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,6 +15,7 @@ obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o
 | 
				
			||||||
obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o
 | 
					obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o
 | 
				
			||||||
obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o
 | 
					obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o
 | 
				
			||||||
obj-$(CONFIG_PCI_MESON) += pci-meson.o
 | 
					obj-$(CONFIG_PCI_MESON) += pci-meson.o
 | 
				
			||||||
 | 
					obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o
 | 
				
			||||||
obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
 | 
					obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The following drivers are for devices that use the generic ACPI
 | 
					# The following drivers are for devices that use the generic ACPI
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -456,7 +456,7 @@ int dw_pcie_wait_for_link(struct dw_pcie *pci)
 | 
				
			||||||
		usleep_range(LINK_WAIT_USLEEP_MIN, LINK_WAIT_USLEEP_MAX);
 | 
							usleep_range(LINK_WAIT_USLEEP_MIN, LINK_WAIT_USLEEP_MAX);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	dev_err(pci->dev, "Phy link never came up\n");
 | 
						dev_info(pci->dev, "Phy link never came up\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return -ETIMEDOUT;
 | 
						return -ETIMEDOUT;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1641
									
								
								drivers/pci/controller/dwc/pcie-tegra194.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1641
									
								
								drivers/pci/controller/dwc/pcie-tegra194.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue