xref: /linux/Documentation/devicetree/bindings/pci/ti,j721e-pci-ep.yaml (revision 06d07429858317ded2db7986113a9e0129cd599b)
145b39e92SKishon Vijay Abraham I# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
245b39e92SKishon Vijay Abraham I# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
345b39e92SKishon Vijay Abraham I%YAML 1.2
445b39e92SKishon Vijay Abraham I---
5f5501623SRob Herring$id: http://devicetree.org/schemas/pci/ti,j721e-pci-ep.yaml#
6f5501623SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
745b39e92SKishon Vijay Abraham I
845b39e92SKishon Vijay Abraham Ititle: TI J721E PCI EP (PCIe Wrapper)
945b39e92SKishon Vijay Abraham I
1045b39e92SKishon Vijay Abraham Imaintainers:
1145b39e92SKishon Vijay Abraham I  - Kishon Vijay Abraham I <kishon@ti.com>
1245b39e92SKishon Vijay Abraham I
1345b39e92SKishon Vijay Abraham Iproperties:
1445b39e92SKishon Vijay Abraham I  compatible:
1517c5b458SKishon Vijay Abraham I    oneOf:
166b7d5394SKishon Vijay Abraham I      - const: ti,j721e-pcie-ep
17*adc14d44SMatt Ranostay      - const: ti,j784s4-pcie-ep
186b7d5394SKishon Vijay Abraham I      - description: PCIe EP controller in AM64
196b7d5394SKishon Vijay Abraham I        items:
206b7d5394SKishon Vijay Abraham I          - const: ti,am64-pcie-ep
216b7d5394SKishon Vijay Abraham I          - const: ti,j721e-pcie-ep
2217c5b458SKishon Vijay Abraham I      - description: PCIe EP controller in J7200
2317c5b458SKishon Vijay Abraham I        items:
2417c5b458SKishon Vijay Abraham I          - const: ti,j7200-pcie-ep
2517c5b458SKishon Vijay Abraham I          - const: ti,j721e-pcie-ep
2645b39e92SKishon Vijay Abraham I
2745b39e92SKishon Vijay Abraham I  reg:
2845b39e92SKishon Vijay Abraham I    maxItems: 4
2945b39e92SKishon Vijay Abraham I
3045b39e92SKishon Vijay Abraham I  reg-names:
3145b39e92SKishon Vijay Abraham I    items:
3245b39e92SKishon Vijay Abraham I      - const: intd_cfg
3345b39e92SKishon Vijay Abraham I      - const: user_cfg
3445b39e92SKishon Vijay Abraham I      - const: reg
3545b39e92SKishon Vijay Abraham I      - const: mem
3645b39e92SKishon Vijay Abraham I
3745b39e92SKishon Vijay Abraham I  ti,syscon-pcie-ctrl:
38b6c81be9SKishon Vijay Abraham I    $ref: /schemas/types.yaml#/definitions/phandle-array
39b6c81be9SKishon Vijay Abraham I    items:
40b6c81be9SKishon Vijay Abraham I      - items:
41b6c81be9SKishon Vijay Abraham I          - description: Phandle to the SYSCON entry
42b6c81be9SKishon Vijay Abraham I          - description: pcie_ctrl register offset within SYSCON
43b6c81be9SKishon Vijay Abraham I    description: Specifier for configuring PCIe mode and link speed.
4445b39e92SKishon Vijay Abraham I
4545b39e92SKishon Vijay Abraham I  power-domains:
4645b39e92SKishon Vijay Abraham I    maxItems: 1
4745b39e92SKishon Vijay Abraham I
4845b39e92SKishon Vijay Abraham I  clocks:
4945b39e92SKishon Vijay Abraham I    maxItems: 1
5045b39e92SKishon Vijay Abraham I    description: clock-specifier to represent input to the PCIe
5145b39e92SKishon Vijay Abraham I
5245b39e92SKishon Vijay Abraham I  clock-names:
5345b39e92SKishon Vijay Abraham I    items:
5445b39e92SKishon Vijay Abraham I      - const: fck
5545b39e92SKishon Vijay Abraham I
5645b39e92SKishon Vijay Abraham I  dma-coherent:
5745b39e92SKishon Vijay Abraham I    description: Indicates that the PCIe IP block can ensure the coherency
5845b39e92SKishon Vijay Abraham I
59598418e6SMatt Ranostay  interrupts:
60598418e6SMatt Ranostay    maxItems: 1
61598418e6SMatt Ranostay
62598418e6SMatt Ranostay  interrupt-names:
63598418e6SMatt Ranostay    items:
64598418e6SMatt Ranostay      - const: link_state
65598418e6SMatt Ranostay
66b3ba0f6eSMatt RanostayallOf:
67b3ba0f6eSMatt Ranostay  - $ref: cdns-pcie-ep.yaml#
68b3ba0f6eSMatt Ranostay  - if:
69b3ba0f6eSMatt Ranostay      properties:
70b3ba0f6eSMatt Ranostay        compatible:
71b3ba0f6eSMatt Ranostay          enum:
72b3ba0f6eSMatt Ranostay            - ti,am64-pcie-ep
73b3ba0f6eSMatt Ranostay    then:
74b3ba0f6eSMatt Ranostay      properties:
75b3ba0f6eSMatt Ranostay        num-lanes:
76b3ba0f6eSMatt Ranostay          const: 1
77b3ba0f6eSMatt Ranostay
78b3ba0f6eSMatt Ranostay  - if:
79b3ba0f6eSMatt Ranostay      properties:
80b3ba0f6eSMatt Ranostay        compatible:
81b3ba0f6eSMatt Ranostay          enum:
82b3ba0f6eSMatt Ranostay            - ti,j7200-pcie-ep
83b3ba0f6eSMatt Ranostay            - ti,j721e-pcie-ep
84b3ba0f6eSMatt Ranostay    then:
85b3ba0f6eSMatt Ranostay      properties:
86b3ba0f6eSMatt Ranostay        num-lanes:
87b3ba0f6eSMatt Ranostay          minimum: 1
88b3ba0f6eSMatt Ranostay          maximum: 2
89b3ba0f6eSMatt Ranostay
90*adc14d44SMatt Ranostay  - if:
91*adc14d44SMatt Ranostay      properties:
92*adc14d44SMatt Ranostay        compatible:
93*adc14d44SMatt Ranostay          enum:
94*adc14d44SMatt Ranostay            - ti,j784s4-pcie-ep
95*adc14d44SMatt Ranostay    then:
96*adc14d44SMatt Ranostay      properties:
97*adc14d44SMatt Ranostay        num-lanes:
98*adc14d44SMatt Ranostay          minimum: 1
99*adc14d44SMatt Ranostay          maximum: 4
100*adc14d44SMatt Ranostay
10145b39e92SKishon Vijay Abraham Irequired:
10245b39e92SKishon Vijay Abraham I  - compatible
10345b39e92SKishon Vijay Abraham I  - reg
10445b39e92SKishon Vijay Abraham I  - reg-names
10545b39e92SKishon Vijay Abraham I  - ti,syscon-pcie-ctrl
10645b39e92SKishon Vijay Abraham I  - max-link-speed
10745b39e92SKishon Vijay Abraham I  - num-lanes
10845b39e92SKishon Vijay Abraham I  - power-domains
10945b39e92SKishon Vijay Abraham I  - clocks
11045b39e92SKishon Vijay Abraham I  - clock-names
11145b39e92SKishon Vijay Abraham I  - max-functions
11245b39e92SKishon Vijay Abraham I  - phys
11345b39e92SKishon Vijay Abraham I  - phy-names
11445b39e92SKishon Vijay Abraham I
1156fdc6e23SRob HerringunevaluatedProperties: false
1166fdc6e23SRob Herring
11745b39e92SKishon Vijay Abraham Iexamples:
11845b39e92SKishon Vijay Abraham I  - |
11945b39e92SKishon Vijay Abraham I    #include <dt-bindings/soc/ti,sci_pm_domain.h>
12045b39e92SKishon Vijay Abraham I
12145b39e92SKishon Vijay Abraham I    bus {
12245b39e92SKishon Vijay Abraham I        #address-cells = <2>;
12345b39e92SKishon Vijay Abraham I        #size-cells = <2>;
12445b39e92SKishon Vijay Abraham I
12545b39e92SKishon Vijay Abraham I        pcie0_ep: pcie-ep@d000000 {
12645b39e92SKishon Vijay Abraham I           compatible = "ti,j721e-pcie-ep";
12745b39e92SKishon Vijay Abraham I           reg = <0x00 0x02900000 0x00 0x1000>,
12845b39e92SKishon Vijay Abraham I                 <0x00 0x02907000 0x00 0x400>,
12945b39e92SKishon Vijay Abraham I                 <0x00 0x0d000000 0x00 0x00800000>,
13045b39e92SKishon Vijay Abraham I                 <0x00 0x10000000 0x00 0x08000000>;
13145b39e92SKishon Vijay Abraham I           reg-names = "intd_cfg", "user_cfg", "reg", "mem";
132b6c81be9SKishon Vijay Abraham I           ti,syscon-pcie-ctrl = <&pcie0_ctrl 0x4070>;
13345b39e92SKishon Vijay Abraham I           max-link-speed = <3>;
13445b39e92SKishon Vijay Abraham I           num-lanes = <2>;
13545b39e92SKishon Vijay Abraham I           power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
13645b39e92SKishon Vijay Abraham I           clocks = <&k3_clks 239 1>;
13745b39e92SKishon Vijay Abraham I           clock-names = "fck";
13845b39e92SKishon Vijay Abraham I           max-functions = /bits/ 8 <6>;
13945b39e92SKishon Vijay Abraham I           dma-coherent;
14045b39e92SKishon Vijay Abraham I           phys = <&serdes0_pcie_link>;
14145b39e92SKishon Vijay Abraham I           phy-names = "pcie-phy";
14245b39e92SKishon Vijay Abraham I       };
14345b39e92SKishon Vijay Abraham I    };
144