Hi, On Wed, Jun 19, 2019 at 08:17:52AM -0600, Rob Herring wrote: > On Wed, Jun 19, 2019 at 3:47 AM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote: > > > > The MDIO buses have a number of available device tree properties that can > > be used in their device tree node. Add a YAML schemas for those. > > > > Suggested-by: Andrew Lunn <andrew@xxxxxxx> > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > > > > --- > > > > Changes from v2: > > - New patch > > --- > > Documentation/devicetree/bindings/net/mdio.txt | 38 +------------- > > Documentation/devicetree/bindings/net/mdio.yaml | 51 ++++++++++++++++++- > > 2 files changed, 52 insertions(+), 37 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/net/mdio.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/mdio.txt b/Documentation/devicetree/bindings/net/mdio.txt > > index e3e1603f256c..cf8a0105488e 100644 > > --- a/Documentation/devicetree/bindings/net/mdio.txt > > +++ b/Documentation/devicetree/bindings/net/mdio.txt > > @@ -1,37 +1 @@ > > -Common MDIO bus properties. > > - > > -These are generic properties that can apply to any MDIO bus. > > - > > -Optional properties: > > -- reset-gpios: One GPIO that control the RESET lines of all PHYs on that MDIO > > - bus. > > -- reset-delay-us: RESET pulse width in microseconds. > > - > > -A list of child nodes, one per device on the bus is expected. These > > -should follow the generic phy.txt, or a device specific binding document. > > - > > -The 'reset-delay-us' indicates the RESET signal pulse width in microseconds and > > -applies to all PHY devices. It must therefore be appropriately determined based > > -on all PHY requirements (maximum value of all per-PHY RESET pulse widths). > > - > > -Example : > > -This example shows these optional properties, plus other properties > > -required for the TI Davinci MDIO driver. > > - > > - davinci_mdio: ethernet@5c030000 { > > - compatible = "ti,davinci_mdio"; > > - reg = <0x5c030000 0x1000>; > > - #address-cells = <1>; > > - #size-cells = <0>; > > - > > - reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; > > - reset-delay-us = <2>; > > - > > - ethphy0: ethernet-phy@1 { > > - reg = <1>; > > - }; > > - > > - ethphy1: ethernet-phy@3 { > > - reg = <3>; > > - }; > > - }; > > +This file has moved to mdio.yaml. > > diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml > > new file mode 100644 > > index 000000000000..8f4f9d0a2882 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/mdio.yaml > > @@ -0,0 +1,51 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/mdio.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: MDIO Bus Generic Binding > > + > > +maintainers: > > + - Andrew Lunn <andrew@xxxxxxx> > > + - Florian Fainelli <f.fainelli@xxxxxxxxx> > > + - Heiner Kallweit <hkallweit1@xxxxxxxxx> > > + > > +description: > > + These are generic properties that can apply to any MDIO bus. Any > > + MDIO bus must have a list of child nodes, one per device on the > > + bus. These should follow the generic ethernet-phy.yaml document, or > > + a device specific binding document. > > + > > +properties: > > + reset-gpios: > > + maxItems: 1 > > + description: > > + The phandle and specifier for the GPIO that controls the RESET > > + lines of all PHYs on that MDIO bus. > > + > > + reset-delay-us: > > + description: > > + RESET pulse width in microseconds. It applies to all PHY devices > > + and must therefore be appropriately determined based on all PHY > > + requirements (maximum value of all per-PHY RESET pulse widths). > > + > > +examples: > > + - | > > + davinci_mdio: ethernet@5c030000 { > > Shouldn't this be mdio@... ? Yeah, I'll fix it. > > + compatible = "ti,davinci_mdio"; > > + reg = <0x5c030000 0x1000>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + reset-gpios = <&gpio2 5 1>; > > + reset-delay-us = <2>; > > + > > + ethphy0: ethernet-phy@1 { > > Would be good to have some unit-address checks. Could be a follow-up > though. I guess this could be good, but I'm not sure how to do that. We could add a patternProperties with the proper regex, but that would find some issues only if we have additionalProperties set, which we don't want since this is a generic binding and that would create another set of problems :) maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Attachment:
signature.asc
Description: PGP signature