10956dcb8SJim Quinlan# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
20956dcb8SJim Quinlan%YAML 1.2
30956dcb8SJim Quinlan---
40956dcb8SJim Quinlan$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
50956dcb8SJim Quinlan$schema: http://devicetree.org/meta-schemas/core.yaml#
60956dcb8SJim Quinlan
70956dcb8SJim Quinlantitle: Brcmstb PCIe Host Controller Device Tree Bindings
80956dcb8SJim Quinlan
90956dcb8SJim Quinlanmaintainers:
100956dcb8SJim Quinlan  - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
110956dcb8SJim Quinlan
120956dcb8SJim QuinlanallOf:
130956dcb8SJim Quinlan  - $ref: /schemas/pci/pci-bus.yaml#
140956dcb8SJim Quinlan
150956dcb8SJim Quinlanproperties:
160956dcb8SJim Quinlan  compatible:
170956dcb8SJim Quinlan    const: brcm,bcm2711-pcie # The Raspberry Pi 4
180956dcb8SJim Quinlan
190956dcb8SJim Quinlan  reg:
200956dcb8SJim Quinlan    maxItems: 1
210956dcb8SJim Quinlan
220956dcb8SJim Quinlan  interrupts:
230956dcb8SJim Quinlan    minItems: 1
240956dcb8SJim Quinlan    maxItems: 2
250956dcb8SJim Quinlan    items:
260956dcb8SJim Quinlan      - description: PCIe host controller
270956dcb8SJim Quinlan      - description: builtin MSI controller
280956dcb8SJim Quinlan
290956dcb8SJim Quinlan  interrupt-names:
300956dcb8SJim Quinlan    minItems: 1
310956dcb8SJim Quinlan    maxItems: 2
320956dcb8SJim Quinlan    items:
330956dcb8SJim Quinlan      - const: pcie
340956dcb8SJim Quinlan      - const: msi
350956dcb8SJim Quinlan
360956dcb8SJim Quinlan  ranges:
370956dcb8SJim Quinlan    maxItems: 1
380956dcb8SJim Quinlan
390956dcb8SJim Quinlan  dma-ranges:
400956dcb8SJim Quinlan    maxItems: 1
410956dcb8SJim Quinlan
420956dcb8SJim Quinlan  clocks:
430956dcb8SJim Quinlan    maxItems: 1
440956dcb8SJim Quinlan
450956dcb8SJim Quinlan  clock-names:
460956dcb8SJim Quinlan    items:
470956dcb8SJim Quinlan      - const: sw_pcie
480956dcb8SJim Quinlan
490956dcb8SJim Quinlan  msi-controller:
500956dcb8SJim Quinlan    description: Identifies the node as an MSI controller.
510956dcb8SJim Quinlan
520956dcb8SJim Quinlan  msi-parent:
530956dcb8SJim Quinlan    description: MSI controller the device is capable of using.
540956dcb8SJim Quinlan
550956dcb8SJim Quinlan  brcm,enable-ssc:
560956dcb8SJim Quinlan    description: Indicates usage of spread-spectrum clocking.
570956dcb8SJim Quinlan    type: boolean
580956dcb8SJim Quinlan
59420c517bSJim Quinlan  aspm-no-l0s: true
60420c517bSJim Quinlan
610956dcb8SJim Quinlanrequired:
620956dcb8SJim Quinlan  - reg
630956dcb8SJim Quinlan  - dma-ranges
640956dcb8SJim Quinlan  - "#interrupt-cells"
650956dcb8SJim Quinlan  - interrupts
660956dcb8SJim Quinlan  - interrupt-names
670956dcb8SJim Quinlan  - interrupt-map-mask
680956dcb8SJim Quinlan  - interrupt-map
690956dcb8SJim Quinlan  - msi-controller
700956dcb8SJim Quinlan
710956dcb8SJim QuinlanunevaluatedProperties: false
720956dcb8SJim Quinlan
730956dcb8SJim Quinlanexamples:
740956dcb8SJim Quinlan  - |
750956dcb8SJim Quinlan    #include <dt-bindings/interrupt-controller/irq.h>
760956dcb8SJim Quinlan    #include <dt-bindings/interrupt-controller/arm-gic.h>
770956dcb8SJim Quinlan
780956dcb8SJim Quinlan    scb {
790956dcb8SJim Quinlan            #address-cells = <2>;
800956dcb8SJim Quinlan            #size-cells = <1>;
810956dcb8SJim Quinlan            pcie0: pcie@7d500000 {
820956dcb8SJim Quinlan                    compatible = "brcm,bcm2711-pcie";
830956dcb8SJim Quinlan                    reg = <0x0 0x7d500000 0x9310>;
840956dcb8SJim Quinlan                    device_type = "pci";
850956dcb8SJim Quinlan                    #address-cells = <3>;
860956dcb8SJim Quinlan                    #size-cells = <2>;
870956dcb8SJim Quinlan                    #interrupt-cells = <1>;
880956dcb8SJim Quinlan                    interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
890956dcb8SJim Quinlan                                 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
900956dcb8SJim Quinlan                    interrupt-names = "pcie", "msi";
910956dcb8SJim Quinlan                    interrupt-map-mask = <0x0 0x0 0x0 0x7>;
920956dcb8SJim Quinlan                    interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
930956dcb8SJim Quinlan                    msi-parent = <&pcie0>;
940956dcb8SJim Quinlan                    msi-controller;
950956dcb8SJim Quinlan                    ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>;
960956dcb8SJim Quinlan                    dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
970956dcb8SJim Quinlan                    brcm,enable-ssc;
980956dcb8SJim Quinlan            };
990956dcb8SJim Quinlan    };
100