Thread (31 messages) 31 messages, 8 authors, 2019-11-14

Re: [PATCH 1/4] dt-bindings: pci: add bindings for brcmstb's PCIe device

From: Nicolas Saenz Julienne <hidden>
Date: 2019-11-07 10:53:40
Also in: linux-devicetree, linux-pci, lkml

On Thu, 2019-11-07 at 10:32 +0000, Andrew Murray wrote:
On Wed, Nov 06, 2019 at 10:45:23PM +0100, Nicolas Saenz Julienne wrote:
quoted
From: Jim Quinlan <redacted>
Nit: Looking at past git history, ideally the patch subject would be
'dt-bindings: *PCI*: *A*dd bindings for brcmstb's PCIe.
Noted.
quoted
The DT bindings description of the brcmstb PCIe device is described.
This node can only be used for now on the Raspberry Pi 4.

This was based on Jim's original submission[1], converted to yaml and
adapted to the RPi4 case.
Thanks for picking this up.
quoted
[1] https://patchwork.kernel.org/patch/10605937/

Signed-off-by: Jim Quinlan <redacted>
Co-developed-by: Nicolas Saenz Julienne <redacted>
Signed-off-by: Nicolas Saenz Julienne <redacted>
---
 .../bindings/pci/brcm,stb-pcie.yaml           | 116 ++++++++++++++++++
 1 file changed, 116 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
new file mode 100644
index 000000000000..0b81c26f8568
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
@@ -0,0 +1,116 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Brcmstb PCIe Host Controller Device Tree Bindings
+
+maintainers:
+  - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+
+properties:
+  compatible:
+    const: brcm,bcm2711-pcie # The Raspberry Pi 4
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    minItems: 1
+    maxItems: 2
+    items:
+      - description: PCIe host controller
+      - description: builtin MSI controller
+
+  interrupt-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      - const: pcie
+      - const: msi
+
+  "#address-cells":
+    const: 3
+
+  "#size-cells":
+    const: 2
+
+  "#interrupt-cells":
+    const: 1
+
+  interrupt-map-mask: true
+
+  interrupt-map: true
+
+  ranges: true
+
+  dma-ranges: true
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: sw_pcie
+
+  msi-controller:	/* We use the domain number as our controller number */
	pcie->id = of_get_pci_domain_nr(dn);
	if (pcie->id < 0)
		return pcie->id;
+    description: Identifies the node as an MSI controller.
+    type: boolean
+
+  msi-parent:
+    description: MSI controller the device is capable of using.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  linux,pci-domain:
+    description: PCI domain ID. Should be unique for each host controller.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  brcm,enable-ssc:
+    description: Indicates usage of spread-spectrum clocking.
+    type: boolean
+
+required:
+  - compatible
+  - reg
+  - "#address-cells"
+  - "#size-cells"
+  - "#interrupt-cells"
+  - interrupt-map-mask
+  - interrupt-map
+  - ranges
+  - dma-ranges
+  - linux,pci-domain
I don't think pci-domain is *required* is it?
You're right, I missed that one. It was needed on some of the STB devices but
not in the RPi4's case. I'll remove it in v2.

Regards,
Nicolas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help