[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1615954045.git.greentime.hu@sifive.com>
Date: Thu, 18 Mar 2021 14:08:07 +0800
From: Greentime Hu <greentime.hu@...ive.com>
To: greentime.hu@...ive.com, paul.walmsley@...ive.com, hes@...ive.com,
erik.danie@...ive.com, zong.li@...ive.com, bhelgaas@...gle.com,
robh+dt@...nel.org, palmer@...belt.com, aou@...s.berkeley.edu,
mturquette@...libre.com, sboyd@...nel.org,
lorenzo.pieralisi@....com, p.zabel@...gutronix.de,
alex.dewar90@...il.com, khilman@...libre.com,
hayashi.kunihiko@...ionext.com, vidyas@...dia.com,
jh80.chung@...sung.com, linux-pci@...r.kernel.org,
devicetree@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
helgaas@...nel.org
Subject: [PATCH v2 0/6] Add SiFive FU740 PCIe host controller driver support
This patchset includes SiFive FU740 PCIe host controller driver. We also
add pcie_aux clock and pcie_power_on_reset controller to prci driver for
PCIe driver to use it.
This is tested with e1000e: Intel(R) PRO/1000 Network Card, AMD Radeon R5
230 graphics card and SP M.2 PCIe Gen 3 SSD in SiFive Unmatched based on
v5.11 Linux kernel.
Changes in v2:
- Refine codes based on reviewers' feedback
- Remove define and use the common one
- Replace __raw_writel with writel_relaxed
- Split fu740_phyregreadwrite to write function
- Use readl_poll_timeout in stead of while loop checking
- Use dwc common codes
- Use gpio descriptors and the gpiod_* api.
- Replace devm_ioremap_resource with devm_platform_ioremap_resource_byname
- Replace devm_reset_control_get with devm_reset_control_get_exclusive
- Add more comments for delay and sleep
- Remove "phy ? x : y" expressions
- Refine code logic to remove possible infinite loop
- Replace magic number with meaningful define
- Remove fu740_pcie_pm_ops
- Use builtin_platform_driver
Greentime Hu (5):
clk: sifive: Add pcie_aux clock in prci driver for PCIe driver
clk: sifive: Use reset-simple in prci driver for PCIe driver
MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver
dt-bindings: PCI: Add SiFive FU740 PCIe host controller
riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC
Paul Walmsley (1):
PCI: fu740: Add SiFive FU740 PCIe host controller driver
.../bindings/pci/sifive,fu740-pcie.yaml | 119 +++++++
MAINTAINERS | 8 +
arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 34 ++
drivers/clk/sifive/Kconfig | 2 +
drivers/clk/sifive/fu740-prci.c | 11 +
drivers/clk/sifive/fu740-prci.h | 2 +-
drivers/clk/sifive/sifive-prci.c | 54 +++
drivers/clk/sifive/sifive-prci.h | 13 +
drivers/pci/controller/dwc/Kconfig | 9 +
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pcie-fu740.c | 324 ++++++++++++++++++
drivers/reset/Kconfig | 3 +-
include/dt-bindings/clock/sifive-fu740-prci.h | 1 +
13 files changed, 579 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-fu740.c
--
2.30.2
Powered by blists - more mailing lists