> > > +        vsc8531_0: ethernet-phy@0 {
> > > +                compatible = "ethernet-phy-id0007.0570";
> > > +                vsc8531,vddmac               = /bits/ 16 
> > > <MSCC_VDDMAC_3300>;
> > > +                vsc8531,edge-slowdown        = /bits/ 8  <17>;
> > 
> > No, real values please:
> > 
> >                 vsc8531,vddmac          = <2000>;
> >                 vsc8531,edge-slowdown   = <21>;
> > 
> > The driver should then do the maths to figure out the nearest magic
> > value to write to the register, or complain the settings are out of
> > range with an -EINVAL.

I think you missed my point. Notice my example does not use values
from the table. Is there a reason not to use the PHY with 2000mv? Or
does it break when you don't use one of the 4 listed voltages?

I was wanting you to implement some formula, which given the voltage
and percentage slowdown, returns the magic number. Hence the comment:

> > FYI: No floating point maths are allowed in the kernel.

You need to do integer arithmetic, which is why i suggested mV, not V.

  Andrew

Reply via email to