ti,j721e-pci-ep.yaml 2.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
%YAML 1.2
---
$id: "http://devicetree.org/schemas/pci/ti,j721e-pci-ep.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: TI J721E PCI EP (PCIe Wrapper)

maintainers:
  - Kishon Vijay Abraham I <kishon@ti.com>

allOf:
  - $ref: "cdns-pcie-ep.yaml#"

properties:
  compatible:
18 19 20 21 22 23 24 25
    oneOf:
      - description: PCIe EP controller in J7200
        items:
          - const: ti,j7200-pcie-ep
          - const: ti,j721e-pcie-ep
      - description: PCIe EP controller in J721E
        items:
          - const: ti,j721e-pcie-ep
26 27 28 29 30 31 32 33 34 35 36 37

  reg:
    maxItems: 4

  reg-names:
    items:
      - const: intd_cfg
      - const: user_cfg
      - const: reg
      - const: mem

  ti,syscon-pcie-ctrl:
38 39 40 41 42 43
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - items:
          - description: Phandle to the SYSCON entry
          - description: pcie_ctrl register offset within SYSCON
    description: Specifier for configuring PCIe mode and link speed.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73

  power-domains:
    maxItems: 1

  clocks:
    maxItems: 1
    description: clock-specifier to represent input to the PCIe

  clock-names:
    items:
      - const: fck

  dma-coherent:
    description: Indicates that the PCIe IP block can ensure the coherency

required:
  - compatible
  - reg
  - reg-names
  - ti,syscon-pcie-ctrl
  - max-link-speed
  - num-lanes
  - power-domains
  - clocks
  - clock-names
  - dma-coherent
  - max-functions
  - phys
  - phy-names

74 75
unevaluatedProperties: false

76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
examples:
  - |
    #include <dt-bindings/soc/ti,sci_pm_domain.h>

    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        pcie0_ep: pcie-ep@d000000 {
           compatible = "ti,j721e-pcie-ep";
           reg = <0x00 0x02900000 0x00 0x1000>,
                 <0x00 0x02907000 0x00 0x400>,
                 <0x00 0x0d000000 0x00 0x00800000>,
                 <0x00 0x10000000 0x00 0x08000000>;
           reg-names = "intd_cfg", "user_cfg", "reg", "mem";
91
           ti,syscon-pcie-ctrl = <&pcie0_ctrl 0x4070>;
92 93 94 95 96 97 98 99 100 101 102
           max-link-speed = <3>;
           num-lanes = <2>;
           power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
           clocks = <&k3_clks 239 1>;
           clock-names = "fck";
           max-functions = /bits/ 8 <6>;
           dma-coherent;
           phys = <&serdes0_pcie_link>;
           phy-names = "pcie-phy";
       };
    };