On 12/01/2024 14:41, POPESCU Catalin wrote: > On 11.01.24 18:21, Krzysztof Kozlowski wrote: >> [You don't often get email from krzysztof.kozlowski@xxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] >> >> This email is not from Hexagon’s Office 365 instance. Please be careful while clicking links, opening attachments, or replying to this email. >> >> >> On 11/01/2024 17:59, POPESCU Catalin wrote: >>> On 11.01.24 17:52, Russell King (Oracle) wrote: >>>> This email is not from Hexagon’s Office 365 instance. Please be careful while clicking links, opening attachments, or replying to this email. >>>> >>>> >>>> On Thu, Jan 11, 2024 at 04:45:26PM +0000, POPESCU Catalin wrote: >>>>> On 11.01.24 17:35, Andrew Lunn wrote: >>>>>> [You don't often get email from andrew@xxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] >>>>>> >>>>>> This email is not from Hexagon’s Office 365 instance. Please be careful while clicking links, opening attachments, or replying to this email. >>>>>> >>>>>> >>>>>> On Thu, Jan 11, 2024 at 05:19:25PM +0100, Catalin Popescu wrote: >>>>>>> Add property ti,cfg-dac-minus to allow for voltage tuning >>>>>>> of logical level -1 of the MLT-3 encoded data. >>>>>>> >>>>>>> Signed-off-by: Catalin Popescu <catalin.popescu@xxxxxxxxxxxxxxxxxxxx> >>>>>>> --- >>>>>>> Documentation/devicetree/bindings/net/ti,dp83822.yaml | 9 +++++++++ >>>>>>> 1 file changed, 9 insertions(+) >>>>>>> >>>>>>> diff --git a/Documentation/devicetree/bindings/net/ti,dp83822.yaml b/Documentation/devicetree/bindings/net/ti,dp83822.yaml >>>>>>> index db74474207ed..2f010333be49 100644 >>>>>>> --- a/Documentation/devicetree/bindings/net/ti,dp83822.yaml >>>>>>> +++ b/Documentation/devicetree/bindings/net/ti,dp83822.yaml >>>>>>> @@ -62,6 +62,15 @@ properties: >>>>>>> for the PHY. The internal delay for the PHY is fixed to 3.5ns relative >>>>>>> to transmit data. >>>>>>> >>>>>>> + ti,cfg-dac-minus: >>>>>>> + description: | >>>>>>> + DP83826 PHY only. >>>>>>> + Sets the voltage ratio of the logical level -1 for the MLT-3 encoded data. >>>>>>> + 0 = 50%, 1 = 56.25%, 2 = 62.50%, 3 = 68.75%, 4 = 75%, 5 = 81.25%, 6 = 87.50%, >>>>>>> + 7 = 93.75%, 8 = 100%, 9 = 106.25%, 10 = 112.50%, 11 = 118.75%, 12 = 125%, >>>>>>> + 13 = 131.25%, 14 = 137.50%, 15 = 143.75%, 16 = 150%. >>>>>>> + enum: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] >>>>>> We try to avoid register values in DT. We use real units. This is a >>>>>> voltage you are configuring, so can you change the unit to millivolts? >>>>>> Have the driver do the conversion of volts to register value. >>>>>> >>>>>> Is it possible to configure any of the other logical levels? >>>>> Hi Andrew, >>>>> These are not raw register values and these are not voltage values but >>>>> voltage ratios. I'm mapping the voltage ratios to enum values [0-16] >>>>> which are converted to register raw values by the driver. I don't see a >>>>> better way to do this. >>>> enum: [ 5000, 5625, 6250, 6875, 7500, 8125, 8750, 9375, 10000, >>>> 10625, 11250, 11875, 12500 13125, 13750, 14375, 15000 ] >>>> >>>> ? >>> I'm okay with that approach if there's no better one. I would need to >>> remove the register raw values tables from the driver and use a switch >>> statement to map those values to raw values. >> You can also use -bp or -percent: >> https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml > > ti,cfg-dac-minus-percent: > description: | > DP83826 PHY only. > Sets the voltage ratio of the logical level -1 relative to the > nominal level for the MLT-3 encoded TX data. > enum: [50, 56, 62, 68, 75, 81, 87, 93, 100, 106, 112, 118, 125, > 131, 137, 143, 150] > default: 100 Yes, which would also solve your problem of binding errors. But does not remove the need of testing it before sending to the lists. Best regards, Krzysztof