Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp4092054iog; Tue, 21 Jun 2022 11:50:43 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s2r48kcLA8+mICzDi6itvMMASgjk2uH8RlnZSu9p1na8Xw1tGdXtE0psg1sur53QA2kxlO X-Received: by 2002:a05:6402:f0e:b0:435:8b5d:ece9 with SMTP id i14-20020a0564020f0e00b004358b5dece9mr10390622eda.276.1655837443114; Tue, 21 Jun 2022 11:50:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655837443; cv=none; d=google.com; s=arc-20160816; b=ngLrRzByKI+xQP+Hw8PDZI32vlxdl4XP7I0gZd95eWkACrJrSVTigLlXbOsQgaIu4N ND40zrNEBKnaePmr2p8jwdRS2YMa/cWra95ld4kXcrfHHa7YP7y2uKYjR8t5Re3eNH3G 9QqW3NXRKlWBmx/WiHFCJJ51SBN1k2HOUJd7zAzCVvhC7pNnSvQDlhUTSz5bnq4vpu+2 AcQERtf2NWhy430tI+BcnOxjOwhcBketoEo+J68narSWB9zw7jrZkpVA9vPKVvjTx70U UHF2GptQ/6GimFsYCN50EnGQzytn82+W517SKDpi3bR9xnlE8RYJwCWt9P4X116bSidF K7iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=oGfOroIOMjBFMqeQB76AS2zkjX5R3sWEZA4rFxbtDBQ=; b=RdNLYOrWCQbnAuVQg0V3IHADmQa6YbkJvmKXhOuSik3VYBKrD0UrW+pzhZfXOXJCCv wJ0ccF9320f3DX4aiBKzN0AOpGM8GD0hBnTDIR8OOotxkS1eTQ6ZLh388Ll2+/FNIt9Y FP1msaHC53ABpyevHeu2snvgirE7wEkg38tbOch6FdpgZfz4ATrBzDRrDG9Ksli0RoB5 3XAhFgFGpOb5lgS2KT/durjfl3omOpEEqWrynhvUPtz/Hm6OGhrLJMOkdgmNaQpjaMT7 fxr4qi8ickA4fCJsTIdwI/uBTHAZ9outyRlGyTkcRWuF/7a9H2fwgrK+BRT6qnWfWPZu 9KSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=HaPkMUwg; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v12-20020a17090651cc00b007152a3ee4fesi14967426ejk.834.2022.06.21.11.50.17; Tue, 21 Jun 2022 11:50:43 -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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=HaPkMUwg; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349510AbiFUSmx (ORCPT + 99 others); Tue, 21 Jun 2022 14:42:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229877AbiFUSmv (ORCPT ); Tue, 21 Jun 2022 14:42:51 -0400 Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com [IPv6:2607:f8b0:4864:20::72d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1C4210FDF; Tue, 21 Jun 2022 11:42:48 -0700 (PDT) Received: by mail-qk1-x72d.google.com with SMTP id o73so10808498qke.7; Tue, 21 Jun 2022 11:42:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=oGfOroIOMjBFMqeQB76AS2zkjX5R3sWEZA4rFxbtDBQ=; b=HaPkMUwgnEgi/9PaAOcWC82P8iy7ma5WP+KVn7AtLQrQ2yiWKH5BUiXKWbGX7E5Rzg E49RWWwOM/yXXNgSdMGJxZYanpzVi8l7hvtZnQRNtqEpzARBRTBMZfjD7zjWW7vljD0F GiI46C86bVKVlFvUHYqV5OYlt2CWnzusNiWrSkQf4Z1oIYUTWjkRabFndApyA0ima+lU XPIqNi/wCSUspcphNmBId1SJCVwyxbOOUbIPxH5BF17X8lS5AV6qTNvsWUVcGjh9R3iq VVIbT1h8xx/8CXBHmlTqUl7lfQTjIllzJD1UAC8eZ3rjUQERVSeM6PTPvUz/jhwE14YW l3iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=oGfOroIOMjBFMqeQB76AS2zkjX5R3sWEZA4rFxbtDBQ=; b=YCRdSqqV8CQrGKr5UYPQaKlFzeOpceKoN7k5Gsjo72gn1hYhB1oT9jibvjowNxU6Y/ JuTBjPHEc9fBE+AwQflSYslV6NC0imL1wVU/BnTWz/zGSe74K84ahnaKzQwCyNQ1eAWG 6ezR1Z8YSKF8RKFLVD3QdxVjFcAi9Btf+LC2f88y1qAH5BN0KNxX1e+XMdW/2l2DvDtM rifUTlDphLVCJp6cwodCKKK6aEUlqlqxRafsuVlx9kTQOLTB0TJ/ikknLZo50NjEJvAq OM8g6uZSCPGaT+TkrHk3jc4WF03TASjBLDB3OifGe8bEF57FX51zPgmDm/dIwGncJkZA efMA== X-Gm-Message-State: AJIora+DVXx89e90dHqnZ2RKt7hdnwrQXlo1IkpKypLQ80DCAgYCoKgP x6yD+IWHaICdxiVGiiXX/5oKijpBxSx+LLQ4GWI= X-Received: by 2002:a05:620a:2494:b0:6a7:6a06:7aae with SMTP id i20-20020a05620a249400b006a76a067aaemr21419086qkn.87.1655836968098; Tue, 21 Jun 2022 11:42:48 -0700 (PDT) MIME-Version: 1.0 References: <20220621111818.447452-1-robimarko@gmail.com> <20220621111818.447452-2-robimarko@gmail.com> In-Reply-To: From: Robert Marko Date: Tue, 21 Jun 2022 20:42:37 +0200 Message-ID: Subject: Re: [PATCH v2 2/2] phy: qcom-qmp-pcie: add IPQ8074 PCIe Gen3 QMP PHY support To: Dmitry Baryshkov Cc: Andy Gross , Bjorn Andersson , kishon@ti.com, Vinod Koul , Rob Herring , krzysztof.kozlowski+dt@linaro.org, linux-arm-msm , linux-phy@lists.infradead.org, Devicetree List , open list Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,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 On Tue, 21 Jun 2022 at 19:26, Dmitry Baryshkov wrote: > > On Tue, 21 Jun 2022 at 14:18, Robert Marko wrote: > > > > IPQ8074 has 2 different single lane PCIe PHY-s, one Gen2 and one Gen3. > > Gen2 one is already supported, so add the support for the Gen3 one. > > It uses the same register layout as IPQ6018. > > > > Signed-off-by: Robert Marko > > --- > > Changes in v2: > > * Rebase onto next-20220621 to apply on the refactored driver > > * Remove non existant has_phy_com_ctrl and has_lane_rst > > --- > > drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 171 ++++++++++++++++++++++- > > 1 file changed, 169 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c > > index b2cd0cf965d8..b4836417b2c0 100644 > > --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c > > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c > > [skipped] > > > @@ -2121,8 +2277,16 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np) > > > > init.ops = &clk_fixed_rate_ops; > > > > - /* controllers using QMP phys use 125MHz pipe clock interface */ > > - fixed->fixed_rate = 125000000; > > + /* > > + * Controllers using QMP PHY-s use 125MHz pipe clock interface > > + * unless other frequency is specified in the DTS. > > + */ > > + ret = of_property_read_u32(np, "clock-output-rate", &rate); > > The clock-output-rate is a new property, which doesn't exist yet. If > the rate is peculiar to your platform/PHY, I'd suggest adding a field > to the qmp configuration instead. Hi, That sounds like a better idea than adding new DT property, it's specific only to the Gen3 PHY for IPQ8074. I will change it for v3. Regards, Robert > > > + if (ret) > > + fixed->fixed_rate = 125000000; > > + else > > + fixed->fixed_rate = rate; > > + > > fixed->hw.init = &init; > > > > ret = devm_clk_hw_register(qmp->dev, &fixed->hw); > > @@ -2255,6 +2419,9 @@ static const struct of_device_id qcom_qmp_phy_pcie_of_match_table[] = { > > }, { > > .compatible = "qcom,ipq8074-qmp-pcie-phy", > > .data = &ipq8074_pciephy_cfg, > > + }, { > > + .compatible = "qcom,ipq8074-qmp-gen3-pcie-phy", > > + .data = &ipq8074_pciephy_gen3_cfg, > > }, { > > .compatible = "qcom,ipq6018-qmp-pcie-phy", > > .data = &ipq6018_pciephy_cfg, > > -- > > 2.36.1 > > > > > -- > With best wishes > Dmitry