xref: /freebsd/sys/contrib/device-tree/Bindings/pci/fsl,layerscape-pcie-ep.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d0873ebSEmmanuel Vadot%YAML 1.2
3*7d0873ebSEmmanuel Vadot---
4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie-ep.yaml#
5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d0873ebSEmmanuel Vadot
7*7d0873ebSEmmanuel Vadottitle: Freescale Layerscape PCIe Endpoint(EP) controller
8*7d0873ebSEmmanuel Vadot
9*7d0873ebSEmmanuel Vadotmaintainers:
10*7d0873ebSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*7d0873ebSEmmanuel Vadot
12*7d0873ebSEmmanuel Vadotdescription:
13*7d0873ebSEmmanuel Vadot  This PCIe EP controller is based on the Synopsys DesignWare PCIe IP.
14*7d0873ebSEmmanuel Vadot
15*7d0873ebSEmmanuel Vadot  This controller derives its clocks from the Reset Configuration Word (RCW)
16*7d0873ebSEmmanuel Vadot  which is used to describe the PLL settings at the time of chip-reset.
17*7d0873ebSEmmanuel Vadot
18*7d0873ebSEmmanuel Vadot  Also as per the available Reference Manuals, there is no specific 'version'
19*7d0873ebSEmmanuel Vadot  register available in the Freescale PCIe controller register set,
20*7d0873ebSEmmanuel Vadot  which can allow determining the underlying DesignWare PCIe controller version
21*7d0873ebSEmmanuel Vadot  information.
22*7d0873ebSEmmanuel Vadot
23*7d0873ebSEmmanuel Vadotproperties:
24*7d0873ebSEmmanuel Vadot  compatible:
25*7d0873ebSEmmanuel Vadot    enum:
26*7d0873ebSEmmanuel Vadot      - fsl,ls2088a-pcie-ep
27*7d0873ebSEmmanuel Vadot      - fsl,ls1088a-pcie-ep
28*7d0873ebSEmmanuel Vadot      - fsl,ls1046a-pcie-ep
29*7d0873ebSEmmanuel Vadot      - fsl,ls1028a-pcie-ep
30*7d0873ebSEmmanuel Vadot      - fsl,lx2160ar2-pcie-ep
31*7d0873ebSEmmanuel Vadot
32*7d0873ebSEmmanuel Vadot  reg:
33*7d0873ebSEmmanuel Vadot    maxItems: 2
34*7d0873ebSEmmanuel Vadot
35*7d0873ebSEmmanuel Vadot  reg-names:
36*7d0873ebSEmmanuel Vadot    items:
37*7d0873ebSEmmanuel Vadot      - const: regs
38*7d0873ebSEmmanuel Vadot      - const: addr_space
39*7d0873ebSEmmanuel Vadot
40*7d0873ebSEmmanuel Vadot  fsl,pcie-scfg:
41*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
42*7d0873ebSEmmanuel Vadot    description: A phandle to the SCFG device node. The second entry is the
43*7d0873ebSEmmanuel Vadot      physical PCIe controller index starting from '0'. This is used to get
44*7d0873ebSEmmanuel Vadot      SCFG PEXN registers.
45*7d0873ebSEmmanuel Vadot
46*7d0873ebSEmmanuel Vadot  big-endian:
47*7d0873ebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
48*7d0873ebSEmmanuel Vadot    description: If the PEX_LUT and PF register block is in big-endian, specify
49*7d0873ebSEmmanuel Vadot      this property.
50*7d0873ebSEmmanuel Vadot
51*7d0873ebSEmmanuel Vadot  dma-coherent: true
52*7d0873ebSEmmanuel Vadot
53*7d0873ebSEmmanuel Vadot  interrupts:
54*7d0873ebSEmmanuel Vadot    minItems: 1
55*7d0873ebSEmmanuel Vadot    maxItems: 2
56*7d0873ebSEmmanuel Vadot
57*7d0873ebSEmmanuel Vadot  interrupt-names:
58*7d0873ebSEmmanuel Vadot    minItems: 1
59*7d0873ebSEmmanuel Vadot    maxItems: 2
60*7d0873ebSEmmanuel Vadot
61*7d0873ebSEmmanuel Vadotrequired:
62*7d0873ebSEmmanuel Vadot  - compatible
63*7d0873ebSEmmanuel Vadot  - reg
64*7d0873ebSEmmanuel Vadot  - reg-names
65*7d0873ebSEmmanuel Vadot
66*7d0873ebSEmmanuel VadotallOf:
67*7d0873ebSEmmanuel Vadot  - if:
68*7d0873ebSEmmanuel Vadot      properties:
69*7d0873ebSEmmanuel Vadot        compatible:
70*7d0873ebSEmmanuel Vadot          enum:
71*7d0873ebSEmmanuel Vadot            - fsl,ls1028a-pcie-ep
72*7d0873ebSEmmanuel Vadot            - fsl,ls1046a-pcie-ep
73*7d0873ebSEmmanuel Vadot            - fsl,ls1088a-pcie-ep
74*7d0873ebSEmmanuel Vadot    then:
75*7d0873ebSEmmanuel Vadot      properties:
76*7d0873ebSEmmanuel Vadot        interrupt-names:
77*7d0873ebSEmmanuel Vadot          items:
78*7d0873ebSEmmanuel Vadot            - const: pme
79*7d0873ebSEmmanuel Vadot
80*7d0873ebSEmmanuel VadotunevaluatedProperties: false
81*7d0873ebSEmmanuel Vadot
82*7d0873ebSEmmanuel Vadotexamples:
83*7d0873ebSEmmanuel Vadot  - |
84*7d0873ebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
85*7d0873ebSEmmanuel Vadot
86*7d0873ebSEmmanuel Vadot    soc {
87*7d0873ebSEmmanuel Vadot      #address-cells = <2>;
88*7d0873ebSEmmanuel Vadot      #size-cells = <2>;
89*7d0873ebSEmmanuel Vadot
90*7d0873ebSEmmanuel Vadot      pcie_ep1: pcie-ep@3400000 {
91*7d0873ebSEmmanuel Vadot        compatible = "fsl,ls1028a-pcie-ep";
92*7d0873ebSEmmanuel Vadot        reg = <0x00 0x03400000 0x0 0x00100000
93*7d0873ebSEmmanuel Vadot              0x80 0x00000000 0x8 0x00000000>;
94*7d0873ebSEmmanuel Vadot        reg-names = "regs", "addr_space";
95*7d0873ebSEmmanuel Vadot        interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
96*7d0873ebSEmmanuel Vadot        interrupt-names = "pme";
97*7d0873ebSEmmanuel Vadot        num-ib-windows = <6>;
98*7d0873ebSEmmanuel Vadot        num-ob-windows = <8>;
99*7d0873ebSEmmanuel Vadot        status = "disabled";
100*7d0873ebSEmmanuel Vadot      };
101*7d0873ebSEmmanuel Vadot    };
102*7d0873ebSEmmanuel Vadot...
103