From patchwork Tue Jul 19 09:45:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hongxing Zhu X-Patchwork-Id: 12922358 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 552C0C433EF for ; Tue, 19 Jul 2022 10:02:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=YFmZ2atWuCfwl2Sm09lM1aXg/ZRJ3Q3/BiAXovmK87E=; b=MZ7Y20hQnjRiVA iy2WlHzqLQpHU9bCVVLNS3QvGuQ3+y4FHKrGBTTM/2EAAQ6UM8uk6oHqslvt2wCnZgQiMFiUH0ODM LrQ2p++Ue2FKwp4TFK+vyz5gf69lBkRvGHpEz8We1WPMOGCCzaNYUVZ92HS5B1G8/Ilf2bJlqpmnv 5jPHSko6aIB78idx2wrFpPvqDOBcUbbBE9UyrD1HIY/BWYiY8n3HzhecvzfZak3fN1ljM6ovYEZka NawKky0dbvTga39qNoalxn7NBDCpC3qEA9S0bfltOIZKPD9BDegOZVXdRf/fgeXVzP5Kb3CYjeSwS CDva4omwp1nMumQxa+Yw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDk2q-007ifT-0Q; Tue, 19 Jul 2022 10:01:36 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDk2Z-007iNP-2E for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 10:01:21 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9887D200C38; Tue, 19 Jul 2022 12:01:13 +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 51CFA200C32; Tue, 19 Jul 2022 12:01:13 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 63C0A180222C; Tue, 19 Jul 2022 18:01:11 +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 v1 0/10] Add iMX PCIe EP mode support Date: Tue, 19 Jul 2022 17:45:29 +0800 Message-Id: <1658223939-25478-1-git-send-email-hongxing.zhu@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_030119_259962_199C8A5C X-CRM114-Status: UNSURE ( 8.01 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.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 | +-----------+ +------------+ 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 | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 8 files changed, 263 insertions(+), 19 deletions(-) [PATCH v1 01/10] dt-bindings: imx6q-pcie: Add iMX8MM PCIe EP mode [PATCH v1 02/10] dt-bindings: imx6q-pcie: Add iMX8MQ PCIe EP mode [PATCH v1 03/10] PCI: dwc: Kconfig: Add iMX PCIe EP mode support [PATCH v1 04/10] arm64: dts: Add iMX8MM PCIe EP support [PATCH v1 05/10] arm64: dts: Add iMX8MQ PCIe EP support [PATCH v1 06/10] arm64: dts: Add iMX8MM PCIe EP support on EVK board [PATCH v1 07/10] arm64: dts: Add iMX8MQ PCIe EP support on EVK board [PATCH v1 08/10] misc: pci_endpoint_test: Add iMX8 PCIe EP device [PATCH v1 09/10] PCI: imx6: Add iMX8MM PCIe EP mode [PATCH v1 10/10] PCI: imx6: Add iMX8MQ PCIe EP support