Hi Andrew, On Mon, Oct 03, 2016 at 09:56:56AM +0200, Andrew Lunn wrote: > EXTERNAL EMAIL > > > > > > + 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? > As per PHY data sheet, It should use one of the voltage in list. i.e. 3.3V (3300 mV) or 2.5V (2500 mV) or 1.8V (1800 mV) or 1.5V (1500). Other voltages are not accepted. Drivr considers default as 3.3V (3300 mV). > I was wanting you to implement some formula, which given the voltage > and percentage slowdown, returns the magic number. Hence the comment: > Based on Voltage selection and percentage slowdown, Driver pick the magic number from Edge rate table. > > > FYI: No floating point maths are allowed in the kernel. > > You need to do integer arithmetic, which is why i suggested mV, not V. > I understood your suggestion and used voltage in milli Volts. > Andrew Thanks, Raju. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html