xref: /linux/Documentation/devicetree/bindings/pci/ti,j721e-pci-host.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1431b53b8SKishon Vijay Abraham I# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2431b53b8SKishon Vijay Abraham I# Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
3431b53b8SKishon Vijay Abraham I%YAML 1.2
4431b53b8SKishon Vijay Abraham I---
5f5501623SRob Herring$id: http://devicetree.org/schemas/pci/ti,j721e-pci-host.yaml#
6f5501623SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
7431b53b8SKishon Vijay Abraham I
8431b53b8SKishon Vijay Abraham Ititle: TI J721E PCI Host (PCIe Wrapper)
9431b53b8SKishon Vijay Abraham I
10431b53b8SKishon Vijay Abraham Imaintainers:
11431b53b8SKishon Vijay Abraham I  - Kishon Vijay Abraham I <kishon@ti.com>
12431b53b8SKishon Vijay Abraham I
13431b53b8SKishon Vijay Abraham Iproperties:
14431b53b8SKishon Vijay Abraham I  compatible:
153f1f870cSKishon Vijay Abraham I    oneOf:
163201f355SKishon Vijay Abraham I      - const: ti,j721e-pcie-host
17adc14d44SMatt Ranostay      - const: ti,j784s4-pcie-host
183201f355SKishon Vijay Abraham I      - description: PCIe controller in AM64
193201f355SKishon Vijay Abraham I        items:
203201f355SKishon Vijay Abraham I          - const: ti,am64-pcie-host
213201f355SKishon Vijay Abraham I          - const: ti,j721e-pcie-host
223f1f870cSKishon Vijay Abraham I      - description: PCIe controller in J7200
233f1f870cSKishon Vijay Abraham I        items:
243f1f870cSKishon Vijay Abraham I          - const: ti,j7200-pcie-host
253f1f870cSKishon Vijay Abraham I          - const: ti,j721e-pcie-host
2601fec702SSiddharth Vadapalli      - description: PCIe controller in J722S
2701fec702SSiddharth Vadapalli        items:
2801fec702SSiddharth Vadapalli          - const: ti,j722s-pcie-host
2901fec702SSiddharth Vadapalli          - const: ti,j721e-pcie-host
30431b53b8SKishon Vijay Abraham I
31431b53b8SKishon Vijay Abraham I  reg:
32431b53b8SKishon Vijay Abraham I    maxItems: 4
33431b53b8SKishon Vijay Abraham I
34431b53b8SKishon Vijay Abraham I  reg-names:
35431b53b8SKishon Vijay Abraham I    items:
36431b53b8SKishon Vijay Abraham I      - const: intd_cfg
37431b53b8SKishon Vijay Abraham I      - const: user_cfg
38431b53b8SKishon Vijay Abraham I      - const: reg
39431b53b8SKishon Vijay Abraham I      - const: cfg
40431b53b8SKishon Vijay Abraham I
41*cb08c3a3SSiddharth Vadapalli  ti,syscon-acspcie-proxy-ctrl:
42*cb08c3a3SSiddharth Vadapalli    $ref: /schemas/types.yaml#/definitions/phandle-array
43*cb08c3a3SSiddharth Vadapalli    items:
44*cb08c3a3SSiddharth Vadapalli      - items:
45*cb08c3a3SSiddharth Vadapalli          - description: Phandle to the ACSPCIE Proxy Control Register
46*cb08c3a3SSiddharth Vadapalli          - description: Bitmask corresponding to the PAD IO Buffer
47*cb08c3a3SSiddharth Vadapalli                         output enable fields (Active Low).
48*cb08c3a3SSiddharth Vadapalli    description: Specifier for enabling the ACSPCIE PAD outputs to drive
49*cb08c3a3SSiddharth Vadapalli                 the reference clock to the Endpoint device.
50*cb08c3a3SSiddharth Vadapalli
51431b53b8SKishon Vijay Abraham I  ti,syscon-pcie-ctrl:
52b6c81be9SKishon Vijay Abraham I    $ref: /schemas/types.yaml#/definitions/phandle-array
53b6c81be9SKishon Vijay Abraham I    items:
54b6c81be9SKishon Vijay Abraham I      - items:
55b6c81be9SKishon Vijay Abraham I          - description: Phandle to the SYSCON entry
56b6c81be9SKishon Vijay Abraham I          - description: pcie_ctrl register offset within SYSCON
57b6c81be9SKishon Vijay Abraham I    description: Specifier for configuring PCIe mode and link speed.
58431b53b8SKishon Vijay Abraham I
59431b53b8SKishon Vijay Abraham I  power-domains:
60431b53b8SKishon Vijay Abraham I    maxItems: 1
61431b53b8SKishon Vijay Abraham I
62431b53b8SKishon Vijay Abraham I  clocks:
63f9875d1aSKishon Vijay Abraham I    minItems: 1
64f9875d1aSKishon Vijay Abraham I    maxItems: 2
65f9875d1aSKishon Vijay Abraham I    description: |+
66f9875d1aSKishon Vijay Abraham I      clock-specifier to represent input to the PCIe for 1 item.
67f9875d1aSKishon Vijay Abraham I      2nd item if present represents reference clock to the connector.
68431b53b8SKishon Vijay Abraham I
69431b53b8SKishon Vijay Abraham I  clock-names:
70f9875d1aSKishon Vijay Abraham I    minItems: 1
71431b53b8SKishon Vijay Abraham I    items:
72431b53b8SKishon Vijay Abraham I      - const: fck
73f9875d1aSKishon Vijay Abraham I      - const: pcie_refclk
74431b53b8SKishon Vijay Abraham I
75dcd49679SRob Herring  dma-coherent: true
76dcd49679SRob Herring
77431b53b8SKishon Vijay Abraham I  vendor-id:
78431b53b8SKishon Vijay Abraham I    const: 0x104c
79431b53b8SKishon Vijay Abraham I
80431b53b8SKishon Vijay Abraham I  device-id:
8192ec34feSRob Herring    enum:
8292ec34feSRob Herring      - 0xb00d
8392ec34feSRob Herring      - 0xb00f
8492ec34feSRob Herring      - 0xb010
85b7a791b2SSiddharth Vadapalli      - 0xb012
8692ec34feSRob Herring      - 0xb013
87431b53b8SKishon Vijay Abraham I
88431b53b8SKishon Vijay Abraham I  msi-map: true
89431b53b8SKishon Vijay Abraham I
90598418e6SMatt Ranostay  interrupts:
91598418e6SMatt Ranostay    maxItems: 1
92598418e6SMatt Ranostay
93598418e6SMatt Ranostay  interrupt-names:
94598418e6SMatt Ranostay    items:
95598418e6SMatt Ranostay      - const: link_state
96598418e6SMatt Ranostay
97ba4ff1cbSMatt Ranostay  interrupt-controller:
98ba4ff1cbSMatt Ranostay    type: object
99ba4ff1cbSMatt Ranostay    additionalProperties: false
100ba4ff1cbSMatt Ranostay
101ba4ff1cbSMatt Ranostay    properties:
102ba4ff1cbSMatt Ranostay      interrupt-controller: true
103ba4ff1cbSMatt Ranostay
104ba4ff1cbSMatt Ranostay      '#interrupt-cells':
105ba4ff1cbSMatt Ranostay        const: 1
106ba4ff1cbSMatt Ranostay
107ba4ff1cbSMatt Ranostay      interrupts:
108ba4ff1cbSMatt Ranostay        maxItems: 1
109ba4ff1cbSMatt Ranostay
110b3ba0f6eSMatt RanostayallOf:
111b3ba0f6eSMatt Ranostay  - $ref: cdns-pcie-host.yaml#
112b3ba0f6eSMatt Ranostay  - if:
113b3ba0f6eSMatt Ranostay      properties:
114b3ba0f6eSMatt Ranostay        compatible:
115b3ba0f6eSMatt Ranostay          enum:
116b3ba0f6eSMatt Ranostay            - ti,am64-pcie-host
117b3ba0f6eSMatt Ranostay    then:
118b3ba0f6eSMatt Ranostay      properties:
119b3ba0f6eSMatt Ranostay        num-lanes:
120b3ba0f6eSMatt Ranostay          const: 1
121b3ba0f6eSMatt Ranostay
122b3ba0f6eSMatt Ranostay  - if:
123b3ba0f6eSMatt Ranostay      properties:
124b3ba0f6eSMatt Ranostay        compatible:
125b3ba0f6eSMatt Ranostay          enum:
126b3ba0f6eSMatt Ranostay            - ti,j7200-pcie-host
127b3ba0f6eSMatt Ranostay            - ti,j721e-pcie-host
128b3ba0f6eSMatt Ranostay    then:
129b3ba0f6eSMatt Ranostay      properties:
130b3ba0f6eSMatt Ranostay        num-lanes:
131b3ba0f6eSMatt Ranostay          minimum: 1
132b3ba0f6eSMatt Ranostay          maximum: 2
133b3ba0f6eSMatt Ranostay
134adc14d44SMatt Ranostay  - if:
135adc14d44SMatt Ranostay      properties:
136adc14d44SMatt Ranostay        compatible:
137adc14d44SMatt Ranostay          enum:
138adc14d44SMatt Ranostay            - ti,j784s4-pcie-host
139adc14d44SMatt Ranostay    then:
140adc14d44SMatt Ranostay      properties:
141adc14d44SMatt Ranostay        num-lanes:
142adc14d44SMatt Ranostay          minimum: 1
143adc14d44SMatt Ranostay          maximum: 4
144adc14d44SMatt Ranostay
145431b53b8SKishon Vijay Abraham Irequired:
146431b53b8SKishon Vijay Abraham I  - compatible
147431b53b8SKishon Vijay Abraham I  - reg
148431b53b8SKishon Vijay Abraham I  - reg-names
149431b53b8SKishon Vijay Abraham I  - ti,syscon-pcie-ctrl
150431b53b8SKishon Vijay Abraham I  - max-link-speed
151431b53b8SKishon Vijay Abraham I  - num-lanes
152431b53b8SKishon Vijay Abraham I  - power-domains
153431b53b8SKishon Vijay Abraham I  - clocks
154431b53b8SKishon Vijay Abraham I  - clock-names
155431b53b8SKishon Vijay Abraham I  - vendor-id
156431b53b8SKishon Vijay Abraham I  - device-id
157431b53b8SKishon Vijay Abraham I  - msi-map
158431b53b8SKishon Vijay Abraham I  - dma-ranges
159431b53b8SKishon Vijay Abraham I  - ranges
160431b53b8SKishon Vijay Abraham I  - reset-gpios
161431b53b8SKishon Vijay Abraham I  - phys
162431b53b8SKishon Vijay Abraham I  - phy-names
163431b53b8SKishon Vijay Abraham I
1646fdc6e23SRob HerringunevaluatedProperties: false
1656fdc6e23SRob Herring
166431b53b8SKishon Vijay Abraham Iexamples:
167431b53b8SKishon Vijay Abraham I  - |
168431b53b8SKishon Vijay Abraham I    #include <dt-bindings/soc/ti,sci_pm_domain.h>
169431b53b8SKishon Vijay Abraham I    #include <dt-bindings/gpio/gpio.h>
170431b53b8SKishon Vijay Abraham I
171431b53b8SKishon Vijay Abraham I    bus {
172431b53b8SKishon Vijay Abraham I        #address-cells = <2>;
173431b53b8SKishon Vijay Abraham I        #size-cells = <2>;
174431b53b8SKishon Vijay Abraham I
175431b53b8SKishon Vijay Abraham I        pcie0_rc: pcie@2900000 {
176431b53b8SKishon Vijay Abraham I            compatible = "ti,j721e-pcie-host";
177431b53b8SKishon Vijay Abraham I            reg = <0x00 0x02900000 0x00 0x1000>,
178431b53b8SKishon Vijay Abraham I                  <0x00 0x02907000 0x00 0x400>,
179431b53b8SKishon Vijay Abraham I                  <0x00 0x0d000000 0x00 0x00800000>,
180431b53b8SKishon Vijay Abraham I                  <0x00 0x10000000 0x00 0x00001000>;
181431b53b8SKishon Vijay Abraham I            reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
182b6c81be9SKishon Vijay Abraham I            ti,syscon-pcie-ctrl = <&pcie0_ctrl 0x4070>;
183431b53b8SKishon Vijay Abraham I            max-link-speed = <3>;
184431b53b8SKishon Vijay Abraham I            num-lanes = <2>;
185431b53b8SKishon Vijay Abraham I            power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
186431b53b8SKishon Vijay Abraham I            clocks = <&k3_clks 239 1>;
187431b53b8SKishon Vijay Abraham I            clock-names = "fck";
188431b53b8SKishon Vijay Abraham I            device_type = "pci";
189431b53b8SKishon Vijay Abraham I            #address-cells = <3>;
190431b53b8SKishon Vijay Abraham I            #size-cells = <2>;
191431b53b8SKishon Vijay Abraham I            bus-range = <0x0 0xf>;
192431b53b8SKishon Vijay Abraham I            vendor-id = <0x104c>;
193431b53b8SKishon Vijay Abraham I            device-id = <0xb00d>;
194431b53b8SKishon Vijay Abraham I            msi-map = <0x0 &gic_its 0x0 0x10000>;
195431b53b8SKishon Vijay Abraham I            dma-coherent;
196431b53b8SKishon Vijay Abraham I            reset-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
197431b53b8SKishon Vijay Abraham I            phys = <&serdes0_pcie_link>;
198431b53b8SKishon Vijay Abraham I            phy-names = "pcie-phy";
199431b53b8SKishon Vijay Abraham I            ranges = <0x01000000 0x0 0x10001000  0x00 0x10001000  0x0 0x0010000>,
200431b53b8SKishon Vijay Abraham I                     <0x02000000 0x0 0x10011000  0x00 0x10011000  0x0 0x7fef000>;
201431b53b8SKishon Vijay Abraham I            dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
202431b53b8SKishon Vijay Abraham I        };
203431b53b8SKishon Vijay Abraham I    };
204