18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/pci/ti,j721e-pci-ep.yaml#"
68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: TI J721E PCI EP (PCIe Wrapper)
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Kishon Vijay Abraham I <kishon@ti.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciallOf:
148c2ecf20Sopenharmony_ci  - $ref: "cdns-pcie-ep.yaml#"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    enum:
198c2ecf20Sopenharmony_ci      - ti,j721e-pcie-ep
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  reg:
228c2ecf20Sopenharmony_ci    maxItems: 4
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  reg-names:
258c2ecf20Sopenharmony_ci    items:
268c2ecf20Sopenharmony_ci      - const: intd_cfg
278c2ecf20Sopenharmony_ci      - const: user_cfg
288c2ecf20Sopenharmony_ci      - const: reg
298c2ecf20Sopenharmony_ci      - const: mem
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  ti,syscon-pcie-ctrl:
328c2ecf20Sopenharmony_ci    description: Phandle to the SYSCON entry required for configuring PCIe mode
338c2ecf20Sopenharmony_ci                 and link speed.
348c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  power-domains:
378c2ecf20Sopenharmony_ci    maxItems: 1
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  clocks:
408c2ecf20Sopenharmony_ci    maxItems: 1
418c2ecf20Sopenharmony_ci    description: clock-specifier to represent input to the PCIe
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  clock-names:
448c2ecf20Sopenharmony_ci    items:
458c2ecf20Sopenharmony_ci      - const: fck
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  dma-coherent:
488c2ecf20Sopenharmony_ci    description: Indicates that the PCIe IP block can ensure the coherency
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cirequired:
518c2ecf20Sopenharmony_ci  - compatible
528c2ecf20Sopenharmony_ci  - reg
538c2ecf20Sopenharmony_ci  - reg-names
548c2ecf20Sopenharmony_ci  - ti,syscon-pcie-ctrl
558c2ecf20Sopenharmony_ci  - max-link-speed
568c2ecf20Sopenharmony_ci  - num-lanes
578c2ecf20Sopenharmony_ci  - power-domains
588c2ecf20Sopenharmony_ci  - clocks
598c2ecf20Sopenharmony_ci  - clock-names
608c2ecf20Sopenharmony_ci  - cdns,max-outbound-regions
618c2ecf20Sopenharmony_ci  - dma-coherent
628c2ecf20Sopenharmony_ci  - max-functions
638c2ecf20Sopenharmony_ci  - phys
648c2ecf20Sopenharmony_ci  - phy-names
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciunevaluatedProperties: false
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciexamples:
698c2ecf20Sopenharmony_ci  - |
708c2ecf20Sopenharmony_ci    #include <dt-bindings/soc/ti,sci_pm_domain.h>
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci    bus {
738c2ecf20Sopenharmony_ci        #address-cells = <2>;
748c2ecf20Sopenharmony_ci        #size-cells = <2>;
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci        pcie0_ep: pcie-ep@d000000 {
778c2ecf20Sopenharmony_ci           compatible = "ti,j721e-pcie-ep";
788c2ecf20Sopenharmony_ci           reg = <0x00 0x02900000 0x00 0x1000>,
798c2ecf20Sopenharmony_ci                 <0x00 0x02907000 0x00 0x400>,
808c2ecf20Sopenharmony_ci                 <0x00 0x0d000000 0x00 0x00800000>,
818c2ecf20Sopenharmony_ci                 <0x00 0x10000000 0x00 0x08000000>;
828c2ecf20Sopenharmony_ci           reg-names = "intd_cfg", "user_cfg", "reg", "mem";
838c2ecf20Sopenharmony_ci           ti,syscon-pcie-ctrl = <&pcie0_ctrl>;
848c2ecf20Sopenharmony_ci           max-link-speed = <3>;
858c2ecf20Sopenharmony_ci           num-lanes = <2>;
868c2ecf20Sopenharmony_ci           power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
878c2ecf20Sopenharmony_ci           clocks = <&k3_clks 239 1>;
888c2ecf20Sopenharmony_ci           clock-names = "fck";
898c2ecf20Sopenharmony_ci           cdns,max-outbound-regions = <16>;
908c2ecf20Sopenharmony_ci           max-functions = /bits/ 8 <6>;
918c2ecf20Sopenharmony_ci           dma-coherent;
928c2ecf20Sopenharmony_ci           phys = <&serdes0_pcie_link>;
938c2ecf20Sopenharmony_ci           phy-names = "pcie-phy";
948c2ecf20Sopenharmony_ci       };
958c2ecf20Sopenharmony_ci    };
96