Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755126AbeAHDNW (ORCPT + 1 other); Sun, 7 Jan 2018 22:13:22 -0500 Received: from mail-eopbgr00043.outbound.protection.outlook.com ([40.107.0.43]:57440 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754925AbeAHDNU (ORCPT ); Sun, 7 Jan 2018 22:13:20 -0500 From: Richard Zhu To: Ilya Ledvich , Lucas Stach CC: Bjorn Helgaas , Rob Herring , "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" Subject: RE: [PATCH v3] PCI: imx6: Add PHY reference clock source support Thread-Topic: [PATCH v3] PCI: imx6: Add PHY reference clock source support Thread-Index: AQHThWNePs1erF3MJEmPwD5ygYL4C6NpUXbA Date: Mon, 8 Jan 2018 03:13:17 +0000 Message-ID: References: <1515073977-10153-1-git-send-email-ilya@compulab.co.il> In-Reply-To: <1515073977-10153-1-git-send-email-ilya@compulab.co.il> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=hongxing.zhu@nxp.com; x-originating-ip: [123.151.195.43] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5PR0402MB2850;6:EEmApZB6QNWC6sc7xkGO6rDF7xh3h5XdZuyITK8OHXq0wZaEBBTWn3t0KmdA/w7b5O5yKYtOEVOgwDtC5fwvMgQVqlTQ2cXO9OICMB0BG+xvGhCCUOqwNmdtza5/MSUfjOURN11V4DhiamLkK3lCW2w9Kzo0K7kBmGcD2/0CeYN/j19JoxzaANFPDjh6cSoeiiXJ3uXirPnafjbKjC2z+9VrQ5dmp9Eh1lWs+mQWNIFj2wV1hNgKtr9h8o98U6ykloYip48JW9FnJtxr9Vuj1NwloshUrQ7Si1YCLOarnMKStjYfyY1bQZvS4zYNq58HMgqc4HS4xjroyptrq/w3iXwFf1Sxyu1LEMD6QCIG0FVlUay0gJ86j3lJI0q8Vv0T;5:wHM1VlFPoHNC7RBpRCkfYUNRRtAOsDpS4F30unTXZGE+40ymFY9rdhlJer5LRue0jw/ptXfbWNaPvknFrrNeproq8kUrNX7NNfFMqHkRuiB9Y2P0DOoFHP0EOX43cAJhq5yua0zf5FifETti0Q4RjEkNgGGE5Mpjho1jgu0hQqU=;24:X7IPVRyrcY2Z6fzWnFmQp1hV9m0wTp7BGESdiQT/xuryLm+e7OWr1ci2jgt6eOVQYddFxABmlHr1hl97rdJbBWWgY5H84SJiwR5HOyEs2Uk=;7:M1eLhSClKn/nmUraNrG/5SxPatRXmvF6ijVHKJXcb+ipM7h/AzTFTpk86MI64yDC0V3WnXG1MAs55yWgl0qr+qO14P1cOZOyXuF83zEwVIUrYMtomn1l7I3jBf2n7ZvxTC6f+KwyxypAqMjBfgpq6B3UiziMULbxYem52comWvJfk762WJnA8Pdg4en7qJsVJTCjQk7JlYYCxJICkKcLwKyiWOojP2PKKfPmhK7Zm2vetO+IUpfsngT3b17jIysr x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: ec0f02e8-6978-4b68-0a13-08d55645c389 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020);SRVR:AM5PR0402MB2850; x-ms-traffictypediagnostic: AM5PR0402MB2850: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(185117386973197)(258649278758335)(211936372134217)(153496737603132); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(3231023)(920507029)(944501075)(10201501046)(6055026)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(6072148)(201708071742011);SRVR:AM5PR0402MB2850;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:AM5PR0402MB2850; x-forefront-prvs: 054642504A x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(396003)(346002)(39380400002)(366004)(376002)(189003)(199004)(13464003)(252514010)(110136005)(3660700001)(33656002)(105586002)(6436002)(55016002)(9686003)(74316002)(34040400001)(5250100002)(305945005)(7736002)(66066001)(3280700002)(106356001)(53936002)(97736004)(54906003)(316002)(8936002)(478600001)(99286004)(14454004)(8676002)(81156014)(81166006)(25786009)(102836004)(6246003)(6116002)(229853002)(3846002)(68736007)(6506007)(2900100001)(53546011)(59450400001)(86362001)(76176011)(2906002)(4326008)(7696005)(5660300001)(2950100002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM5PR0402MB2850;H:AM5PR0402MB2850.eurprd04.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-microsoft-antispam-message-info: s28T490cHtFxZ+Inh0/pp9THHWqHKPBPL/mpEbIfLTsGd/Iu7vVzwxTsxYkWML3/dgNNzjTWq4QdEUEGEJbZYg== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec0f02e8-6978-4b68-0a13-08d55645c389 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2018 03:13:17.5438 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2850 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Best Regards hongxing zhu Linux BSP team Office: 86-21-28937189 Email: hongxing.zhu@nxp.com > -----Original Message----- > From: Ilya Ledvich [mailto:ilya@compulab.co.il] > Sent: Thursday, January 04, 2018 9:53 PM > To: Richard Zhu ; Lucas Stach > > Cc: Bjorn Helgaas ; Rob Herring > ; linux-pci@vger.kernel.org; linux-arm- > kernel@lists.infradead.org; linux-kernel@vger.kernel.org; > devicetree@vger.kernel.org; Ilya Ledvich > Subject: [PATCH v3] PCI: imx6: Add PHY reference clock source support > > i.MX7D variant of the IP can use either Crystal Oscillator input or internal > clock input as a Reference Clock input for PCIe PHY. > Add support for an optional property 'fsl,pcie-phy-refclk-internal'. > If present then an internal clock input is used as PCIe PHY reference clock > source. By default an external oscillator input is still used. > > Verified on Compulab SBC-iMX7 Single Board Computer. > > Signed-off-by: Ilya Ledvich Acked-by: Richard Zhu Thanks. Best Regards Richard > --- > changes since V2: > add a vendor prefix 'fsl' to a new property > > Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt | 5 +++++ > drivers/pci/dwc/pci-imx6.c | 8 +++++++- > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt > b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt > index 7b1e48b..1591a6a 100644 > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt > @@ -50,6 +50,11 @@ Additional required properties for imx7d-pcie: > - "pciephy" > - "apps" > > +Additional optional properties for imx7d-pcie: > +- fsl,pcie-phy-refclk-internal: If present then an internal PLL input > +is used > + as PCIe PHY reference clock source. By default an external oscillator > +input > + is used. > + > Example: > > pcie@0x01000000 { > diff --git a/drivers/pci/dwc/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c index > b734835..36812d3 100644 > --- a/drivers/pci/dwc/pci-imx6.c > +++ b/drivers/pci/dwc/pci-imx6.c > @@ -61,6 +61,7 @@ struct imx6_pcie { > u32 tx_swing_low; > int link_gen; > struct regulator *vpcie; > + bool pciephy_refclk_sel; > }; > > /* Parameters for the waiting for PCIe PHY PLL to lock on i.MX7 */ @@ - > 474,7 +475,9 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie) > switch (imx6_pcie->variant) { > case IMX7D: > regmap_update_bits(imx6_pcie->iomuxc_gpr, > IOMUXC_GPR12, > - IMX7D_GPR12_PCIE_PHY_REFCLK_SEL, 0); > + IMX7D_GPR12_PCIE_PHY_REFCLK_SEL, > + imx6_pcie->pciephy_refclk_sel ? > + IMX7D_GPR12_PCIE_PHY_REFCLK_SEL : 0); > break; > case IMX6SX: > regmap_update_bits(imx6_pcie->iomuxc_gpr, > IOMUXC_GPR12, @@ -840,6 +843,9 @@ static int imx6_pcie_probe(struct > platform_device *pdev) > imx6_pcie->vpcie = NULL; > } > > + imx6_pcie->pciephy_refclk_sel = > + of_property_read_bool(node, "fsl,pcie-phy-refclk-internal"); > + > platform_set_drvdata(pdev, imx6_pcie); > > ret = imx6_add_pcie_port(imx6_pcie, pdev); > -- > 1.9.1