Re: [PATCH v4 1/2] dt-bindings: net: motorcomm: Add pad driver strength cfg

From: Rob Herring
Date: Fri Jul 14 2023 - 22:47:18 EST


On Fri, Jul 14, 2023 at 06:14:05PM +0800, Samin Guo wrote:
> The motorcomm phy (YT8531) supports the ability to adjust the drive
> strength of the rx_clk/rx_data.
>
> The YT8531 RGMII LDO voltage supports 1.8V/3.3V, and the
> LDO voltage can be configured with hardware pull-up resistors to match
> the SOC voltage (usually 1.8V). The software can read the registers
> 0xA001 obtain the current LDO voltage value.
>
> When we configure the drive strength, we need to read the current LDO
> voltage value to ensure that it is a legal value at that LDO voltage.
>
> Reviewed-by: Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
> Signed-off-by: Samin Guo <samin.guo@xxxxxxxxxxxxxxxx>
> ---
> .../bindings/net/motorcomm,yt8xxx.yaml | 46 +++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml b/Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml
> index 157e3bbcaf6f..097bf143af35 100644
> --- a/Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml
> +++ b/Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml
> @@ -52,6 +52,52 @@ properties:
> for a timer.
> type: boolean
>
> + motorcomm,rx-clk-driver-strength:
> + $ref: /schemas/types.yaml#/definitions/uint32

As the units are uA, drop the type and add '-microamp' suffix.
'motorcomm,rx-clk-drv-microamp' is probably sufficient.

> + description: |
> + drive strength of rx_clk rgmii pad.
> + |----------------------------------|
> + | rx_clk ds map table |
> + |----------------------------------|
> + | DS(3b) | wol@1.8v | wol@3.3v |
> + |________|_________________________|
> + | | current(uA)| current(uA)|
> + | 000 | 1200 | 3070 |
> + | 001 | 2100 | 4080 |
> + | 010 | 2700 | 4370 |
> + | 011 | 2910 | 4680 |
> + | 100 | 3110 | 5020 |
> + | 101 | 3600 | 5450 |
> + | 110 | 3970 | 5740 |
> + | 111 | 4350 | 6140 |
> + |--------|------------|------------|
> + enum: [ 1200, 2100, 2700, 2910, 3070, 3110, 3600, 3970,
> + 4080, 4350, 4370, 4680, 5020, 5450, 5740, 6140 ]
> + default: 2910
> +
> + motorcomm,rx-data-driver-strength:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + drive strength of rx_data/rx_ctl rgmii pad.
> + |----------------------------------|
> + | rx_data ds map table |
> + |----------------------------------|
> + | DS(3b) | wol@1.8v | wol@3.3v |
> + |________|_________________________|
> + | | current(uA)| current(uA)|
> + | 000 | 1200 | 3070 |
> + | 001 | 2100 | 4080 |
> + | 010 | 2700 | 4370 |
> + | 011 | 2910 | 4680 |
> + | 100 | 3110 | 5020 |
> + | 101 | 3600 | 5450 |
> + | 110 | 3970 | 5740 |
> + | 111 | 4350 | 6140 |
> + |--------|------------|------------|
> + enum: [ 1200, 2100, 2700, 2910, 3070, 3110, 3600, 3970,
> + 4080, 4350, 4370, 4680, 5020, 5450, 5740, 6140 ]
> + default: 2910
> +
> motorcomm,tx-clk-adj-enabled:
> description: |
> This configuration is mainly to adapt to VF2 with JH7110 SoC.
> --
> 2.17.1
>