15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/microchip,pcie-host.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Microchip PCIe Root Port Bridge Controller 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Daire McNamara <daire.mcnamara@microchip.com> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel VadotallOf: 13*0e8011faSEmmanuel Vadot - $ref: plda,xpressrich3-axi-common.yaml# 148cc087a1SEmmanuel Vadot - $ref: /schemas/interrupt-controller/msi-controller.yaml# 155def4c47SEmmanuel Vadot 165def4c47SEmmanuel Vadotproperties: 175def4c47SEmmanuel Vadot compatible: 185def4c47SEmmanuel Vadot const: microchip,pcie-host-1.0 # PolarFire 195def4c47SEmmanuel Vadot 207ef62cebSEmmanuel Vadot clocks: 217ef62cebSEmmanuel Vadot description: 227ef62cebSEmmanuel Vadot Fabric Interface Controllers, FICs, are the interface between the FPGA 237ef62cebSEmmanuel Vadot fabric and the core complex on PolarFire SoC. The FICs require two clocks, 247ef62cebSEmmanuel Vadot one from each side of the interface. The "FIC clocks" described by this 257ef62cebSEmmanuel Vadot property are on the core complex side & communication through a FIC is not 267ef62cebSEmmanuel Vadot possible unless it's corresponding clock is enabled. A clock must be 277ef62cebSEmmanuel Vadot enabled for each of the interfaces the root port is connected through. 287ef62cebSEmmanuel Vadot This could in theory be all 4 interfaces, one interface or any combination 297ef62cebSEmmanuel Vadot in between. 307ef62cebSEmmanuel Vadot minItems: 1 317ef62cebSEmmanuel Vadot items: 327ef62cebSEmmanuel Vadot - description: FIC0's clock 337ef62cebSEmmanuel Vadot - description: FIC1's clock 347ef62cebSEmmanuel Vadot - description: FIC2's clock 357ef62cebSEmmanuel Vadot - description: FIC3's clock 367ef62cebSEmmanuel Vadot 377ef62cebSEmmanuel Vadot clock-names: 387ef62cebSEmmanuel Vadot description: 397ef62cebSEmmanuel Vadot As any FIC connection combination is possible, the names should match the 407ef62cebSEmmanuel Vadot order in the clocks property and take the form "ficN" where N is a number 417ef62cebSEmmanuel Vadot 0-3 427ef62cebSEmmanuel Vadot minItems: 1 437ef62cebSEmmanuel Vadot maxItems: 4 447ef62cebSEmmanuel Vadot items: 457ef62cebSEmmanuel Vadot pattern: '^fic[0-3]$' 467ef62cebSEmmanuel Vadot 475def4c47SEmmanuel Vadot ranges: 487d0873ebSEmmanuel Vadot minItems: 1 497d0873ebSEmmanuel Vadot maxItems: 3 505def4c47SEmmanuel Vadot 517ef62cebSEmmanuel Vadot dma-ranges: 527ef62cebSEmmanuel Vadot minItems: 1 537ef62cebSEmmanuel Vadot maxItems: 6 547ef62cebSEmmanuel Vadot 555def4c47SEmmanuel VadotunevaluatedProperties: false 565def4c47SEmmanuel Vadot 575def4c47SEmmanuel Vadotexamples: 585def4c47SEmmanuel Vadot - | 595def4c47SEmmanuel Vadot soc { 605def4c47SEmmanuel Vadot #address-cells = <2>; 615def4c47SEmmanuel Vadot #size-cells = <2>; 625def4c47SEmmanuel Vadot pcie0: pcie@2030000000 { 635def4c47SEmmanuel Vadot compatible = "microchip,pcie-host-1.0"; 645def4c47SEmmanuel Vadot reg = <0x0 0x70000000 0x0 0x08000000>, 655def4c47SEmmanuel Vadot <0x0 0x43000000 0x0 0x00010000>; 665def4c47SEmmanuel Vadot reg-names = "cfg", "apb"; 675def4c47SEmmanuel Vadot device_type = "pci"; 685def4c47SEmmanuel Vadot #address-cells = <3>; 695def4c47SEmmanuel Vadot #size-cells = <2>; 705def4c47SEmmanuel Vadot #interrupt-cells = <1>; 715def4c47SEmmanuel Vadot interrupts = <119>; 725def4c47SEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 735def4c47SEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc0 0>, 745def4c47SEmmanuel Vadot <0 0 0 2 &pcie_intc0 1>, 755def4c47SEmmanuel Vadot <0 0 0 3 &pcie_intc0 2>, 765def4c47SEmmanuel Vadot <0 0 0 4 &pcie_intc0 3>; 775def4c47SEmmanuel Vadot interrupt-parent = <&plic0>; 785def4c47SEmmanuel Vadot msi-parent = <&pcie0>; 795def4c47SEmmanuel Vadot msi-controller; 805def4c47SEmmanuel Vadot bus-range = <0x00 0x7f>; 815def4c47SEmmanuel Vadot ranges = <0x03000000 0x0 0x78000000 0x0 0x78000000 0x0 0x04000000>; 825def4c47SEmmanuel Vadot pcie_intc0: interrupt-controller { 835def4c47SEmmanuel Vadot #address-cells = <0>; 845def4c47SEmmanuel Vadot #interrupt-cells = <1>; 855def4c47SEmmanuel Vadot interrupt-controller; 865def4c47SEmmanuel Vadot }; 875def4c47SEmmanuel Vadot }; 885def4c47SEmmanuel Vadot }; 89