Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp446807rwb; Mon, 26 Sep 2022 00:41:29 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7o2mM7tCkM0GG/wOz+cIKiRE3WtDOEBh3CpMdMt80iJumtXvTcODyqbKCs1oR1fZKnE5oA X-Received: by 2002:a17:907:6d8c:b0:781:e30f:3218 with SMTP id sb12-20020a1709076d8c00b00781e30f3218mr17301058ejc.430.1664178089406; Mon, 26 Sep 2022 00:41:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664178089; cv=none; d=google.com; s=arc-20160816; b=Z8/o9nLySbYD8Nv1fF8iB8i2tUTy8GZmIrcnc9jP2lHI/EhlvD++eCUMPsj7NRPJG8 64LA8Pyo2BAYPwEERR/gP20QTQveC+8Bus8uaxYE7SRT2OW0FOhvTwsdJ6jAghih3tJI r86M+ti4S1f9QfhT10KMUl8QFRu1N0gPwPRg+d7uNUfgFTcpfia1tmMcSMHyPobfFHEA jvRmWH77/GlDjet2Ir8WwqhFM0gyRBt6udAK2rIJfPrVkHEVbcAHx+jeGzO/oZ9Ipww2 mpH20zIx/V5fopnA3VRQm6j715ft+S/gGlsY0GB9KogkCayuAWeCjMeGwMW9iGK3zZKq 8Bgw== 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=m7J2WB9rdhKuwxRQCOBZQxw3xVROXUzO1TKAM1GIbQQ=; b=0tD5YZS0iCgONzS/ZmvG1TsPmv2SmryqTm/URplgkmW8OXVNnuBrP3cDABV2e74XEA Ge5usSATvpN++EaOFUjWROMdWM3tbdBcsbb+zWp1jQUu3TCfXY+TrbM/v5e+e6eEvlQO wi2sJeVFz0N3P1Pyp13GxBIYMY/xxtPJe46jwyCS+mOwP2B30JoqnnGQoaSZS4fHqk6u G42pH25TRzbstseH5h4Yf6PVWgLJlHz2JbM9AMhoKAcgrdsGHN3+W4pegL7On3/40Yzt o6dwLBJwJ+yQNHwNMFjoEqnjM9z8Rv7hya47OcfoiM546TPGkILC7MXRoTjqCOK0D3i/ H5LA== 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 z19-20020a056402275300b004515bc0d76dsi19259269edd.44.2022.09.26.00.41.04; Mon, 26 Sep 2022 00:41:29 -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 S233791AbiIZHAc (ORCPT + 99 others); Mon, 26 Sep 2022 03:00:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233731AbiIZHAF (ORCPT ); Mon, 26 Sep 2022 03:00:05 -0400 Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B7A401AF3F; Mon, 26 Sep 2022 00:00:03 -0700 (PDT) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id DE99420268D; Mon, 26 Sep 2022 09:00:01 +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 8CB3F202683; Mon, 26 Sep 2022 09:00:01 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id D3534181D0CB; Mon, 26 Sep 2022 14:59:59 +0800 (+08) From: Richard Zhu To: vkoul@kernel.org, p.zabel@pengutronix.de, l.stach@pengutronix.de, bhelgaas@google.com, lorenzo.pieralisi@arm.com, robh@kernel.org, shawnguo@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 v9 0/4] Add the iMX8MP PCIe support Date: Mon, 26 Sep 2022 14:40:59 +0800 Message-Id: <1664174463-13721-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 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 v8-->v9: - Split the PHY driver changes into three patches. - To keep the format consistent, re-define the PHY_CMN_REG75, and remove two useless BIT definitions. - Refine the i.MX8MM PCIe PHY driver, let it more reviewable, flexible, and easy to expand. - Add the i.MX8MP PCIe PHY support. - Only PHY related patches in v9, Since the others patches had been merged by Phillipp/Shawn/Lorenzo, thanks. Main changes v7-->v8: - Add the Reviewed-by tag, no other changes. Only two patches in v8, Since the others patches had been merged by Phillipp/Shawn/Lorenzo. Main changes v6-->v7: - Add "Reviewed-by: Lucas Stach " into first three patches. - Use "const *char" to replace the static allocation. Main changes v5-->v6: - To avoid code duplication when find the gpr syscon regmap, add the gpr compatible into the drvdata. - Add one missing space before one curly brace in 3/7 of v5 series. - 4/7 of v5 had been applied by Phillipp, thanks. For ease of tests, still keep it in v6. Main changes v4-->v5: - Use Lucas' approach, let blk-ctrl driver do the hsio-mix resets. - Fetch the iomuxc-gpr regmap by the different phandles. Main changes v3-->v4: - Regarding Phillipp'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 ++++++++-- drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- 2 files changed, 108 insertions(+), 50 deletions(-) [PATCH v9 1/4] dt-binding: phy: Add i.MX8MP PCIe PHY binding [PATCH v9 2/4] phy: freescale: imx8m-pcie: Refine register [PATCH v9 3/4] phy: freescale: imx8m-pcie: Refine i.MX8MM PCIe PHY [PATCH v9 4/4] phy: freescale: imx8m-pcie: Add i.MX8MP PCIe PHY