On 2/27/20 1:52 AM, Russell King wrote: > Add a DT bindings document for the Marvell 10G driver, which will > augment the generic ethernet PHY binding by having LED mode > configuration. > > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> We have been kicking the ball for way too long but there really ought to be a standardized binding to configure LED modes for a PHY. Something that we previously discussed here without making much progress because the LED maintainer was not involved: http://patchwork.ozlabs.org/patch/1146609/ http://patchwork.ozlabs.org/patch/1146610/ http://patchwork.ozlabs.org/patch/1146611/ http://patchwork.ozlabs.org/patch/1146612/ What you are proposing here is just a plain configuration interface via Device Tree, which is really borderline. It gets the job done, and it is extremely easy to maintain and use because people just stick in their register value in there, but boy, what a poor abstraction that is. Maybe you can resume where Matthias left and improve upon his patch series, if nothing else for the binding and PHY layer integration? > --- > .../devicetree/bindings/net/marvell,10g.yaml | 31 +++++++++++++++++++ > 1 file changed, 31 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/marvell,10g.yaml > > diff --git a/Documentation/devicetree/bindings/net/marvell,10g.yaml b/Documentation/devicetree/bindings/net/marvell,10g.yaml > new file mode 100644 > index 000000000000..da597fc5314d > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/marvell,10g.yaml > @@ -0,0 +1,31 @@ > +# SPDX-License-Identifier: GPL-2.0+ > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/marvell,10g.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Marvell Alaska X family Ethernet PHYs > + > +maintainers: > + - Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > + > +allOf: > + - $ref: ethernet-phy.yaml# > + > +properties: > + marvell,led-mode: > + description: | > + An array of one to four 16-bit integers to write to the PHY LED > + configuration registers. > + allOf: > + - $ref: /schemas/types.yaml#/definitions/uint16-array > + - minItems: 1 > + maxItems: 4 > + > +examples: > + - | > + ethernet-phy@0 { > + reg = <0>; > + compatible = "ethernet-phy-ieee802.3-c45"; > + marvell,led-mode = /bits/ 16 <0x0129 0x095d 0x0855>; > + }; > -- Florian