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/versatile.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: ARM Versatile Platform Baseboard PCI interface
0008 
0009 maintainers:
0010   - Rob Herring <robh@kernel.org>
0011 
0012 description: |+
0013   PCI host controller found on the ARM Versatile PB board's FPGA.
0014 
0015 allOf:
0016   - $ref: /schemas/pci/pci-bus.yaml#
0017 
0018 properties:
0019   compatible:
0020     const: arm,versatile-pci
0021 
0022   reg:
0023     items:
0024       - description: Versatile-specific registers
0025       - description: Self Config space
0026       - description: Config space
0027 
0028   ranges:
0029     maxItems: 3
0030 
0031   "#interrupt-cells": true
0032 
0033   interrupt-map:
0034     maxItems: 16
0035 
0036   interrupt-map-mask:
0037     items:
0038       - const: 0x1800
0039       - const: 0
0040       - const: 0
0041       - const: 7
0042 
0043 required:
0044   - compatible
0045   - reg
0046   - ranges
0047   - "#interrupt-cells"
0048   - interrupt-map
0049   - interrupt-map-mask
0050 
0051 unevaluatedProperties: false
0052 
0053 examples:
0054   - |
0055     pci@10001000 {
0056       compatible = "arm,versatile-pci";
0057       device_type = "pci";
0058       reg = <0x10001000 0x1000>,
0059             <0x41000000 0x10000>,
0060             <0x42000000 0x100000>;
0061       bus-range = <0 0xff>;
0062       #address-cells = <3>;
0063       #size-cells = <2>;
0064       #interrupt-cells = <1>;
0065 
0066       ranges =
0067           <0x01000000 0 0x00000000 0x43000000 0 0x00010000>,  /* downstream I/O */
0068           <0x02000000 0 0x50000000 0x50000000 0 0x10000000>,  /* non-prefetchable memory */
0069           <0x42000000 0 0x60000000 0x60000000 0 0x10000000>;  /* prefetchable memory */
0070 
0071       interrupt-map-mask = <0x1800 0 0 7>;
0072       interrupt-map = <0x1800 0 0 1 &sic 28>,
0073           <0x1800 0 0 2 &sic 29>,
0074           <0x1800 0 0 3 &sic 30>,
0075           <0x1800 0 0 4 &sic 27>,
0076 
0077           <0x1000 0 0 1 &sic 27>,
0078           <0x1000 0 0 2 &sic 28>,
0079           <0x1000 0 0 3 &sic 29>,
0080           <0x1000 0 0 4 &sic 30>,
0081 
0082           <0x0800 0 0 1 &sic 30>,
0083           <0x0800 0 0 2 &sic 27>,
0084           <0x0800 0 0 3 &sic 28>,
0085           <0x0800 0 0 4 &sic 29>,
0086 
0087           <0x0000 0 0 1 &sic 29>,
0088           <0x0000 0 0 2 &sic 30>,
0089           <0x0000 0 0 3 &sic 27>,
0090           <0x0000 0 0 4 &sic 28>;
0091     };
0092 
0093 
0094 ...