Commit 51755de7 authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

Merge branch 'remotes/lorenzo/pci/rcar'

  - Fix rcar OB window programming (Andrew Murray)

  - Add rcar suspend/resume support (Kazufumi Ikeda)

  - Add r8a77961 to DT binding (Yoshihiro Shimoda)

  - Rename pcie-rcar.c to pcie-rcar-host.c to make room for endpoint mode
    (Lad Prabhakar)

  - Move shareable code to pcie-rcar.c (Lad Prabhakar)

  - Correct PCIEPAMR mask calculation for "size < 128" (Lad Prabhakar)

  - Add endpoint support for multiple outbound memory windows (Lad
    Prabhakar)

  - Add R-Car PCIe endpoint driver and DT bindings (Lad Prabhakar)

* remotes/lorenzo/pci/rcar:
  MAINTAINERS: Add file patterns for rcar PCI device tree bindings
  PCI: rcar: Add endpoint mode support
  dt-bindings: PCI: rcar: Add bindings for R-Car PCIe endpoint controller
  PCI: endpoint: Add support to handle multiple base for mapping outbound memory
  PCI: endpoint: Pass page size as argument to pci_epc_mem_init()
  PCI: rcar: Fix calculating mask for PCIEPAMR register
  PCI: rcar: Move shareable code to a common file
  PCI: rcar: Rename pcie-rcar.c to pcie-rcar-host.c
  dt-bindings: pci: rcar: add r8a77961 support
  PCI: rcar: Add suspend/resume
  PCI: rcar: Fix incorrect programming of OB windows
parents c521b7d5 56ad4a1b
Loading
Loading
Loading
Loading
+77 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 Renesas Electronics Europe GmbH - https://www.renesas.com/eu/en/
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/rcar-pci-ep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Car PCIe Endpoint

maintainers:
  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

properties:
  compatible:
    items:
      - const: renesas,r8a774c0-pcie-ep
      - const: renesas,rcar-gen3-pcie-ep

  reg:
    maxItems: 5

  reg-names:
    items:
      - const: apb-base
      - const: memory0
      - const: memory1
      - const: memory2
      - const: memory3

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: pcie

  max-functions:
    minimum: 1
    maximum: 1

required:
  - compatible
  - reg
  - reg-names
  - resets
  - power-domains
  - clocks
  - clock-names
  - max-functions

examples:
  - |
    #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
    #include <dt-bindings/power/r8a774c0-sysc.h>

     pcie0_ep: pcie-ep@fe000000 {
            compatible = "renesas,r8a774c0-pcie-ep",
                         "renesas,rcar-gen3-pcie-ep";
            reg = <0xfe000000 0x80000>,
                  <0xfe100000 0x100000>,
                  <0xfe200000 0x200000>,
                  <0x30000000 0x8000000>,
                  <0x38000000 0x8000000>;
            reg-names = "apb-base", "memory0", "memory1", "memory2", "memory3";
            resets = <&cpg 319>;
            power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
            clocks = <&cpg CPG_MOD 319>;
            clock-names = "pcie";
            max-functions = /bits/ 8 <1>;
    };
+2 −1
Original line number Diff line number Diff line
@@ -11,7 +11,8 @@ compatible: "renesas,pcie-r8a7743" for the R8A7743 SoC;
	    "renesas,pcie-r8a7791" for the R8A7791 SoC;
	    "renesas,pcie-r8a7793" for the R8A7793 SoC;
	    "renesas,pcie-r8a7795" for the R8A7795 SoC;
	    "renesas,pcie-r8a7796" for the R8A7796 SoC;
	    "renesas,pcie-r8a7796" for the R8A77960 SoC;
	    "renesas,pcie-r8a77961" for the R8A77961 SoC;
	    "renesas,pcie-r8a77980" for the R8A77980 SoC;
	    "renesas,pcie-r8a77990" for the R8A77990 SoC;
	    "renesas,pcie-rcar-gen2" for a generic R-Car Gen2 or
+1 −0
Original line number Diff line number Diff line
@@ -12949,6 +12949,7 @@ M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
L:	linux-pci@vger.kernel.org
L:	linux-renesas-soc@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/pci/*rcar*
F:	drivers/pci/controller/*rcar*
PCI DRIVER FOR SAMSUNG EXYNOS
+18 −0
Original line number Diff line number Diff line
@@ -58,8 +58,26 @@ config PCIE_RCAR
	bool "Renesas R-Car PCIe controller"
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on PCI_MSI_IRQ_DOMAIN
	select PCIE_RCAR_HOST
	help
	  Say Y here if you want PCIe controller support on R-Car SoCs.
	  This option will be removed after arm64 defconfig is updated.

config PCIE_RCAR_HOST
	bool "Renesas R-Car PCIe host controller"
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on PCI_MSI_IRQ_DOMAIN
	help
	  Say Y here if you want PCIe controller support on R-Car SoCs in host
	  mode.

config PCIE_RCAR_EP
	bool "Renesas R-Car PCIe endpoint controller"
	depends on ARCH_RENESAS || COMPILE_TEST
	depends on PCI_ENDPOINT
	help
	  Say Y here if you want PCIe controller support on R-Car SoCs in
	  endpoint mode.

config PCI_HOST_COMMON
	tristate
+2 −1
Original line number Diff line number Diff line
@@ -7,7 +7,8 @@ obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o
obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
obj-$(CONFIG_PCIE_RCAR) += pcie-rcar.o
obj-$(CONFIG_PCIE_RCAR_HOST) += pcie-rcar.o pcie-rcar-host.o
obj-$(CONFIG_PCIE_RCAR_EP) += pcie-rcar.o pcie-rcar-ep.o
obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
Loading