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 Quinlanproperties: 130956dcb8SJim Quinlan compatible: 14*e6f98b29SJim Quinlan items: 15*e6f98b29SJim Quinlan - enum: 16*e6f98b29SJim Quinlan - brcm,bcm2711-pcie # The Raspberry Pi 4 17*e6f98b29SJim Quinlan - brcm,bcm7211-pcie # Broadcom STB version of RPi4 18*e6f98b29SJim Quinlan - brcm,bcm7278-pcie # Broadcom 7278 Arm 19*e6f98b29SJim Quinlan - brcm,bcm7216-pcie # Broadcom 7216 Arm 20*e6f98b29SJim Quinlan - brcm,bcm7445-pcie # Broadcom 7445 Arm 210956dcb8SJim Quinlan 220956dcb8SJim Quinlan reg: 230956dcb8SJim Quinlan maxItems: 1 240956dcb8SJim Quinlan 250956dcb8SJim Quinlan interrupts: 260956dcb8SJim Quinlan minItems: 1 270956dcb8SJim Quinlan maxItems: 2 280956dcb8SJim Quinlan items: 290956dcb8SJim Quinlan - description: PCIe host controller 300956dcb8SJim Quinlan - description: builtin MSI controller 310956dcb8SJim Quinlan 320956dcb8SJim Quinlan interrupt-names: 330956dcb8SJim Quinlan minItems: 1 340956dcb8SJim Quinlan maxItems: 2 350956dcb8SJim Quinlan items: 360956dcb8SJim Quinlan - const: pcie 370956dcb8SJim Quinlan - const: msi 380956dcb8SJim Quinlan 390956dcb8SJim Quinlan ranges: 40*e6f98b29SJim Quinlan minItems: 1 41*e6f98b29SJim Quinlan maxItems: 4 420956dcb8SJim Quinlan 430956dcb8SJim Quinlan dma-ranges: 44*e6f98b29SJim Quinlan minItems: 1 45*e6f98b29SJim Quinlan maxItems: 6 460956dcb8SJim Quinlan 470956dcb8SJim Quinlan clocks: 480956dcb8SJim Quinlan maxItems: 1 490956dcb8SJim Quinlan 500956dcb8SJim Quinlan clock-names: 510956dcb8SJim Quinlan items: 520956dcb8SJim Quinlan - const: sw_pcie 530956dcb8SJim Quinlan 540956dcb8SJim Quinlan msi-controller: 550956dcb8SJim Quinlan description: Identifies the node as an MSI controller. 560956dcb8SJim Quinlan 570956dcb8SJim Quinlan msi-parent: 580956dcb8SJim Quinlan description: MSI controller the device is capable of using. 590956dcb8SJim Quinlan 600956dcb8SJim Quinlan brcm,enable-ssc: 610956dcb8SJim Quinlan description: Indicates usage of spread-spectrum clocking. 620956dcb8SJim Quinlan type: boolean 630956dcb8SJim Quinlan 64420c517bSJim Quinlan aspm-no-l0s: true 65420c517bSJim Quinlan 66*e6f98b29SJim Quinlan resets: 67*e6f98b29SJim Quinlan description: for "brcm,bcm7216-pcie", must be a valid reset 68*e6f98b29SJim Quinlan phandle pointing to the RESCAL reset controller provider node. 69*e6f98b29SJim Quinlan $ref: "/schemas/types.yaml#/definitions/phandle" 70*e6f98b29SJim Quinlan 71*e6f98b29SJim Quinlan reset-names: 72*e6f98b29SJim Quinlan items: 73*e6f98b29SJim Quinlan - const: rescal 74*e6f98b29SJim Quinlan 75*e6f98b29SJim Quinlan brcm,scb-sizes: 76*e6f98b29SJim Quinlan description: u64 giving the 64bit PCIe memory 77*e6f98b29SJim Quinlan viewport size of a memory controller. There may be up to 78*e6f98b29SJim Quinlan three controllers, and each size must be a power of two 79*e6f98b29SJim Quinlan with a size greater or equal to the amount of memory the 80*e6f98b29SJim Quinlan controller supports. Note that each memory controller 81*e6f98b29SJim Quinlan may have two component regions -- base and extended -- so 82*e6f98b29SJim Quinlan this information cannot be deduced from the dma-ranges. 83*e6f98b29SJim Quinlan $ref: /schemas/types.yaml#/definitions/uint64-array 84*e6f98b29SJim Quinlan items: 85*e6f98b29SJim Quinlan minItems: 1 86*e6f98b29SJim Quinlan maxItems: 3 87*e6f98b29SJim Quinlan 880956dcb8SJim Quinlanrequired: 890956dcb8SJim Quinlan - reg 90*e6f98b29SJim Quinlan - ranges 910956dcb8SJim Quinlan - dma-ranges 920956dcb8SJim Quinlan - "#interrupt-cells" 930956dcb8SJim Quinlan - interrupts 940956dcb8SJim Quinlan - interrupt-names 950956dcb8SJim Quinlan - interrupt-map-mask 960956dcb8SJim Quinlan - interrupt-map 970956dcb8SJim Quinlan - msi-controller 980956dcb8SJim Quinlan 99*e6f98b29SJim QuinlanallOf: 100*e6f98b29SJim Quinlan - $ref: /schemas/pci/pci-bus.yaml# 101*e6f98b29SJim Quinlan - if: 102*e6f98b29SJim Quinlan properties: 103*e6f98b29SJim Quinlan compatible: 104*e6f98b29SJim Quinlan contains: 105*e6f98b29SJim Quinlan const: brcm,bcm7216-pcie 106*e6f98b29SJim Quinlan then: 107*e6f98b29SJim Quinlan required: 108*e6f98b29SJim Quinlan - resets 109*e6f98b29SJim Quinlan - reset-names 110*e6f98b29SJim Quinlan 1110956dcb8SJim QuinlanunevaluatedProperties: false 1120956dcb8SJim Quinlan 1130956dcb8SJim Quinlanexamples: 1140956dcb8SJim Quinlan - | 1150956dcb8SJim Quinlan #include <dt-bindings/interrupt-controller/irq.h> 1160956dcb8SJim Quinlan #include <dt-bindings/interrupt-controller/arm-gic.h> 1170956dcb8SJim Quinlan 1180956dcb8SJim Quinlan scb { 1190956dcb8SJim Quinlan #address-cells = <2>; 1200956dcb8SJim Quinlan #size-cells = <1>; 1210956dcb8SJim Quinlan pcie0: pcie@7d500000 { 1220956dcb8SJim Quinlan compatible = "brcm,bcm2711-pcie"; 1230956dcb8SJim Quinlan reg = <0x0 0x7d500000 0x9310>; 1240956dcb8SJim Quinlan device_type = "pci"; 1250956dcb8SJim Quinlan #address-cells = <3>; 1260956dcb8SJim Quinlan #size-cells = <2>; 1270956dcb8SJim Quinlan #interrupt-cells = <1>; 1280956dcb8SJim Quinlan interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, 1290956dcb8SJim Quinlan <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 1300956dcb8SJim Quinlan interrupt-names = "pcie", "msi"; 1310956dcb8SJim Quinlan interrupt-map-mask = <0x0 0x0 0x0 0x7>; 1320956dcb8SJim Quinlan interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 1330956dcb8SJim Quinlan msi-parent = <&pcie0>; 1340956dcb8SJim Quinlan msi-controller; 1350956dcb8SJim Quinlan ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; 136*e6f98b29SJim Quinlan dma-ranges = <0x42000000 0x1 0x00000000 0x0 0x40000000 0x0 0x80000000>, 137*e6f98b29SJim Quinlan <0x42000000 0x1 0x80000000 0x3 0x00000000 0x0 0x80000000>; 1380956dcb8SJim Quinlan brcm,enable-ssc; 139*e6f98b29SJim Quinlan brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>; 1400956dcb8SJim Quinlan }; 1410956dcb8SJim Quinlan }; 142