[PATCH v2 1/3] dt-bindings: phy: qcom, usb-snps-femto-v2: Add phy override params bindings

Pavan Kondeti quic_pkondeti at quicinc.com
Mon Mar 14 04:13:13 PDT 2022


Hi Krzysztof,

On Mon, Mar 14, 2022 at 11:41:27AM +0100, Krzysztof Kozlowski wrote:
> On 14/03/2022 11:30, Pavan Kondeti wrote:
> > Hi Krzysztof,
> > 
> >>
> >> Ah, I did not get it. That's not the solution for this case. defines in
> >> dt-bindings are for constants which already can be in DT, e.g. IDs. Your
> >> register values should not be stored in DT.
> >>
> > These are again not register definitions. These are encodings that dT and
> > driver can use. These would be constants only, no?
> 
> What do you mean it is not a register value? I don't have access to
> datasheet/manual but I can clearly see code:
> 
> +	if (or->hs_disconnect.override)
> +		qcom_snps_hsphy_write_mask(hsphy->base,
> +			USB2_PHY_USB_PHY_HS_PHY_OVERRIDE_X0,
> +			HS_DISCONNECT_MASK,
> +			or->hs_disconnect.value << HS_DISCONNECT_SHIFT);
> 
> You read the value from DT (e.g. "3" which means 6.3% for hs-disconnect)
> and you write it to a register. Directly. 3 is a value for the hardware,
> meaningless outside of it. It has meaning only in this one hardware
> programming model. For humans it means nothing. For humans 6.3% means
> something.
> 

Right, This is what I have been saying will change. we don't pass the direct
register values anymore. Instead I am saying, we pass the percentage
multiplied by 100. For 6.3%, user will be passing 630 in device tree. for
-2.75% user will pass (-275).

Are we on the same page now?

Thanks,
Pavan



More information about the linux-phy mailing list