Message ID | 20231120135041.15259-3-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: phy: Support DT PHY package | expand |
On Mon, 20 Nov 2023 14:50:29 +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@gmail.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 > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: ./Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml:21:9: [warning] wrong indentation: expected 10 but found 8 (indentation) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml: 'oneOf' conditional failed, one must be fixed: 'unevaluatedProperties' is a required property 'additionalProperties' is a required property hint: Either unevaluatedProperties or additionalProperties must be present from schema $id: http://devicetree.org/meta-schemas/core.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/ethernet-phy-mode-types.yaml: 'anyOf' conditional failed, one must be fixed: 'properties' is a required property 'patternProperties' is a required property hint: Metaschema for devicetree binding documentation from schema $id: http://devicetree.org/meta-schemas/core.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231120135041.15259-3-ansuelsmth@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
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@gmail.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@davemloft.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 >
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 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@davemloft.net> + +definitions: + 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: + - type: string + 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
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@gmail.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