[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231120173049.GA2378814-robh@kernel.org>
Date: Mon, 20 Nov 2023 10:30:49 -0700
From: Rob Herring <robh@...nel.org>
To: Christian Marangi <ansuelsmth@...il.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@...adcom.com>,
Daniel Golle <daniel@...rotopia.org>,
Qingfang Deng <dqfext@...il.com>,
SkyLake Huang <SkyLake.Huang@...iatek.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
David Epping <david.epping@...singlinkelectronics.com>,
Vladimir Oltean <olteanv@...il.com>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
Harini Katakam <harini.katakam@....com>,
Simon Horman <horms@...nel.org>,
Robert Marko <robert.marko@...tura.hr>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org
Subject: Re: [net-next RFC PATCH 02/14] dt-bindings: net: move PHY modes to
common PHY mode types definition
On Mon, Nov 20, 2023 at 02:50:29PM +0100, Christian Marangi wrote:
> Move PHY modes from ethernet-controller schema to dedicated common PHY
> mode types definition. This is needed to have a centralized place to
> define PHY interface mode and permit usage and reference of these modes
> in other schemas.
>
> Signed-off-by: Christian Marangi <ansuelsmth@...il.com>
> ---
> .../bindings/net/ethernet-controller.yaml | 47 +------
> .../bindings/net/ethernet-phy-mode-types.yaml | 132 ++++++++++++++++++
> 2 files changed, 133 insertions(+), 46 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/ethernet-controller.yaml b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> index 9f6a5ccbcefe..40c1daff2a48 100644
> --- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> +++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> @@ -55,55 +55,10 @@ properties:
> const: mac-address
>
> phy-connection-type:
> + $ref: /schemas/net/ethernet-phy-mode-types.yaml#definitions/phy-connection-type
You need a '/' after '#' or it is not a JSON pointer.
> description:
> Specifies interface type between the Ethernet device and a physical
> layer (PHY) device.
> - enum:
> - # There is not a standard bus between the MAC and the PHY,
> - # something proprietary is being used to embed the PHY in the
> - # MAC.
> - - internal
> - - mii
> - - gmii
> - - sgmii
> - - psgmii
> - - qsgmii
> - - qusgmii
> - - tbi
> - - rev-mii
> - - rmii
> - - rev-rmii
> - - moca
> -
> - # RX and TX delays are added by the MAC when required
> - - rgmii
> -
> - # RGMII with internal RX and TX delays provided by the PHY,
> - # the MAC should not add the RX or TX delays in this case
> - - rgmii-id
> -
> - # RGMII with internal RX delay provided by the PHY, the MAC
> - # should not add an RX delay in this case
> - - rgmii-rxid
> -
> - # RGMII with internal TX delay provided by the PHY, the MAC
> - # should not add an TX delay in this case
> - - rgmii-txid
> - - rtbi
> - - smii
> - - xgmii
> - - trgmii
> - - 1000base-x
> - - 2500base-x
> - - 5gbase-r
> - - rxaui
> - - xaui
> -
> - # 10GBASE-KR, XFI, SFI
> - - 10gbase-kr
> - - usxgmii
> - - 10gbase-r
> - - 25gbase-r
>
> phy-mode:
> $ref: "#/properties/phy-connection-type"
> diff --git a/Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml b/Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml
> new file mode 100644
> index 000000000000..6d15743b4ffa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml
> @@ -0,0 +1,132 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/ethernet-phy-mode-types.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ethernet PHY Common Mode Types
> +
> +maintainers:
> + - David S. Miller <davem@...emloft.net>
> +
> +definitions:
Use '$defs'
'definitions' is special in that we don't process it at all. That's
probably why you ended up with this overly complicated schema below.
But really, there's no need to use $defs or definitions at all here.
Just put it under 'properties' And move the references up a level (i.e.
to the node, not a property).
> + phy-connection-type:
> + # const: "internal"
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/string
> + - oneOf:
> + # There is not a standard bus between the MAC and the PHY,
> + # something proprietary is being used to embed the PHY in the
> + # MAC.
> + - items:
'items' is for arrays, but you just said this is a 'string', not
'string-array'.
> + - type: string
Already covered by the type $ref.
This can all be expressed with just 1 'enum' as it was before.
> + const: internal
> + - items:
> + - type: string
> + const: mii
> + - items:
> + - type: string
> + const: gmii
> + - items:
> + - type: string
> + const: sgmii
> + - items:
> + - type: string
> + const: psgmii
> + - items:
> + - type: string
> + const: qsgmii
> + - items:
> + - type: string
> + const: qusgmii
> + - items:
> + - type: string
> + const: tbi
> + - items:
> + - type: string
> + const: rev-mii
> + - items:
> + - type: string
> + const: rmii
> + - items:
> + - type: string
> + const: rev-rmii
> + - items:
> + - type: string
> + const: moca
> +
> + # RX and TX delays are added by the MAC when required
> + - items:
> + - type: string
> + const: rgmii
> +
> + # RGMII with internal RX and TX delays provided by the PHY,
> + # the MAC should not add the RX or TX delays in this case
> + - items:
> + - type: string
> + const: rgmii-id
> +
> + # RGMII with internal RX delay provided by the PHY, the MAC
> + # should not add an RX delay in this case
> + - items:
> + - type: string
> + const: rgmii-rxid
> +
> + # RGMII with internal TX delay provided by the PHY, the MAC
> + # should not add an TX delay in this case
> + - items:
> + - type: string
> + const: rgmii-txid
> +
> + - items:
> + - type: string
> + const: rtbi
> +
> + - items:
> + - type: string
> + const: smii
> +
> + - items:
> + - type: string
> + const: xgmii
> +
> + - items:
> + - type: string
> + const: trgmii
> +
> + - items:
> + - type: string
> + const: 1000base-x
> +
> + - items:
> + - type: string
> + const: 2500base-x
> +
> + - items:
> + - type: string
> + const: 5gbase-r
> +
> + - items:
> + - type: string
> + const: rxaui
> +
> + - items:
> + - type: string
> + const: xaui
> +
> + # 10GBASE-KR, XFI, SFI
> + - items:
> + - type: string
> + const: 10gbase-kr
> +
> + - items:
> + - type: string
> + const: usxgmii
> +
> + - items:
> + - type: string
> + const: 10gbase-r
> +
> + - items:
> + - type: string
> + const: 25gbase-r
> --
> 2.40.1
>
Powered by blists - more mailing lists