[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOMZO5Cxavb+iXdxH=JiWzP4VVo-ue0PU-LjBE6kD1VBPgW_0g@mail.gmail.com>
Date: Fri, 1 Dec 2017 18:21:22 -0200
From: Fabio Estevam <festevam@...il.com>
To: tyler@...nsourcefoundries.com
Cc: Shawn Guo <shawnguo@...nel.org>,
Fabio Estevam <fabio.estevam@....com>,
Sascha Hauer <kernel@...gutronix.de>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Ilya Ledvich <ilya@...pulab.co.il>
Subject: Re: [PATCH 8/8] PCIe: imx6: imx7d: add support for phy refclk source
On Thu, Nov 30, 2017 at 6:14 PM, <tyler@...nsourcefoundries.com> wrote:
> From: Tyler Baker <tyler@...nsourcefoundries.com>
>
> In the i.MX7D the PCIe PHY can use either externel oscillator or
> internal PLL as a reference clock source.
> Add support for the PHY Reference Clock source including
> device tree property phy-ref-clk.
> External oscillator is used as a default reference clock source.
>
> Signed-off-by: Tyler Baker <tyler@...nsourcefoundries.com>
> Signed-off-by: Ilya Ledvich <ilya@...pulab.co.il>
Please submit this one to the PCI list and PCI maintainers.
As you are adding a new property you should update
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt.
> ---
> drivers/pci/dwc/pci-imx6.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/dwc/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c
> index b734835..e935db4 100644
> --- a/drivers/pci/dwc/pci-imx6.c
> +++ b/drivers/pci/dwc/pci-imx6.c
> @@ -45,6 +45,7 @@ enum imx6_pcie_variants {
> struct imx6_pcie {
> struct dw_pcie *pci;
> int reset_gpio;
> + u32 phy_refclk;
Could this be bool instead?
> bool gpio_active_high;
> struct clk *pcie_bus;
> struct clk *pcie_phy;
> @@ -474,7 +475,7 @@ 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);
> + BIT(5), imx6_pcie->phy_refclk ? BIT(5) : 0);
> break;
> case IMX6SX:
> regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
> @@ -733,6 +734,11 @@ static int imx6_pcie_probe(struct platform_device *pdev)
> if (IS_ERR(pci->dbi_base))
> return PTR_ERR(pci->dbi_base);
>
> + /* Fetch PHY Reference Clock */
> + if (of_property_read_u32(node, "phy-ref-clk", &imx6_pcie->phy_refclk))
You could use of_property_read_bool instead.
Powered by blists - more mailing lists