Commit a66999a3 authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

Merge branch 'remotes/lorenzo/pci/brcmstb'

- Make PCIE_BRCMSTB depend on and default to ARCH_BRCMSTB (Jim Quinlan)

- Add DT bindings for 7278, 7216, 7211, and new properties (Jim Quinlan)

- Add bcm7278 register info (Jim Quinlan)

- Add suspend and resume pm_ops (Jim Quinlan)

- Add bcm7278 PERST# support (Jim Quinlan)

- Add control of RESCAL reset (Jim Quinlan)

- Set additional internal memory DMA viewport sizes (Jim Quinlan)

- Accommodate MSI for older chips (Jim Quinlan)

- Set bus max burst size by chip type (Jim Quinlan)

- Add bcm7211, bcm7216, bcm7445, bcm7278 to match list (Jim Quinlan)

* remotes/lorenzo/pci/brcmstb:
  PCI: brcmstb: Add bcm7211, bcm7216, bcm7445, bcm7278 to match list
  PCI: brcmstb: Set bus max burst size by chip type
  PCI: brcmstb: Accommodate MSI for older chips
  PCI: brcmstb: Set additional internal memory DMA viewport sizes
  PCI: brcmstb: Add control of rescal reset
  PCI: brcmstb: Add bcm7278 PERST# support
  PCI: brcmstb: Add suspend and resume pm_ops
  PCI: brcmstb: Add bcm7278 register info
  dt-bindings: PCI: Add bindings for more Brcmstb chips
  PCI: brcmstb: PCIE_BRCMSTB depends on ARCH_BRCMSTB
parents d1640a83 1f66d95e
Loading
Loading
Loading
Loading
+49 −7
Original line number Diff line number Diff line
@@ -9,12 +9,15 @@ title: Brcmstb PCIe Host Controller Device Tree Bindings
maintainers:
  - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>

allOf:
  - $ref: /schemas/pci/pci-bus.yaml#

properties:
  compatible:
    const: brcm,bcm2711-pcie # The Raspberry Pi 4
    items:
      - enum:
          - brcm,bcm2711-pcie # The Raspberry Pi 4
          - brcm,bcm7211-pcie # Broadcom STB version of RPi4
          - brcm,bcm7278-pcie # Broadcom 7278 Arm
          - brcm,bcm7216-pcie # Broadcom 7216 Arm
          - brcm,bcm7445-pcie # Broadcom 7445 Arm

  reg:
    maxItems: 1
@@ -34,10 +37,12 @@ properties:
      - const: msi

  ranges:
    maxItems: 1
    minItems: 1
    maxItems: 4

  dma-ranges:
    maxItems: 1
    minItems: 1
    maxItems: 6

  clocks:
    maxItems: 1
@@ -58,8 +63,31 @@ properties:

  aspm-no-l0s: true

  resets:
    description: for "brcm,bcm7216-pcie", must be a valid reset
      phandle pointing to the RESCAL reset controller provider node.
    $ref: "/schemas/types.yaml#/definitions/phandle"

  reset-names:
    items:
      - const: rescal

  brcm,scb-sizes:
    description: u64 giving the 64bit PCIe memory
      viewport size of a memory controller.  There may be up to
      three controllers, and each size must be a power of two
      with a size greater or equal to the amount of memory the
      controller supports.  Note that each memory controller
      may have two component regions -- base and extended -- so
      this information cannot be deduced from the dma-ranges.
    $ref: /schemas/types.yaml#/definitions/uint64-array
    items:
      minItems: 1
      maxItems: 3

required:
  - reg
  - ranges
  - dma-ranges
  - "#interrupt-cells"
  - interrupts
@@ -68,6 +96,18 @@ required:
  - interrupt-map
  - msi-controller

allOf:
  - $ref: /schemas/pci/pci-bus.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: brcm,bcm7216-pcie
    then:
      required:
        - resets
        - reset-names

unevaluatedProperties: false

examples:
@@ -93,7 +133,9 @@ examples:
                    msi-parent = <&pcie0>;
                    msi-controller;
                    ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>;
                    dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
                    dma-ranges = <0x42000000 0x1 0x00000000 0x0 0x40000000 0x0 0x80000000>,
                                 <0x42000000 0x1 0x80000000 0x3 0x00000000 0x0 0x80000000>;
                    brcm,enable-ssc;
                    brcm,scb-sizes =  <0x0000000080000000 0x0000000080000000>;
            };
    };
+2 −1
Original line number Diff line number Diff line
@@ -270,9 +270,10 @@ config VMD

config PCIE_BRCMSTB
	tristate "Broadcom Brcmstb PCIe host controller"
	depends on ARCH_BCM2835 || COMPILE_TEST
	depends on ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST
	depends on OF
	depends on PCI_MSI_IRQ_DOMAIN
	default ARCH_BRCMSTB
	help
	  Say Y here to enable PCIe host controller support for
	  Broadcom STB based SoCs, like the Raspberry Pi 4.
+381 −63

File changed.

Preview size limit exceeded, changes collapsed.