From patchwork Thu Feb 2 07:35:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Zhu X-Patchwork-Id: 4861 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp103557wrn; Thu, 2 Feb 2023 00:06:43 -0800 (PST) X-Google-Smtp-Source: AK7set/IulDmnZgRLcGubCYhRCGh83dAIJJyu8H0bWDxly50/KeCfVJzlv0tx08li6R57MAxX+4F X-Received: by 2002:aa7:c956:0:b0:4a2:be0:fecf with SMTP id h22-20020aa7c956000000b004a20be0fecfmr4031142edt.40.1675325202885; Thu, 02 Feb 2023 00:06:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675325202; cv=none; d=google.com; s=arc-20160816; b=CoaOmwMgv1u1xUUilakTL1pAxKspVa1+dxy/GRDmrITsK6eZfLYreZas4Rb1mjZEHm miLtQV69BocJMHABSEXOW41u7FRXB9UWtAPVugQYZ3WIQ2hcBgekYeFoDdDSHqTMclqd 1R6+4YEoBbAjvzGh8U4yiyzyKY5FGg5AI0ZldNds4Gra3JIYxCjKnEFnIoY/WLdUExyw MJp0PDw1HF8DxvJLck8DAq8DaCIW6eizjvtry7LC/EE7W10JTbx/B6SlbXcqd88hhjK4 ITvf1Kr6eyAxtgyQqEP7LgCEz3RhEw3gUo95iiPRP7sjN2fzSJiHwiBfxTN3X2fXFy7F BFmA== 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=KVCPsW4RnpZYijgXmh65sH3f0T4tPZSNr+NtkpWGA4k=; b=GaCgpsQjIoOeZxypMN9Ahalp1L8NZqjiVCop1wOfEtHXLigvqeCkL3VFeUJU43z9rM /32oVChfIg5XgXRBaC6MBc8d4CWsa72Rem7x6S5oRwz1EZkV7j3/MvLZ+iMxi9gxJfMu KBd9JJFreySNLeAfhmFILDEgNfRSvgrjUXpTYyoOpWPjSEijik90ZYHYzwwOLVXYe80b qXyUp3oyAZCTc12bq4b4wBZyTXMPrl+EsVLqfdx0m8kR2DYjGRqhSNunziCtuGdPaM6S PMV+uVTOmqMfEoitqIhnFTHvUh6w2NZPHMqzsvIbrQsilo54ZB0Xf08S1D2iqUAuNpXa yEAg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bc25-20020a056402205900b004a24bd02c19si10805846edb.110.2023.02.02.00.06.19; Thu, 02 Feb 2023 00:06:42 -0800 (PST) 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 S232161AbjBBIBE (ORCPT + 99 others); Thu, 2 Feb 2023 03:01:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53970 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229479AbjBBIBB (ORCPT ); Thu, 2 Feb 2023 03:01:01 -0500 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B0558A4B; Thu, 2 Feb 2023 00:00:59 -0800 (PST) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id E37F21A130E; Thu, 2 Feb 2023 09:00:57 +0100 (CET) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 84E5E1A12FC; Thu, 2 Feb 2023 09:00:57 +0100 (CET) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id A0EC3183ABF0; Thu, 2 Feb 2023 16:00:55 +0800 (+08) From: Richard Zhu To: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, l.stach@pengutronix.de, shawnguo@kernel.org, lorenzo.pieralisi@arm.com, peng.fan@nxp.com, marex@denx.de, marcel.ziswiler@toradex.com, tharvey@gateworks.com, frank.li@nxp.com Cc: hongxing.zhu@nxp.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-imx@nxp.com Subject: [PATCH DTS v9 0/4] Add i.MX PCIe EP mode support Date: Thu, 2 Feb 2023 15:35:33 +0800 Message-Id: <1675323337-19358-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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756705799542252511?= X-GMAIL-MSGID: =?utf-8?q?1756705799542252511?= 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, i.MX8MM EVK and i.MX8MP 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 v8 -> v9: Refer to Rob's review comments. - To avoid codes duplication, move as much as possible properties into common schema. Main changes from v7 -> v8: Refer to Rob's review comments. - Merge the binding document changes into one commit. - To avoid the duplication, restruct the common properties of i.MX PCIe schema, thus they can be shared by both RC and Endpoint modes. Main changes from v6 -> v7: Refer to Krzysztof's review comments. - Drop the 2/4/6 patches of v6 series. - Based on for-next branch of Shawn's git, and the fsl,imx6q-pcie.yaml changes in the v4. Separate the DT-schema for i.MX PCIe Endpoint modes, and pass the dt_binding_check and dtbs_check. Main changes from v5 -> v6: - The v6 only contains the DTS changes, since PCIe part had been picked up. - Based on Shawn's for-next branch, and the following two patch-sets [1] and [2] issued by Marek, rebase the DTS changes. [1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20230116101649.46459-1-marex@denx.de/ [2] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20230116101422.46257-1-marex@denx.de/ Main changes from v4 -> v5: - Rebase to v6.2-rc1. - Follow the clock definitions on i.MX8MP platform refer to the following commit. https://patchwork.kernel.org/project/linux-arm-kernel/patch/20221216195932.3228998-1-l.stach@pengutronix.de/ Main changes from v3 -> v4: - Add the Rob's ACK in the dt-binding patch. - Use "i.MX" to keep spell consistent. - Squash generic endpoint infrastructure changes of "[12/14] PCI: imx6: Add iMX8MM PCIe EP mode" into Kconfig changes. NOTE: The following commits should be cherried back firstly, when apply this series. Shawn's tree (git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git) d50650500064 arm64: dts: imx8mp-evk: Add PCIe support 9e65987b9584 arm64: dts: imx8mp: Add iMX8MP PCIe support 5506018d3dec soc: imx: imx8mp-blk-ctrl: handle PCIe PHY resets Philipp's tree (git://git.pengutronix.de/git/pza/linux) 051d9eb40388 reset: imx7: Fix the iMX8MP PCIe PHY PERST support The PHY changes: https://patchwork.kernel.org/project/linux-pci/cover/1664174463-13721-1-git-send-email-hongxing.zhu@nxp.com/ Main changes from v2 -> v3: - Add the i.MX8MP PCIe EP support, and verified on i.MX8MP EVK board. - Rebase to latest pci/next branch(tag: v6.0-rc1 plus some PCIe changes). 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-common.yaml | 285 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 83 +++++++++++++++++++++++ Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 247 ++----------------------------------------------------------------- MAINTAINERS | 2 + arch/arm64/boot/dts/freescale/imx8mm.dtsi | 24 +++++++ arch/arm64/boot/dts/freescale/imx8mp.dtsi | 26 ++++++++ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 32 +++++++++ 7 files changed, 458 insertions(+), 241 deletions(-) [PATCH v9 1/4] dt-bindings: imx6q-pcie: Restruct i.MX PCIe schema [PATCH v9 2/4] arm64: dts: Add i.MX8MM PCIe EP support [PATCH v9 3/4] arm64: dts: Add i.MX8MQ PCIe EP support [PATCH v9 4/4] arm64: dts: Add i.MX8MP PCIe EP support