From f8ab94b6597e26e1f8bf801c138d929c64b6b117 Mon Sep 17 00:00:00 2001 From: Richard Zhu Date: Tue, 15 Sep 2020 14:46:49 +0800 Subject: [PATCH] MLK-24012-09 arm: dts: add imx7d pcie ep support Add the iMX7D PCIe EP mode, and verify the EP mode on SDB board. Signed-off-by: Richard Zhu Reviewed-by: Fugang Duan --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx7d-sdb-pcie-ep.dts | 16 +++++++++++++++ arch/arm/boot/dts/imx7d.dtsi | 26 +++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 arch/arm/boot/dts/imx7d-sdb-pcie-ep.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 54cf1833f72b..bcb086700e63 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -715,6 +715,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-sdb-qspi.dtb \ imx7d-sdb-reva.dtb \ imx7d-sdb-sht11.dtb \ + imx7d-sdb-pcie-ep.dtb \ imx7d-12x12-lpddr3-val.dtb \ imx7d-12x12-lpddr3-val-sai.dtb \ imx7d-zii-rmu2.dtb \ diff --git a/arch/arm/boot/dts/imx7d-sdb-pcie-ep.dts b/arch/arm/boot/dts/imx7d-sdb-pcie-ep.dts new file mode 100644 index 000000000000..78ebede8bfea --- /dev/null +++ b/arch/arm/boot/dts/imx7d-sdb-pcie-ep.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + */ + +/dts-v1/; + +#include "imx7d-sdb.dts" + +&pcie{ + status = "disabled"; +}; + +&pcie_ep{ + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx7d.dtsi b/arch/arm/boot/dts/imx7d.dtsi index 90aa41c730e7..bafac01e503f 100644 --- a/arch/arm/boot/dts/imx7d.dtsi +++ b/arch/arm/boot/dts/imx7d.dtsi @@ -392,6 +392,32 @@ status = "disabled"; }; + pcie_ep: pcie_ep@33800000 { + compatible = "fsl,imx7d-pcie-ep"; + reg = <0x33800000 0x4000>, <0x40000000 0x10000000>; + reg-names = "regs", "addr_space"; + num-lanes = <1>; + clocks = <&clks IMX7D_PCIE_CTRL_ROOT_CLK>, + <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>, + <&clks IMX7D_PCIE_PHY_ROOT_CLK>; + clock-names = "pcie", "pcie_bus", "pcie_phy"; + assigned-clocks = <&clks IMX7D_PCIE_CTRL_ROOT_SRC>, + <&clks IMX7D_PCIE_PHY_ROOT_SRC>; + assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>, + <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; + + fsl,max-link-speed = <2>; + power-domains = <&pgc_pcie_phy>; + resets = <&src IMX7_RESET_PCIEPHY>, + <&src IMX7_RESET_PCIE_CTRL_APPS_EN>, + <&src IMX7_RESET_PCIE_CTRL_APPS_TURNOFF>; + reset-names = "pciephy", "apps", "turnoff"; + fsl,imx7d-pcie-phy = <&pcie_phy>; + num-ib-windows = <4>; + num-ob-windows = <4>; + status = "disabled"; + }; + rpmsg: rpmsg{ compatible = "fsl,imx7d-rpmsg"; /* up to now, the following channels are used in imx rpmsg -- 2.17.1