Add SiFive FU740 PCIe host controller driver support
Status from this message: Applied to pci/risc-v, thanks.
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
Earlier versions · 3
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v3 | 6 patches | 2 replies | Superseded | |
| v2 | 6 patches | 14 replies | Superseded | |
| v1 RFC | 6 patches | 6 replies | Superseded |
Changes in v6 from the cover letter
- Fix build error when CONFIG_GPIOLIB disabled
Patches in v6 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | clk: sifive: Add pcie_aux clock in prci driver for PCIe driverdrivers/ drivers/ drivers/ +2 more | +63 | 5 replies | |
| 2/6 | clk: sifive: Use reset-simple in prci driver for PCIe driverdrivers/ drivers/ drivers/ +1 more | +20 | 0 replies | |
| 3/6 | MAINTAINERS: Add maintainers for SiFive FU740 PCIe driverMAINTAINERS | +8 | 0 replies | |
| 4/6 | dt-bindings: PCI: Add SiFive FU740 PCIe host controllerDocumentation/ | +113 | 0 replies | |
| 5/6 | PCI: fu740: Add SiFive FU740 PCIe host controller driverdrivers/ drivers/ drivers/ | +320 | 4 replies | |
| 6/6 | riscv: dts: Add PCIe support for the SiFive FU740-C000 SoCarch/ | +33 | 0 replies |
Reviews trailers per patch
4 of 6 patches have a Reviewed-by or Acked-by.
| Patch | Stephen Boyd | Philipp Zabel | Rob Herring | Palmer Dabbelt |
|---|---|---|---|---|
| 1/6 | A-b | |||
| 2/6 | A-b | R-b | ||
| 3/6 | ||||
| 4/6 | R-b | |||
| 5/6 | ||||
| 6/6 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [PATCH v6 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 v6:
- Fix build error when CONFIG_GPIOLIB disabled
Changes in v5:
- Fix typo in comments
- Keep comments style consistent
- Refine some error handling codes
- Remove unneeded header file including
- Merge fu740_pcie_ltssm_enable implementation to fu740_pcie_start_link
Changes in v4:
- Fix Wunused-but-set-variable warning in prci driver
Changes in v3:
- Remove items that has been defined
- Refine format of sifive,fu740-pcie.yaml
- Replace perstn-gpios with the common one
- Change DBI mapping space to 2GB from 4GB
- Refine drivers/reset/Kconfig
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 | 113 +++++++ MAINTAINERS | 8 + arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 33 ++ 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 | 10 + drivers/pci/controller/dwc/Makefile | 1 + drivers/pci/controller/dwc/pcie-fu740.c | 309 ++++++++++++++++++ drivers/reset/Kconfig | 1 + include/dt-bindings/clock/sifive-fu740-prci.h | 1 + 13 files changed, 557 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml create mode 100644 drivers/pci/controller/dwc/pcie-fu740.c
Signature · 1 line
2.31.1