Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/pci/microchip,pcie-host.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Microchip PCIe Root Port Bridge Controller Device Tree Bindings
0008 
0009 maintainers:
0010   - Daire McNamara <daire.mcnamara@microchip.com>
0011 
0012 allOf:
0013   - $ref: /schemas/pci/pci-bus.yaml#
0014   - $ref: /schemas/interrupt-controller/msi-controller.yaml#
0015 
0016 properties:
0017   compatible:
0018     const: microchip,pcie-host-1.0 # PolarFire
0019 
0020   reg:
0021     maxItems: 2
0022 
0023   reg-names:
0024     items:
0025       - const: cfg
0026       - const: apb
0027 
0028   interrupts:
0029     minItems: 1
0030     items:
0031       - description: PCIe host controller
0032       - description: builtin MSI controller
0033 
0034   interrupt-names:
0035     minItems: 1
0036     items:
0037       - const: pcie
0038       - const: msi
0039 
0040   ranges:
0041     maxItems: 1
0042 
0043   msi-controller:
0044     description: Identifies the node as an MSI controller.
0045 
0046   msi-parent:
0047     description: MSI controller the device is capable of using.
0048 
0049   interrupt-controller:
0050     type: object
0051     properties:
0052       '#address-cells':
0053         const: 0
0054 
0055       '#interrupt-cells':
0056         const: 1
0057 
0058       interrupt-controller: true
0059 
0060     required:
0061       - '#address-cells'
0062       - '#interrupt-cells'
0063       - interrupt-controller
0064 
0065     additionalProperties: false
0066 
0067 required:
0068   - reg
0069   - reg-names
0070   - "#interrupt-cells"
0071   - interrupts
0072   - interrupt-map-mask
0073   - interrupt-map
0074   - msi-controller
0075 
0076 unevaluatedProperties: false
0077 
0078 examples:
0079   - |
0080     soc {
0081             #address-cells = <2>;
0082             #size-cells = <2>;
0083             pcie0: pcie@2030000000 {
0084                     compatible = "microchip,pcie-host-1.0";
0085                     reg = <0x0 0x70000000 0x0 0x08000000>,
0086                           <0x0 0x43000000 0x0 0x00010000>;
0087                     reg-names = "cfg", "apb";
0088                     device_type = "pci";
0089                     #address-cells = <3>;
0090                     #size-cells = <2>;
0091                     #interrupt-cells = <1>;
0092                     interrupts = <119>;
0093                     interrupt-map-mask = <0x0 0x0 0x0 0x7>;
0094                     interrupt-map = <0 0 0 1 &pcie_intc0 0>,
0095                                     <0 0 0 2 &pcie_intc0 1>,
0096                                     <0 0 0 3 &pcie_intc0 2>,
0097                                     <0 0 0 4 &pcie_intc0 3>;
0098                     interrupt-parent = <&plic0>;
0099                     msi-parent = <&pcie0>;
0100                     msi-controller;
0101                     bus-range = <0x00 0x7f>;
0102                     ranges = <0x03000000 0x0 0x78000000 0x0 0x78000000 0x0 0x04000000>;
0103                     pcie_intc0: interrupt-controller {
0104                         #address-cells = <0>;
0105                         #interrupt-cells = <1>;
0106                         interrupt-controller;
0107                     };
0108             };
0109     };