Re: [PATCH 1/3] dt-bindings: net: dp83826: add ti,cfg-dac-minus binding

From: POPESCU Catalin
Date: Thu Jan 11 2024 - 12:00:31 EST


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.
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!