From patchwork Tue Aug 16 05:44:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hongxing Zhu X-Patchwork-Id: 12944321 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 C23AAC19F2C for ; Tue, 16 Aug 2022 06:04:49 +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=RBPOTGwLhtOeYwN6lLdPgYkSzc5uCOtKkgob4e2oZJ8=; b=ZNdmPf3ZLEQnm7 BeOGcwxi8ruitGx9ls0uOTew8YEBkocgXoBe6xwNDdkkozmLTKKSU6lCvsh6qVKz0qxtcBU6q2j9z rVZUoCLACr5W6ynpBPAIFf4jdCvb322ek9PhWXEqVb9iRxKCZb7vkV6OUUG/yw89lKAf8R8rZ47S5 xBckqwIrRXzF3H9R8McGEvtd10sA399UHYx/B7XaIEjGj5ks7Rz03EBKAEm6fE7+OJFTNNSkeIEch v+p86ZMZieoBau2pALKgpnj/94sd+EjVcJ7/nRJeD787zB8RnR8paDObe5I12MGh/ZYERoTsjEnuZ 9BX2vbC5TCy5Bn4tITog==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNpfn-00D5Q9-PW; Tue, 16 Aug 2022 06:03:32 +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 1oNpeN-00D3MZ-10 for linux-arm-kernel@lists.infradead.org; Tue, 16 Aug 2022 06:02:05 +0000 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-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220815_230203_349235_C09B8F15 X-CRM114-Status: UNSURE ( 9.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 | +-----------+ +------------+ 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