[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240829195314.GA916906-robh@kernel.org>
Date: Thu, 29 Aug 2024 14:53:14 -0500
From: Rob Herring <robh@...nel.org>
To: Daniel Golle <daniel@...rotopia.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
Christian Marangi <ansuelsmth@...il.com>,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
Robert Marko <robimarko@...il.com>,
Russell King <rmk+kernel@...linux.org.uk>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v2 1/2] dt-bindings: net: marvell,aquantia: add
properties to override MDI_CFG
On Wed, Aug 28, 2024 at 11:51:49PM +0100, Daniel Golle wrote:
> Usually the MDI pair order reversal configuration is defined by
> bootstrap pin MDI_CFG. Some designs, however, require overriding the MDI
> pair order and force either normal or reverse order.
>
> Add mutually exclusive properties 'marvell,force-mdi-order-normal' and
> 'marvell,force-mdi-order-reverse' for that purpose.
>
> Signed-off-by: Daniel Golle <daniel@...rotopia.org>
> ---
> v2: enforce mutually exclusive relationship of the two new properties in
> dt-schema.
>
> .../bindings/net/marvell,aquantia.yaml | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/marvell,aquantia.yaml b/Documentation/devicetree/bindings/net/marvell,aquantia.yaml
> index 9854fab4c4db0..03b0cff239f70 100644
> --- a/Documentation/devicetree/bindings/net/marvell,aquantia.yaml
> +++ b/Documentation/devicetree/bindings/net/marvell,aquantia.yaml
> @@ -22,6 +22,12 @@ description: |
>
> allOf:
> - $ref: ethernet-phy.yaml#
> + - if:
> + required:
> + - marvell,force-mdi-order-normal
> + then:
> + properties:
> + marvell,force-mdi-order-reverse: false
>
> select:
> properties:
> @@ -48,6 +54,16 @@ properties:
> firmware-name:
> description: specify the name of PHY firmware to load
>
> + marvell,force-mdi-order-normal:
> + type: boolean
> + description:
> + force normal order of MDI pairs, overriding MDI_CFG bootstrap pin.
> +
> + marvell,force-mdi-order-reverse:
> + type: boolean
> + description:
> + force reverse order of MDI pairs, overriding MDI_CFG bootstrap pin.
Why 2 properties for 1 setting? Just do something like this:
marvell,mdi-cfg-order = <0|1>;
1 means reverse, 0 means normal (or vise-versa). Not present then means
use MDI_CFG setting. Then the binding naturally avoids nonsensical
combinations of properties without the schema having to enforce it.
Feel free to tweak the naming/values. I would make 0 and 1 align with
MDI_CFG states, but I don't know what those are.
Rob
Powered by blists - more mailing lists