Commit a66999a3 authored by Bjorn Helgaas's avatar Bjorn Helgaas

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
...@@ -9,12 +9,15 @@ title: Brcmstb PCIe Host Controller Device Tree Bindings ...@@ -9,12 +9,15 @@ title: Brcmstb PCIe Host Controller Device Tree Bindings
maintainers: maintainers:
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de> - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
properties: properties:
compatible: 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: reg:
maxItems: 1 maxItems: 1
...@@ -34,10 +37,12 @@ properties: ...@@ -34,10 +37,12 @@ properties:
- const: msi - const: msi
ranges: ranges:
maxItems: 1 minItems: 1
maxItems: 4
dma-ranges: dma-ranges:
maxItems: 1 minItems: 1
maxItems: 6
clocks: clocks:
maxItems: 1 maxItems: 1
...@@ -58,8 +63,31 @@ properties: ...@@ -58,8 +63,31 @@ properties:
aspm-no-l0s: true 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: required:
- reg - reg
- ranges
- dma-ranges - dma-ranges
- "#interrupt-cells" - "#interrupt-cells"
- interrupts - interrupts
...@@ -68,6 +96,18 @@ required: ...@@ -68,6 +96,18 @@ required:
- interrupt-map - interrupt-map
- msi-controller - msi-controller
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- if:
properties:
compatible:
contains:
const: brcm,bcm7216-pcie
then:
required:
- resets
- reset-names
unevaluatedProperties: false unevaluatedProperties: false
examples: examples:
...@@ -93,7 +133,9 @@ examples: ...@@ -93,7 +133,9 @@ examples:
msi-parent = <&pcie0>; msi-parent = <&pcie0>;
msi-controller; msi-controller;
ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; 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,enable-ssc;
brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>;
}; };
}; };
...@@ -270,9 +270,10 @@ config VMD ...@@ -270,9 +270,10 @@ config VMD
config PCIE_BRCMSTB config PCIE_BRCMSTB
tristate "Broadcom Brcmstb PCIe host controller" 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 OF
depends on PCI_MSI_IRQ_DOMAIN depends on PCI_MSI_IRQ_DOMAIN
default ARCH_BRCMSTB
help help
Say Y here to enable PCIe host controller support for Say Y here to enable PCIe host controller support for
Broadcom STB based SoCs, like the Raspberry Pi 4. Broadcom STB based SoCs, like the Raspberry Pi 4.
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment