All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavan Kondeti <quic_pkondeti@quicinc.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Pavan Kondeti <quic_pkondeti@quicinc.com>,
	Sandeep Maheswaram <quic_c_sanm@quicinc.com>,
	Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	Vinod Koul <vkoul@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	Wesley Cheng <wcheng@codeaurora.org>,
	Stephen Boyd <swboyd@chromium.org>,
	Doug Anderson <dianders@chromium.org>,
	Matthias Kaehlcke <mka@chromium.org>,
	<devicetree@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-phy@lists.infradead.org>,
	<linux-usb@vger.kernel.org>, <quic_ppratap@quicinc.com>,
	<quic_kriskura@quicinc.com>
Subject: Re: [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: Add phy override params bindings
Date: Mon, 14 Mar 2022 13:46:13 +0530	[thread overview]
Message-ID: <20220314081613.GA28402@hu-pkondeti-hyd.qualcomm.com> (raw)
In-Reply-To: <f1621a67-a0ff-f111-c4da-9401924e7f4a@canonical.com>

Hi Krzysztof,

On Mon, Mar 14, 2022 at 08:39:57AM +0100, Krzysztof Kozlowski wrote:
> On 14/03/2022 04:29, Pavan Kondeti wrote:
> > Hi Krzysztof,
> > 
> > On Thu, Mar 03, 2022 at 04:59:22PM +0100, Krzysztof Kozlowski wrote:
> >> On 03/03/2022 07:13, Sandeep Maheswaram wrote:
> >>> Add device tree bindings for SNPS phy tuning parameters.
> >>>
> >>> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> >>> ---
> >>>  .../bindings/phy/qcom,usb-snps-femto-v2.yaml       | 125 +++++++++++++++++++++
> >>>  1 file changed, 125 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> index 0dfe691..227c097 100644
> >>> --- a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> +++ b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> @@ -50,6 +50,131 @@ properties:
> >>>    vdda33-supply:
> >>>      description: phandle to the regulator 3.3V supply node.
> >>>  
> >>> +  qcom,hs-disconnect:
> >>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>> +    description:
> >>> +      This adjusts the voltage level for the threshold used to
> >>> +      detect a disconnect event at the host. Possible values are.
> >>
> >> ':', instead of full stop.
> >>
> >>> +      7 -> +21.56%
> >>> +      6 -> +17.43%
> >>> +      5 -> +13.32%
> >>> +      4 -> +9.73%
> >>> +      3 -> +6.3
> >>> +      2 -> +3.17%
> >>> +      1 -> 0, Design default%
> >>
> >> Use "default:" instead. Here and in other places.
> >>
> >>> +      0 -> -2.72%
> >>
> >> In current form this should be an enum... but actually current form is
> >> wrong. You should not store register values in DT. What if next version
> >> of hardware has a different meaning of these values?
> >>
> >> Instead, you should store here meaningful values, not register values.
> >>
> > 
> > Thanks for the feedback.
> > 
> > The values in % really makes the tuning easy. People look at the eye diagram
> > and decided whether to increase/decrease the margin. The absolute values
> > may not be that useful. All we need is an "adjustment" here. The databook
> > it self does not give any absolute values.
> > 
> > I agree to the "enum" suggestion which we have been following for the
> > qusb2 driver already. 
> > 
> > The values have not changed in the last 5 years for this hardware block, so
> > defining enums for the % values would be really helpful. 
> 
> I did not say you cannot store here percentages. Quite opposite - store
> here the percentages. Just do not store register value. No. Please read
> my comment again - meaningful values are needed.
> 

IIUC, you are asking us to come up with a meaningful values to encode the
percentage values. However, all the % increments are not linear, so we can't
come up with {min, max} scheme. Lets take an example of hostdisconnect
threshold.

As per the data book,

+      7 -> +21.56%
+      6 -> +17.43%
+      5 -> +13.32%
+      4 -> +9.73%
+      3 -> +6.3
+      2 -> +3.17%
+      1 -> 0, Design default%
+      0 -> -2.72%

so how do we give meaningful values here? Does the below scheme make sense
to you?

#define QCOM_SNPS_FEMTO_HS_DISCONNECT_NEG_2P72	(-272)
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_DEFAULT	0
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_3P17	317
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_6P3	63
..
..

In the driver, we have a mapping (which can be per SoC if required in future)
that takes these values and convert to the correct values for a given
register.

Thanks,
Pavan

WARNING: multiple messages have this Message-ID (diff)
From: Pavan Kondeti <quic_pkondeti@quicinc.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Pavan Kondeti <quic_pkondeti@quicinc.com>,
	Sandeep Maheswaram <quic_c_sanm@quicinc.com>,
	Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	Vinod Koul <vkoul@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	Wesley Cheng <wcheng@codeaurora.org>,
	Stephen Boyd <swboyd@chromium.org>,
	Doug Anderson <dianders@chromium.org>,
	Matthias Kaehlcke <mka@chromium.org>,
	<devicetree@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-phy@lists.infradead.org>,
	<linux-usb@vger.kernel.org>, <quic_ppratap@quicinc.com>,
	<quic_kriskura@quicinc.com>
Subject: Re: [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: Add phy override params bindings
Date: Mon, 14 Mar 2022 13:46:13 +0530	[thread overview]
Message-ID: <20220314081613.GA28402@hu-pkondeti-hyd.qualcomm.com> (raw)
In-Reply-To: <f1621a67-a0ff-f111-c4da-9401924e7f4a@canonical.com>

Hi Krzysztof,

On Mon, Mar 14, 2022 at 08:39:57AM +0100, Krzysztof Kozlowski wrote:
> On 14/03/2022 04:29, Pavan Kondeti wrote:
> > Hi Krzysztof,
> > 
> > On Thu, Mar 03, 2022 at 04:59:22PM +0100, Krzysztof Kozlowski wrote:
> >> On 03/03/2022 07:13, Sandeep Maheswaram wrote:
> >>> Add device tree bindings for SNPS phy tuning parameters.
> >>>
> >>> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
> >>> ---
> >>>  .../bindings/phy/qcom,usb-snps-femto-v2.yaml       | 125 +++++++++++++++++++++
> >>>  1 file changed, 125 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> index 0dfe691..227c097 100644
> >>> --- a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> +++ b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml
> >>> @@ -50,6 +50,131 @@ properties:
> >>>    vdda33-supply:
> >>>      description: phandle to the regulator 3.3V supply node.
> >>>  
> >>> +  qcom,hs-disconnect:
> >>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>> +    description:
> >>> +      This adjusts the voltage level for the threshold used to
> >>> +      detect a disconnect event at the host. Possible values are.
> >>
> >> ':', instead of full stop.
> >>
> >>> +      7 -> +21.56%
> >>> +      6 -> +17.43%
> >>> +      5 -> +13.32%
> >>> +      4 -> +9.73%
> >>> +      3 -> +6.3
> >>> +      2 -> +3.17%
> >>> +      1 -> 0, Design default%
> >>
> >> Use "default:" instead. Here and in other places.
> >>
> >>> +      0 -> -2.72%
> >>
> >> In current form this should be an enum... but actually current form is
> >> wrong. You should not store register values in DT. What if next version
> >> of hardware has a different meaning of these values?
> >>
> >> Instead, you should store here meaningful values, not register values.
> >>
> > 
> > Thanks for the feedback.
> > 
> > The values in % really makes the tuning easy. People look at the eye diagram
> > and decided whether to increase/decrease the margin. The absolute values
> > may not be that useful. All we need is an "adjustment" here. The databook
> > it self does not give any absolute values.
> > 
> > I agree to the "enum" suggestion which we have been following for the
> > qusb2 driver already. 
> > 
> > The values have not changed in the last 5 years for this hardware block, so
> > defining enums for the % values would be really helpful. 
> 
> I did not say you cannot store here percentages. Quite opposite - store
> here the percentages. Just do not store register value. No. Please read
> my comment again - meaningful values are needed.
> 

IIUC, you are asking us to come up with a meaningful values to encode the
percentage values. However, all the % increments are not linear, so we can't
come up with {min, max} scheme. Lets take an example of hostdisconnect
threshold.

As per the data book,

+      7 -> +21.56%
+      6 -> +17.43%
+      5 -> +13.32%
+      4 -> +9.73%
+      3 -> +6.3
+      2 -> +3.17%
+      1 -> 0, Design default%
+      0 -> -2.72%

so how do we give meaningful values here? Does the below scheme make sense
to you?

#define QCOM_SNPS_FEMTO_HS_DISCONNECT_NEG_2P72	(-272)
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_DEFAULT	0
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_3P17	317
#define QCOM_SNPS_FEMTO_HS_DISCONNECT_6P3	63
..
..

In the driver, we have a mapping (which can be per SoC if required in future)
that takes these values and convert to the correct values for a given
register.

Thanks,
Pavan

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2022-03-14  8:24 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-03  6:13 [PATCH v2 0/3] Add QCOM SNPS PHY overriding params support Sandeep Maheswaram
2022-03-03  6:13 ` Sandeep Maheswaram
2022-03-03  6:13 ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: Add phy override params bindings Sandeep Maheswaram
2022-03-03  6:13   ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Sandeep Maheswaram
2022-03-03 15:59   ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-03 15:59     ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-03 22:23     ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Stephen Boyd
2022-03-03 22:23       ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Stephen Boyd
2022-03-14  3:29     ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Pavan Kondeti
2022-03-14  3:29       ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Pavan Kondeti
2022-03-14  7:39       ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14  7:39         ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14  8:16         ` Pavan Kondeti [this message]
2022-03-14  8:16           ` Pavan Kondeti
2022-03-14  8:36           ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14  8:36             ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14  9:40             ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Pavan Kondeti
2022-03-14  9:40               ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Pavan Kondeti
2022-03-14 10:08               ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14 10:08                 ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14 10:30                 ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Pavan Kondeti
2022-03-14 10:30                   ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Pavan Kondeti
2022-03-14 10:41                   ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14 10:41                     ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14 11:13                     ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Pavan Kondeti
2022-03-14 11:13                       ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Pavan Kondeti
2022-03-14 11:21                       ` [PATCH v2 1/3] dt-bindings: phy: qcom,usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-14 11:21                         ` [PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: " Krzysztof Kozlowski
2022-03-03  6:13 ` [PATCH v2 2/3] phy: qcom-snps: Add support for overriding phy tuning parameters Sandeep Maheswaram
2022-03-03  6:13   ` Sandeep Maheswaram
2022-04-13  9:42   ` Vinod Koul
2022-04-13  9:42     ` Vinod Koul
2022-04-13  9:53     ` Pavan Kondeti
2022-04-13  9:53       ` Pavan Kondeti
2022-03-03  6:13 ` [PATCH v2 3/3] arm64: dts: qcom: sc7280: Update SNPS Phy params for SC7280 IDP device Sandeep Maheswaram
2022-03-03  6:13   ` Sandeep Maheswaram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220314081613.GA28402@hu-pkondeti-hyd.qualcomm.com \
    --to=quic_pkondeti@quicinc.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@ti.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=quic_c_sanm@quicinc.com \
    --cc=quic_kriskura@quicinc.com \
    --cc=quic_ppratap@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=swboyd@chromium.org \
    --cc=vkoul@kernel.org \
    --cc=wcheng@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.