Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp2873250rwe; Mon, 29 Aug 2022 01:34:53 -0700 (PDT) X-Google-Smtp-Source: AA6agR5UAjMnErJLAvXGkthYv8/FBAOb3CnAWR7fgaTubPOsHCPBuWgGDJPn/nirxgUKK/umCxvZ X-Received: by 2002:a17:907:1dd5:b0:73d:dc4a:6f60 with SMTP id og21-20020a1709071dd500b0073ddc4a6f60mr10394251ejc.255.1661762093523; Mon, 29 Aug 2022 01:34:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661762093; cv=none; d=google.com; s=arc-20160816; b=MnAr48ixu5dN5yhMD299XcQQRzUjf0/6h/d3jpFmvva992KzDjrqiuG6V5po8Q363C ZSNb64bhLD4Loqn1AgNT9T9E2q3rJkGqPHkEYZ1jLaTtqVLBtP+/RXqpgIZ3PoYOefGZ hHCJg5l0zuy2MhYN4J/H4zByNf1o6CxF7p7PZQ+4ZjbmVDKUUF1yEtZcGhZ0Usmo7CIz N58ELX+HCeIUYrw1skRTc2vRTchrGqJTR4nYvkEQY90lfltJUIP8hOnAzuihA/A33mKt Qkm619Z6TzEx+JOYLzew7LSgz1oDIMopF1SSih43cUjkuMFqKQHbGDFDC1l4nYd/MrjZ +iqQ== 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=SqbXpZhT9MZ/HxiolLoxQyf0fFaU04g4IrGDAYk3h1Y=; b=rfGHWtNsEX31MjB9nPuHN/h9nJmx7YxGe4/A+cBmUEgRtdn/xIzYQ517Ttq12Wwhf/ 3Y/IxpGbJZNS0Nd9xB76GmkChXNJIZvOQHDfatX2HlsVyHdLo7XAe2Octw58IBn9m2Th 53XTY59dHO8ojzlUlqcBbAv1a0E5X/bz3GaF5lFPQpgrVfmYIuUumOJ8N/zP6fbwr72B NLRkA0bFVBsAH4fiK91cKHEElE8tln0ur7YIIm5r1aDyj7E2MOZbp2zP8OS2zBMCstdb AWTSwcTEGTWbABKFRE0mQ14WYlXs3XkA7dC+z8+lS3zN29crIwkpCxZcxj4y9vjl+BGE ng9A== 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 gx12-20020a170906f1cc00b0072f703af475si5206006ejb.924.2022.08.29.01.34.28; Mon, 29 Aug 2022 01:34:53 -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 S229803AbiH2IdA (ORCPT + 99 others); Mon, 29 Aug 2022 04:33:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229684AbiH2Icz (ORCPT ); Mon, 29 Aug 2022 04:32:55 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BDC3A57894; Mon, 29 Aug 2022 01:32:54 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 296FD200FC8; Mon, 29 Aug 2022 10:32:53 +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 E2A3D200FAC; Mon, 29 Aug 2022 10:32:52 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 02341181D0C0; Mon, 29 Aug 2022 16:32:50 +0800 (+08) From: Richard Zhu To: p.zabel@pengutronix.de, l.stach@pengutronix.de, bhelgaas@google.com, lorenzo.pieralisi@arm.com, robh@kernel.org, shawnguo@kernel.org, vkoul@kernel.org, alexander.stein@ew.tq-group.com, marex@denx.de, richard.leitner@linux.dev Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-imx@nxp.com Subject: [PATCH v4 0/6] Add iMX8MP PCIe support Date: Mon, 29 Aug 2022 16:15:11 +0800 Message-Id: <1661760917-9558-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 Based on the 6.0-rc1 of the pci/next branch. This series adds the i.MX8MP PCIe support and tested on i.MX8MP EVK board when one PCIe NVME device is used. - i.MX8MP PCIe has reversed initial PERST bit value refer to i.MX8MQ/i.MX8MM. Add the PHY PERST explicitly for i.MX8MP PCIe PHY. - Add the i.MX8MP PCIe PHY support in the i.MX8M PCIe PHY driver. And share as much as possible codes with i.MX8MM PCIe PHY. - Add the i.MX8MP PCIe support in binding document, DTS files, and PCIe driver. Main changes v3-->v4: - Regarding Phillip's suggestions, add fix tag into the first commit. - Add Reviewed and Tested tags. Main changes v2-->v3: - Fix the schema checking error in the PHY dt-binding patch. - Inspired by Lucas, the PLL configurations might not required when external OSC is used as PCIe referrence clock. It's true. Remove all the HSIO PLL bit manipulations, and PCIe works fine on i.MX8MP EVK board with one NVME device is used. - Drop the #4 patch of v2, since it had been applied by Rob. Main changes v1-->v2: - It's my fault forget including Vinod, re-send v2 after include Vinod and linux-phy@lists.infradead.org. - List the basements of this patch-set. The branch, codes changes and so on. - Clean up some useless register and bit definitions in #3 patch. Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml | 16 +++++++-- arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 53 +++++++++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8mp.dtsi | 46 ++++++++++++++++++++++++- drivers/pci/controller/dwc/pci-imx6.c | 17 +++++++++- drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- drivers/reset/reset-imx7.c | 1 + 6 files changed, 232 insertions(+), 51 deletions(-) [PATCH v4 1/6] reset: imx7: Fix the iMX8MP PCIe PHY PERST support [PATCH v4 2/6] dt-binding: phy: Add iMX8MP PCIe PHY binding [PATCH v4 3/6] phy: freescale: imx8m-pcie: Add iMX8MP PCIe PHY [PATCH v4 4/6] arm64: dts: imx8mp: Add iMX8MP PCIe support [PATCH v4 5/6] arm64: dts: imx8mp-evk: Add PCIe support [PATCH v4 6/6] PCI: imx6: Add iMX8MP PCIe support