Skip to content

Commit ba6ed46

Browse files
fancerLorenzo Pieralisi
authored andcommitted
PCI: dwc: Add Baikal-T1 PCIe controller support
Baikal-T1 SoC is equipped with DWC PCIe v4.60a host controller. It can be trained to work up to Gen.3 speed over up to x4 lanes. The host controller is attached to the DW PCIe 3.0 PCS via the PIPE-4 interface, which in its turn is connected to the DWC 10G PHY. The whole system is supposed to be fed up with four clock sources: DBI peripheral clock, AXI application clocks and external PHY/core reference clock generating the 100MHz signal. In addition to that the platform provide a way to reset each part of the controller: sticky/non-sticky bits, host controller core, PIPE interface, PCS/PHY and Hot/Power reset signal. The driver also provides a way to handle the GPIO-based PERST# signal. Note due to the Baikal-T1 MMIO peculiarity we have to implement the DBI interface accessors which make sure the IO operations are dword-aligned. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Serge Semin <[email protected]> Signed-off-by: Lorenzo Pieralisi <[email protected]>
1 parent ef69f85 commit ba6ed46

File tree

3 files changed

+653
-0
lines changed

3 files changed

+653
-0
lines changed

drivers/pci/controller/dwc/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,15 @@ config PCIE_ARTPEC6_EP
222222
Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
223223
endpoint mode. This uses the DesignWare core.
224224

225+
config PCIE_BT1
226+
tristate "Baikal-T1 PCIe controller"
227+
depends on MIPS_BAIKAL_T1 || COMPILE_TEST
228+
depends on PCI_MSI_IRQ_DOMAIN
229+
select PCIE_DW_HOST
230+
help
231+
Enables support for the PCIe controller in the Baikal-T1 SoC to work
232+
in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core.
233+
225234
config PCIE_ROCKCHIP_DW_HOST
226235
bool "Rockchip DesignWare PCIe controller"
227236
select PCIE_DW

drivers/pci/controller/dwc/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ obj-$(CONFIG_PCIE_DW) += pcie-designware.o
33
obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o
44
obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o
55
obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
6+
obj-$(CONFIG_PCIE_BT1) += pcie-bt1.o
67
obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
78
obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
89
obj-$(CONFIG_PCIE_FU740) += pcie-fu740.o

0 commit comments

Comments
 (0)