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: 14e6f98b29SJim Quinlan items: 15e6f98b29SJim Quinlan - enum: 16e6f98b29SJim Quinlan - brcm,bcm2711-pcie # The Raspberry Pi 4 17e6f98b29SJim Quinlan - brcm,bcm7211-pcie # Broadcom STB version of RPi4 18e6f98b29SJim Quinlan - brcm,bcm7278-pcie # Broadcom 7278 Arm 19e6f98b29SJim Quinlan - brcm,bcm7216-pcie # Broadcom 7216 Arm 20e6f98b29SJim 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: 40e6f98b29SJim Quinlan minItems: 1 41e6f98b29SJim Quinlan maxItems: 4 420956dcb8SJim Quinlan 430956dcb8SJim Quinlan dma-ranges: 44e6f98b29SJim Quinlan minItems: 1 45e6f98b29SJim 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 66e6f98b29SJim Quinlan resets: 67e6f98b29SJim Quinlan description: for "brcm,bcm7216-pcie", must be a valid reset 68e6f98b29SJim Quinlan phandle pointing to the RESCAL reset controller provider node. 69e6f98b29SJim Quinlan $ref: "/schemas/types.yaml#/definitions/phandle" 70e6f98b29SJim Quinlan 71e6f98b29SJim Quinlan reset-names: 72e6f98b29SJim Quinlan items: 73e6f98b29SJim Quinlan - const: rescal 74e6f98b29SJim Quinlan 75e6f98b29SJim Quinlan brcm,scb-sizes: 76e6f98b29SJim Quinlan description: u64 giving the 64bit PCIe memory 77e6f98b29SJim Quinlan viewport size of a memory controller. There may be up to 78e6f98b29SJim Quinlan three controllers, and each size must be a power of two 79e6f98b29SJim Quinlan with a size greater or equal to the amount of memory the 80e6f98b29SJim Quinlan controller supports. Note that each memory controller 81e6f98b29SJim Quinlan may have two component regions -- base and extended -- so 82e6f98b29SJim Quinlan this information cannot be deduced from the dma-ranges. 83e6f98b29SJim Quinlan $ref: /schemas/types.yaml#/definitions/uint64-array 84e6f98b29SJim Quinlan items: 85e6f98b29SJim Quinlan minItems: 1 86e6f98b29SJim Quinlan maxItems: 3 87e6f98b29SJim Quinlan 880956dcb8SJim Quinlanrequired: 890956dcb8SJim Quinlan - reg 90e6f98b29SJim 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 99e6f98b29SJim QuinlanallOf: 100e6f98b29SJim Quinlan - $ref: /schemas/pci/pci-bus.yaml# 101e6f98b29SJim Quinlan - if: 102e6f98b29SJim Quinlan properties: 103e6f98b29SJim Quinlan compatible: 104e6f98b29SJim Quinlan contains: 105e6f98b29SJim Quinlan const: brcm,bcm7216-pcie 106e6f98b29SJim Quinlan then: 107e6f98b29SJim Quinlan required: 108e6f98b29SJim Quinlan - resets 109e6f98b29SJim Quinlan - reset-names 110e6f98b29SJim 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>; 136e6f98b29SJim Quinlan dma-ranges = <0x42000000 0x1 0x00000000 0x0 0x40000000 0x0 0x80000000>, 137e6f98b29SJim Quinlan <0x42000000 0x1 0x80000000 0x3 0x00000000 0x0 0x80000000>; 1380956dcb8SJim Quinlan brcm,enable-ssc; 139e6f98b29SJim Quinlan brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>; 1400956dcb8SJim Quinlan }; 1410956dcb8SJim Quinlan }; 142