treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / devicetree / bindings / pci / brcm,stb-pcie.yaml
blob77d3e81a437b137507eac94237d3bc397581a79a
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Brcmstb PCIe Host Controller Device Tree Bindings
9 maintainers:
10   - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
12 allOf:
13   - $ref: /schemas/pci/pci-bus.yaml#
15 properties:
16   compatible:
17     const: brcm,bcm2711-pcie # The Raspberry Pi 4
19   reg:
20     maxItems: 1
22   interrupts:
23     minItems: 1
24     maxItems: 2
25     items:
26       - description: PCIe host controller
27       - description: builtin MSI controller
29   interrupt-names:
30     minItems: 1
31     maxItems: 2
32     items:
33       - const: pcie
34       - const: msi
36   ranges:
37     maxItems: 1
39   dma-ranges:
40     maxItems: 1
42   clocks:
43     maxItems: 1
45   clock-names:
46     items:
47       - const: sw_pcie
49   msi-controller:
50     description: Identifies the node as an MSI controller.
52   msi-parent:
53     description: MSI controller the device is capable of using.
55   brcm,enable-ssc:
56     description: Indicates usage of spread-spectrum clocking.
57     type: boolean
59 required:
60   - reg
61   - dma-ranges
62   - "#interrupt-cells"
63   - interrupts
64   - interrupt-names
65   - interrupt-map-mask
66   - interrupt-map
67   - msi-controller
69 unevaluatedProperties: false
71 examples:
72   - |
73     #include <dt-bindings/interrupt-controller/irq.h>
74     #include <dt-bindings/interrupt-controller/arm-gic.h>
76     scb {
77             #address-cells = <2>;
78             #size-cells = <1>;
79             pcie0: pcie@7d500000 {
80                     compatible = "brcm,bcm2711-pcie";
81                     reg = <0x0 0x7d500000 0x9310>;
82                     device_type = "pci";
83                     #address-cells = <3>;
84                     #size-cells = <2>;
85                     #interrupt-cells = <1>;
86                     interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
87                                  <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
88                     interrupt-names = "pcie", "msi";
89                     interrupt-map-mask = <0x0 0x0 0x0 0x7>;
90                     interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
91                     msi-parent = <&pcie0>;
92                     msi-controller;
93                     ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>;
94                     dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
95                     brcm,enable-ssc;
96             };
97     };