> > > + 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