xref: /linux/Documentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml (revision 0bd0a41a5120f78685a132834865b0a631b9026a)
1*5c2796adSRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5c2796adSRob Herring (Arm)# Copyright 2025 Axis AB
3*5c2796adSRob Herring (Arm)%YAML 1.2
4*5c2796adSRob Herring (Arm)---
5*5c2796adSRob Herring (Arm)$id: http://devicetree.org/schemas/pci/axis,artpec6-pcie.yaml#
6*5c2796adSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
7*5c2796adSRob Herring (Arm)
8*5c2796adSRob Herring (Arm)title: Axis ARTPEC-6 PCIe host controller
9*5c2796adSRob Herring (Arm)
10*5c2796adSRob Herring (Arm)maintainers:
11*5c2796adSRob Herring (Arm)  - Jesper Nilsson <jesper.nilsson@axis.com>
12*5c2796adSRob Herring (Arm)
13*5c2796adSRob Herring (Arm)description:
14*5c2796adSRob Herring (Arm)  This PCIe host controller is based on the Synopsys DesignWare PCIe IP.
15*5c2796adSRob Herring (Arm)
16*5c2796adSRob Herring (Arm)select:
17*5c2796adSRob Herring (Arm)  properties:
18*5c2796adSRob Herring (Arm)    compatible:
19*5c2796adSRob Herring (Arm)      contains:
20*5c2796adSRob Herring (Arm)        enum:
21*5c2796adSRob Herring (Arm)          - axis,artpec6-pcie
22*5c2796adSRob Herring (Arm)          - axis,artpec6-pcie-ep
23*5c2796adSRob Herring (Arm)          - axis,artpec7-pcie
24*5c2796adSRob Herring (Arm)          - axis,artpec7-pcie-ep
25*5c2796adSRob Herring (Arm)  required:
26*5c2796adSRob Herring (Arm)    - compatible
27*5c2796adSRob Herring (Arm)
28*5c2796adSRob Herring (Arm)properties:
29*5c2796adSRob Herring (Arm)  compatible:
30*5c2796adSRob Herring (Arm)    items:
31*5c2796adSRob Herring (Arm)      - enum:
32*5c2796adSRob Herring (Arm)          - axis,artpec6-pcie
33*5c2796adSRob Herring (Arm)          - axis,artpec6-pcie-ep
34*5c2796adSRob Herring (Arm)          - axis,artpec7-pcie
35*5c2796adSRob Herring (Arm)          - axis,artpec7-pcie-ep
36*5c2796adSRob Herring (Arm)      - const: snps,dw-pcie
37*5c2796adSRob Herring (Arm)
38*5c2796adSRob Herring (Arm)  reg:
39*5c2796adSRob Herring (Arm)    minItems: 3
40*5c2796adSRob Herring (Arm)    maxItems: 4
41*5c2796adSRob Herring (Arm)
42*5c2796adSRob Herring (Arm)  reg-names:
43*5c2796adSRob Herring (Arm)    minItems: 3
44*5c2796adSRob Herring (Arm)    maxItems: 4
45*5c2796adSRob Herring (Arm)
46*5c2796adSRob Herring (Arm)  interrupts:
47*5c2796adSRob Herring (Arm)    maxItems: 1
48*5c2796adSRob Herring (Arm)
49*5c2796adSRob Herring (Arm)  interrupt-names:
50*5c2796adSRob Herring (Arm)    items:
51*5c2796adSRob Herring (Arm)      - const: msi
52*5c2796adSRob Herring (Arm)
53*5c2796adSRob Herring (Arm)  axis,syscon-pcie:
54*5c2796adSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle
55*5c2796adSRob Herring (Arm)    description:
56*5c2796adSRob Herring (Arm)      System controller phandle used to enable and control the Synopsys IP.
57*5c2796adSRob Herring (Arm)
58*5c2796adSRob Herring (Arm)required:
59*5c2796adSRob Herring (Arm)  - compatible
60*5c2796adSRob Herring (Arm)  - reg
61*5c2796adSRob Herring (Arm)  - reg-names
62*5c2796adSRob Herring (Arm)  - interrupts
63*5c2796adSRob Herring (Arm)  - interrupt-names
64*5c2796adSRob Herring (Arm)  - axis,syscon-pcie
65*5c2796adSRob Herring (Arm)
66*5c2796adSRob Herring (Arm)oneOf:
67*5c2796adSRob Herring (Arm)  - $ref: snps,dw-pcie.yaml#
68*5c2796adSRob Herring (Arm)    properties:
69*5c2796adSRob Herring (Arm)      reg:
70*5c2796adSRob Herring (Arm)        maxItems: 3
71*5c2796adSRob Herring (Arm)
72*5c2796adSRob Herring (Arm)      reg-names:
73*5c2796adSRob Herring (Arm)        items:
74*5c2796adSRob Herring (Arm)          - const: dbi
75*5c2796adSRob Herring (Arm)          - const: phy
76*5c2796adSRob Herring (Arm)          - const: config
77*5c2796adSRob Herring (Arm)
78*5c2796adSRob Herring (Arm)  - $ref: snps,dw-pcie-ep.yaml#
79*5c2796adSRob Herring (Arm)    properties:
80*5c2796adSRob Herring (Arm)      reg:
81*5c2796adSRob Herring (Arm)        minItems: 4
82*5c2796adSRob Herring (Arm)
83*5c2796adSRob Herring (Arm)      reg-names:
84*5c2796adSRob Herring (Arm)        items:
85*5c2796adSRob Herring (Arm)          - const: dbi
86*5c2796adSRob Herring (Arm)          - const: dbi2
87*5c2796adSRob Herring (Arm)          - const: phy
88*5c2796adSRob Herring (Arm)          - const: addr_space
89*5c2796adSRob Herring (Arm)
90*5c2796adSRob Herring (Arm)unevaluatedProperties: false
91*5c2796adSRob Herring (Arm)
92*5c2796adSRob Herring (Arm)examples:
93*5c2796adSRob Herring (Arm)  - |
94*5c2796adSRob Herring (Arm)    #include <dt-bindings/interrupt-controller/arm-gic.h>
95*5c2796adSRob Herring (Arm)
96*5c2796adSRob Herring (Arm)    pcie@f8050000 {
97*5c2796adSRob Herring (Arm)        compatible = "axis,artpec6-pcie", "snps,dw-pcie";
98*5c2796adSRob Herring (Arm)        device_type = "pci";
99*5c2796adSRob Herring (Arm)        reg = <0xf8050000 0x2000
100*5c2796adSRob Herring (Arm)              0xf8040000 0x1000
101*5c2796adSRob Herring (Arm)              0xc0000000 0x2000>;
102*5c2796adSRob Herring (Arm)        reg-names = "dbi", "phy", "config";
103*5c2796adSRob Herring (Arm)        #address-cells = <3>;
104*5c2796adSRob Herring (Arm)        #size-cells = <2>;
105*5c2796adSRob Herring (Arm)        ranges = <0x81000000 0 0 0xc0002000 0 0x00010000>,
106*5c2796adSRob Herring (Arm)                 <0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000>;
107*5c2796adSRob Herring (Arm)        num-lanes = <2>;
108*5c2796adSRob Herring (Arm)        bus-range = <0x00 0xff>;
109*5c2796adSRob Herring (Arm)        interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
110*5c2796adSRob Herring (Arm)        interrupt-names = "msi";
111*5c2796adSRob Herring (Arm)        #interrupt-cells = <1>;
112*5c2796adSRob Herring (Arm)        interrupt-map-mask = <0 0 0 0x7>;
113*5c2796adSRob Herring (Arm)        interrupt-map = <0 0 0 1 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
114*5c2796adSRob Herring (Arm)                        <0 0 0 2 &intc GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
115*5c2796adSRob Herring (Arm)                        <0 0 0 3 &intc GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
116*5c2796adSRob Herring (Arm)                        <0 0 0 4 &intc GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
117*5c2796adSRob Herring (Arm)        axis,syscon-pcie = <&syscon>;
118*5c2796adSRob Herring (Arm)    };
119