1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/pci/fsl,imx6q-pcie-ep.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Freescale i.MX6 PCIe Endpoint controller
10 - Lucas Stach <l.stach@pengutronix.de>
11 - Richard Zhu <hongxing.zhu@nxp.com>
14 This PCIe controller is based on the Synopsys DesignWare PCIe IP and
15 thus inherits all the common properties defined in snps,dw-pcie-ep.yaml.
16 The controller instances are dual mode where in they can work either in
17 Root Port mode or Endpoint mode but one at a time.
30 - description: PCIe bridge clock.
31 - description: PCIe bus clock.
32 - description: PCIe PHY clock.
33 - description: Additional required clock entry for imx6sx-pcie,
34 imx6sx-pcie-ep, imx8mq-pcie, imx8mq-pcie-ep.
42 - description: builtin eDMA interrupter.
56 - $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
57 - $ref: /schemas/pci/fsl,imx6q-pcie-common.yaml#
121 unevaluatedProperties: false
125 #include <dt-bindings/clock/imx8mp-clock.h>
126 #include <dt-bindings/power/imx8mp-power.h>
127 #include <dt-bindings/reset/imx8mp-reset.h>
128 #include <dt-bindings/interrupt-controller/arm-gic.h>
130 pcie_ep: pcie-ep@33800000 {
131 compatible = "fsl,imx8mp-pcie-ep";
132 reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>;
133 reg-names = "dbi", "addr_space";
134 clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
135 <&clk IMX8MP_CLK_HSIO_AXI>,
136 <&clk IMX8MP_CLK_PCIE_ROOT>;
137 clock-names = "pcie", "pcie_bus", "pcie_aux";
138 assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
139 assigned-clock-rates = <10000000>;
140 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
142 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; /* eDMA */
143 interrupt-names = "dma";
144 fsl,max-link-speed = <3>;
145 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
146 resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>,
147 <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>;
148 reset-names = "apps", "turnoff";
150 phy-names = "pcie-phy";
151 num-ib-windows = <4>;
152 num-ob-windows = <4>;