xref: /freebsd/sys/contrib/device-tree/Bindings/pci/ti,am65-pci-host.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25956d97fSEmmanuel Vadot# Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/
35956d97fSEmmanuel Vadot%YAML 1.2
45956d97fSEmmanuel Vadot---
55956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/ti,am65-pci-host.yaml#
65956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
75956d97fSEmmanuel Vadot
85956d97fSEmmanuel Vadottitle: TI AM65 PCI Host
95956d97fSEmmanuel Vadot
105956d97fSEmmanuel Vadotmaintainers:
115956d97fSEmmanuel Vadot  - Kishon Vijay Abraham I <kishon@ti.com>
125956d97fSEmmanuel Vadot
135956d97fSEmmanuel VadotallOf:
14*7d0873ebSEmmanuel Vadot  - $ref: /schemas/pci/pci-host-bridge.yaml#
155956d97fSEmmanuel Vadot
165956d97fSEmmanuel Vadotproperties:
175956d97fSEmmanuel Vadot  compatible:
185956d97fSEmmanuel Vadot    enum:
195956d97fSEmmanuel Vadot      - ti,am654-pcie-rc
205956d97fSEmmanuel Vadot      - ti,keystone-pcie
215956d97fSEmmanuel Vadot
225956d97fSEmmanuel Vadot  reg:
235956d97fSEmmanuel Vadot    maxItems: 4
245956d97fSEmmanuel Vadot
255956d97fSEmmanuel Vadot  reg-names:
265956d97fSEmmanuel Vadot    items:
275956d97fSEmmanuel Vadot      - const: app
285956d97fSEmmanuel Vadot      - const: dbics
295956d97fSEmmanuel Vadot      - const: config
305956d97fSEmmanuel Vadot      - const: atu
315956d97fSEmmanuel Vadot
32e67e8565SEmmanuel Vadot  interrupts:
33e67e8565SEmmanuel Vadot    maxItems: 1
34e67e8565SEmmanuel Vadot
355956d97fSEmmanuel Vadot  power-domains:
365956d97fSEmmanuel Vadot    maxItems: 1
375956d97fSEmmanuel Vadot
385956d97fSEmmanuel Vadot  ti,syscon-pcie-id:
39e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
40e67e8565SEmmanuel Vadot    items:
41e67e8565SEmmanuel Vadot      - items:
42e67e8565SEmmanuel Vadot          - description: Phandle to the SYSCON entry
43e67e8565SEmmanuel Vadot          - description: pcie_device_id register offset within SYSCON
445956d97fSEmmanuel Vadot    description: Phandle to the SYSCON entry required for getting PCIe device/vendor ID
455956d97fSEmmanuel Vadot
465956d97fSEmmanuel Vadot  ti,syscon-pcie-mode:
47e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
48e67e8565SEmmanuel Vadot    items:
49e67e8565SEmmanuel Vadot      - items:
50e67e8565SEmmanuel Vadot          - description: Phandle to the SYSCON entry
51e67e8565SEmmanuel Vadot          - description: pcie_ctrl register offset within SYSCON
525956d97fSEmmanuel Vadot    description: Phandle to the SYSCON entry required for configuring PCIe in RC or EP mode.
535956d97fSEmmanuel Vadot
545956d97fSEmmanuel Vadot  msi-map: true
555956d97fSEmmanuel Vadot
565956d97fSEmmanuel Vadot  dma-coherent: true
575956d97fSEmmanuel Vadot
58*7d0873ebSEmmanuel Vadot  num-viewport:
59*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
60*7d0873ebSEmmanuel Vadot
61*7d0873ebSEmmanuel Vadot  phys:
62*7d0873ebSEmmanuel Vadot    description: per-lane PHYs
63*7d0873ebSEmmanuel Vadot    minItems: 1
64*7d0873ebSEmmanuel Vadot    maxItems: 2
65*7d0873ebSEmmanuel Vadot
66*7d0873ebSEmmanuel Vadot  phy-names:
67*7d0873ebSEmmanuel Vadot    minItems: 1
68*7d0873ebSEmmanuel Vadot    maxItems: 2
69*7d0873ebSEmmanuel Vadot    items:
70*7d0873ebSEmmanuel Vadot      pattern: '^pcie-phy[0-1]$'
71*7d0873ebSEmmanuel Vadot
725956d97fSEmmanuel Vadotrequired:
735956d97fSEmmanuel Vadot  - compatible
745956d97fSEmmanuel Vadot  - reg
755956d97fSEmmanuel Vadot  - reg-names
765956d97fSEmmanuel Vadot  - max-link-speed
775956d97fSEmmanuel Vadot  - ti,syscon-pcie-id
785956d97fSEmmanuel Vadot  - ti,syscon-pcie-mode
795956d97fSEmmanuel Vadot  - ranges
805956d97fSEmmanuel Vadot
815956d97fSEmmanuel Vadotif:
825956d97fSEmmanuel Vadot  properties:
835956d97fSEmmanuel Vadot    compatible:
845956d97fSEmmanuel Vadot      enum:
855956d97fSEmmanuel Vadot        - ti,am654-pcie-rc
865956d97fSEmmanuel Vadotthen:
875956d97fSEmmanuel Vadot  required:
885956d97fSEmmanuel Vadot    - dma-coherent
895956d97fSEmmanuel Vadot    - power-domains
905956d97fSEmmanuel Vadot    - msi-map
91*7d0873ebSEmmanuel Vadot    - num-viewport
925956d97fSEmmanuel Vadot
935956d97fSEmmanuel VadotunevaluatedProperties: false
945956d97fSEmmanuel Vadot
955956d97fSEmmanuel Vadotexamples:
965956d97fSEmmanuel Vadot  - |
975956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
985956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
99*7d0873ebSEmmanuel Vadot    #include <dt-bindings/phy/phy.h>
1005956d97fSEmmanuel Vadot    #include <dt-bindings/soc/ti,sci_pm_domain.h>
1015956d97fSEmmanuel Vadot
1025956d97fSEmmanuel Vadot    pcie0_rc: pcie@5500000 {
1035956d97fSEmmanuel Vadot        compatible = "ti,am654-pcie-rc";
1045956d97fSEmmanuel Vadot        reg =  <0x5500000 0x1000>,
1055956d97fSEmmanuel Vadot               <0x5501000 0x1000>,
1065956d97fSEmmanuel Vadot               <0x10000000 0x2000>,
1075956d97fSEmmanuel Vadot               <0x5506000 0x1000>;
1085956d97fSEmmanuel Vadot        reg-names = "app", "dbics", "config", "atu";
1095956d97fSEmmanuel Vadot        power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>;
1105956d97fSEmmanuel Vadot        #address-cells = <3>;
1115956d97fSEmmanuel Vadot        #size-cells = <2>;
1125956d97fSEmmanuel Vadot        ranges = <0x81000000 0 0          0x10020000 0 0x00010000>,
1135956d97fSEmmanuel Vadot                 <0x82000000 0 0x10030000 0x10030000 0 0x07FD0000>;
114e67e8565SEmmanuel Vadot        ti,syscon-pcie-id = <&scm_conf 0x0210>;
115e67e8565SEmmanuel Vadot        ti,syscon-pcie-mode = <&scm_conf 0x4060>;
1165956d97fSEmmanuel Vadot        bus-range = <0x0 0xff>;
117*7d0873ebSEmmanuel Vadot        num-viewport = <16>;
1185956d97fSEmmanuel Vadot        max-link-speed = <2>;
1195956d97fSEmmanuel Vadot        dma-coherent;
1205956d97fSEmmanuel Vadot        interrupts = <GIC_SPI 340 IRQ_TYPE_EDGE_RISING>;
1215956d97fSEmmanuel Vadot        msi-map = <0x0 &gic_its 0x0 0x10000>;
1225956d97fSEmmanuel Vadot        device_type = "pci";
123*7d0873ebSEmmanuel Vadot        num-lanes = <1>;
124*7d0873ebSEmmanuel Vadot        phys = <&serdes0 PHY_TYPE_PCIE 0>;
125*7d0873ebSEmmanuel Vadot        phy-names = "pcie-phy0";
1265956d97fSEmmanuel Vadot    };
127