mbox series

[RFC/RFT,v2,00/11] RK3568 PCIe V3 support

Message ID 20220426132139.26761-1-linux@fw-web.de
Headers show
Series RK3568 PCIe V3 support | expand

Message

Frank Wunderlich April 26, 2022, 1:21 p.m. UTC
From: Frank Wunderlich <frank-w@public-files.de>

This series adds Rockchip PCIe V3 support found on rk3568 SOC.

It is based on "Enable rk356x PCIe controller" series of Peter Geis
v8: https://patchwork.kernel.org/project/linux-rockchip/list/?series=634925

Compared to PCIeV2 which uses the Naneng combphy, pciev3
uses a dedicated pci-phy.

This Version is still an RFC/RFT because i cannot only test PCIe-slot on R2Pro
as the other is a M.2 Key-E where i don't have any Hardware.

last 3 Patches show a replacement for bifurcation setting to make it more
useful for vendor-indepent lane-mapping.

Frank Wunderlich (11):
  dt-bindings: phy: rockchip: add PCIe v3 phy
  dt-bindings: soc: grf: add pcie30-{phy,pipe}-grf
  dt-bindings: phy: rockchip: add PCIe v3 constants
  phy: rockchip: Support PCIe v3
  dt-bindings: pci: add bifurcation option to Rockchip DesignWare
    binding
  PCI: rockchip-dwc: add PCIe bifurcation
  arm64: dts: rockchip: rk3568: Add PCIe v3 nodes
  arm64: dts: rockchip: Add PCIe v3 nodes to BPI-R2-Pro
  dt-bindings: pci: add lane-map to rockchip PCIe binding
  PCI: rockchip: add a lane-map to rockchip pcie driver
  arm64: dts: rockchip: add basic lane-map and drop bifurcation from
    r2pro

 .../bindings/pci/rockchip-dw-pcie.yaml        |   3 +
 .../bindings/phy/rockchip,pcie3-phy.yaml      |  84 ++++++
 .../devicetree/bindings/soc/rockchip/grf.yaml |   3 +
 .../boot/dts/rockchip/rk3568-bpi-r2-pro.dts   |  79 +++++
 arch/arm64/boot/dts/rockchip/rk3568.dtsi      | 122 ++++++++
 drivers/pci/controller/dwc/pcie-dw-rockchip.c |  22 ++
 drivers/phy/rockchip/Kconfig                  |   9 +
 drivers/phy/rockchip/Makefile                 |   1 +
 .../phy/rockchip/phy-rockchip-snps-pcie3.c    | 278 ++++++++++++++++++
 include/dt-bindings/phy/phy-rockchip-pcie3.h  |  21 ++
 include/linux/phy/pcie.h                      |  12 +
 11 files changed, 634 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/rockchip,pcie3-phy.yaml
 create mode 100644 drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
 create mode 100644 include/dt-bindings/phy/phy-rockchip-pcie3.h
 create mode 100644 include/linux/phy/pcie.h

Comments

Bjorn Helgaas April 26, 2022, 4:01 p.m. UTC | #1
On Tue, Apr 26, 2022 at 03:21:28PM +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
> 
> This series adds Rockchip PCIe V3 support found on rk3568 SOC.
> 
> It is based on "Enable rk356x PCIe controller" series of Peter Geis
> v8: https://patchwork.kernel.org/project/linux-rockchip/list/?series=634925
> 
> Compared to PCIeV2 which uses the Naneng combphy, pciev3
> uses a dedicated pci-phy.
> 
> This Version is still an RFC/RFT because i cannot only test PCIe-slot on R2Pro
> as the other is a M.2 Key-E where i don't have any Hardware.
> 
> last 3 Patches show a replacement for bifurcation setting to make it more
> useful for vendor-indepent lane-mapping.
> 
> Frank Wunderlich (11):
>   dt-bindings: phy: rockchip: add PCIe v3 phy
>   dt-bindings: soc: grf: add pcie30-{phy,pipe}-grf
>   dt-bindings: phy: rockchip: add PCIe v3 constants
>   phy: rockchip: Support PCIe v3
>   dt-bindings: pci: add bifurcation option to Rockchip DesignWare
>     binding
>   PCI: rockchip-dwc: add PCIe bifurcation
>   arm64: dts: rockchip: rk3568: Add PCIe v3 nodes
>   arm64: dts: rockchip: Add PCIe v3 nodes to BPI-R2-Pro
>   dt-bindings: pci: add lane-map to rockchip PCIe binding
>   PCI: rockchip: add a lane-map to rockchip pcie driver
>   arm64: dts: rockchip: add basic lane-map and drop bifurcation from
>     r2pro

Don't just make up new prefixes; copy what's been done in the past.

  PCI: rockchip-dwc: add PCIe bifurcation
  PCI: rockchip: add a lane-map to rockchip pcie driver

I think we decided [1] to use "rockchip-dwc" for this driver to
distinguish it from the pcie-rockchip-host.c driver.

So both of these should use "PCI: rockchip-dwc:" as the prefix.

At least for the drivers/pci/ patches, capitalize the first word of
the subject, i.e., "Add PCIe bifurcation" and "Add lane-map ..."  I
don't know the dt-bindings convention (I would use "git log --oneline"
to find out).

s/pcie/PCIe/ in subjects, commit logs, comments, etc.

Wrap commit logs to fill 75 columns and add blank lines between
paragraphs.  Readers should not need to wonder "oh, the previous line
was shorter than usual; is this one a new paragraph?"

[1] https://lore.kernel.org/r/20210624180723.GA3543267@bjorn-Precision-5520

>  .../bindings/pci/rockchip-dw-pcie.yaml        |   3 +
>  .../bindings/phy/rockchip,pcie3-phy.yaml      |  84 ++++++
>  .../devicetree/bindings/soc/rockchip/grf.yaml |   3 +
>  .../boot/dts/rockchip/rk3568-bpi-r2-pro.dts   |  79 +++++
>  arch/arm64/boot/dts/rockchip/rk3568.dtsi      | 122 ++++++++
>  drivers/pci/controller/dwc/pcie-dw-rockchip.c |  22 ++
>  drivers/phy/rockchip/Kconfig                  |   9 +
>  drivers/phy/rockchip/Makefile                 |   1 +
>  .../phy/rockchip/phy-rockchip-snps-pcie3.c    | 278 ++++++++++++++++++
>  include/dt-bindings/phy/phy-rockchip-pcie3.h  |  21 ++
>  include/linux/phy/pcie.h                      |  12 +
>  11 files changed, 634 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/rockchip,pcie3-phy.yaml
>  create mode 100644 drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
>  create mode 100644 include/dt-bindings/phy/phy-rockchip-pcie3.h
>  create mode 100644 include/linux/phy/pcie.h
> 
> -- 
> 2.25.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel