Message ID | 20250323225439.32400-2-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,1/2] net: phy: Add support for new Aeonsemi PHYs | expand |
On Sun, Mar 23, 2025 at 11:54:27PM +0100, Christian Marangi wrote: > Document support for Aeonsemi PHYs and the requirement of a firmware to > correctly work. Also document the max number of LEDs supported and what > PHY ID expose when no firmware is loaded. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > .../bindings/net/aeonsemi,as21xxx.yaml | 87 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 88 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml > > diff --git a/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml b/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml > new file mode 100644 > index 000000000000..0549abcd3929 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml > @@ -0,0 +1,87 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/aeonsemi,as21xxx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Aeonsemi AS21XXX Ethernet PHY > + > +maintainers: > + - Christian Marangi <ansuelsmth@gmail.com> > + > +description: | > + Aeonsemi AS21xxx Ethernet PHYs requires a firmware to be loaded to actually > + work. The same firmware is compatible with various PHYs of the same family. > + > + A PHY with not firmware loaded will be exposed on the MDIO bus with ID > + 0x7500 0x7500 > + > + This can be done and is implemented by OEM in 2 different way: > + - Attached SPI flash directly to the PHY with the firmware. The PHY > + will self load the firmware in the presence of this configuration. > + - Manually provided firmware loaded from a file in the filesystem. > + > + Each PHY can support up to 5 LEDs. > + > +allOf: > + - $ref: ethernet-phy.yaml# > + > +select: > + properties: > + compatible: > + contains: > + enum: > + - ethernet-phy-id7500.7500 > + required: > + - compatible > + > +properties: > + reg: > + maxItems: 1 > + > + firmware-name: > + description: specify the name of PHY firmware to load maxItems: 1 as I think we allow more than 1. Not required? Then what is the default name (default: ???)? > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/leds/common.h> > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethernet-phy@1f { > + compatible = "ethernet-phy-id7500.7500", > + "ethernet-phy-ieee802.3-c45"; > + > + reg = <31>; > + firmware-name = "as21x1x_fw.bin"; > + > + leds { > + #address-cells = <1>; > + #size-cells = <0>; > + > + led@0 { > + reg = <0>; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_LAN; > + function-enumerator = <0>; > + default-state = "keep"; > + }; > + > + led@1 { > + reg = <1>; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_LAN; > + function-enumerator = <1>; > + default-state = "keep"; > + }; > + }; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 9a2df6d221bd..59a863dd3b70 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -649,6 +649,7 @@ AEONSEMI PHY DRIVER > M: Christian Marangi <ansuelsmth@gmail.com> > L: netdev@vger.kernel.org > S: Maintained > +F: Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml > F: drivers/net/phy/as21xxx.c > > AF8133J THREE-AXIS MAGNETOMETER DRIVER > -- > 2.48.1 >
diff --git a/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml b/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml new file mode 100644 index 000000000000..0549abcd3929 --- /dev/null +++ b/Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/aeonsemi,as21xxx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Aeonsemi AS21XXX Ethernet PHY + +maintainers: + - Christian Marangi <ansuelsmth@gmail.com> + +description: | + Aeonsemi AS21xxx Ethernet PHYs requires a firmware to be loaded to actually + work. The same firmware is compatible with various PHYs of the same family. + + A PHY with not firmware loaded will be exposed on the MDIO bus with ID + 0x7500 0x7500 + + This can be done and is implemented by OEM in 2 different way: + - Attached SPI flash directly to the PHY with the firmware. The PHY + will self load the firmware in the presence of this configuration. + - Manually provided firmware loaded from a file in the filesystem. + + Each PHY can support up to 5 LEDs. + +allOf: + - $ref: ethernet-phy.yaml# + +select: + properties: + compatible: + contains: + enum: + - ethernet-phy-id7500.7500 + required: + - compatible + +properties: + reg: + maxItems: 1 + + firmware-name: + description: specify the name of PHY firmware to load + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/leds/common.h> + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + ethernet-phy@1f { + compatible = "ethernet-phy-id7500.7500", + "ethernet-phy-ieee802.3-c45"; + + reg = <31>; + firmware-name = "as21x1x_fw.bin"; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@0 { + reg = <0>; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_LAN; + function-enumerator = <0>; + default-state = "keep"; + }; + + led@1 { + reg = <1>; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_LAN; + function-enumerator = <1>; + default-state = "keep"; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 9a2df6d221bd..59a863dd3b70 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -649,6 +649,7 @@ AEONSEMI PHY DRIVER M: Christian Marangi <ansuelsmth@gmail.com> L: netdev@vger.kernel.org S: Maintained +F: Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml F: drivers/net/phy/as21xxx.c AF8133J THREE-AXIS MAGNETOMETER DRIVER
Document support for Aeonsemi PHYs and the requirement of a firmware to correctly work. Also document the max number of LEDs supported and what PHY ID expose when no firmware is loaded. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> --- .../bindings/net/aeonsemi,as21xxx.yaml | 87 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 88 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/aeonsemi,as21xxx.yaml