Re: [PATCH net-next v3 01/12] dt-bindings: net: dsa: convert ksz bindings document to yaml

From: Christian Eggers
Date: Thu Nov 19 2020 - 15:24:29 EST


On Thursday, 19 November 2020, 14:48:01 CET, Rob Herring wrote:
> On Wed, Nov 18, 2020 at 09:30:02PM +0100, Christian Eggers wrote:
> > Convert the bindings document for Microchip KSZ Series Ethernet switches
> > from txt to yaml.
> >
> > Signed-off-by: Christian Eggers <ceggers@xxxxxxx>
> > ---
> >
> > .../devicetree/bindings/net/dsa/ksz.txt | 125 --------------
> > .../bindings/net/dsa/microchip,ksz.yaml | 152 ++++++++++++++++++
> > MAINTAINERS | 2 +-
> > 3 files changed, 153 insertions(+), 126 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/net/dsa/ksz.txt
> > create mode 100644
> > Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml>
> > diff --git a/Documentation/devicetree/bindings/net/dsa/ksz.txt
> > b/Documentation/devicetree/bindings/net/dsa/ksz.txt deleted file mode
> > 100644
> > index 95e91e84151c..000000000000
> > --- a/Documentation/devicetree/bindings/net/dsa/ksz.txt
> > +++ /dev/null
>> [...]
> > diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> > b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml new file
> > mode 100644
> > index 000000000000..010adb09a68f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> > @@ -0,0 +1,152 @@
> > +# SPDX-License-Identifier: GPL-2.0-only
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/dsa/microchip,ksz.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Microchip KSZ Series Ethernet switches
> > +
> > +allOf:
> > + - $ref: dsa.yaml#
>
> Move this after 'maintainers'.
changed for v4

>
> > +
> > +maintainers:
> > + - Marek Vasut <marex@xxxxxxx>
> > + - Woojung Huh <Woojung.Huh@xxxxxxxxxxxxx>
> > +
> > +properties:
> > + # See Documentation/devicetree/bindings/net/dsa/dsa.yaml for a list of
> > additional + # required and optional properties.
> > + compatible:
> > + enum:
> > + - microchip,ksz8765
> > + - microchip,ksz8794
> > + - microchip,ksz8795
> > + - microchip,ksz9477
> > + - microchip,ksz9897
> > + - microchip,ksz9896
> > + - microchip,ksz9567
> > + - microchip,ksz8565
> > + - microchip,ksz9893
> > + - microchip,ksz9563
> > + - microchip,ksz8563
> > +
> > + reset-gpios:
> > + description:
> > + Should be a gpio specifier for a reset line.
> > + maxItems: 1
> > +
> > + microchip,synclko-125:
> > + $ref: /schemas/types.yaml#/definitions/flag
> > + description:
> > + Set if the output SYNCLKO frequency should be set to 125MHz instead
> > of 25MHz. +
> > +required:
> > + - compatible
> > + - reg
> > +
> > +additionalProperties: false
>
> You need to use unevaluatedProperties instead.
dt_binding_check is happy now

>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + // Ethernet switch connected via SPI to the host, CPU port wired to
> > eth0: + eth0 {
> > + fixed-link {
> > + speed = <1000>;
> > + full-duplex;
> > + };
> > + };
> > +
> > + spi0 {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + pinctrl-0 = <&pinctrl_spi_ksz>;
> > + cs-gpios = <&pioC 25 0>;
> > + id = <1>;
> > +
> > + ksz9477: switch@0 {
> > + compatible = "microchip,ksz9477";
> > + reg = <0>;
> > + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
> > +
> > + spi-max-frequency = <44000000>;
> > + spi-cpha;
> > + spi-cpol;
>
> Are these 2 optional or required? Being optional is rare as most
> devices support 1 mode, but not unheard of.
>From the data sheet:
"Input data on SDI is latched on the rising edge of serial clock SCL. Output
data on SDO is clocked on the falling edge of SCL." Clock has inverted
polarity in all diagrams.

> In general, you shouldn't
> need them as the driver should know how to configure the mode if the h/w
> is fixed.
I will check this in the driver. This also requires updating
at91-sama5d2_icp.dts. I personally use I2C instead of SPI on this chip.

> > [...]