1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/pci/ti,am65-pci-host.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: TI AM65 PCI Host
9
10maintainers:
11  - Kishon Vijay Abraham I <kishon@ti.com>
12
13allOf:
14  - $ref: /schemas/pci/pci-bus.yaml#
15
16properties:
17  compatible:
18    enum:
19      - ti,am654-pcie-rc
20      - ti,keystone-pcie
21
22  reg:
23    maxItems: 4
24
25  reg-names:
26    items:
27      - const: app
28      - const: dbics
29      - const: config
30      - const: atu
31
32  interrupts:
33    maxItems: 1
34
35  power-domains:
36    maxItems: 1
37
38  ti,syscon-pcie-id:
39    description: Phandle to the SYSCON entry required for getting PCIe device/vendor ID
40    $ref: /schemas/types.yaml#/definitions/phandle
41
42  ti,syscon-pcie-mode:
43    description: Phandle to the SYSCON entry required for configuring PCIe in RC or EP mode.
44    $ref: /schemas/types.yaml#/definitions/phandle
45
46  msi-map: true
47
48  dma-coherent: true
49
50required:
51  - compatible
52  - reg
53  - reg-names
54  - max-link-speed
55  - ti,syscon-pcie-id
56  - ti,syscon-pcie-mode
57  - ranges
58
59if:
60  properties:
61    compatible:
62      enum:
63        - ti,am654-pcie-rc
64then:
65  required:
66    - dma-coherent
67    - power-domains
68    - msi-map
69
70unevaluatedProperties: false
71
72examples:
73  - |
74    #include <dt-bindings/interrupt-controller/arm-gic.h>
75    #include <dt-bindings/interrupt-controller/irq.h>
76    #include <dt-bindings/soc/ti,sci_pm_domain.h>
77
78    pcie0_rc: pcie@5500000 {
79        compatible = "ti,am654-pcie-rc";
80        reg =  <0x5500000 0x1000>,
81               <0x5501000 0x1000>,
82               <0x10000000 0x2000>,
83               <0x5506000 0x1000>;
84        reg-names = "app", "dbics", "config", "atu";
85        power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>;
86        #address-cells = <3>;
87        #size-cells = <2>;
88        ranges = <0x81000000 0 0          0x10020000 0 0x00010000>,
89                 <0x82000000 0 0x10030000 0x10030000 0 0x07FD0000>;
90        ti,syscon-pcie-id = <&pcie_devid>;
91        ti,syscon-pcie-mode = <&pcie0_mode>;
92        bus-range = <0x0 0xff>;
93        max-link-speed = <2>;
94        dma-coherent;
95        interrupts = <GIC_SPI 340 IRQ_TYPE_EDGE_RISING>;
96        msi-map = <0x0 &gic_its 0x0 0x10000>;
97        device_type = "pci";
98    };
99