On 1/14/20, 2:25 AM, Shawn Lin wrote: > > From: Simon Xue <xxm@xxxxxxxxxxxxxx> > > Signed-off-by: Simon Xue <xxm@xxxxxxxxxxxxxx> > Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> > --- > > drivers/pci/controller/dwc/Kconfig | 9 + > drivers/pci/controller/dwc/Makefile | 1 + > drivers/pci/controller/dwc/pcie-dw-rockchip.c | 441 ++++++++++++++++++++++++++ > 3 files changed, 451 insertions(+) > create mode 100644 drivers/pci/controller/dwc/pcie-dw-rockchip.c > > diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig > index 0830dfc..9160264 100644 > --- a/drivers/pci/controller/dwc/Kconfig > +++ b/drivers/pci/controller/dwc/Kconfig > @@ -82,6 +82,15 @@ config PCIE_DW_PLAT_EP > order to enable device-specific features PCI_DW_PLAT_EP must be > selected. > > +config PCIE_DW_ROCKCHIP > + bool "Rockchip DesignWare PCIe controller" > + select PCIE_DW > + select PCIE_DW_HOST > + depends on ARCH_ROCKCHIP > + depends on OF > + help > + Enables support for the DW PCIe controller in the Rockchip SoC. > + The order is PCIE_DW, PCI_*, and PCIE_* as below. 1. Common Frameworks: These options are used by other controller drivers. e.g., PCIE_DW, PCIE_DW_HOST, PCIE_DW_EP. 2. PCI_* controller drivers: PCI_* was used earlier than PCIE_*. If a chip vendor's controllers provide both conventional PCI and PCI Express, or only conventional PCI, PCI_* can be used. 3. PCIE_* controller drivers If a controller can support only PCI Express, not conventional PCI, PCIE_* is the proper naming. Then, within PCI_* or PCIE_* categories, each controller option should be in an alphabetical order for the readability. So, add 'PCIE_DW_ROCKCHIP' between 'PCIE_ARTPEC6_EP' and 'PCIE_KIRIN'. > > config PCI_EXYNOS > bool "Samsung Exynos PCIe controller" > depends on SOC_EXYNOS5440 || COMPILE_TEST > diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile > index 8a637cf..cb4857f 100644 > --- a/drivers/pci/controller/dwc/Makefile > +++ b/drivers/pci/controller/dwc/Makefile > @@ -19,6 +19,7 @@ obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.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_DW_ROCKCHIP) += pcie-dw-rockchip.o Ditto. [...] Best regards, Jingoo Han