18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright (C) 2019 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-host.yaml#"
68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: TI J721E PCI Host (PCIe Wrapper)
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Kishon Vijay Abraham I <kishon@ti.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciallOf:
148c2ecf20Sopenharmony_ci  - $ref: "cdns-pcie-host.yaml#"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    enum:
198c2ecf20Sopenharmony_ci      - ti,j721e-pcie-host
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: cfg
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  vendor-id:
488c2ecf20Sopenharmony_ci    const: 0x104c
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  device-id:
518c2ecf20Sopenharmony_ci    const: 0xb00d
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  msi-map: true
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_cirequired:
568c2ecf20Sopenharmony_ci  - compatible
578c2ecf20Sopenharmony_ci  - reg
588c2ecf20Sopenharmony_ci  - reg-names
598c2ecf20Sopenharmony_ci  - ti,syscon-pcie-ctrl
608c2ecf20Sopenharmony_ci  - max-link-speed
618c2ecf20Sopenharmony_ci  - num-lanes
628c2ecf20Sopenharmony_ci  - power-domains
638c2ecf20Sopenharmony_ci  - clocks
648c2ecf20Sopenharmony_ci  - clock-names
658c2ecf20Sopenharmony_ci  - vendor-id
668c2ecf20Sopenharmony_ci  - device-id
678c2ecf20Sopenharmony_ci  - msi-map
688c2ecf20Sopenharmony_ci  - dma-coherent
698c2ecf20Sopenharmony_ci  - dma-ranges
708c2ecf20Sopenharmony_ci  - ranges
718c2ecf20Sopenharmony_ci  - reset-gpios
728c2ecf20Sopenharmony_ci  - phys
738c2ecf20Sopenharmony_ci  - phy-names
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciunevaluatedProperties: false
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciexamples:
788c2ecf20Sopenharmony_ci  - |
798c2ecf20Sopenharmony_ci    #include <dt-bindings/soc/ti,sci_pm_domain.h>
808c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci    bus {
838c2ecf20Sopenharmony_ci        #address-cells = <2>;
848c2ecf20Sopenharmony_ci        #size-cells = <2>;
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci        pcie0_rc: pcie@2900000 {
878c2ecf20Sopenharmony_ci            compatible = "ti,j721e-pcie-host";
888c2ecf20Sopenharmony_ci            reg = <0x00 0x02900000 0x00 0x1000>,
898c2ecf20Sopenharmony_ci                  <0x00 0x02907000 0x00 0x400>,
908c2ecf20Sopenharmony_ci                  <0x00 0x0d000000 0x00 0x00800000>,
918c2ecf20Sopenharmony_ci                  <0x00 0x10000000 0x00 0x00001000>;
928c2ecf20Sopenharmony_ci            reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
938c2ecf20Sopenharmony_ci            ti,syscon-pcie-ctrl = <&pcie0_ctrl>;
948c2ecf20Sopenharmony_ci            max-link-speed = <3>;
958c2ecf20Sopenharmony_ci            num-lanes = <2>;
968c2ecf20Sopenharmony_ci            power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
978c2ecf20Sopenharmony_ci            clocks = <&k3_clks 239 1>;
988c2ecf20Sopenharmony_ci            clock-names = "fck";
998c2ecf20Sopenharmony_ci            device_type = "pci";
1008c2ecf20Sopenharmony_ci            #address-cells = <3>;
1018c2ecf20Sopenharmony_ci            #size-cells = <2>;
1028c2ecf20Sopenharmony_ci            bus-range = <0x0 0xf>;
1038c2ecf20Sopenharmony_ci            vendor-id = <0x104c>;
1048c2ecf20Sopenharmony_ci            device-id = <0xb00d>;
1058c2ecf20Sopenharmony_ci            msi-map = <0x0 &gic_its 0x0 0x10000>;
1068c2ecf20Sopenharmony_ci            dma-coherent;
1078c2ecf20Sopenharmony_ci            reset-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
1088c2ecf20Sopenharmony_ci            phys = <&serdes0_pcie_link>;
1098c2ecf20Sopenharmony_ci            phy-names = "pcie-phy";
1108c2ecf20Sopenharmony_ci            ranges = <0x01000000 0x0 0x10001000  0x00 0x10001000  0x0 0x0010000>,
1118c2ecf20Sopenharmony_ci                     <0x02000000 0x0 0x10011000  0x00 0x10011000  0x0 0x7fef000>;
1128c2ecf20Sopenharmony_ci            dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
1138c2ecf20Sopenharmony_ci        };
1148c2ecf20Sopenharmony_ci    };
115