xref: /linux/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml (revision af7cda832f8a16c5fd4dffdff4ca43790f94d4e8)
1*af7cda83SSimon Xue# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*af7cda83SSimon Xue%YAML 1.2
3*af7cda83SSimon Xue---
4*af7cda83SSimon Xue$id: http://devicetree.org/schemas/pci/rockchip-dw-pcie.yaml#
5*af7cda83SSimon Xue$schema: http://devicetree.org/meta-schemas/core.yaml#
6*af7cda83SSimon Xue
7*af7cda83SSimon Xuetitle: DesignWare based PCIe controller on Rockchip SoCs
8*af7cda83SSimon Xue
9*af7cda83SSimon Xuemaintainers:
10*af7cda83SSimon Xue  - Shawn Lin <shawn.lin@rock-chips.com>
11*af7cda83SSimon Xue  - Simon Xue <xxm@rock-chips.com>
12*af7cda83SSimon Xue  - Heiko Stuebner <heiko@sntech.de>
13*af7cda83SSimon Xue
14*af7cda83SSimon Xuedescription: |+
15*af7cda83SSimon Xue  RK3568 SoC PCIe host controller is based on the Synopsys DesignWare
16*af7cda83SSimon Xue  PCIe IP and thus inherits all the common properties defined in
17*af7cda83SSimon Xue  designware-pcie.txt.
18*af7cda83SSimon Xue
19*af7cda83SSimon XueallOf:
20*af7cda83SSimon Xue  - $ref: /schemas/pci/pci-bus.yaml#
21*af7cda83SSimon Xue
22*af7cda83SSimon Xue# We need a select here so we don't match all nodes with 'snps,dw-pcie'
23*af7cda83SSimon Xueselect:
24*af7cda83SSimon Xue  properties:
25*af7cda83SSimon Xue    compatible:
26*af7cda83SSimon Xue      contains:
27*af7cda83SSimon Xue        const: rockchip,rk3568-pcie
28*af7cda83SSimon Xue  required:
29*af7cda83SSimon Xue    - compatible
30*af7cda83SSimon Xue
31*af7cda83SSimon Xueproperties:
32*af7cda83SSimon Xue  compatible:
33*af7cda83SSimon Xue    items:
34*af7cda83SSimon Xue      - const: rockchip,rk3568-pcie
35*af7cda83SSimon Xue      - const: snps,dw-pcie
36*af7cda83SSimon Xue
37*af7cda83SSimon Xue  reg:
38*af7cda83SSimon Xue    items:
39*af7cda83SSimon Xue      - description: Data Bus Interface (DBI) registers
40*af7cda83SSimon Xue      - description: Rockchip designed configuration registers
41*af7cda83SSimon Xue      - description: Config registers
42*af7cda83SSimon Xue
43*af7cda83SSimon Xue  reg-names:
44*af7cda83SSimon Xue    items:
45*af7cda83SSimon Xue      - const: dbi
46*af7cda83SSimon Xue      - const: apb
47*af7cda83SSimon Xue      - const: config
48*af7cda83SSimon Xue
49*af7cda83SSimon Xue  clocks:
50*af7cda83SSimon Xue    items:
51*af7cda83SSimon Xue      - description: AHB clock for PCIe master
52*af7cda83SSimon Xue      - description: AHB clock for PCIe slave
53*af7cda83SSimon Xue      - description: AHB clock for PCIe dbi
54*af7cda83SSimon Xue      - description: APB clock for PCIe
55*af7cda83SSimon Xue      - description: Auxiliary clock for PCIe
56*af7cda83SSimon Xue
57*af7cda83SSimon Xue  clock-names:
58*af7cda83SSimon Xue    items:
59*af7cda83SSimon Xue      - const: aclk_mst
60*af7cda83SSimon Xue      - const: aclk_slv
61*af7cda83SSimon Xue      - const: aclk_dbi
62*af7cda83SSimon Xue      - const: pclk
63*af7cda83SSimon Xue      - const: aux
64*af7cda83SSimon Xue
65*af7cda83SSimon Xue  msi-map: true
66*af7cda83SSimon Xue
67*af7cda83SSimon Xue  num-lanes: true
68*af7cda83SSimon Xue
69*af7cda83SSimon Xue  phys:
70*af7cda83SSimon Xue    maxItems: 1
71*af7cda83SSimon Xue
72*af7cda83SSimon Xue  phy-names:
73*af7cda83SSimon Xue    const: pcie-phy
74*af7cda83SSimon Xue
75*af7cda83SSimon Xue  power-domains:
76*af7cda83SSimon Xue    maxItems: 1
77*af7cda83SSimon Xue
78*af7cda83SSimon Xue  ranges:
79*af7cda83SSimon Xue    maxItems: 2
80*af7cda83SSimon Xue
81*af7cda83SSimon Xue  resets:
82*af7cda83SSimon Xue    maxItems: 1
83*af7cda83SSimon Xue
84*af7cda83SSimon Xue  reset-names:
85*af7cda83SSimon Xue    const: pipe
86*af7cda83SSimon Xue
87*af7cda83SSimon Xue  vpcie3v3-supply: true
88*af7cda83SSimon Xue
89*af7cda83SSimon Xuerequired:
90*af7cda83SSimon Xue  - compatible
91*af7cda83SSimon Xue  - reg
92*af7cda83SSimon Xue  - reg-names
93*af7cda83SSimon Xue  - clocks
94*af7cda83SSimon Xue  - clock-names
95*af7cda83SSimon Xue  - msi-map
96*af7cda83SSimon Xue  - num-lanes
97*af7cda83SSimon Xue  - phys
98*af7cda83SSimon Xue  - phy-names
99*af7cda83SSimon Xue  - power-domains
100*af7cda83SSimon Xue  - resets
101*af7cda83SSimon Xue  - reset-names
102*af7cda83SSimon Xue
103*af7cda83SSimon XueunevaluatedProperties: false
104*af7cda83SSimon Xue
105*af7cda83SSimon Xueexamples:
106*af7cda83SSimon Xue  - |
107*af7cda83SSimon Xue
108*af7cda83SSimon Xue    bus {
109*af7cda83SSimon Xue        #address-cells = <2>;
110*af7cda83SSimon Xue        #size-cells = <2>;
111*af7cda83SSimon Xue
112*af7cda83SSimon Xue        pcie3x2: pcie@fe280000 {
113*af7cda83SSimon Xue            compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
114*af7cda83SSimon Xue            reg = <0x3 0xc0800000 0x0 0x390000>,
115*af7cda83SSimon Xue                  <0x0 0xfe280000 0x0 0x10000>,
116*af7cda83SSimon Xue                  <0x3 0x80000000 0x0 0x100000>;
117*af7cda83SSimon Xue            reg-names = "dbi", "apb", "config";
118*af7cda83SSimon Xue            bus-range = <0x20 0x2f>;
119*af7cda83SSimon Xue            clocks = <&cru 143>, <&cru 144>,
120*af7cda83SSimon Xue                     <&cru 145>, <&cru 146>,
121*af7cda83SSimon Xue                     <&cru 147>;
122*af7cda83SSimon Xue            clock-names = "aclk_mst", "aclk_slv",
123*af7cda83SSimon Xue                          "aclk_dbi", "pclk",
124*af7cda83SSimon Xue                          "aux";
125*af7cda83SSimon Xue            device_type = "pci";
126*af7cda83SSimon Xue            linux,pci-domain = <2>;
127*af7cda83SSimon Xue            max-link-speed = <2>;
128*af7cda83SSimon Xue            msi-map = <0x2000 &its 0x2000 0x1000>;
129*af7cda83SSimon Xue            num-lanes = <2>;
130*af7cda83SSimon Xue            phys = <&pcie30phy>;
131*af7cda83SSimon Xue            phy-names = "pcie-phy";
132*af7cda83SSimon Xue            power-domains = <&power 15>;
133*af7cda83SSimon Xue            ranges = <0x81000000 0x0 0x80800000 0x3 0x80800000 0x0 0x100000>,
134*af7cda83SSimon Xue                     <0x83000000 0x0 0x80900000 0x3 0x80900000 0x0 0x3f700000>;
135*af7cda83SSimon Xue            resets = <&cru 193>;
136*af7cda83SSimon Xue            reset-names = "pipe";
137*af7cda83SSimon Xue            #address-cells = <3>;
138*af7cda83SSimon Xue            #size-cells = <2>;
139*af7cda83SSimon Xue        };
140*af7cda83SSimon Xue    };
141*af7cda83SSimon Xue...
142