On 14/05/2022 08:24, Krishna Kurapati PSSNV wrote: > > On 5/12/2022 4:00 PM, Krzysztof Kozlowski wrote: >> On 12/05/2022 07:57, Krishna Kurapati PSSNV wrote: >>> On 5/11/2022 11:49 PM, Krzysztof Kozlowski wrote: >>>> On 11/05/2022 17:26, Krishna Kurapati wrote: >>>>> From: Sandeep Maheswaram <quic_c_sanm@xxxxxxxxxxx> >>>>> >>>>> Add device tree bindings for SNPS phy tuning parameters. >>>>> >>>>> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@xxxxxxxxxxx> >>>>> Signed-off-by: Krishna Kurapati <quic_kriskura@xxxxxxxxxxx> >>>>> --- >>>>> .../bindings/phy/qcom,usb-snps-femto-v2.yaml | 87 ++++++++++++++++++++++ >>>>> 1 file changed, 87 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 1ce251d..70efffe 100644 >>>>> --- a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml >>>>> +++ b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml >>>>> @@ -53,6 +53,93 @@ properties: >>>>> vdda33-supply: >>>>> description: phandle to the regulator 3.3V supply node. >>>>> >>>>> + qcom,hs-disconnect-bps: >>>>> + $ref: /schemas/types.yaml#/definitions/int32 >>>>> + description: >>>>> + This adjusts the voltage level for the threshold used to >>>>> + detect a disconnect event at the host. Possible values are. >>>>> + The values defined are in multiples of basis points (1bp = 0.01%). >>>> This means there is some minimum and maximum (100%)? >>> Hi Krzystof, >>> >>> Yes there are max and min for each parameter (not necessarily 0%/100%) >>> >>> As an example if we take squelch detector threshold, the register value >>> vs actual percentage changer as per data book is as follows : >>> >>> % change in voltage | corresponding reg value >>> >>> -20.90% | 7 >>> -15.60% | 6 >>> -10.30% | 5 >>> -5.30% | 4 >>> 0% | 3 >>> 5.30% | 2 >>> 10.60% | 1 >>> 15.90% | 0 >>> >>> Here the min and max are 15.9% to -20.9% >>> >>> The min and max differ for each parameter and might not be necessarily >>> 0% and 100% >> Then it seems possible to define minimum and maximum values - please add >> them ("minimum: xxxx"). >> >> >> Best regards, >> Krzysztof > > Hi Krzysztof, > > Sorry for the late reply, missed this mail. > > Currently, these values have a fixed maximum and minimum. But if these > limits change in the > > future (say on a per target basis) , would it be appropriate to add them > here in bindings file ? Per "target" you mean compatible? Then yes, the same as customizing number of interrupts, clocks etc. > > Also in the driver file for sc7280 target, we have added parameter > mapping : (map b/w register value > > and bps passed from device tree). For squelch detector, it is as follows: > > +static struct override_param squelch_det_threshold_sc7280[] = { > + OVERRIDE_PARAM(-2090, 7), > + OVERRIDE_PARAM(-1560, 6), > + OVERRIDE_PARAM(-1030, 5), > + OVERRIDE_PARAM(-530, 4), > + OVERRIDE_PARAM(0, 3), > + OVERRIDE_PARAM(530, 2), > + OVERRIDE_PARAM(1060, 1), > + OVERRIDE_PARAM(1590, 0), > +}; > > And the code is written such that if we give a bps value in dt greater than max value in > table, we would automatically choose max value. And if we provide bps value lesser than > minimum value, we would choose the min value. > > So, would it be appropriate to add the min and max in dt-bindings when there is a > slight chance of them changing in the future ? The kernel behavior should not matter here, because the bindings are about the hardware. Therefore if hardware comes with maximum/minimum values, it would be better to document them here. Best regards, Krzysztof