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/socionext,uniphier-pcie.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Socionext UniPhier PCIe host controller
0008 
0009 description: |
0010   UniPhier PCIe host controller is based on the Synopsys DesignWare
0011   PCI core. It shares common features with the PCIe DesignWare core and
0012   inherits common properties defined in
0013   Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml.
0014 
0015 maintainers:
0016   - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
0017 
0018 allOf:
0019   - $ref: /schemas/pci/snps,dw-pcie.yaml#
0020 
0021 properties:
0022   compatible:
0023     enum:
0024       - socionext,uniphier-pcie
0025 
0026   reg:
0027     minItems: 3
0028     maxItems: 4
0029 
0030   reg-names:
0031     minItems: 3
0032     items:
0033       - const: dbi
0034       - const: link
0035       - const: config
0036       - const: atu
0037 
0038   clocks:
0039     maxItems: 1
0040 
0041   resets:
0042     maxItems: 1
0043 
0044   num-viewport: true
0045 
0046   num-lanes: true
0047 
0048   phys:
0049     maxItems: 1
0050 
0051   phy-names:
0052     const: pcie-phy
0053 
0054   interrupt-controller:
0055     type: object
0056     additionalProperties: false
0057 
0058     properties:
0059       interrupt-controller: true
0060 
0061       '#interrupt-cells':
0062         const: 1
0063 
0064       interrupts:
0065         maxItems: 1
0066 
0067 required:
0068   - compatible
0069   - reg
0070   - reg-names
0071   - clocks
0072   - resets
0073 
0074 unevaluatedProperties: false
0075 
0076 examples:
0077   - |
0078     bus {
0079         gic: interrupt-controller {
0080             interrupt-controller;
0081             #interrupt-cells = <3>;
0082         };
0083     };
0084 
0085     pcie: pcie@66000000 {
0086         compatible = "socionext,uniphier-pcie";
0087         reg-names = "dbi", "link", "config";
0088         reg = <0x66000000 0x1000>, <0x66010000 0x10000>, <0x2fff0000 0x10000>;
0089         #address-cells = <3>;
0090         #size-cells = <2>;
0091         clocks = <&sys_clk 24>;
0092         resets = <&sys_rst 24>;
0093         num-lanes = <1>;
0094         num-viewport = <1>;
0095         bus-range = <0x0 0xff>;
0096         device_type = "pci";
0097         ranges = <0x81000000 0 0x00000000  0x2ffe0000  0 0x00010000>,
0098                  <0x82000000 0 0x00000000  0x20000000  0 0x0ffe0000>;
0099         phy-names = "pcie-phy";
0100         phys = <&pcie_phy>;
0101         #interrupt-cells = <1>;
0102         interrupt-names = "dma", "msi";
0103         interrupt-parent = <&gic>;
0104         interrupts = <0 224 4>, <0 225 4>;
0105         interrupt-map-mask = <0 0 0  7>;
0106         interrupt-map = <0 0 0  1  &pcie_intc 0>,
0107                         <0 0 0  2  &pcie_intc 1>,
0108                         <0 0 0  3  &pcie_intc 2>,
0109                         <0 0 0  4  &pcie_intc 3>;
0110 
0111         pcie_intc: interrupt-controller {
0112             interrupt-controller;
0113             #interrupt-cells = <1>;
0114             interrupt-parent = <&gic>;
0115             interrupts = <0 226 4>;
0116         };
0117     };