Received: by 2002:a05:6358:4e97:b0:b3:742d:4702 with SMTP id ce23csp3369799rwb; Tue, 16 Aug 2022 01:27:28 -0700 (PDT) X-Google-Smtp-Source: AA6agR4s/cq/MQoM/jpCkljKMU3f+iNIfoESfHz+/xXGILZV4eqbXeQfvi2Wtxj/rQp5aS8DCqnK X-Received: by 2002:a17:906:6a0f:b0:730:df34:6ec4 with SMTP id qw15-20020a1709066a0f00b00730df346ec4mr13282327ejc.659.1660638448136; Tue, 16 Aug 2022 01:27:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660638448; cv=none; d=google.com; s=arc-20160816; b=VKlDrWaoJQjI7Fa8EmvRMByVCXtXN2aHcmlWw+L1HyWXCuWkF55i08stHMhxOxEy19 wDhifRxoLcXGML4t8xj3EJsgfHBdxvFSqg4f6sHLD/TC67vhVuzQKEETAzVcwGtYPIQA E/yViJnyw2a+4o7i9fDy8D8/35qwSwJqIr+ebz0YUvrNy1/5XXbyg4cjHOAYCj9969z9 63qpGBsGfEf6bD438cKTDcK5OEZDlfL8nef9kZjntOy2e2qWBdMP+eJJWO2845DXq8/n uifYJLCNFNPL7yrIrIJirOFfL+etPEPsbKiwFG48mxo7hLq0WcwhKtUcNj67QKBrVKom tX2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=VclfOyaCiqYqoFznvJ1HyZCELeL7Cs2FfKQEVNoh5Lk=; b=sZthbH/Yt7KKyCkyprBQkEEgPbJRPc9+rZN62j5bs0YVIQts0rIkitnQt69a7OH4QQ Opk6rZDIUgYtIkYWM+wyEMTLiatgZKPIRzFhhmZYrBIEblnPIUpTrK3xSW02e8V+LN2B 9XG8Or0LeZMz8a7WpI+srBxvfuUtZ/3uXe7G105f9DPRC8rd2U2cnYUHswS13WfQnBPk wYOeHQtmJRPbOK28gpr4X2RU5llTVva28mZ2Fy3u+dOF4OrhSy9zt0z/wutjXIcFll4z SrI/ZHQwTUzfi+fu+m0NKQGKb2aoqXau0uPZVwEodKIm9lZrvk6HGCaVO2Nuu2++Bl1C SHrQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v13-20020a056402348d00b0043e85391923si11048531edc.55.2022.08.16.01.27.01; Tue, 16 Aug 2022 01:27:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231515AbiHPIX3 (ORCPT + 99 others); Tue, 16 Aug 2022 04:23:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231493AbiHPIWC (ORCPT ); Tue, 16 Aug 2022 04:22:02 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A251514658D; Mon, 15 Aug 2022 23:01:56 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 2BE1D2020E6; Tue, 16 Aug 2022 08:01:55 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id E93EE2020DF; Tue, 16 Aug 2022 08:01:54 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 3A3EB180031A; Tue, 16 Aug 2022 14:01:53 +0800 (+08) From: Richard Zhu To: l.stach@pengutronix.de, bhelgaas@google.com, robh+dt@kernel.org, lorenzo.pieralisi@arm.com, shawnguo@kernel.org, kishon@ti.com, kw@linux.com, frank.li@nxp.com Cc: hongxing.zhu@nxp.com, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-imx@nxp.com Subject: [PATCH v2 0/10] Add iMX PCIe EP mode support Date: Tue, 16 Aug 2022 13:44:37 +0800 Message-Id: <1660628687-25676-1-git-send-email-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org i.MX PCIe controller is one dual mode PCIe controller, and can work either as RC or EP. This series add the i.MX PCIe EP mode support. And had been verified on i.MX8MQ and i.MX8MM EVK boards. In the verification, one EVK board used as RC, the other one used as EP. Use the cross TX/RX differential cable connect the two PCIe ports of these two EVK boards. +-----------+ +------------+ | PCIe TX |<-------------->|PCIe RX | | | | | |EVK Board | |EVK Board | | | | | | PCIe RX |<-------------->|PCIe TX | +-----------+ +------------+ Main changes from v1 -> v2: - Add Rob's ACK into first two commits. - Rebase to the tag: pci-v5.20-changes of the pci/next branch. Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 2 + arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 14 +++++++ arch/arm64/boot/dts/freescale/imx8mm.dtsi | 20 ++++++++++ arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 12 ++++++ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 27 +++++++++++++ drivers/misc/pci_endpoint_test.c | 2 + drivers/pci/controller/dwc/Kconfig | 25 +++++++++++- drivers/pci/controller/dwc/pci-imx6.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 8 files changed, 264 insertions(+), 19 deletions(-) [PATCH v2 01/10] dt-bindings: imx6q-pcie: Add iMX8MM PCIe EP mode [PATCH v2 02/10] dt-bindings: imx6q-pcie: Add iMX8MQ PCIe EP mode [PATCH v2 03/10] PCI: dwc: Kconfig: Add iMX PCIe EP mode support [PATCH v2 04/10] arm64: dts: Add iMX8MM PCIe EP support [PATCH v2 05/10] arm64: dts: Add iMX8MQ PCIe EP support [PATCH v2 06/10] arm64: dts: Add iMX8MM PCIe EP support on EVK board [PATCH v2 07/10] arm64: dts: Add iMX8MQ PCIe EP support on EVK board [PATCH v2 08/10] misc: pci_endpoint_test: Add iMX8 PCIe EP device [PATCH v2 09/10] PCI: imx6: Add iMX8MM PCIe EP mode [PATCH v2 10/10] PCI: imx6: Add iMX8MQ PCIe EP support